diff --git a/pom.xml b/pom.xml index 4b88ec5b930f2578fb31299a0991b6006d75f2f4..2136c38582b9da5a7181e742481bcfbadfefddeb 100644 --- a/pom.xml +++ b/pom.xml @@ -53,18 +53,18 @@ <commons-net.version>3.8.0</commons-net.version> <commons-validator.version>1.7</commons-validator.version> <cxf-xjc-runtime.version>3.3.2</cxf-xjc-runtime.version> - <cxf.version>3.5.5</cxf.version> + <cxf.version>3.5.6</cxf.version> <ehcache.version>2.10.9.2</ehcache.version> - <freemarker.version>2.3.31</freemarker.version> + <freemarker.version>2.3.32</freemarker.version> <h2.version>2.1.214</h2.version> <hamcrest-junit.version>2.0.0.0</hamcrest-junit.version> <hamcrest.version>2.2</hamcrest.version> <hibernate-jpa.version>1.0.2.Final</hibernate-jpa.version> - <hibernate.validator.version>7.0.1.Final</hibernate.validator.version> - <hibernate.version>5.6.9.Final</hibernate.version> - <httpclient.version>4.5.13</httpclient.version> + <hibernate.validator.version>7.0.5.Final</hibernate.validator.version> + <hibernate.version>5.6.15.Final</hibernate.version> + <httpclient.version>4.5.14</httpclient.version> <jackson-databind.version>2.14.1</jackson-databind.version> - <jackson.version>2.14.1</jackson.version> + <jackson.version>2.15.2</jackson.version> <javaee-api.version>7.0</javaee-api.version> <javax.annotation.version>1.3.2</javax.annotation.version> <javax.mail.version>1.6.2</javax.mail.version> @@ -77,16 +77,15 @@ <junit-platform-surefire-provider.version>1.3.2</junit-platform-surefire-provider.version> <junitparams.version>1.1.1</junitparams.version> <logback.version>1.2.11</logback.version> - <mysql.jdbc.version>8.0.32</mysql.jdbc.version> + <mysql.jdbc.version>8.0.33</mysql.jdbc.version> <metro.version>2.2.1-1</metro.version> - <!-- mockito.version>2.23.4</mockito.version --> <mockito.version>4.10.0</mockito.version> <orika.version>1.5.4</orika.version> <servlet-api.version>3.0.1</servlet-api.version> <slf4j.version>1.7.36</slf4j.version> <spring-modules-jakarta-commons.version>0.8</spring-modules-jakarta-commons.version> <spring-boot.version>2.7.12</spring-boot.version> - <spring-boot.tomcat.version>9.0.74</spring-boot.tomcat.version> + <spring-boot.tomcat.version>9.0.75</spring-boot.tomcat.version> <spring.security.version>5.8.3</spring.security.version> <spring.version>5.3.27</spring.version> <xmlunit.version>2.9.0</xmlunit.version> diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/ServicesBeansConfiguration.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/ServicesBeansConfiguration.java index 5ad8753a286b1586c106788b3ab503acd431f6f0..ff2a75fa6e16cae0a56fab05f29fa22f1f821569 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/ServicesBeansConfiguration.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/config/ServicesBeansConfiguration.java @@ -9,6 +9,7 @@ import org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean; @Configuration @ComponentScan(basePackages = { + "eu.europa.ec.edelivery.smp.data.dao", "eu.europa.ec.edelivery.smp.conversion", "eu.europa.ec.edelivery.smp.security", "eu.europa.ec.edelivery.smp.services", diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DocumentDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DocumentDao.java index 0d65b4966b111d0465fff7a14282d8507e2d7662..40b1430768f38f50130f189bbc5d39a37688840d 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DocumentDao.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DocumentDao.java @@ -26,7 +26,6 @@ import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.*; @Repository public class DocumentDao extends BaseDao<DBDocument> { - /** * Method returns the document for the resource * @@ -85,7 +84,6 @@ public class DocumentDao extends BaseDao<DBDocument> { TypedQuery<DBDocumentVersion> query = memEManager.createNamedQuery(QUERY_DOCUMENT_VERSION_LIST_FOR_RESOURCE, DBDocumentVersion.class); query.setParameter(PARAM_RESOURCE_ID, dbResource.getId()); return query.getResultList(); - } /** @@ -98,6 +96,5 @@ public class DocumentDao extends BaseDao<DBDocument> { TypedQuery<DBDocumentVersion> query = memEManager.createNamedQuery(QUERY_DOCUMENT_VERSION_LIST_FOR_SUBRESOURCE, DBDocumentVersion.class); query.setParameter(PARAM_SUBRESOURCE_ID, subresource.getId()); return query.getResultList(); - } } diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/AbstractResourceHandler.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/AbstractResourceHandler.java index b91c92acb69a34630fa5c4dfb18946d406354959..551820bc32b1d20635d551009101875e6366c640 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/AbstractResourceHandler.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/AbstractResourceHandler.java @@ -32,7 +32,7 @@ public class AbstractResourceHandler { final List<ResourceDefinitionSpi> resourceDefinitionSpiList; final ResourceStorage resourceStorage; - public AbstractResourceHandler(List<ResourceDefinitionSpi> resourceDefinitionSpiList, ResourceStorage resourceStorage) { + protected AbstractResourceHandler(List<ResourceDefinitionSpi> resourceDefinitionSpiList, ResourceStorage resourceStorage) { this.resourceDefinitionSpiList = resourceDefinitionSpiList; this.resourceStorage = resourceStorage; } diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerService.java index f1b0b2a2ffc10fbf77f6a3cfb8d42cd7f6367e5b..37147ec79a9fce9706173e4e102a56865cb8e57d 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerService.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerService.java @@ -28,8 +28,8 @@ import eu.europa.ec.smp.spi.resource.ResourceHandlerSpi; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; import org.springframework.stereotype.Service; - import org.springframework.transaction.annotation.Transactional; + import java.io.ByteArrayOutputStream; import java.util.List; @@ -47,12 +47,14 @@ public class ResourceHandlerService extends AbstractResourceHandler { protected static final SMPLogger LOG = SMPLoggerFactory.getLogger(ResourceHandlerService.class); final ResourceMemberDao resourceMemberDao; - final GroupDao groupDao; final SMLIntegrationService integrationService; - public ResourceHandlerService(List<ResourceDefinitionSpi> resourceDefinitionSpiList, ResourceStorage resourceStorage, - ResourceMemberDao resourceMemberDao, GroupDao groupDao,SMLIntegrationService integrationService) { + public ResourceHandlerService(List<ResourceDefinitionSpi> resourceDefinitionSpiList, + ResourceMemberDao resourceMemberDao, + GroupDao groupDao, + ResourceStorage resourceStorage, + SMLIntegrationService integrationService) { super(resourceDefinitionSpiList, resourceStorage); this.resourceMemberDao = resourceMemberDao; this.groupDao = groupDao; @@ -61,7 +63,6 @@ public class ResourceHandlerService extends AbstractResourceHandler { public void readResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) { - LOG.debug("Handle the READ action for resource request [{}]", resourceRequest); ResolvedData resolvedData = resourceRequest.getResolvedData(); ResourceHandlerSpi handlerSpi = getResourceHandler(resolvedData.getResourceDef()); diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/ResourceStorage.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/ResourceStorage.java index 306eb5f674cf6fb4c4f108072ebbd93b630f857c..5e70ab99f596e7c2df667c3a4d2c7f32b69a7880 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/ResourceStorage.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/resource/ResourceStorage.java @@ -11,8 +11,8 @@ import eu.europa.ec.edelivery.smp.data.model.doc.DBSubresource; import eu.europa.ec.edelivery.smp.logging.SMPLogger; import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory; import org.springframework.stereotype.Service; - import org.springframework.transaction.annotation.Transactional; + import java.util.Optional; /** @@ -28,19 +28,22 @@ public class ResourceStorage { final ResourceDao resourceDao; final SubresourceDao subresourceDao; - public ResourceStorage(DocumentDao documentDao, ResourceDao resourceDao,SubresourceDao subresourceDao) { + public ResourceStorage(DocumentDao documentDao, ResourceDao resourceDao, SubresourceDao subresourceDao) { this.documentDao = documentDao; this.resourceDao = resourceDao; this.subresourceDao = subresourceDao; } - byte[] getDocumentContentForResource(DBResource dbResource) { - Optional<DBDocumentVersion> documentVersion = documentDao.getCurrentDocumentVersionForResource(dbResource); + public byte[] getDocumentContentForResource(DBResource dbResource) { + LOG.debug("getDocumentContentForResource: [{}]", dbResource); + + Optional<DBDocumentVersion> documentVersion = this.documentDao.getCurrentDocumentVersionForResource(dbResource); return documentVersion.isPresent() ? documentVersion.get().getContent() : null; } - byte[] getDocumentContentForSubresource(DBSubresource subresource) { + public byte[] getDocumentContentForSubresource(DBSubresource subresource) { + LOG.debug("getDocumentContentForSubresource: [{}]", subresource); Optional<DBDocumentVersion> documentVersion = documentDao.getCurrentDocumentVersionForSubresource(subresource); return documentVersion.isPresent() ? documentVersion.get().getContent() : null; diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SMPWebAppConfig.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SMPWebAppConfig.java index 4a915929bf3f6170e8e53bb279178ace1d9775bb..d4f7519f31af9b19bc95ebeda181bfb5c902f44b 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SMPWebAppConfig.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/SMPWebAppConfig.java @@ -23,6 +23,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.FilterType; import org.springframework.context.annotation.Import; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; @@ -38,9 +39,9 @@ import static org.springframework.core.Ordered.HIGHEST_PRECEDENCE; /** * This is the entry point of the DomiSMP application (beans)configuration/setup. - * + * <p> * The SMPWebAppConfig is initiated from the web.xml. - * + * <p> * The following configurations: ServicesBeansConfiguration, SMPDatabaseConfig, UISecurityConfigurerAdapter, WSSecurityConfigurerAdapter * are configured from the SMPWebAppConfig * @@ -64,8 +65,8 @@ import static org.springframework.core.Ordered.HIGHEST_PRECEDENCE; * <tr><td>utils</td><td>smp-server-library</td><td>SMPWebAppConfig</td></tr> * <tr><td>ui</td><td>smp-webapp</td><td>SMPWebAppConfig</td></tr> * </table> - * - * + * <p> + * <p> * @author gutowpa * @since 3.0.0 */ @@ -82,7 +83,9 @@ import static org.springframework.core.Ordered.HIGHEST_PRECEDENCE; "eu.europa.ec.edelivery.smp.utils", "eu.europa.ec.edelivery.smp.cron", // spi properties - "eu.europa.ec.smp.spi",}) + "eu.europa.ec.smp.spi"}, + excludeFilters = { + @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = SMPWebAppConfig.class)}) public class SMPWebAppConfig implements WebMvcConfigurer { private static final Logger LOG = LoggerFactory.getLogger(SMPWebAppConfig.class); diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/monitor/MonitorResource.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/monitor/MonitorResource.java index 8f8a3e45d50e5d612516dde11f5d50baf6a34af1..07046e1b4a20aa3dd224641b6392d02b8b4c1ac7 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/monitor/MonitorResource.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/monitor/MonitorResource.java @@ -1,7 +1,6 @@ package eu.europa.ec.edelivery.smp.monitor; -import eu.europa.ec.edelivery.smp.data.dao.DocumentDao; import eu.europa.ec.edelivery.smp.data.dao.DomainDao; import eu.europa.ec.edelivery.smp.data.model.DBDomain; import eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority; @@ -35,13 +34,9 @@ public class MonitorResource { private static final String TEST_NAME = "urn:test:document:is-alive"; private static final String TEST_EXTENSION_XML = "<Extension xmlns=\"http://docs.oasis-open.org/bdxr/ns/SMP/2016/05\"><ex:dummynode xmlns:ex=\"http://test.eu\">Sample not mandatory extension</ex:dummynode></Extension>"; private static final String TEST_DB_SUCCESSFUL_ROLLBACK = "TEST_DB_SUCCESSFUL_ROLLBACK MESSAGE"; - - - private final DocumentDao documentDao; private final DomainDao domainDao; - public MonitorResource(DocumentDao documentDao, DomainDao domainDao) { - this.documentDao = documentDao; + public MonitorResource(DomainDao domainDao) { this.domainDao = domainDao; }