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 {
Administration admin = new Administration();
admin.attachConnection(m_conn);
UserAndPasswordInfo testUser = (UserAndPasswordInfo) admin.getUserByName("testuser");
long adminPrincipalID = 1;
long testPrincipalID = testUser.getPrincipalID();
int systemID = admin.getSystemID();
admin.detachConnection();
ACLAdmin aclAdmin = new ACLAdmin();
aclAdmin.attachConnection(m_conn);
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());
}
ACLTemplate newACLTemplate = new ACLTemplate();
newACLTemplate.setName("TestTemplate");
ACLTemplateMember aclTemplateMember = new ACLTemplateMember();
aclTemplateMember.setACLTemplateID(newACLTemplate.getACLTemplateID());
aclTemplateMember.setSystemID(systemID);
aclTemplateMember.setPrincipalID(adminPrincipalID);
aclTemplateMember.setRights(ACLTemplateMember.ACL_TEMPLATE_READ | ACLTemplateMember.ACL_TEMPLATE_WRITE);
ACLTemplateMember aclTemplateMember2 = new ACLTemplateMember();
aclTemplateMember2.setACLTemplateID(newACLTemplate.getACLTemplateID());
aclTemplateMember2.setSystemID(systemID);
aclTemplateMember2.setPrincipalID(testPrincipalID);
aclTemplateMember2.setRights(ACLEntry.ACL_RIGHT_READ | ACLEntry.ACL_RIGHT_WRITE);
newACLTemplate.addMember(aclTemplateMember);
newACLTemplate.addMember(aclTemplateMember2);
newACLTemplate = aclAdmin.addACLTemplate(newACLTemplate);
System.out.println("New ACLTemplate was added: " + newACLTemplate.toString());
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);
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();
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();
}
}
}