Skip to main content

Java_Admin_Principal_Group_Add.java

/*****************************************************************************************
*
* Java_Admin_Principal_Group_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.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);

// Get a native user for testing.
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());

// Get two groups for testing
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());


// Display group IDs before adding groups
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);
}

// Add to two groups
principal.addGroup(group.getPrincipalID());
principal.addGroup(group2.getPrincipalID());
admin.updatePrincipal(principal);
System.out.println();
System.out.println("Principal was added to 2 groups.");


// Display group IDs after adding 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);
// 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_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();
}
}
}

/*
Connected to sampleserver at 8888 as admin

Principal got:
UserAndPasswordInfo:
UpdatableObject: <user,>
<System ID: 1 >
<Principal ID: 3004 >
<Role ID List: PList: {[<9,2>]} >
<Group ID List: PList: {[]} >
<Default Group ID: 0 >
<Reviewer ID List: PList: {[]} >
<User Name: testuser >


Group got:
Group:
UpdatableObject: <groupname,>
<System ID: 1 >
<Principal ID: 3005 >
<Role ID List: PList: {[]} >
<Group ID List: PList: {[]} >
<Default Group ID: 0 >
<Reviewer ID List: PList: {[]} >
<Group Name: testgroup >
<Principal List: PList: {[]} >


Group got:
Group:
UpdatableObject: <groupname,>
<System ID: 1 >
<Principal ID: 3006 >
<Role ID List: PList: {[]} >
<Group ID List: PList: {[]} >
<Default Group ID: 0 >
<Reviewer ID List: PList: {[]} >
<Group Name: testgroup2 >
<Principal List: PList: {[]} >

Before adding groups, the principal belongs to 0 groups.

Principal was added to 2 groups.
After adding groups, the principal belongs to 2 groups.
GroupID : 3005
GroupID : 3006
First group ID : 3005
Default group ID : 0
Disconnected from sampleserver

*/