2013-12-11 9 views
0

아파치 화학 및 CXF를 사용하여 JAVA에서 보편적 인 CMIS 1.1 클라이언트 애플리케이션을 개발 중입니다. 현재 내가 CMIS의 홀드 기능이있는 strugling 해요 CMIS 보류 기능

여기에 설명 : http://docs.oasis-open.org/cmis/CMIS/v1.1/os/CMIS-v1.1-os.html#x1-13200016

나는 "CMIS : rm_hold"아이디와 InMemory 저장소에서 보조 유형을 만들 때 (CMIS와 속성이 유형을 추가 : secondaryObjectTypeIds)을 cmis : 문서로 복사하여 파일을 삭제할 수 있습니다.

아마도 이것이 올바른 방법이 아닙니다.

누군가이 기능을 구현하려면 올바른 방향을 알려주시겠습니까? Miretz

답변

2

죄송합니다,

CmisPropertiesType properties = new CmisPropertiesType(); 

CmisPropertyId propertyId = new CmisPropertyId(); 
propertyId.setPropertyDefinitionId("cmis:secondaryObjectTypeIds"); 
propertyId.getValue().add("cmis:rm_hold"); 
properties.getProperty().add(propertyId); 

objectServicePort.updateProperties(
    cmisContext.getRepositoryId(), 
    new Holder<String>(id.getDocId()), null, properties, null); 

감사합니다,하지만 InMemory 저장소는 &가 보유 보존을 지원하지 않습니다

코드

나는 속성을 추가 사용하고 있습니다. 보존 및 보류에 대한 사양의 미리 정의 된 유형은 기본적으로 InMemory 서버에서 노출되지 않습니다. 나중에 그런 유형을 작성하면 서버는 유형 및 특성을 인식하지만 보유와 같은 특성과 연관된 의미를 알 수 없습니다. 실제로 런타임에 미리 정의 된 유형 (cmis :로 시작하는 유형)을 추가하면 안됩니다. 왜냐하면 기능이 지원되는지 여부가 표시되기 때문입니다.

InMemory 서버를 보유하고 테스트하는 데 적절한 서버가 아닙니다. InMemory 서버는 기본 기능으로 제한됩니다.

희망 ...

+0

고마워요! 테스트 할 수있는 저장소 서버가 있습니까? – Miretz

+1

CMIS 1.1을 지원하는 순간에는 너무 많은 repsoitories가 없을 것입니다. https://account.hanatrial.ondemand.com/에서 평가판 계정을 만든 다음 문서 서비스의 설명서를 따르십시오. 그러나이를 클라우드 플랫폼 외부에서 사용하려면 추가 단계가 필요합니다 (프록시 브리지 만들기). – user1253067

+0

확인해 주셔서 대단히 감사합니다. – Miretz