通过Java创建DSpace集合

时间:2016-05-11 13:17:08

标签: dspace

我想编写Java代码以在 DSpace 5.4 中创建新的集合

存在静态方法org.dspace.content.Collection.create(Context),但它是 package-private ,这意味着此方法只能由同一个包org.dspace.content中的类访问。

1 个答案:

答案 0 :(得分: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选项中创建集合时会发生什么。请在此处查看XMLUI:org.dspace.app.xmlui.aspect.administrative.FlowContainerUtils#createCollection5.x code here)。