1

我正在学习 CMIS 和 Filenet P8 。为 CMIS 使用库 apache-chemistry。我在 ChoiceList 中有问题。

选择列表与 PropertyDefination 相关联。我试图显示与每个 PropertyDefinition 相关的选择列表。

ItemIterable<ObjectType> v = session.getTypeChildren("cmis:document", true);
Iterator<ObjectType> i = v.iterator();

while(i.hasNext()){
             ObjectType a = i.next();
             if(a!=null)
             {   

                 Map<String, PropertyDefinition<?>> d = a.getPropertyDefinitions();

                 Iterator<String> itr = d.keySet().iterator();
                     while(itr.hasNext()){

                         String key = itr.next().toString();

                         if ((Boolean.FALSE.equals(d.get(key).isInherited()))) {


                            PropertyDefinition<?> value = d.get(key);
// Choice List
                            List<?> ch = value.getChoices();
                            System.out.println("value " + value.getDisplayName()+ " " + " choice list " + ch.toString());
                            for (Object object : ch) {
                                System.out.println(object.toString());
                            }

                            Customproperties properties = new Customproperties(value.getDisplayName(),value.getPropertyType().toString(),value.getCardinality().name(),value.isRequired());
                            customPropertyList1.add(properties);
                        }
                     }


            }
}

输出

value Document Title  choice list []
value From  choice list []
value To  choice list []
value Cc  choice list []
value Subject  choice list [[extensions=null], [extensions=null]]
[extensions=null]
[extensions=null]
value Sent On  choice list []
value Received On  choice list []
value Link IDs  choice list []

// 对于 propertyDefination 主题,有一个选择列表,但它显示为 null.. 我无法正确检索选择列表。

我该如何解决这个问题?

4

2 回答 2

2
  List<Choice> ch = value.getChoices();

    for (Choice Choice : ch) {
          System.out.println(choice.getDisplayName());
    }
于 2012-08-07T16:08:34.350 回答
1

您应该将 PropertyDefinition 转换为正确的子类。您可以在 Converter.java 中看到他们是如何做到的(参见 apache chemistry 的来源,他们是如何做到的)。

问候,魔术

于 2012-07-30T22:33:26.003 回答