//Sample JAVA code to retrieve Realm, Group names and User names in FileNet
import java.io.IOException;
import java.util.Iterator;
import javax.security.auth.Subject;
import com.filenet.api.collection.GroupSet;
import com.filenet.api.collection.UserSet;
import com.filenet.api.constants.PrincipalSearchAttribute;
import com.filenet.api.constants.PrincipalSearchSortType;
import com.filenet.api.constants.PrincipalSearchType;
import com.filenet.api.core.Connection;
import com.filenet.api.core.Factory;
import com.filenet.api.util.UserContext;
public class CEUtil {
private static Connection conn = null;
public static Connection getCEConn()
{
try {
String ceURI = "http://localhost:9080/wsi/FNCEWS40MTOM/";
String userName ="user";
String password ="pwd";
if(conn==null){
conn = Factory.Connection.getConnection(ceURI);
Subject subject = UserContext.createSubject(conn, userName, password, null);
UserContext uc = UserContext.get();
uc.pushSubject(subject);
}
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("CE Connection"+conn);
return conn;
}
public static void getRealm(String osName) throws IOException{
try{
Connection conn = getCEConn();
com.filenet.api.core.EntireNetwork entireNetwork= Factory.EntireNetwork.fetchInstance(conn, null);
com.filenet.api.security.Realm realm= entireNetwork.get_MyRealm();String realmName= realm.get_Name();
System.out.println(realmName+ " is retrieved");
//retrieve user names
String pattern ="username";
UserSet users = realm.findUsers(pattern, PrincipalSearchType.PREFIX_MATCH,PrincipalSearchAttribute.SHORT_NAME,PrincipalSearchSortType.NONE,Integer.valueOf("50"), null);
com.filenet.api.security.User user;
Iterator it = users.iterator();
while (it.hasNext())
{
user = (com.filenet.api.security.User)it.next();
System.out.println("distinguishedname =" +user.get_DistinguishedName());
System.out.println("shortname =" + user.get_ShortName());
System.out.println("name=" + user.get_Name());
System.out.println("displayname =" + user.get_DisplayName());
}
//retrieve group names
String pattern1="groupName";
GroupSet groups = realm.findGroups(pattern1,PrincipalSearchType.PREFIX_MATCH,PrincipalSearchAttribute.SHORT_NAME,PrincipalSearchSortType.NONE,Integer.valueOf("50"), null);
com.filenet.api.security.Group group;
Iterator groupIt= groups.iterator();
while (groupIt.hasNext())
{
group=(com.filenet.api.security.Group)groupIt.next();
System.out.println("name=" + group.get_Name());
System.out.println("Distinguishedname = " + group.get_DistinguishedName());
System.out.println("shortname =" + group.get_ShortName());
//System.out.println("Users =" + group.get_Users());
}
System.out.println("Done");
}
catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args) throws IOException {
getRealm("OSNAME");
}
}
import java.io.IOException;
import java.util.Iterator;
import javax.security.auth.Subject;
import com.filenet.api.collection.GroupSet;
import com.filenet.api.collection.UserSet;
import com.filenet.api.constants.PrincipalSearchAttribute;
import com.filenet.api.constants.PrincipalSearchSortType;
import com.filenet.api.constants.PrincipalSearchType;
import com.filenet.api.core.Connection;
import com.filenet.api.core.Factory;
import com.filenet.api.util.UserContext;
public class CEUtil {
private static Connection conn = null;
public static Connection getCEConn()
{
try {
String ceURI = "http://localhost:9080/wsi/FNCEWS40MTOM/";
String userName ="user";
String password ="pwd";
if(conn==null){
conn = Factory.Connection.getConnection(ceURI);
Subject subject = UserContext.createSubject(conn, userName, password, null);
UserContext uc = UserContext.get();
uc.pushSubject(subject);
}
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("CE Connection"+conn);
return conn;
}
public static void getRealm(String osName) throws IOException{
try{
Connection conn = getCEConn();
com.filenet.api.core.EntireNetwork entireNetwork= Factory.EntireNetwork.fetchInstance(conn, null);
com.filenet.api.security.Realm realm= entireNetwork.get_MyRealm();String realmName= realm.get_Name();
System.out.println(realmName+ " is retrieved");
//retrieve user names
String pattern ="username";
UserSet users = realm.findUsers(pattern, PrincipalSearchType.PREFIX_MATCH,PrincipalSearchAttribute.SHORT_NAME,PrincipalSearchSortType.NONE,Integer.valueOf("50"), null);
com.filenet.api.security.User user;
Iterator it = users.iterator();
while (it.hasNext())
{
user = (com.filenet.api.security.User)it.next();
System.out.println("distinguishedname =" +user.get_DistinguishedName());
System.out.println("shortname =" + user.get_ShortName());
System.out.println("name=" + user.get_Name());
System.out.println("displayname =" + user.get_DisplayName());
}
//retrieve group names
String pattern1="groupName";
GroupSet groups = realm.findGroups(pattern1,PrincipalSearchType.PREFIX_MATCH,PrincipalSearchAttribute.SHORT_NAME,PrincipalSearchSortType.NONE,Integer.valueOf("50"), null);
com.filenet.api.security.Group group;
Iterator groupIt= groups.iterator();
while (groupIt.hasNext())
{
group=(com.filenet.api.security.Group)groupIt.next();
System.out.println("name=" + group.get_Name());
System.out.println("Distinguishedname = " + group.get_DistinguishedName());
System.out.println("shortname =" + group.get_ShortName());
//System.out.println("Users =" + group.get_Users());
}
System.out.println("Done");
}
catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args) throws IOException {
getRealm("OSNAME");
}
}