diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index ed6807f..7a29d97 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -16,10 +16,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v3 with: - java-version: '21' + java-version: '25' distribution: 'temurin' cache: maven - name: Build with Maven diff --git a/README.md b/README.md index 3eb1f42..8feb7fe 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ update the *.gitignore* file appropriately. ## Build Setup -The project is using the latest OpenJDK 21 to build, although earlier versions +The project is using the latest OpenJDK 25 to build, although earlier versions should also work. To build the project you will need Maven, which usually comes along-side the diff --git a/docker/Dockerfile b/docker/Dockerfile index 9350d7f..d6465c0 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -14,8 +14,8 @@ # the conf-folder and point to them in application.properties. # -# Use the official OpenJDK 21 image as the base image -FROM eclipse-temurin:21-jre-alpine +# Use the official OpenJDK 25 image as the base image +FROM eclipse-temurin:25-jre-alpine LABEL org.opencontainers.image.source="https://github.com/gla-rad/eNav-MessageBroker" @@ -23,7 +23,7 @@ LABEL org.opencontainers.image.source="https://github.com/gla-rad/eNav-MessageBr WORKDIR /app # Copy the Spring Boot JAR file into the container -COPY target/message-broker-0.0.4-SNAPSHOT.jar . +COPY target/message-broker-0.0.5-SNAPSHOT.jar . # Create a modules path just in case ENV LOADER_PATH /modules @@ -37,4 +37,4 @@ ENV CONFIG_DIR=/conf EXPOSE 8763 -CMD ["java", "-jar", "message-broker-0.0.4-SNAPSHOT.jar", "--spring.config.location=optional:classpath:/,optional:file:${CONFIG_DIR}/"] +CMD ["java", "-jar", "message-broker-0.0.5-SNAPSHOT.jar", "--spring.config.location=optional:classpath:/,optional:file:${CONFIG_DIR}/"] diff --git a/pom.xml b/pom.xml index 2281803..26a7b57 100644 --- a/pom.xml +++ b/pom.xml @@ -6,119 +6,172 @@ org.springframework.boot spring-boot-starter-parent - 3.5.6 + 4.0.5 - org.thls + org.grad message-broker - 0.0.4-SNAPSHOT + 0.0.5-SNAPSHOT MessageBroker GRAD e-Navigation Message Broker Microservice + + + Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0.txt + repo + Free license to use with acknowledgement to GRAD. + + + + + nvasta + Nikolaos Vastardis + Nikolaos.Vastardis@gla-rad.org + https://www.gla-rad.org/sectors/digital-services + GRAD + https://www.gla-rad.org/ + + + l0rro + Lawrence Hughes + Lawrence.Hughes@gla-rad.org + https://www.gla-rad.org/sectors/digital-services + GRAD + https://www.gla-rad.org/ + + - 21 - 2025.0.0 - 2.8.8 - 5.3.3 + 25 + 2025.1.1 + 3.0.2 + 5.3.8 3.7.1 - 6.5.2 + 7.2.0 5.4.0 2.13 - 3.9.0 + 3.9.2 org.apache.maven.plugins - maven-deploy-plugin - 3.0.0-M2 + maven-surefire-plugin + + + -javaagent:${settings.localRepository}/org/mockito/mockito-core/${mockito.version}/mockito-core-${mockito.version}.jar + -Xshare:off + + org.springframework.boot spring-boot-maven-plugin - true + + + org.projectlombok + lombok + + - - org.apache.maven.plugins - maven-dependency-plugin - - - - properties - - - - - - org.apache.maven.plugins - maven-surefire-plugin - 3.5.3 - - -javaagent:${settings.localRepository}/org/mockito/mockito-core/${mockito.version}/mockito-core-${mockito.version}.jar - - + + org.apache.maven.plugins + maven-compiler-plugin + + + default-compile + compile + + compile + + + + + org.projectlombok + lombok + + + + + + default-testCompile + test-compile + + testCompile + + + + + org.projectlombok + lombok + + + + + + - org.springframework.cloud - spring-cloud-starter-config + org.springframework.boot + spring-boot-starter-actuator org.springframework.boot - spring-boot-starter-web + spring-boot-starter-security-oauth2-client org.springframework.boot - spring-boot-starter-validation + spring-boot-starter-security-oauth2-resource-server org.springframework.boot - spring-boot-starter-actuator + spring-boot-starter-thymeleaf - org.springframework.cloud - spring-cloud-starter-netflix-eureka-client + org.springframework.boot + spring-boot-starter-validation org.springframework.boot - spring-boot-starter-security + spring-boot-starter-webflux org.springframework.boot - spring-boot-starter-oauth2-client + spring-boot-starter-websocket - org.springframework.boot - spring-boot-starter-oauth2-resource-server + org.springframework.cloud + spring-cloud-starter-config - org.springframework.boot - spring-boot-starter-thymeleaf + org.springframework.integration + spring-integration-stomp - org.thymeleaf.extras - thymeleaf-extras-springsecurity6 + org.springframework.integration + spring-integration-webflux - org.springframework.integration - spring-integration-core + spring-integration-websocket - - org.springframework.boot - spring-boot-starter-websocket + org.thymeleaf.extras + thymeleaf-extras-springsecurity6 + - org.projectlombok - lombok + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc.version} @@ -155,13 +208,6 @@ ${kafka.version} - - - org.springdoc - springdoc-openapi-starter-webmvc-ui - ${springdoc.version} - - org.webjars @@ -193,36 +239,52 @@ ${fa.version} + org.springframework.boot - spring-boot-starter-test + spring-boot-devtools + runtime + true + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-actuator-test test - - org.springframework.security - spring-security-test + org.springframework.boot + spring-boot-starter-thymeleaf-test test - org.springframework.boot - spring-boot-properties-migrator - compile + spring-boot-starter-validation-test + test + + + org.springframework.boot + spring-boot-starter-webflux-test + test + + + org.springframework.boot + spring-boot-starter-websocket-test + test + + + org.springframework.integration + spring-integration-test + test - - - - org.springframework.boot - spring-boot-devtools - runtime - true - - org.springframework.cloud spring-cloud-dependencies @@ -230,7 +292,6 @@ pom import - diff --git a/src/main/java/org/grad/eNav/msgBroker/config/SpringSecurityConfig.java b/src/main/java/org/grad/eNav/msgBroker/config/SpringSecurityConfig.java index 4cc1a97..3db0e81 100644 --- a/src/main/java/org/grad/eNav/msgBroker/config/SpringSecurityConfig.java +++ b/src/main/java/org/grad/eNav/msgBroker/config/SpringSecurityConfig.java @@ -24,10 +24,10 @@ import org.grad.eNav.msgBroker.config.mpc.MCPTokenAuthenticationManager; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.actuate.autoconfigure.security.servlet.EndpointRequest; -import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.boot.actuate.info.InfoEndpoint; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.health.actuate.endpoint.HealthEndpoint; +import org.springframework.boot.security.autoconfigure.actuate.web.servlet.EndpointRequest; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/org/grad/eNav/msgBroker/utils/GeometryJSONConverter.java b/src/main/java/org/grad/eNav/msgBroker/utils/GeometryJSONConverter.java index 8d00bbc..f3cce09 100644 --- a/src/main/java/org/grad/eNav/msgBroker/utils/GeometryJSONConverter.java +++ b/src/main/java/org/grad/eNav/msgBroker/utils/GeometryJSONConverter.java @@ -59,7 +59,7 @@ public static JsonNode convertFromGeometry(Geometry geometry) { * @return the geometry */ public static Geometry convertToGeometry(JsonNode jsonNode) { - if (jsonNode == null || jsonNode.toString() == "null" || jsonNode.asText() == "null") { + if (jsonNode == null || jsonNode.toString() == "null") { return null; } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 189444e..9561814 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,6 +1,6 @@ server.port=8763 spring.application.name=msg-broker -spring.application.version=0.0.4 +spring.application.version=0.0.5 # The Spring Cloud Discovery Config spring.config.import=optional:configserver:${ENAV_CLOUD_CONFIG_URI} diff --git a/src/main/resources/messageBroker.conf b/src/main/resources/messageBroker.conf index 5ac3f88..8700ab7 100644 --- a/src/main/resources/messageBroker.conf +++ b/src/main/resources/messageBroker.conf @@ -1,2 +1,2 @@ -JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/ +JAVA_HOME=/usr/lib/jvm/java-25-openjdk-amd64/ JAVA_OPTS=-Xmx1024M \ No newline at end of file diff --git a/src/main/resources/templates/fragments/general.html b/src/main/resources/templates/fragments/general.html index b1ece72..a3cd065 100644 --- a/src/main/resources/templates/fragments/general.html +++ b/src/main/resources/templates/fragments/general.html @@ -22,7 +22,7 @@ e-Navigation Message Broker - +