2016-05-11 13 views
2

コレクションを作成するためのJavaコードをDSpace 5.4に書きたいと思います。JavaでDSpaceコレクションを作成する

は静的メソッドorg.dspace.content.Collection.create(Context)が存在するが、それは、同じパッケージorg.dspace.content内のクラスによってアクセスすることができ、この方法を意味し、パッケージプライベートです。

+1

org.dspace.content.service.CollectionService#create(Context、Community) 'または' org.dspace.content.service.CollectionService#create(Context、Community、String)を使用することをドキュメントのように見えます。 ' – CollinD

答えて

2

CollinDのコメントは、現在のマスターブランチで使用するメソッドには正しいですが、最終的にDSpace 6はどのようになりますか。 DSpace 5.4では、使用するメソッドはorg.dspace.content.Community#createCollection()5.x code here)、またはハンドル文字列を引数として取るこのメソッドの他のバージョンです。

なぜなら、コレクションはDSpace内では単独では存在できないからです。常にコミュニティ内に存在する必要があるため、コレクションを作成するためのすべてのパブリックAPIメソッドでコミュニティが指定されていることを確認する必要があります。

上記の方法を使用するには、たとえば、(ハンドルを知っている場合)org.dspace.handle.HandleManager#resolveToObject(String)5.x code here)を介して、新しいコレクションの親コミュニティオブジェクトを検索する必要があります。

適切な動作(タイトルなどのメタデータなど)を得るためには、他にも必要なことがあります。コレクションがそこに作成されるとき、UIオプションの1つで何が起こるかを見ていきます。 XMLUI here:org.dspace.app.xmlui.aspect.administrative.FlowContainerUtils#createCollection5.x code here)を参照してください。

+0

あなたの答えをありがとう。あなたが提供する推論は[DSpaceのデータモデル](https://wiki.duraspace.org/display/DSDOC5x/Functional+Overview#FunctionalOverview-DataModel)にも適しています。 – Abdull

関連する問題