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.UserAndPasswordInfo;
import com.eruces.teagent.PAny;
import java.util.Iterator;
import com.eruces.teagent.PList;
import java.util.TreeSet;
import com.eruces.teadmin.GroupInfo;
public class Java_Admin_Principal_Group_Add {
private String m_strServerName;
private int m_nPort;
private String m_strUsername;
private String m_strPasswd;
private TEAgentConnection m_conn;
public void addGroup() throws TEAgentException, AdminException, Exception {
Administration admin = new Administration();
admin.attachConnection(m_conn);
UserAndPasswordInfo principal = new UserAndPasswordInfo();
principal.setUserName("testuser");
principal = (UserAndPasswordInfo) admin.getPrincipal(principal);
if (principal == null) {
throw new Exception("Principal testuser was not found !");
}
System.out.println("");
System.out.println("Principal got:");
System.out.println(" " + principal.toString());
GroupInfo group = new GroupInfo();
group.setName("testgroup");
group = (GroupInfo)admin.getPrincipal(group);
if( group == null ) {
throw new Exception("Group testgroup was not found !");
}
System.out.println("");
System.out.println("Group got:");
System.out.println(" " + group.toString());
GroupInfo group2 = new GroupInfo();
group2.setName("testgroup2");
group2 = (GroupInfo)admin.getPrincipal(group2);
if( group2 == null ) {
throw new Exception("Group testgroup2 was not found !");
}
System.out.println("");
System.out.println("Group got:");
System.out.println(" " + group2.toString());
PList groupIDs = principal.getGroupIDs();
TreeSet groupSet = groupIDs.getAllElements();
System.out.println("Before adding groups, the principal belongs to " + groupSet.size() + " groups.");
Iterator iter = groupSet.iterator();
while (iter.hasNext()) {
PAny panyID = (PAny) iter.next();
int id = panyID.getInt();
System.out.println("GroupID : " + id);
}
if (groupSet.size() > 0) {
long groupID = principal.getGroupID();
long defaultgroupID = principal.getDefaultGroup();
System.out.println("First group ID : " + groupID);
System.out.println("Default group ID : " + defaultgroupID);
}
principal.addGroup(group.getPrincipalID());
principal.addGroup(group2.getPrincipalID());
admin.updatePrincipal(principal);
System.out.println();
System.out.println("Principal was added to 2 groups.");
principal = (UserAndPasswordInfo) admin.getPrincipal(principal);
groupIDs = principal.getGroupIDs();
groupSet = groupIDs.getAllElements();
System.out.println("After adding groups, the principal belongs to " + groupSet.size() + " groups.");
iter = groupSet.iterator();
while (iter.hasNext()) {
PAny panyID = (PAny) iter.next();
int id = panyID.getInt();
System.out.println("GroupID : " + id);
}
if (groupSet.size() > 0) {
long groupID = principal.getGroupID();
long defaultgroupID = principal.getDefaultGroup();
System.out.println("First group ID : " + groupID);
System.out.println("Default group ID : " + defaultgroupID);
}
admin.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_Admin_Principal_Group_Add test = new Java_Admin_Principal_Group_Add();
test.connect("sampleserver", 8888, "admin", "password1A");
test.addGroup();
test.disconnect();
}
catch (TEAgentException te) {
System.out.println("TEAgentException encountered: ");
te.printStackTrace();
}
catch (AdminException te) {
System.out.println("AdminException encountered: ");
te.printStackTrace();
}
catch (Exception ex) {
System.out.println("Exception encountered: ");
ex.printStackTrace();
}
}
}