Xpages:如何从java中的一个组中获取所有成员(使用ODA)并获取其通用名称

Bry*_*ler 1 xpages

我认为我非常聪明地编写这种方法来加载一个组的成员.但返回的值不是通用名称格式:

在此输入图像描述

如何轻松地以通用名称获取这些值或轻松将它们转换为通用名称?

private void loadNetworkTeam() {

        try {
            Session session = Factory.getSession();
            Database tmpDB = session.getCurrentDatabase();
            Database tmpDB2 = session.getDatabase(tmpDB.getServer(), "names.nsf");
            View grpView = tmpDB2.getView("($VIMGroups)");

            Vector<Object> nTeam = new Vector<Object>();
            nTeam.addElement("NetWorkTeam");    
            Document grpDoc = grpView.getFirstDocumentByKey("Network Team");
            Item itm = grpDoc.getFirstItem("members");          
            networkTeam.addAll(itm.getValues());

        } catch (Exception e) {
            XspOpenLogUtil.logError(e);
        }
    }
Run Code Online (Sandbox Code Playgroud)

Knu*_*ann 6

使用类Name及其方法getCommon()将层次结构名称转换为通用名称.

例:

Item itm = grpDoc.getFirstItem("members");   
List<String> networkTeam =  new ArrayList<String>(); 
for (Object value : itm.getValues()) {
    networkTeam.add(session.createName((String) value).getCommon());
}
Run Code Online (Sandbox Code Playgroud)