diff --git a/pom.xml b/pom.xml index 523867c..a6ef42b 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ org.springframework.boot spring-boot-starter-parent - 1.5.22.RELEASE + 2.7.10 @@ -26,6 +26,7 @@ 11 11 1.5.22.RELEASE + 3.20.5 @@ -64,13 +65,25 @@ org.apache.camel camel-core - 3.20.5 + ${apache.camel.version} org.apache.camel camel-oaipmh - 3.20.5 + ${apache.camel.version} + + org.apache.camel.springboot + camel-spring-boot + ${apache.camel.version} + + + org.apache.camel.springboot + camel-spring-boot-starter + ${apache.camel.version} + + + diff --git a/src/main/java/eu/dnetlib/validatorapi/ServletInitializer.java b/src/main/java/eu/dnetlib/validatorapi/ServletInitializer.java deleted file mode 100644 index 0ed639d..0000000 --- a/src/main/java/eu/dnetlib/validatorapi/ServletInitializer.java +++ /dev/null @@ -1,13 +0,0 @@ -package eu.dnetlib.validatorapi; - -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.web.support.SpringBootServletInitializer; - -public class ServletInitializer extends SpringBootServletInitializer { - - @Override - protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { - return application.sources(ValidatorApiApplication.class); - } - -} diff --git a/src/main/java/eu/dnetlib/validatorapi/configuration/GlobalVars.java b/src/main/java/eu/dnetlib/validatorapi/configuration/GlobalVars.java deleted file mode 100644 index 8504151..0000000 --- a/src/main/java/eu/dnetlib/validatorapi/configuration/GlobalVars.java +++ /dev/null @@ -1,33 +0,0 @@ -package eu.dnetlib.validatorapi.configuration; - -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.validation.annotation.Validated; - -import java.util.Date; - -@ConfigurationProperties("validatorapi.globalVars") -@Validated -public class GlobalVars { - public static Date date = new Date(); - private String buildDate; - private String version; - - public String getBuildDate() { - if(buildDate == null) { - return null; - } - return buildDate.toString(); - } - - public void setBuildDate(String buildDate) { - this.buildDate = buildDate; - } - - public String getVersion() { - return version; - } - - public void setVersion(String version) { - this.version = version; - } -} diff --git a/src/main/java/eu/dnetlib/validatorapi/ValidatorApiConfiguration.java b/src/main/java/eu/dnetlib/validatorapi/configuration/ValidatorApiConfiguration.java similarity index 82% rename from src/main/java/eu/dnetlib/validatorapi/ValidatorApiConfiguration.java rename to src/main/java/eu/dnetlib/validatorapi/configuration/ValidatorApiConfiguration.java index c0cb293..c0ec8c3 100644 --- a/src/main/java/eu/dnetlib/validatorapi/ValidatorApiConfiguration.java +++ b/src/main/java/eu/dnetlib/validatorapi/configuration/ValidatorApiConfiguration.java @@ -1,14 +1,14 @@ -package eu.dnetlib.validatorapi; +package eu.dnetlib.validatorapi.configuration; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration -public class ValidatorApiConfiguration extends WebMvcConfigurerAdapter { +public class ValidatorApiConfiguration implements WebMvcConfigurer { private final Logger log = LogManager.getLogger(this.getClass()); @Bean diff --git a/src/main/java/eu/dnetlib/validatorapi/controllers/ValidationController.java b/src/main/java/eu/dnetlib/validatorapi/controllers/ValidationController.java index dfacc67..0dd67a4 100644 --- a/src/main/java/eu/dnetlib/validatorapi/controllers/ValidationController.java +++ b/src/main/java/eu/dnetlib/validatorapi/controllers/ValidationController.java @@ -13,7 +13,6 @@ import eu.dnetlib.validatorapi.repositories.ValidationResultRepository; import eu.dnetlib.validatorapi.routes.OaiPmhRoute; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.impl.DefaultCamelContext; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; @@ -54,6 +53,9 @@ public class ValidationController { private final ValidationResultRepository validationResultRepository; private final ValidationIssueRepository validationIssueRepository; + @Autowired + CamelContext camelContext; + @Autowired public ValidationController(ValidationJobRepository validationJobRepository, ValidationResultRepository validationResultRepository, @@ -200,12 +202,12 @@ public class ValidationController { try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); - CamelContext camelContext = new DefaultCamelContext(); + RouteBuilder oaiPmhRouteBuilder = new OaiPmhRoute("oaipmh://"+baseURL + "?verb=ListRecords&metadataPrefix=" + metadataPrefix , profile, validationJob, numberOfRecords, validationIssueRepository, validationResultRepository); camelContext.addRoutes(oaiPmhRouteBuilder); - camelContext.start(); + //camelContext.start(); //camelContext.stop(); validationJob.status = "COMPLETED"; diff --git a/src/main/java/eu/dnetlib/validatorapi/utils/CustomStringArrayType.java b/src/main/java/eu/dnetlib/validatorapi/utils/CustomStringArrayType.java index 7486e31..4502055 100644 --- a/src/main/java/eu/dnetlib/validatorapi/utils/CustomStringArrayType.java +++ b/src/main/java/eu/dnetlib/validatorapi/utils/CustomStringArrayType.java @@ -1,7 +1,7 @@ package eu.dnetlib.validatorapi.utils; import org.hibernate.HibernateException; -import org.hibernate.engine.spi.SessionImplementor; +import org.hibernate.engine.spi.SharedSessionContractImplementor; import org.hibernate.usertype.UserType; import java.io.Serializable; @@ -34,20 +34,21 @@ public class CustomStringArrayType implements UserType { } @Override - public Object nullSafeGet(ResultSet rs, String[] names, SessionImplementor session, Object owner) + public Object nullSafeGet(ResultSet resultSet, String[] names, + SharedSessionContractImplementor sharedSessionContractImplementor, Object o) throws HibernateException, SQLException { - Array array = rs.getArray(names[0]); + Array array = resultSet.getArray(names[0]); return array != null ? array.getArray() : null; } @Override - public void nullSafeSet(PreparedStatement st, Object value, int index, SessionImplementor session) - throws HibernateException, SQLException { - if (value != null && st != null) { - Array array = session.connection().createArrayOf("text", (String[])value); - st.setArray(index, array); + public void nullSafeSet(PreparedStatement preparedStatement, Object value, int index, + SharedSessionContractImplementor sharedSessionContractImplementor) throws HibernateException, SQLException { + if (value != null && preparedStatement != null) { + Array array = sharedSessionContractImplementor.connection().createArrayOf("text", (String[])value); + preparedStatement.setArray(index, array); } else { - st.setNull(index, sqlTypes()[0]); + preparedStatement.setNull(index, sqlTypes()[0]); } }