From 70de1bc61c20a1a45db8016c3d7c59d06662c00d Mon Sep 17 00:00:00 2001 From: Michael Spalti Date: Wed, 13 Oct 2021 18:35:33 -0700 Subject: [PATCH] Moved iiif to separate module. --- dspace-iiif/pom.xml | 121 ++++++++++++++ .../org/dspace/app/iiif}/IIIFController.java | 5 +- .../dspace/app}/iiif/IIIFServiceFacade.java | 12 +- .../dspace/app/iiif/dspace/ContextUtil.java | 158 ++++++++++++++++++ .../exception/NotImplementedException.java | 2 +- .../app}/iiif/model/ObjectMapperFactory.java | 2 +- .../model/generator/AnnotationGenerator.java | 2 +- .../generator/AnnotationListGenerator.java | 4 +- .../model/generator/BehaviorGenerator.java | 2 +- .../iiif/model/generator/CanvasGenerator.java | 2 +- .../model/generator/CanvasItemsGenerator.java | 6 +- .../generator/ContentAsTextGenerator.java | 2 +- .../generator/ContentSearchGenerator.java | 2 +- .../generator/ExternalLinksGenerator.java | 2 +- .../iiif/model/generator/IIIFResource.java | 2 +- .../iiif/model/generator/IIIFService.java | 2 +- .../app}/iiif/model/generator/IIIFValue.java | 2 +- .../generator/ImageContentGenerator.java | 4 +- .../generator/ImageServiceGenerator.java | 2 +- .../model/generator/ManifestGenerator.java | 2 +- .../generator/MetadataEntryGenerator.java | 2 +- .../model/generator/ProfileGenerator.java | 2 +- .../generator/PropertyValueGenerator.java | 2 +- .../iiif/model/generator/RangeGenerator.java | 6 +- .../generator/SearchResultGenerator.java | 2 +- .../iiif/service/AbstractResourceService.java | 8 +- .../iiif/service/AnnotationListService.java | 10 +- .../iiif/service/CanvasLookupService.java | 6 +- .../app}/iiif/service/CanvasService.java | 10 +- .../iiif/service/ImageContentService.java | 8 +- .../app}/iiif/service/ManifestService.java | 14 +- .../app}/iiif/service/RangeService.java | 4 +- .../app}/iiif/service/RelatedService.java | 4 +- .../iiif/service/SearchAnnotationService.java | 2 +- .../app}/iiif/service/SearchService.java | 4 +- .../app}/iiif/service/SeeAlsoService.java | 6 +- .../app}/iiif/service/SequenceService.java | 8 +- .../iiif/service/WordHighlightSolrSearch.java | 14 +- .../BitstreamBytesIIIFVirtualMetadata.java | 2 +- .../BitstreamChecksumIIIFVirtualMetadata.java | 2 +- .../BitstreamFormatIIIFVirtualMetadata.java | 2 +- .../utils}/BitstreamIIIFVirtualMetadata.java | 2 +- .../BitstreamMimetypeIIIFVirtualMetadata.java | 2 +- .../app/iiif/service/utils}/IIIFUtils.java | 4 +- .../iiif/service/utils}/ImageProfileUtil.java | 4 +- .../iiif/service/utils}/ThumbProfileUtil.java | 4 +- dspace-server-webapp/pom.xml | 37 +--- .../java/org/dspace/app/rest/Application.java | 2 + .../rest/{iiif => }/cache/CacheLogger.java | 5 +- .../app/rest/iiif/cache/CacheConfig.java | 24 --- .../app/rest/utils/ApplicationConfig.java | 2 +- .../src/main/resources/iiif/cache/ehcache.xml | 2 +- dspace/pom.xml | 5 + pom.xml | 20 +++ 54 files changed, 411 insertions(+), 156 deletions(-) create mode 100644 dspace-iiif/pom.xml rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app/iiif}/IIIFController.java (97%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/IIIFServiceFacade.java (92%) create mode 100644 dspace-iiif/src/main/java/org/dspace/app/iiif/dspace/ContextUtil.java rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/exception/NotImplementedException.java (93%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/ObjectMapperFactory.java (96%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/AnnotationGenerator.java (98%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/AnnotationListGenerator.java (92%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/BehaviorGenerator.java (94%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/CanvasGenerator.java (98%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/CanvasItemsGenerator.java (90%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/ContentAsTextGenerator.java (94%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/ContentSearchGenerator.java (98%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/ExternalLinksGenerator.java (97%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/IIIFResource.java (90%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/IIIFService.java (90%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/IIIFValue.java (89%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/ImageContentGenerator.java (92%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/ImageServiceGenerator.java (95%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/ManifestGenerator.java (99%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/MetadataEntryGenerator.java (96%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/ProfileGenerator.java (95%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/PropertyValueGenerator.java (94%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/RangeGenerator.java (94%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/model/generator/SearchResultGenerator.java (96%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/service/AbstractResourceService.java (92%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/service/AnnotationListService.java (92%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/service/CanvasLookupService.java (92%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/service/CanvasService.java (95%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/service/ImageContentService.java (90%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/service/ManifestService.java (96%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/service/RangeService.java (92%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/service/RelatedService.java (91%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/service/SearchAnnotationService.java (91%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/service/SearchService.java (95%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/service/SeeAlsoService.java (87%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/service/SequenceService.java (94%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest => dspace-iiif/src/main/java/org/dspace/app}/iiif/service/WordHighlightSolrSearch.java (96%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util => dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils}/BitstreamBytesIIIFVirtualMetadata.java (95%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util => dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils}/BitstreamChecksumIIIFVirtualMetadata.java (95%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util => dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils}/BitstreamFormatIIIFVirtualMetadata.java (95%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util => dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils}/BitstreamIIIFVirtualMetadata.java (93%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util => dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils}/BitstreamMimetypeIIIFVirtualMetadata.java (95%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util => dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils}/IIIFUtils.java (99%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util => dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils}/ImageProfileUtil.java (86%) rename {dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util => dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils}/ThumbProfileUtil.java (89%) rename dspace-server-webapp/src/main/java/org/dspace/app/rest/{iiif => }/cache/CacheLogger.java (87%) delete mode 100644 dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/cache/CacheConfig.java diff --git a/dspace-iiif/pom.xml b/dspace-iiif/pom.xml new file mode 100644 index 0000000000..ffe8f36a1e --- /dev/null +++ b/dspace-iiif/pom.xml @@ -0,0 +1,121 @@ + + 4.0.0 + org.dspace + dspace-iiif + jar + DSpace IIIF + + DSpace IIIF Extension + + + + + org.dspace + dspace-parent + 7.1-SNAPSHOT + .. + + + + + ${basedir}/.. + + @ + + + + + + + org.springframework.boot + spring-boot-starter + ${spring-boot.version} + + + org.springframework.boot + spring-boot-starter-logging + + + + + + org.springframework.boot + spring-boot-starter-web + ${spring-boot.version} + + + org.springframework.boot + spring-boot-starter-data-rest + ${spring-boot.version} + + + org.springframework.boot + spring-boot-starter-security + ${spring-boot.version} + + + + org.springframework.boot + spring-boot-starter-cache + ${spring-boot.version} + + + javax.cache + cache-api + 1.1.0 + + + + org.ehcache + ehcache + 3.4.0 + + + + + + de.digitalcollections.iiif + iiif-apis + 0.3.9 + + + org.javassist + javassist + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + + org.springframework.security + spring-security-core + + + org.dmfs + iterators + + + com.fasterxml.jackson.module + jackson-module-parameter-names + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + + + + + + org.dspace + dspace-api + + + + + + diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/IIIFController.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/IIIFController.java similarity index 97% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/IIIFController.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/IIIFController.java index 0414419bc1..b0e4130f10 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/IIIFController.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/IIIFController.java @@ -5,12 +5,11 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest; +package org.dspace.app.iiif; import java.util.UUID; -import org.dspace.app.rest.iiif.IIIFServiceFacade; -import org.dspace.app.rest.utils.ContextUtil; +import org.dspace.app.iiif.dspace.ContextUtil; import org.dspace.core.Context; import org.dspace.services.RequestService; import org.dspace.utils.DSpace; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/IIIFServiceFacade.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/IIIFServiceFacade.java similarity index 92% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/IIIFServiceFacade.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/IIIFServiceFacade.java index 22ef973cbf..cf0d75c391 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/IIIFServiceFacade.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/IIIFServiceFacade.java @@ -5,16 +5,16 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif; +package org.dspace.app.iiif; import java.sql.SQLException; import java.util.UUID; -import org.dspace.app.rest.iiif.service.AnnotationListService; -import org.dspace.app.rest.iiif.service.CanvasLookupService; -import org.dspace.app.rest.iiif.service.ManifestService; -import org.dspace.app.rest.iiif.service.SearchService; -import org.dspace.app.rest.iiif.service.util.IIIFUtils; +import org.dspace.app.iiif.service.AnnotationListService; +import org.dspace.app.iiif.service.CanvasLookupService; +import org.dspace.app.iiif.service.ManifestService; +import org.dspace.app.iiif.service.SearchService; +import org.dspace.app.iiif.service.utils.IIIFUtils; import org.dspace.content.Item; import org.dspace.content.service.BitstreamService; import org.dspace.content.service.ItemService; diff --git a/dspace-iiif/src/main/java/org/dspace/app/iiif/dspace/ContextUtil.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/dspace/ContextUtil.java new file mode 100644 index 0000000000..3f90a98068 --- /dev/null +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/dspace/ContextUtil.java @@ -0,0 +1,158 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE and NOTICE files at the root of the source + * tree and available online at + * + * http://www.dspace.org/license/ + */ +package org.dspace.app.iiif.dspace; + +import java.sql.SQLException; +import java.util.Enumeration; +import java.util.Locale; +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.lang3.StringUtils; +import org.dspace.core.Context; +import org.dspace.core.I18nUtil; +import org.dspace.services.RequestService; +import org.dspace.services.model.Request; +import org.dspace.utils.DSpace; + +public class ContextUtil { + /** + * Where the context is stored on an HTTP Request object + */ + public static final String DSPACE_CONTEXT = "dspace.context"; + + /** + * Default constructor + */ + private ContextUtil() { + } + + /** + * Shortcut for {@link #obtainContext(Request)} using the {@link RequestService} + * to retrieve the current thread request + * + * @return the DSpace Context associated with the current thread-bound request + */ + public static Context obtainCurrentRequestContext() { + Context context = null; + RequestService requestService = new DSpace().getRequestService(); + Request currentRequest = requestService.getCurrentRequest(); + if (currentRequest != null) { + context = ContextUtil.obtainContext(currentRequest.getHttpServletRequest()); + } + return context; + } + + /** + * Obtain a new context object. If a context object has already been created + * for this HTTP request, it is re-used, otherwise it is created. + * + * @param request the servlet request object + * @return a context object + */ + public static Context obtainContext(HttpServletRequest request) { + Context context = (Context) request.getAttribute(DSPACE_CONTEXT); + + if (context == null) { + try { + context = ContextUtil.initializeContext(); + } catch (SQLException e) { + //log.error("Unable to initialize context", e); + return null; + } + + // Store the context in the request + request.setAttribute(DSPACE_CONTEXT, context); + } + // this need to be verified each time that the context is extracted from the request + // as some call happen before that the login process is completed and user settings can + // change the locale + Locale currentLocale = getLocale(context, request); + context.setCurrentLocale(currentLocale); + return context; + } + + private static Locale getLocale(Context context, HttpServletRequest request) { + Locale userLocale = null; + Locale supportedLocale = null; + + // Locales requested from client + String locale = request.getHeader("Accept-Language"); + if (StringUtils.isNotBlank(locale)) { + Enumeration locales = request.getLocales(); + if (locales != null) { + while (locales.hasMoreElements()) { + Locale current = locales.nextElement(); + if (I18nUtil.isSupportedLocale(current)) { + userLocale = current; + break; + } + } + } + } + if (userLocale == null && context.getCurrentUser() != null) { + String userLanguage = context.getCurrentUser().getLanguage(); + if (userLanguage != null) { + userLocale = new Locale(userLanguage); + } + } + if (userLocale == null) { + return I18nUtil.getDefaultLocale(); + } + supportedLocale = I18nUtil.getSupportedLocale(userLocale); + return supportedLocale; + } + + + /** + * Initialize a new Context object + * + * @return a DSpace Context Object + * @throws SQLException + */ + private static Context initializeContext() throws SQLException { + // Create a new Context + Context context = new Context(); + + // Set the session ID + /**context.setExtraLogInfo("session_id=" + + request.getSession().getId()); + + AuthenticationUtil.resumeLogin(context, request); + + // Set any special groups - invoke the authentication mgr. + int[] groupIDs = AuthenticationManager.getSpecialGroups(context, request); + + for (int i = 0; i < groupIDs.length; i++) + { + context.setSpecialGroup(groupIDs[i]); + log.debug("Adding Special Group id="+String.valueOf(groupIDs[i])); + } + + // Set the session ID and IP address + String ip = request.getRemoteAddr(); + if (useProxies == null) { + useProxies = ConfigurationManager.getBooleanProperty("useProxies", false); + } + if(useProxies && request.getHeader("X-Forwarded-For") != null) + { + // This header is a comma delimited list + for(String xfip : request.getHeader("X-Forwarded-For").split(",")) + { + if(!request.getHeader("X-Forwarded-For").contains(ip)) + { + ip = xfip.trim(); + } + } + } + context.setExtraLogInfo("session_id=" + request.getSession().getId() + ":ip_addr=" + ip); + */ + + return context; + } + +} diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/exception/NotImplementedException.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/exception/NotImplementedException.java similarity index 93% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/exception/NotImplementedException.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/exception/NotImplementedException.java index d8574ef4f9..518794bb7b 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/exception/NotImplementedException.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/exception/NotImplementedException.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.exception; +package org.dspace.app.iiif.exception; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/ObjectMapperFactory.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/ObjectMapperFactory.java similarity index 96% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/ObjectMapperFactory.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/ObjectMapperFactory.java index f36ed105da..1e5183fd10 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/ObjectMapperFactory.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/ObjectMapperFactory.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model; +package org.dspace.app.iiif.model; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.module.SimpleModule; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/AnnotationGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/AnnotationGenerator.java similarity index 98% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/AnnotationGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/AnnotationGenerator.java index fbe7ca8a20..3947df3533 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/AnnotationGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/AnnotationGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import java.util.ArrayList; import java.util.List; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/AnnotationListGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/AnnotationListGenerator.java similarity index 92% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/AnnotationListGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/AnnotationListGenerator.java index a01a8aabf6..da977a5ccc 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/AnnotationListGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/AnnotationListGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import java.util.ArrayList; import java.util.List; @@ -27,7 +27,7 @@ import org.springframework.web.context.annotation.RequestScope; */ @RequestScope @Component -public class AnnotationListGenerator implements org.dspace.app.rest.iiif.model.generator.IIIFResource { +public class AnnotationListGenerator implements IIIFResource { private String identifier; private List annotations = new ArrayList<>(); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/BehaviorGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/BehaviorGenerator.java similarity index 94% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/BehaviorGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/BehaviorGenerator.java index df275e8e02..3d3fccd1fa 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/BehaviorGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/BehaviorGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import de.digitalcollections.iiif.model.enums.ViewingHint; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/CanvasGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/CanvasGenerator.java similarity index 98% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/CanvasGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/CanvasGenerator.java index bb71416d68..096abfea58 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/CanvasGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/CanvasGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import java.util.ArrayList; import java.util.List; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/CanvasItemsGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/CanvasItemsGenerator.java similarity index 90% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/CanvasItemsGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/CanvasItemsGenerator.java index e23a7ffc7f..d7b6bdf0ca 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/CanvasItemsGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/CanvasItemsGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import java.util.ArrayList; import java.util.List; @@ -49,7 +49,7 @@ public class CanvasItemsGenerator implements IIIFResource { * for display or download by a human user. This is typically going to be a PDF file. * @param otherContent generator for the resource */ - public void addRendering(org.dspace.app.rest.iiif.model.generator.ExternalLinksGenerator otherContent) { + public void addRendering(ExternalLinksGenerator otherContent) { this.renderings.add((OtherContent) otherContent.generateResource()); } @@ -57,7 +57,7 @@ public class CanvasItemsGenerator implements IIIFResource { * Adds a single {@code Canvas} to the sequence. * @param canvas generator for canvas */ - public String addCanvas(org.dspace.app.rest.iiif.model.generator.CanvasGenerator canvas) { + public String addCanvas(CanvasGenerator canvas) { Canvas resource = (Canvas) canvas.generateResource(); this.canvas.add(resource); return resource.getIdentifier().toString(); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ContentAsTextGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ContentAsTextGenerator.java similarity index 94% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ContentAsTextGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ContentAsTextGenerator.java index 520acd0c1f..e83c34bfce 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ContentAsTextGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ContentAsTextGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import de.digitalcollections.iiif.model.openannotation.ContentAsText; import de.digitalcollections.iiif.model.sharedcanvas.Resource; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ContentSearchGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ContentSearchGenerator.java similarity index 98% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ContentSearchGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ContentSearchGenerator.java index 6ee1c23732..28cc13c07d 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ContentSearchGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ContentSearchGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import java.net.URI; import java.net.URISyntaxException; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ExternalLinksGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ExternalLinksGenerator.java similarity index 97% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ExternalLinksGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ExternalLinksGenerator.java index 3c4ec7e72f..94c1828375 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ExternalLinksGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ExternalLinksGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import javax.validation.constraints.NotNull; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/IIIFResource.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/IIIFResource.java similarity index 90% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/IIIFResource.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/IIIFResource.java index 53bf23e1a1..7599349fcb 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/IIIFResource.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/IIIFResource.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import de.digitalcollections.iiif.model.sharedcanvas.Resource; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/IIIFService.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/IIIFService.java similarity index 90% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/IIIFService.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/IIIFService.java index bbcc206757..33f7b7e1d5 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/IIIFService.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/IIIFService.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import de.digitalcollections.iiif.model.Service; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/IIIFValue.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/IIIFValue.java similarity index 89% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/IIIFValue.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/IIIFValue.java index cc0685c135..dbaf9afcbc 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/IIIFValue.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/IIIFValue.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; /** * Interface for iiif value generators. diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ImageContentGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ImageContentGenerator.java similarity index 92% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ImageContentGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ImageContentGenerator.java index 373af5b39e..610ec571d9 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ImageContentGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ImageContentGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import javax.validation.constraints.NotNull; @@ -19,7 +19,7 @@ import de.digitalcollections.iiif.model.sharedcanvas.Resource; * field of annotations with motivation "sc:painting". Image resources, and only image resources, * are included in the image's property of the canvas. This changes in API version 3.0. */ -public class ImageContentGenerator implements IIIFResource { +public class ImageContentGenerator implements IIIFResource { private final ImageContent imageContent; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ImageServiceGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ImageServiceGenerator.java similarity index 95% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ImageServiceGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ImageServiceGenerator.java index 011d417862..9a39945116 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ImageServiceGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ImageServiceGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import de.digitalcollections.iiif.model.Service; import de.digitalcollections.iiif.model.image.ImageService; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ManifestGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ManifestGenerator.java similarity index 99% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ManifestGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ManifestGenerator.java index 1e66c579fe..4fa1d00ea8 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ManifestGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ManifestGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import java.net.URI; import java.util.ArrayList; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/MetadataEntryGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/MetadataEntryGenerator.java similarity index 96% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/MetadataEntryGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/MetadataEntryGenerator.java index 1a3fbbf9c9..bab4dbecae 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/MetadataEntryGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/MetadataEntryGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import de.digitalcollections.iiif.model.MetadataEntry; import de.digitalcollections.iiif.model.PropertyValue; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ProfileGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ProfileGenerator.java similarity index 95% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ProfileGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ProfileGenerator.java index 947d5cfbb0..4c497763a6 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/ProfileGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/ProfileGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import java.net.URI; import java.net.URISyntaxException; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/PropertyValueGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/PropertyValueGenerator.java similarity index 94% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/PropertyValueGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/PropertyValueGenerator.java index 2124580c65..2568d715a3 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/PropertyValueGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/PropertyValueGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import de.digitalcollections.iiif.model.PropertyValue; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/RangeGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/RangeGenerator.java similarity index 94% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/RangeGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/RangeGenerator.java index 54ff794d47..cc358788e2 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/RangeGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/RangeGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import java.util.ArrayList; import java.util.List; @@ -14,7 +14,7 @@ import javax.validation.constraints.NotNull; import de.digitalcollections.iiif.model.sharedcanvas.Canvas; import de.digitalcollections.iiif.model.sharedcanvas.Range; import de.digitalcollections.iiif.model.sharedcanvas.Resource; -import org.dspace.app.rest.iiif.service.RangeService; +import org.dspace.app.iiif.service.RangeService; /** * This generator wraps the domain model for IIIF {@code ranges}. @@ -25,7 +25,7 @@ import org.dspace.app.rest.iiif.service.RangeService; * This is used to populate the "structures" element of the Manifest. The structure is derived from the iiif.toc * metadata and the ordered sequence of bitstreams (canvases) */ -public class RangeGenerator implements org.dspace.app.rest.iiif.model.generator.IIIFResource { +public class RangeGenerator implements IIIFResource { private String identifier; private String label; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/SearchResultGenerator.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/SearchResultGenerator.java similarity index 96% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/SearchResultGenerator.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/SearchResultGenerator.java index 46ccb68fc2..f1eac30906 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/model/generator/SearchResultGenerator.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/model/generator/SearchResultGenerator.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.model.generator; +package org.dspace.app.iiif.model.generator; import java.util.ArrayList; import java.util.List; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/AbstractResourceService.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/AbstractResourceService.java similarity index 92% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/AbstractResourceService.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/AbstractResourceService.java index 71da08d37d..c7ef01984f 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/AbstractResourceService.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/AbstractResourceService.java @@ -5,13 +5,13 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service; +package org.dspace.app.iiif.service; import java.util.UUID; -import org.dspace.app.rest.iiif.service.util.IIIFUtils; -import org.dspace.app.rest.iiif.service.util.ImageProfileUtil; -import org.dspace.app.rest.iiif.service.util.ThumbProfileUtil; +import org.dspace.app.iiif.service.utils.IIIFUtils; +import org.dspace.app.iiif.service.utils.ImageProfileUtil; +import org.dspace.app.iiif.service.utils.ThumbProfileUtil; import org.dspace.services.ConfigurationService; import org.springframework.beans.factory.annotation.Autowired; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/AnnotationListService.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/AnnotationListService.java similarity index 92% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/AnnotationListService.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/AnnotationListService.java index 4094b74900..fa71fae70f 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/AnnotationListService.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/AnnotationListService.java @@ -5,16 +5,16 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service; +package org.dspace.app.iiif.service; import java.sql.SQLException; import java.util.List; import java.util.UUID; -import org.dspace.app.rest.iiif.model.generator.AnnotationGenerator; -import org.dspace.app.rest.iiif.model.generator.AnnotationListGenerator; -import org.dspace.app.rest.iiif.model.generator.ExternalLinksGenerator; -import org.dspace.app.rest.iiif.service.util.IIIFUtils; +import org.dspace.app.iiif.model.generator.AnnotationGenerator; +import org.dspace.app.iiif.model.generator.AnnotationListGenerator; +import org.dspace.app.iiif.model.generator.ExternalLinksGenerator; +import org.dspace.app.iiif.service.utils.IIIFUtils; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; import org.dspace.content.Item; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/CanvasLookupService.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/CanvasLookupService.java similarity index 92% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/CanvasLookupService.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/CanvasLookupService.java index 859f6cd7c1..5c900d0a1c 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/CanvasLookupService.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/CanvasLookupService.java @@ -5,12 +5,12 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service; +package org.dspace.app.iiif.service; import java.sql.SQLException; -import org.dspace.app.rest.iiif.model.generator.CanvasGenerator; -import org.dspace.app.rest.iiif.service.util.IIIFUtils; +import org.dspace.app.iiif.model.generator.CanvasGenerator; +import org.dspace.app.iiif.service.utils.IIIFUtils; import org.dspace.content.Bitstream; import org.dspace.content.Item; import org.dspace.core.Context; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/CanvasService.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/CanvasService.java similarity index 95% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/CanvasService.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/CanvasService.java index eb4d192b88..1dac7da8bf 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/CanvasService.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/CanvasService.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service; +package org.dspace.app.iiif.service; import java.util.ArrayList; import java.util.List; @@ -13,10 +13,10 @@ import java.util.UUID; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Logger; -import org.dspace.app.rest.iiif.model.generator.CanvasGenerator; -import org.dspace.app.rest.iiif.model.generator.ImageContentGenerator; -import org.dspace.app.rest.iiif.service.util.BitstreamIIIFVirtualMetadata; -import org.dspace.app.rest.iiif.service.util.IIIFUtils; +import org.dspace.app.iiif.model.generator.CanvasGenerator; +import org.dspace.app.iiif.model.generator.ImageContentGenerator; +import org.dspace.app.iiif.service.utils.BitstreamIIIFVirtualMetadata; +import org.dspace.app.iiif.service.utils.IIIFUtils; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; import org.dspace.content.Item; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/ImageContentService.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/ImageContentService.java similarity index 90% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/ImageContentService.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/ImageContentService.java index 7b8a5ec011..3ef28d91c6 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/ImageContentService.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/ImageContentService.java @@ -5,13 +5,13 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service; +package org.dspace.app.iiif.service; import java.util.UUID; -import org.dspace.app.rest.iiif.model.generator.ImageContentGenerator; -import org.dspace.app.rest.iiif.model.generator.ImageServiceGenerator; -import org.dspace.app.rest.iiif.model.generator.ProfileGenerator; +import org.dspace.app.iiif.model.generator.ImageContentGenerator; +import org.dspace.app.iiif.model.generator.ImageServiceGenerator; +import org.dspace.app.iiif.model.generator.ProfileGenerator; import org.dspace.services.ConfigurationService; import org.springframework.stereotype.Component; import org.springframework.web.context.annotation.RequestScope; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/ManifestService.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/ManifestService.java similarity index 96% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/ManifestService.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/ManifestService.java index 95fa0cd044..7dcb474a75 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/ManifestService.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/ManifestService.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service; +package org.dspace.app.iiif.service; import java.sql.SQLException; import java.util.ArrayList; @@ -15,12 +15,12 @@ import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Logger; -import org.dspace.app.rest.iiif.model.generator.CanvasGenerator; -import org.dspace.app.rest.iiif.model.generator.ContentSearchGenerator; -import org.dspace.app.rest.iiif.model.generator.ImageContentGenerator; -import org.dspace.app.rest.iiif.model.generator.ManifestGenerator; -import org.dspace.app.rest.iiif.model.generator.RangeGenerator; -import org.dspace.app.rest.iiif.service.util.IIIFUtils; +import org.dspace.app.iiif.model.generator.CanvasGenerator; +import org.dspace.app.iiif.model.generator.ContentSearchGenerator; +import org.dspace.app.iiif.model.generator.ImageContentGenerator; +import org.dspace.app.iiif.model.generator.ManifestGenerator; +import org.dspace.app.iiif.model.generator.RangeGenerator; +import org.dspace.app.iiif.service.utils.IIIFUtils; import org.dspace.app.util.service.MetadataExposureService; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/RangeService.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/RangeService.java similarity index 92% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/RangeService.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/RangeService.java index f7ad38ff32..54ec70ec0f 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/RangeService.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/RangeService.java @@ -5,9 +5,9 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service; +package org.dspace.app.iiif.service; -import org.dspace.app.rest.iiif.model.generator.RangeGenerator; +import org.dspace.app.iiif.model.generator.RangeGenerator; import org.dspace.services.ConfigurationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/RelatedService.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/RelatedService.java similarity index 91% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/RelatedService.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/RelatedService.java index 3b6596c102..94550172ee 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/RelatedService.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/RelatedService.java @@ -5,9 +5,9 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service; +package org.dspace.app.iiif.service; -import org.dspace.app.rest.iiif.model.generator.ExternalLinksGenerator; +import org.dspace.app.iiif.model.generator.ExternalLinksGenerator; import org.dspace.content.Item; import org.dspace.services.ConfigurationService; import org.springframework.stereotype.Component; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/SearchAnnotationService.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/SearchAnnotationService.java similarity index 91% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/SearchAnnotationService.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/SearchAnnotationService.java index f97e794f23..776e399df4 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/SearchAnnotationService.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/SearchAnnotationService.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service; +package org.dspace.app.iiif.service; import java.util.UUID; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/SearchService.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/SearchService.java similarity index 95% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/SearchService.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/SearchService.java index d7931c4979..22617ebd4f 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/SearchService.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/SearchService.java @@ -5,13 +5,13 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service; +package org.dspace.app.iiif.service; import java.util.List; import java.util.UUID; import org.apache.logging.log4j.Logger; -import org.dspace.app.rest.iiif.exception.NotImplementedException; +import org.dspace.app.iiif.exception.NotImplementedException; import org.dspace.services.ConfigurationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/SeeAlsoService.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/SeeAlsoService.java similarity index 87% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/SeeAlsoService.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/SeeAlsoService.java index 63651efd90..f4eb22ce88 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/SeeAlsoService.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/SeeAlsoService.java @@ -5,10 +5,10 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service; +package org.dspace.app.iiif.service; -import org.dspace.app.rest.iiif.model.generator.AnnotationGenerator; -import org.dspace.app.rest.iiif.model.generator.ExternalLinksGenerator; +import org.dspace.app.iiif.model.generator.AnnotationGenerator; +import org.dspace.app.iiif.model.generator.ExternalLinksGenerator; import org.dspace.content.Item; import org.dspace.services.ConfigurationService; import org.springframework.stereotype.Component; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/SequenceService.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/SequenceService.java similarity index 94% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/SequenceService.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/SequenceService.java index a4ed5c7ec7..a37088fc5e 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/SequenceService.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/SequenceService.java @@ -5,15 +5,15 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service; +package org.dspace.app.iiif.service; import java.sql.SQLException; import java.util.List; import org.apache.logging.log4j.Logger; -import org.dspace.app.rest.iiif.model.generator.CanvasGenerator; -import org.dspace.app.rest.iiif.model.generator.CanvasItemsGenerator; -import org.dspace.app.rest.iiif.model.generator.ExternalLinksGenerator; +import org.dspace.app.iiif.model.generator.CanvasGenerator; +import org.dspace.app.iiif.model.generator.CanvasItemsGenerator; +import org.dspace.app.iiif.model.generator.ExternalLinksGenerator; import org.dspace.content.Bitstream; import org.dspace.content.Bundle; import org.dspace.content.Item; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/WordHighlightSolrSearch.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/WordHighlightSolrSearch.java similarity index 96% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/WordHighlightSolrSearch.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/WordHighlightSolrSearch.java index fc24313b92..4763284334 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/WordHighlightSolrSearch.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/WordHighlightSolrSearch.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service; +package org.dspace.app.iiif.service; import java.io.IOException; import java.net.URLEncoder; @@ -29,12 +29,12 @@ import org.apache.solr.client.solrj.impl.NoOpResponseParser; import org.apache.solr.client.solrj.request.QueryRequest; import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.util.NamedList; -import org.dspace.app.rest.iiif.model.generator.AnnotationGenerator; -import org.dspace.app.rest.iiif.model.generator.CanvasGenerator; -import org.dspace.app.rest.iiif.model.generator.ContentAsTextGenerator; -import org.dspace.app.rest.iiif.model.generator.ManifestGenerator; -import org.dspace.app.rest.iiif.model.generator.SearchResultGenerator; -import org.dspace.app.rest.iiif.service.util.IIIFUtils; +import org.dspace.app.iiif.model.generator.AnnotationGenerator; +import org.dspace.app.iiif.model.generator.CanvasGenerator; +import org.dspace.app.iiif.model.generator.ContentAsTextGenerator; +import org.dspace.app.iiif.model.generator.ManifestGenerator; +import org.dspace.app.iiif.model.generator.SearchResultGenerator; +import org.dspace.app.iiif.service.utils.IIIFUtils; import org.dspace.discovery.SolrSearchCore; import org.dspace.services.ConfigurationService; import org.dspace.services.factory.DSpaceServicesFactory; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamBytesIIIFVirtualMetadata.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamBytesIIIFVirtualMetadata.java similarity index 95% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamBytesIIIFVirtualMetadata.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamBytesIIIFVirtualMetadata.java index 23b7b9ffd5..e042ef3e6b 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamBytesIIIFVirtualMetadata.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamBytesIIIFVirtualMetadata.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service.util; +package org.dspace.app.iiif.service.utils; import java.util.Collections; import java.util.List; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamChecksumIIIFVirtualMetadata.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamChecksumIIIFVirtualMetadata.java similarity index 95% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamChecksumIIIFVirtualMetadata.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamChecksumIIIFVirtualMetadata.java index f933d386f2..d7920bdc4b 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamChecksumIIIFVirtualMetadata.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamChecksumIIIFVirtualMetadata.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service.util; +package org.dspace.app.iiif.service.utils; import java.util.Collections; import java.util.List; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamFormatIIIFVirtualMetadata.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamFormatIIIFVirtualMetadata.java similarity index 95% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamFormatIIIFVirtualMetadata.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamFormatIIIFVirtualMetadata.java index 4ae1f6f0ff..c4caf0c54e 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamFormatIIIFVirtualMetadata.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamFormatIIIFVirtualMetadata.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service.util; +package org.dspace.app.iiif.service.utils; import java.sql.SQLException; import java.util.Collections; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamIIIFVirtualMetadata.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamIIIFVirtualMetadata.java similarity index 93% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamIIIFVirtualMetadata.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamIIIFVirtualMetadata.java index 758ab916c0..46fee60c87 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamIIIFVirtualMetadata.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamIIIFVirtualMetadata.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service.util; +package org.dspace.app.iiif.service.utils; import java.util.List; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamMimetypeIIIFVirtualMetadata.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamMimetypeIIIFVirtualMetadata.java similarity index 95% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamMimetypeIIIFVirtualMetadata.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamMimetypeIIIFVirtualMetadata.java index d147570660..b49b29743f 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/BitstreamMimetypeIIIFVirtualMetadata.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/BitstreamMimetypeIIIFVirtualMetadata.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service.util; +package org.dspace.app.iiif.service.utils; import java.sql.SQLException; import java.util.Collections; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/IIIFUtils.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/IIIFUtils.java similarity index 99% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/IIIFUtils.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/IIIFUtils.java index 0123784d92..11e82a3f2f 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/IIIFUtils.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/IIIFUtils.java @@ -5,7 +5,7 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service.util; +package org.dspace.app.iiif.service.utils; import java.sql.SQLException; import java.util.ArrayList; @@ -19,7 +19,7 @@ import com.fasterxml.jackson.databind.module.SimpleModule; import de.digitalcollections.iiif.model.sharedcanvas.Resource; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Logger; -import org.dspace.app.rest.iiif.model.ObjectMapperFactory; +import org.dspace.app.iiif.model.ObjectMapperFactory; import org.dspace.content.Bitstream; import org.dspace.content.BitstreamFormat; import org.dspace.content.Bundle; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/ImageProfileUtil.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/ImageProfileUtil.java similarity index 86% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/ImageProfileUtil.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/ImageProfileUtil.java index c1aeb2555c..376e307652 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/ImageProfileUtil.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/ImageProfileUtil.java @@ -5,9 +5,9 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service.util; +package org.dspace.app.iiif.service.utils; -import org.dspace.app.rest.iiif.model.generator.ProfileGenerator; +import org.dspace.app.iiif.model.generator.ProfileGenerator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/ThumbProfileUtil.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/ThumbProfileUtil.java similarity index 89% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/ThumbProfileUtil.java rename to dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/ThumbProfileUtil.java index 58e5dd18b3..3652ab326f 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/service/util/ThumbProfileUtil.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/utils/ThumbProfileUtil.java @@ -5,9 +5,9 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.service.util; +package org.dspace.app.iiif.service.utils; -import org.dspace.app.rest.iiif.model.generator.ProfileGenerator; +import org.dspace.app.iiif.model.generator.ProfileGenerator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/dspace-server-webapp/pom.xml b/dspace-server-webapp/pom.xml index 27844682bf..d50462c6c8 100644 --- a/dspace-server-webapp/pom.xml +++ b/dspace-server-webapp/pom.xml @@ -364,6 +364,11 @@ dspace-services + + org.dspace + dspace-iiif + + @@ -493,38 +498,6 @@ ehcache 3.4.0 - - - de.digitalcollections.iiif - iiif-apis - 0.3.9 - - - org.javassist - javassist - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - - - org.springframework.security - spring-security-core - - - org.dmfs - iterators - - - com.fasterxml.jackson.module - jackson-module-parameter-names - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - - - org.apache.solr solr-cell diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/Application.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/Application.java index 4ee6570483..e0ea0cccb0 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/Application.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/Application.java @@ -28,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; +import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.Bean; import org.springframework.core.annotation.Order; import org.springframework.hateoas.server.LinkRelationProvider; @@ -56,6 +57,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; */ @SpringBootApplication @EnableScheduling +@EnableCaching public class Application extends SpringBootServletInitializer { private static final Logger log = LoggerFactory.getLogger(Application.class); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/cache/CacheLogger.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/cache/CacheLogger.java similarity index 87% rename from dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/cache/CacheLogger.java rename to dspace-server-webapp/src/main/java/org/dspace/app/rest/cache/CacheLogger.java index c3cd9c188d..18b26b3ceb 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/cache/CacheLogger.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/cache/CacheLogger.java @@ -5,7 +5,8 @@ * * http://www.dspace.org/license/ */ -package org.dspace.app.rest.iiif.cache; + +package org.dspace.app.rest.cache; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -18,7 +19,7 @@ public class CacheLogger implements CacheEventListener { @Override public void onEvent(CacheEvent cacheEvent) { log.info("Cache Event Type: {} | Manifest Key: {} ", - cacheEvent.getType(), cacheEvent.getKey()); + cacheEvent.getType(), cacheEvent.getKey()); } } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/cache/CacheConfig.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/cache/CacheConfig.java deleted file mode 100644 index 9134a65432..0000000000 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/iiif/cache/CacheConfig.java +++ /dev/null @@ -1,24 +0,0 @@ -/** - * The contents of this file are subject to the license and copyright - * detailed in the LICENSE and NOTICE files at the root of the source - * tree and available online at - * - * http://www.dspace.org/license/ - */ -package org.dspace.app.rest.iiif.cache; - -import org.springframework.cache.annotation.EnableCaching; -import org.springframework.context.annotation.Configuration; - -/** - * Enables Spring cache support. The configuration file is defined in - * application properties. - *

spring.cache.jcache.config=classpath:iiif/cache/ehcache.xml

- * TODO: Before the cache is used in production there must be a way to - * evict from the cache whenever a dspace item, bundle or bitstream is changed. - */ -@Configuration -@EnableCaching -public class CacheConfig { - // Spring boot cache configuration. -} diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/ApplicationConfig.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/ApplicationConfig.java index f180124d15..7170072e13 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/ApplicationConfig.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/ApplicationConfig.java @@ -25,7 +25,7 @@ import org.springframework.data.web.config.EnableSpringDataWebSupport; @Configuration @EnableSpringDataWebSupport @ComponentScan( {"org.dspace.app.rest.converter", "org.dspace.app.rest.repository", "org.dspace.app.rest.utils", - "org.dspace.app.configuration", "org.dspace.iiif"}) + "org.dspace.app.configuration", "org.dspace.iiif", "org.dspace.app.iiif"}) public class ApplicationConfig { // Allowed CORS origins ("Access-Control-Allow-Origin" header) // Can be overridden in DSpace configuration diff --git a/dspace-server-webapp/src/main/resources/iiif/cache/ehcache.xml b/dspace-server-webapp/src/main/resources/iiif/cache/ehcache.xml index 13f9b398b4..cedbff2d46 100644 --- a/dspace-server-webapp/src/main/resources/iiif/cache/ehcache.xml +++ b/dspace-server-webapp/src/main/resources/iiif/cache/ehcache.xml @@ -16,7 +16,7 @@ - org.dspace.app.rest.iiif.cache.CacheLogger + org.dspace.app.rest.cache.CacheLogger ASYNCHRONOUS UNORDERED CREATED diff --git a/dspace/pom.xml b/dspace/pom.xml index e10f455b26..0a26771dcc 100644 --- a/dspace/pom.xml +++ b/dspace/pom.xml @@ -204,6 +204,11 @@ dspace-rdf compile
+ + org.dspace + dspace-iiif + compile + org.dspace dspace-services diff --git a/pom.xml b/pom.xml index db14434e1c..af3f0075cf 100644 --- a/pom.xml +++ b/pom.xml @@ -823,6 +823,21 @@ + + + dspace-iiif + + + dspace-iiif/pom.xml + + + + dspace-iiif + + + @@ -1043,6 +1058,11 @@ dspace-rdf 7.1-SNAPSHOT + + org.dspace + dspace-iiif + 7.1-SNAPSHOT + org.dspace dspace-server-webapp