Cover Pages with 7.x?

59 views
Skip to first unread message

darryl....@usask.ca

unread,
Apr 4, 2023, 5:37:20 PM4/4/23
to DSpace Technical Support
Is anyone using the cover page generation with 7.x (specifically 7.5)?

Building the backend seems to work without issue, but when I include the settings from citation-page.cfg in my local.cfg file I get the errors below in my dspace.log during startup.

We're attempting to enable this for just a couple of collections using the citation-page.enabled_collections setting, and the other settings are just local tweaks to the default examples (using our own institution names, URL etc).

Is anyone using cover pages with 7.x?  Any hints on what might be causing the error below?

Thanks!

- Darryl



2023-04-04 14:00:15,814 WARN  unknown unknown org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext @ Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'bitstreamRestController': Unsatisfied dependency expressed through field 'citationDocumentService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.dspace.disseminate.CitationDocumentServiceImpl#0' defined in file [/data/dspace/config/spring/api/core-services.xml]: Invocation of init method failed; nested exception is java.lang.UnsupportedOperationException
2023-04-04 14:00:15,837 INFO  unknown unknown org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener @

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2023-04-04 14:00:15,873 ERROR unknown unknown org.springframework.boot.SpringApplication @ Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'bitstreamRestController': Unsatisfied dependency expressed through field 'citationDocumentService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.dspace.disseminate.CitationDocumentServiceImpl#0' defined in file [/data/dspace/config/spring/api/core-services.xml]: Invocation of init method failed; nested exception is java.lang.UnsupportedOperationException
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:953) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.20.jar:5.3.20]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.20.jar:5.3.20]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.8.jar:2.6.8]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) [spring-boot-2.6.8.jar:2.6.8]
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) [spring-boot-2.6.8.jar:2.6.8]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-2.6.8.jar:2.6.8]
        at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:175) [spring-boot-2.6.8.jar:2.6.8]
        at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:155) [spring-boot-2.6.8.jar:2.6.8]
        at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:97) [spring-boot-2.6.8.jar:2.6.8]
        at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174) [spring-web-5.3.20.jar:5.3.20]
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:690) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1889) [catalina.jar:9.0.62.redhat-00005]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.62.redhat-00005]
        at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) [?:?]
        at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:583) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) [catalina.jar:9.0.62.redhat-00005]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.62.redhat-00005]
        at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) [?:?]
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.62.redhat-00005]
        at org.apache.catalina.startup.Catalina.start(Catalina.java:772) [catalina.jar:9.0.62.redhat-00005]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) [bootstrap-9.0.62.jar:9.0.62.redhat-00005]
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) [bootstrap-9.0.62.jar:9.0.62.redhat-00005]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.dspace.disseminate.CitationDocumentServiceImpl#0' defined in file [/data/dspace/config/spring/api/core-services.xml]: Invocation of init method failed; nested exception is java.lang.UnsupportedOperationException
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:283) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1389) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1309) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656) ~[spring-beans-5.3.20.jar:5.3.20]
        ... 61 more
Caused by: java.lang.UnsupportedOperationException
        at java.util.AbstractList.add(AbstractList.java:153) ~[?:?]
        at java.util.AbstractList.add(AbstractList.java:111) ~[?:?]
        at org.dspace.disseminate.CitationDocumentServiceImpl.afterPropertiesSet(CitationDocumentServiceImpl.java:163) ~[dspace-api-7.5.jar:7.5]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:283) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1389) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1309) ~[spring-beans-5.3.20.jar:5.3.20]
        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656) ~[spring-beans-5.3.20.jar:5.3.20]
        ... 61 more

darryl....@usask.ca

unread,
Apr 5, 2023, 12:45:19 AM4/5/23
to DSpace Technical Support
Just as an FYI to anyone that might stumble across this, through trial and error I discovered that removing the citation-page.enabled_communities setting from my local.cfg solved the problem. I haven't looked into the DSpace code to sort out why that may be.  The communities we had listed in that setting existed.  We only wanted cover page generation on a couple of our communities, so I was able to just list the collections individually in citation-page.enabled_collections and achieve the same effect.

- Darryl

Mark H. Wood

unread,
Apr 5, 2023, 9:52:12 AM4/5/23
to dspac...@googlegroups.com
On Tue, Apr 04, 2023 at 09:45:19PM -0700, darryl....@usask.ca wrote:
> Just as an FYI to anyone that might stumble across this, through trial and
> error I discovered that removing the citation-page.enabled_communities
> setting from my local.cfg solved the problem. I haven't looked into the
> DSpace code to sort out why that may be. The communities we had listed in
> that setting existed. We only wanted cover page generation on a couple of
> our communities, so I was able to just list the collections individually in
> citation-page.enabled_collections and achieve the same effect.
>
> - Darryl

The 'main' branch, which is still pretty close to 7.5, has this at
line 163:

citationEnabledCollectionsList.add(collection.getHandle());

My first guess is that one of your collections has no Handle, but I
have no idea how that might happen. I'm assuming that the
UnsupportedOperationException is from trying to add a null reference
to that List.

Pulling the 'collection.getHandle()' out of the 'add' to a local variable
and testing it for null would (a) test this theory, (b) be a good idea
anyway since it's cheap sanitation, and (c) allow you to log *which*
Collection has no Handle (if any).
> --
> All messages to this mailing list should adhere to the Code of Conduct: https://www.lyrasis.org/about/Pages/Code-of-Conduct.aspx
> ---
> You received this message because you are subscribed to the Google Groups "DSpace Technical Support" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to dspace-tech...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/dspace-tech/e6546232-8ac6-4ef7-a6ea-629b4174add0n%40googlegroups.com.


--
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University - Purdue University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
www.ulib.iupui.edu
signature.asc
Reply all
Reply to author
Forward
0 new messages