Get Principals with Query
How to retrieve information about principals.
Code Samples
See the Java environment settings for details on setting the project environment.
Java_AdministrationQuery
The following code sample illustrates how to get principals with query.
/*****************************************************************************************
*
* Java_AdministrationQuery.java
*
******************************************************************************************/
import com.eruces.teagent.TEAgentConnection;
import com.eruces.teagent.TEAgentException;
import com.eruces.teagent.TEAgentConnectionFactory;
import com.eruces.teagent.PAny;
import com.eruces.teadmin.AdministrationQuery;
import com.eruces.teadmin.Query;
import com.eruces.teadmin.AdminException;
import com.eruces.teadmin.PrincipalInfo;
public class Java_AdministrationQuery {
private String m_strServerName;
private int m_nPort;
private String m_strUsername;
private String m_strPasswd;
private TEAgentConnection m_conn;
public void test_query() throws TEAgentException, AdminException, Exception {
AdministrationQuery adminQuery = new AdministrationQuery();
adminQuery.attachConnection(m_conn);
// Query native users
String attributeName = "user";
String strPredicate = "%";
PAny panyPredicate = new PAny(strPredicate.getBytes());
Query query = new Query(attributeName, Query.OperatorLike, panyPredicate);
PrincipalInfo principals[] = adminQuery.getPrincipalList("UserAndPasswordInfo", query);
if (principals == null) {
throw new Exception("Getting native users failed !");
}
System.out.println("Native users got:");
for (int i = 0; i < principals.length; i++) {
System.out.println("");
System.out.println(" " + principals[i].toString());
}
// Query Windows users
attributeName = "username";
query = new Query(attributeName, Query.OperatorLike, panyPredicate);
principals = adminQuery.getPrincipalList("WindowsPrincipalInfo", query);
if (principals == null) {
throw new Exception("Getting Windows users failed !");
}
System.out.println("Windows users got:");
for (int i = 0; i < principals.length; i++) {
System.out.println("");
System.out.println(" " + principals[i].toString());
}
adminQuery.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_AdministrationQuery test = new Java_AdministrationQuery();
test.connect("sampleserver", 8888, "admin", "password1A");
test.test_query();
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
Native users got:
UserAndPasswordInfo:
UpdatableObject: <>
<System ID: 1 >
<Principal ID: 1 >
<Role ID List: PList: {[<9,1>]} >
<Group ID List: PList: {[]} >
<Default Group ID: 0 >
<Reviewer ID List: PList: {[]} >
<User Name: admin >
UserAndPasswordInfo:
UpdatableObject: <>
<System ID: 1 >
<Principal ID: 3002 >
<Role ID List: PList: {[<9,2>, <9,4>, <9,5>]} >
<Group ID List: PList: {[]} >
<Default Group ID: 0 >
<Reviewer ID List: PList: {[]} >
<User Name: ls >
Windows users got:
WindowsPrincipalInfo:
UpdatableObject: <>
<System ID: 1 >
<Principal ID: 3001 >
<Role ID List: PList: {[<9,2>, <9,4>, <9,5>]} >
<Group ID List: PList: {[]} >
<Default Group ID: 0 >
<Reviewer ID List: PList: {[]} >
<User Name: MEDNA/test >
Disconnected from sampleserver
*/