import java.io.IOException;
import java.util.Iterator;
import javax.security.auth.Subject;
import com.filenet.api.collection.ChoiceListSet;
import com.filenet.api.core.Connection;
import com.filenet.api.core.Domain;
import com.filenet.api.core.Factory;
import com.filenet.api.core.ObjectStore;
import com.filenet.api.util.UserContext;
import com.filenet.api.admin.Choice;
import com.filenet.api.admin.ChoiceList;
public class CustomChoiceListFetcher {
private static Connection contentEngineConn = null;
public static Connection establishConnection(String serviceEndpoint) {
try {
String loginUser = "adminUser";
String loginPassword = "adminPass";
if (contentEngineConn == null) {
contentEngineConn = Factory.Connection.getConnection(serviceEndpoint);
Subject authSubject = UserContext.createSubject(contentEngineConn, loginUser, loginPassword, null);
UserContext.get().pushSubject(authSubject);
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("Connection established to Content Engine: " + contentEngineConn);
return contentEngineConn;
}
public static void retrieveDropdownOptions() throws IOException {
String engineUrl = "http://localhost:9080/wsi/FNCEWS40MTOM/";
try {
Connection conn = establishConnection(engineUrl);
Domain targetDomain = Factory.Domain.fetchInstance(conn, null, null);
ObjectStore repository = Factory.ObjectStore.fetchInstance(targetDomain, "CustomObjectStore", null);
ChoiceListSet listSet = repository.get_ChoiceLists();
Iterator<?> listIterator = listSet.iterator();
while (listIterator.hasNext()) {
ChoiceList list = (ChoiceList) listIterator.next();
com.filenet.api.collection.ChoiceList choices = list.get_ChoiceValues();
System.out.println("Choice List: " + list.get_DisplayName());
Iterator<?> choiceIterator = choices.iterator();
while (choiceIterator.hasNext()) {
Choice singleChoice = (Choice) choiceIterator.next();
System.out.println(" - Option: " + singleChoice.get_Name());
}
System.out.println("------------------------------------");
}
System.out.println("Choice value extraction complete.");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws IOException {
retrieveDropdownOptions();
}
}