2016-08-30 2 views
0

cmis 1.0 호환 서버에 대해 openCMIS 라이브러리를 사용하고 있는데 서버에서 getRepositories를 호출 할 때마다 (alfresco v3.2 & v5.0 서버) 하나의 저장소가있는 목록 만 수신합니다. 예상 했었습니다. 즉, 서버의 루트 목록입니다. opencmis 라이브러리를 사용하여 저장소 루트 목록을 검색하려면 어떻게합니까?

편집
나는 부적절하게 질문을 표현 했으므로 나는 더 잘 설명 할 것이다. 내가하고 싶은 무엇
하지는 내가 API에 대해 그것을 활용할 수 있도록 root folder id, 그것은 직접 아이들이 즉의 검 (예를 들어 야외에서 즉은 store_root) 실제 repository root id을 얻을 수있을 것입니다 루트 폴더와 동일한 계층 구조의 개체 (회사 홈, 야외)CMIS 저장소에서 '저장소 루트'id/children을 검색하는 방법은 무엇입니까?

+0

마녀 언어를 사용 하시겠습니까?!? –

+0

@ YagamiLight Java로 작업하고 있습니다. 실제로 nodeRef 또는 'store_root'객체를 가져와야합니다. –

+0

저장소의 하위 항목을 가져 오시겠습니까? –

답변

4

Alfresco에는 저장소가 하나뿐이므로보고있는 내용이 정확합니다.

루트 폴더 (회사 홈)를 얻는 방법을 이해하고 루트 폴더의 자식을 얻는 방법은 here을 참조하십시오. 만 당신에게

도움이

Folder folder = session.getRootFolder(); 

희망을 사용

private static Session getSession(String serverUrl, String username, String password) { 
    SessionFactory sessionFactory = SessionFactoryImpl.newInstance(); 
    Map<String, String> params = new HashMap<>(); 
    params.put(SessionParameter.USER, username); 
    params.put(SessionParameter.PASSWORD, password); 
    params.put(SessionParameter.ATOMPUB_URL, serverUrl); 
    params.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value()); 
    List<Repository> repos = sessionFactory.getRepositories(params); 
    if (repos.isEmpty()) { 
     throw new RuntimeException("Server has no repositories!"); 
    } 
    return repos.get(0).createSession(); 
} 

후 : 먼저 세션을 생성하고이 함께 연결해야합니다 : 내가 그것을 테스트하기위한

+0

아하 네 말이 맞아. 회사 홈과 같은 수준에있는 다른 모든 객체는 저장소 루트라고 가정했지만 실제로 필요한 것은 store_Root 객체를 가져올 수있는 것입니다. –

+0

그 정보로 내 대답을 업데이트했습니다. –

1

괜찮 았는데
+0

더 나은 명확성을 위해 질문을 편집했습니다. 이미 루트 폴더 ID를 얻을 수는 있지만 필요한 루트 ID는 repo가 ​​아닙니다. –

+0

그것에 관한 피드백?!? –

+0

store_root 객체 자체를 가져올 수없는 것처럼 보일 수 있습니다. –

관련 문제