Skip to main content

Java_Admin_Principal_Group_Remove.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_Remove {

private String m_strServerName;
private int m_nPort;
private String m_strUsername;
private String m_strPasswd;
private TEAgentConnection m_conn;

public void removeGroup() 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 a group 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());


// Display group IDs before removing group
PList groupIDs = principal.getGroupIDs();
TreeSet groupSet = groupIDs.getAllElements();
System.out.println("Before removing group, 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);
}

// Remove group
principal.removeGroup(group.getPrincipalID());
admin.updatePrincipal(principal);
System.out.println();
System.out.println("Principal was removed from group.");


// Display group IDs after removing group
principal = (UserAndPasswordInfo) admin.getPrincipal(principal);
groupIDs = principal.getGroupIDs();
groupSet = groupIDs.getAllElements();
System.out.println("After removing group, 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_Remove test = new Java_Admin_Principal_Group_Remove();
test.connect("sampleserver", 8888, "admin", "password1A");
test.removeGroup();
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: {[<9,3005>, <9,3006>]} >
<Default Group ID: 3005 >
<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: {[<9,3004>]} >

Before removing group, the principal belongs to 2 groups.
GroupID : 3005
GroupID : 3006
First group ID : 3005
Default group ID : 3005

Principal was removed from group.
After removing group, the principal belongs to 1 groups.
GroupID : 3006
First group ID : 3006
Default group ID : 0
Disconnected from sampleserver

*/