2016-08-30 6 views
0

私はcmis 1.0に準拠したサーバに対してopenCMISライブラリを使用しています。サーバ上でgetRepositories(alfresco v3.2 & v5.0サーバ)を呼び出すたびに、私は、予想されていた、すなわち、サーバー上のルーツのリスト。 opencmisライブラリを使用してリポジトリルートのリストを取得するにはどうすればよいですか?

編集
私は不適切に言いましたので、私はよりよく説明します。
私は何をしたいことはrepository root id実際の(例えば、戸外でのすなわちstore_root)を取得することができることですませroot folder id、私はそれはすなわち、直接子供取得するためのAPIに対してこれを活用することができるようにルートフォルダと同じ階層レベルのオブジェクト(会社ホーム、アルフレコ)CMISリポジトリから 'リポジトリルート'のID /子を取り出す方法は?

+0

あなたは魔女の言語を使用していますか?!? –

+0

@ YagamiLight私はJavaで作業しています。私は実際にnodeRefまたは 'store_root'オブジェクトを取得する必要があります –

+0

任意のリポジトリの子を取得したいですか? –

答えて

4

Alfrescoには1つのリポジトリしかないので、表示されている内容は正しいです。

ルートフォルダ(会社のホーム)を取得する方法、ルートフォルダの子を取得する方法を理解するには、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オブジェクト自体を取得することはできないようです –

関連する問題