2012-07-16 3 views
1

나는 CMIS와 Filenet P8을 배우고있다. CMIS 용 라이브러리 apache-chemistry 사용 나는 ChoiceList에 문제가있다.filenet의 선택 목록

선택 목록은 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 주제에 대한이 선택 목록이 있지만 내가 널 보여주는 것 .. 내가 제대로 선택 목록을 검색 할 수 없습니다.

이 문제를 어떻게 해결할 수 있습니까?

답변

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

    for (Choice Choice : ch) { 
      System.out.println(choice.getDisplayName()); 
    } 
1

PropertyDefinition을 적절한 하위 클래스로 캐스팅해야합니다. Converter.java에서 어떻게 동작하는지 볼 수 있습니다 (아파치 화학의 근원을 참고하십시오).

감사합니다, 매직