Skip to main content

Java_ACLAdmin_ACLTemplate_Update.java

/*****************************************************************************************
*
* Java_ACLAdmin_ACLTemplate_Update.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.ACLAdmin;
import com.eruces.teadmin.ACLTemplate;
import java.util.TreeSet;
import java.util.Iterator;
import com.eruces.teadmin.ACLTemplateMember;
import com.eruces.teadmin.UserAndPasswordInfo;

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

public void test_updateACLTemplate() throws TEAgentException, AdminException {
// Get PrincipalID for late use
Administration admin = new Administration();
admin.attachConnection(m_conn);
UserAndPasswordInfo testUser = (UserAndPasswordInfo) admin.getUserByName("testuser");
long testPrincipalID = testUser.getPrincipalID();
admin.detachConnection();

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

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

if (aclTemplate_to_be_updated == null) {
System.out.println("ACLTemplate (TestTemplate) was not found");
return;
}

// Update ACLTemplate
aclTemplate_to_be_updated.setName("TestTemplate2");
aclAdmin.updateACLTemplate(aclTemplate_to_be_updated);
System.out.println("The ACLTemplate was renamed.");

// Update ACLTemplateMember
TreeSet allACLTemplateMembers = aclTemplate_to_be_updated.getAllMembers();
Iterator iter = allACLTemplateMembers.iterator();
while (iter.hasNext()) {
ACLTemplateMember aclTemplateMember = (ACLTemplateMember) iter.next();
if (aclTemplateMember.getPrincipalID() == testPrincipalID) {
aclTemplateMember.setMaxUsage(10);
aclAdmin.updateACLTemplateMember(aclTemplateMember, ACLAdmin.UPDATE_ACLTEMPLATE_MEMBER);
System.out.println("ACLTemplateMember was updated with max usage be 10.\n" +
aclTemplateMember.toString());
break;
}
}

// List all ACLTemplates after updating ACLTemplate and ACLTemplateMember
allACLTemplates = aclAdmin.getACLTemplate();
System.out.println("Number of ACLTemplates after updating 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_Update test = new Java_ACLAdmin_ACLTemplate_Update();
test.connect("sampleserver", 8888, "admin", "password1A");
test.test_updateACLTemplate();
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 admin
Number of ACLTemplates before updating 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 >

The ACLTemplate was renamed.
ACLTemplateMember was updated with max usage be 10.
ACLTemplateMember:
<Principal ID: 3004 >
<System ID: 1 >
<ACLTemplate ID: 1 >
<Rights: 3 >
<Start Time: 0 >
<End Time: 0 >
<MaxUsage: 10 >

Number of ACLTemplates after updating ACLTemplate : 1
Details of ACLTemplates :
ACLTemplate:
<ACLTemplate ID: 1 >
<ACLTemplate Name: TestTemplate2 >
<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: 10 >

Disconnected from sampleserver

*/