通过 Java 创建 DSpace 集合

Creating a DSpace collection via Java

我想编写 Java 代码以在 DSpace 5.4.

中创建一个新的 集合

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

CollinD 的评论对于当前 master 分支中使用的方法是正确的,最终将是 DSpace 6。在 DSpace 5.4 中,使用的方法是 org.dspace.content.Community#createCollection() (5.x code here) 或此方法的其他版本,它以句柄字符串作为参数。

原因是collection不能单独存在于DSpace中。它必须始终在社区内,因此用于创建 collection 的所有 public API 方法都必须确保指定社区。

要使用我上面提到的方法,您首先需要为您的新 collection 查找 parent 社区 object,例如(如果您知道它的句柄)通过 org.dspace.handle.HandleManager#resolveToObject(String) (5.x code here).

您可能还需要做其他事情才能获得正确的行为(例如标题等元数据);当在那里创建 collection 时,我会看看 UI 选项之一会发生什么。请参阅此处 XMLUI:org.dspace.app.xmlui.aspect.administrative.FlowContainerUtils#createCollection (5.x code here)。