Skip to main content

Java_ACLAdmin_ACLTemplate_Add.java

/*****************************************************************************************
*
* Java_ACLAdmin_ACLTemplate_Add.java
*
******************************************************************************************/

import com.eruces.teagent.TEAgentConnection;
import com.eruces.teagent.TEAgentException;
import com.eruces.teagent.TEAgentConnectionFactory;
import com.eruces.teadmin.Administration;
import com.eruces.teadmin.AdminException;
import com.eruces.teadmin.ACLEntry;
import com.eruces.teadmin.ACLAdmin;
import com.eruces.teadmin.ACLTemplate;
import com.eruces.teadmin.ACLTemplateMember;
import com.eruces.teadmin.UserAndPasswordInfo;

public class Java_ACLAdmin_ACLTemplate_Add {
private String m_strServerName;
private int m_nPort;
private String m_strUsername;
private String m_strPasswd;
private TEAgentConnection m_conn;

public void test_addACLTemplate() throws TEAgentException, AdminException {
// Get PrincipalID and SystemID for late use
Administration admin = new Administration();
admin.attachConnection(m_conn);
UserAndPasswordInfo testUser = (UserAndPasswordInfo) admin.getUserByName("testuser");
long adminPrincipalID = 1; // surpose 1 is the buitin admin
long testPrincipalID = testUser.getPrincipalID();
int systemID = admin.getSystemID();
admin.detachConnection();

// Create ACLAdmin
ACLAdmin aclAdmin = new ACLAdmin();
aclAdmin.attachConnection(m_conn);

// List all ACLTemplates before adding new ACLTemplate
ACLTemplate[] allACLTemplates = aclAdmin.getACLTemplate();
System.out.println("Number of ACLTemplates before adding new ACLTemplate : " + allACLTemplates.length);
System.out.println("Details of ACLTemplates : ");
for (int i = 0; i < allACLTemplates.length; i++) {
ACLTemplate aclTemplate = allACLTemplates[i];
System.out.println(aclTemplate.toString());
}

// Add a new ACLTemplate
ACLTemplate newACLTemplate = new ACLTemplate();
newACLTemplate.setName("TestTemplate");

ACLTemplateMember aclTemplateMember = new ACLTemplateMember();
aclTemplateMember.setACLTemplateID(newACLTemplate.getACLTemplateID());
aclTemplateMember.setSystemID(systemID);
aclTemplateMember.setPrincipalID(adminPrincipalID);
// Make buitin admin have read and write rights to this ACLTemplate
aclTemplateMember.setRights(ACLTemplateMember.ACL_TEMPLATE_READ | ACLTemplateMember.ACL_TEMPLATE_WRITE);

ACLTemplateMember aclTemplateMember2 = new ACLTemplateMember();
aclTemplateMember2.setACLTemplateID(newACLTemplate.getACLTemplateID());
aclTemplateMember2.setSystemID(systemID);
aclTemplateMember2.setPrincipalID(testPrincipalID);
// Make testuser have read and write rights to ACL
aclTemplateMember2.setRights(ACLEntry.ACL_RIGHT_READ | ACLEntry.ACL_RIGHT_WRITE);

newACLTemplate.addMember(aclTemplateMember); // Add members
newACLTemplate.addMember(aclTemplateMember2);
newACLTemplate = aclAdmin.addACLTemplate(newACLTemplate);
System.out.println("New ACLTemplate was added: " + newACLTemplate.toString());

// List all ACLTemplates after adding new ACLTemplate
allACLTemplates = aclAdmin.getACLTemplate();
System.out.println("Number of ACLTemplates after adding new ACLTemplate : " + allACLTemplates.length);
System.out.println("Details of ACLTemplates : ");
for (int i = 0; i < allACLTemplates.length; i++) {
ACLTemplate aclTemplate = allACLTemplates[i];
System.out.println(aclTemplate.toString());
}

aclAdmin.detachConnection();
}


public void connect(String strServerName, int nPort, String strUsername, String strPasswd) throws TEAgentException {
m_strServerName = strServerName;
m_nPort = nPort;
m_strUsername = strUsername;
m_strPasswd = strPasswd;

m_conn = TEAgentConnectionFactory.getInstance(TEAgentConnectionFactory.SECURE_USER_PASSWORD);
// Connect to server.
m_conn.open(m_strServerName, m_nPort, m_strUsername, m_strPasswd);
System.out.println("Connected to " + m_strServerName + " at " + m_nPort + " as " + m_strUsername);
}

public void disconnect() throws TEAgentException {
m_conn.close(); // disconnect from the server.
System.out.println("Disconnected from " + m_strServerName);
}

public static void main(String[] args) {
try {

Java_ACLAdmin_ACLTemplate_Add test = new Java_ACLAdmin_ACLTemplate_Add();
test.connect("sampleserver", 8888, "adminuser", "password");
test.test_addACLTemplate();
test.disconnect();
}
catch (TEAgentException te) {
System.out.println("TEAgentException encountered: ");
te.printStackTrace();
}
catch (AdminException adminex) {
System.out.println("AdminException encountered: ");
adminex.printStackTrace();
}
catch (Exception ex) {
System.out.println("Exception encountered: ");
ex.printStackTrace();
}
}
}

/*
Connected to sampleserver at 8888 as adminuser
Number of ACLTemplates before adding new ACLTemplate : 0
Details of ACLTemplates :
New ACLTemplate was added: ACLTemplate:
<ACLTemplate ID: 1 >
<ACLTemplate Name: TestTemplate >
<ACLTemplate Flag: 0 >
<Number of ACLTemplateMembers: 3 >
ACLTemplateMember:
<Principal ID: 1 >
<System ID: 1 >
<ACLTemplate ID: 1 >
<Rights: 768 >
<Start Time: 0 >
<End Time: 0 >
<MaxUsage: -1 >
ACLTemplateMember:
<Principal ID: 3003 >
<System ID: 1 >
<ACLTemplate ID: 1 >
<Rights: 768 >
<Start Time: 0 >
<End Time: 0 >
<MaxUsage: -1 >
ACLTemplateMember:
<Principal ID: 3004 >
<System ID: 1 >
<ACLTemplate ID: 1 >
<Rights: 3 >
<Start Time: 0 >
<End Time: 0 >
<MaxUsage: -1 >

Number of ACLTemplates after adding new ACLTemplate : 1
Details of ACLTemplates :
ACLTemplate:
<ACLTemplate ID: 1 >
<ACLTemplate Name: TestTemplate >
<ACLTemplate Flag: 1 >
<Number of ACLTemplateMembers: 3 >
ACLTemplateMember:
<Principal ID: 1 >
<System ID: 1 >
<ACLTemplate ID: 1 >
<Rights: 768 >
<Start Time: 0 >
<End Time: 0 >
<MaxUsage: -1 >
ACLTemplateMember:
<Principal ID: 3003 >
<System ID: 1 >
<ACLTemplate ID: 1 >
<Rights: 768 >
<Start Time: 0 >
<End Time: 0 >
<MaxUsage: -1 >
ACLTemplateMember:
<Principal ID: 3004 >
<System ID: 1 >
<ACLTemplate ID: 1 >
<Rights: 3 >
<Start Time: 0 >
<End Time: 0 >
<MaxUsage: -1 >

Disconnected from sampleserver

*/