我想编写DSpace代码,以便在Java5.4中创建一个新的集合。
存在一个静态方法org.dspace.content.Collection.create(Context),但它是包私有的,这意味着该方法只能由同一个包org.dspace.content中的类访问。
发布于 2016-05-11 21:07:08
CollinD的评论对于当前主分支中使用的方法是正确的,最终将是DSpace 6。在DSpace 5.4中,要使用的方法是org.dspace.content.Community#createCollection() (5.这里的X代码)或该方法的另一个版本,该方法以句柄字符串作为参数。
原因是集合不能单独存在于DSpace中。它必须总是在一个社区中,所以所有用于创建集合的公共API方法都必须确保社区是指定的。
要使用我前面提到的方法,首先需要通过org.dspace.handle.HandleManager#resolveToObject(String) (5.这里的X代码)查找新集合的父社区对象(如果您知道它的句柄)。
为了获得正确的行为,您可能还需要做其他的事情(例如元数据,比如标题);当在其中一个UI选项中创建集合时,我会查看其中一个选项发生了什么。参见这里的XMLUI:org.dspace.app.xmlui.aspect.administrative.FlowContainerUtils#createCollection (5.这里的X代码)。
https://stackoverflow.com/questions/37163865
复制相似问题