java - 如何从 DSpace-CRIS 中的不同元数据中收集有关 CHRIS 实体的数据?

标签 java tomcat dspace

我正在尝试更改研究人员实体用于创建配置文件的默认元数据。我按照此页面上的说明进行操作:https://wiki.duraspace.org/display/DSPACECRIS/How+to+collect+data+about+CRIS+entities并且正在创建配置文件,但现在我收到内部服务器错误。

我在/dspace/config/dspace.cfg 中更改了以下行

来自

choices.plugin.dc.contributor.author = RPAuthority
choices.presentation.dc.contributor.author= lookup
authority.controlled.dc.contributor.author = true

choices.plugin.dc.contributor.myorganizationauthor = RPAuthority
choices.presentation.dc.contributor.myorganizationauthor= lookup
authority.controlled.dc.contributor.myorganizationauthor = true

这是日志:

org.apache.jasper.JasperException: javax.servlet.ServletException: org.apache.jasper.JasperException: java.lang.IllegalArgumentException: No choices plugin was configured for  field "dc_contributor_author".
    at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:598)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:499)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:78)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
Caused by: javax.servlet.ServletException: org.apache.jasper.JasperException: java.lang.IllegalArgumentException: No choices plugin was configured for  field "dc_contributor_author".
    at org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:85)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:470)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:316)
    at org.dspace.app.webui.util.JSPManager.showJSP(JSPManager.java:60)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:191)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
    ... 28 more
Caused by: org.apache.jasper.JasperException: java.lang.IllegalArgumentException: No choices plugin was configured for  field "dc_contributor_author".
    at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:598)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:514)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:78)
    ... 39 more
Caused by: java.lang.IllegalArgumentException: No choices plugin was configured for  field "dc_contributor_author".
    at org.dspace.content.authority.ChoiceAuthorityManager.getChoose(ChoiceAuthorityManager.java:584)
    at org.dspace.content.authority.ChoiceAuthorityManager.getChoiceAuthority(ChoiceAuthorityManager.java:575)
    at org.dspace.app.webui.cris.util.ItemCrisRefDisplayStrategy.getMetadataDisplay(ItemCrisRefDisplayStrategy.java:60)
    at org.dspace.app.webui.util.ASimpleDisplayStrategy.getMetadataDisplay(ASimpleDisplayStrategy.java:87)
    at org.dspace.app.webui.jsptag.DiscoveryArtifactTag.printViewField(DiscoveryArtifactTag.java:273)
    at org.dspace.app.webui.jsptag.DiscoveryArtifactTag.showPreview(DiscoveryArtifactTag.java:130)
    at org.dspace.app.webui.jsptag.DiscoveryArtifactTag.doEndTag(DiscoveryArtifactTag.java:82)
    at org.apache.jsp.home_jsp._jspService(home_jsp.java:1182)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
    ... 48 more
2019-04-15 15:20:21,963 WARN  org.dspace.core.NewsManager @ news_read: /usr/local/dspace/config/news-footer.html (No such file or directory)

最佳答案

感谢 Andrea Bollini 的帮助,我找到了解决方案。

发生的事情是,当我改变 这个:

choices.plugin.dc.contributor.author = RPAuthority
choices.presentation.dc.contributor.author= lookup
authority.controlled.dc.contributor.author = true

为此:

choices.plugin.dc.contributor.myorganizationauthor = RPAuthority
choices.presentation.dc.contributor.myorganizationauthor= lookup
authority.controlled.dc.contributor.myorganizationauthor = true

我还删除了 dc.contributor.author 所需的 ChoiceAuthority 插件。为了修复它,我需要添加这段额外的代码。

choices.plugin.dc.contributor.author = AuthorAuthority
choices.presentation.dc.contributor.author= lookup
authority.controlled.dc.contributor.author = true

在“plugin.na:med.org.dspace.content.authority.ChoiceAuthority =\”下,我需要注册我的新 ChoiceAuthority“AuthorAuthority” 它应该看起来像这样:

#####  Authority Control Settings  #####
plugin.named.org.dspace.content.authority.ChoiceAuthority = \
 org.dspace.app.cris.integration.ORCIDAuthority = RPAuthority,\
 org.dspace.content.authority.ItemAuthority = AuthorAuthority,\
 ...

所有这些都在以下链接中进行了解释: https://wiki.duraspace.org/display/DSPACE/Authority+Control+of+Metadata+Values#AuthorityControlofMetadataValues-SeparationofChoicesfromAuthorityControl

关于java - 如何从 DSpace-CRIS 中的不同元数据中收集有关 CHRIS 实体的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55721876/

相关文章:

java - 通过 install4j 安装程序或高级安装程序在 Tomcat 上部署 Web 应用程序的步骤

java - 升级到 TomEE 1.7.1 后的类加载问题

Java EE - HTTP 错误 404 - 资源不可用 - 在页面上点击 "Submit"按钮后

javascript - 想要为所有元素添加带复选框的下拉菜单(即多选下拉菜单)

java - 使用 toString() 进行设置

java - 如何使用主类中的方法从嵌套类返回泛型类型

java - 如何消除通过将 jframe 图像捕获到文件而产生的边框?

java - 在 Selenium Webdriver 中循环运行 Java 代码

java - 即使安装成功,Dspace 也不显示页面

performance - 什么会导致Tomcat(v8)周期性出现CPU峰值