diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a366fc1a0..3d734ab27 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v3 with: - java-version: "11" + java-version: "21" distribution: "temurin" - name: Run Sonar env: diff --git a/asn1_codec b/asn1_codec index 792abc0e7..af8a1a7f5 160000 --- a/asn1_codec +++ b/asn1_codec @@ -1 +1 @@ -Subproject commit 792abc0e750f6929ec79d644c4f9ad463842d2a1 +Subproject commit af8a1a7f53fb7f9dea364e9fefa12420f7ccd75e diff --git a/docs/Release_notes.md b/docs/Release_notes.md index 25e1f6076..32c4b2f36 100644 --- a/docs/Release_notes.md +++ b/docs/Release_notes.md @@ -1,6 +1,22 @@ JPO-ODE Release Notes ---------------------------- +Version 1.5.0, released November 2023 +---------------------------------------- + +### **Summary** +The updates for the jpo-ode 1.5.0 release include CI configuration fixes, README updates and updated submodule references. +- Fixed CI configuration command parameters. +- Added README note for Windows users on the shared volume environment variable. +- Updated submodule references +- The supported operating systems in the README have been updated to more recent versions. +- Updated all references to the test package from org.junit.Test to org.junit.jupiter.api.Test. Some tests are also updated to remove deprecated annotations. +- Introduced changes that enable the ODE to establish communication with RSUs using both the NTCIP1218 protocol and the 4.1 DSRC protocol. + +Known Issues: +- No known issues at this time. + + Version 1.4.0, released July 5th 2023 ---------------------------------------- diff --git a/jpo-cvdp b/jpo-cvdp index 4d1ba2e99..a57f0c62c 160000 --- a/jpo-cvdp +++ b/jpo-cvdp @@ -1 +1 @@ -Subproject commit 4d1ba2e9974d05bdcde4df039d67bd0a0f2bd510 +Subproject commit a57f0c62c5ed3c1c381c47ed33b7bf220c981eeb diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/timstorage/NodeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/timstorage/NodeSetXY.java index 0e06deaac..4980d6304 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/timstorage/NodeSetXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/timstorage/NodeSetXY.java @@ -7,9 +7,9 @@ public class NodeSetXY extends Asn1Object { private static final long serialVersionUID = 1L; - @JsonProperty("NodeXY") private NodeXY[] NodeXY; - + + @JsonProperty("NodeXY") public NodeXY[] getNodeXY() { return NodeXY; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/timstorage/Nodes.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/timstorage/Nodes.java index f0eb2c90f..5a86763fa 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/timstorage/Nodes.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/timstorage/Nodes.java @@ -22,12 +22,12 @@ public class Nodes extends Asn1Object { private static final long serialVersionUID = 1L; - @JsonProperty("NodeLL") private NodeLL[] nodeLL; @JsonProperty("NodeXY") private NodeXY[] nodeXY; - + + @JsonProperty("NodeLL") public NodeLL[] getNodeLL() { return nodeLL; } diff --git a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/upload/FileUploadIntegrationTests.java b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/upload/FileUploadIntegrationTests.java deleted file mode 100644 index d6fd7ad2d..000000000 --- a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/upload/FileUploadIntegrationTests.java +++ /dev/null @@ -1,84 +0,0 @@ -/******************************************************************************* - * Copyright 2018 572682 - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy - * of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - ******************************************************************************/ -package us.dot.its.jpo.ode.upload; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.BDDMockito.given; -import static org.mockito.BDDMockito.then; -import static org.mockito.ArgumentMatchers.any; - -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.boot.test.web.client.TestRestTemplate; -import org.springframework.boot.test.web.server.LocalServerPort; -import org.springframework.core.io.ClassPathResource; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; -import org.springframework.web.multipart.MultipartFile; - -import us.dot.its.jpo.ode.storage.StorageService; - -@RunWith(SpringRunner.class) -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -public class FileUploadIntegrationTests { - - @Autowired - private TestRestTemplate restTemplate; - - @MockBean - private StorageService storageService; - - @LocalServerPort - private int port; - - @Disabled - @Test - public void shouldUploadFile() throws Exception { - ClassPathResource resource = new ClassPathResource("testupload.txt", getClass()); - - MultiValueMap map = new LinkedMultiValueMap(); - map.add("file", resource); - ResponseEntity response = this.restTemplate.postForEntity("/", map, String.class); - - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.FOUND); - assertThat(response.getHeaders().getLocation().toString()).startsWith("http://localhost:" + this.port + "/"); - then(storageService).should().store(any(MultipartFile.class), "obulog"); - } - - @Disabled - @Test - public void shouldDownloadFile() throws Exception { - ClassPathResource resource = new ClassPathResource("testupload.txt", getClass()); - given(this.storageService.loadAsResource("testupload.txt")).willReturn(resource); - - ResponseEntity response = this.restTemplate - .getForEntity("/files/{filename}", String.class, "testupload.txt"); - - assertThat(response.getStatusCode()).isEqualTo(200); - assertThat(response.getHeaders().getFirst(HttpHeaders.CONTENT_DISPOSITION)) - .isEqualTo("attachment; filename=\"testupload.txt\""); - assertThat(response.getBody()).isEqualTo("Spring Framework"); - } - -} diff --git a/jpo-s3-deposit b/jpo-s3-deposit index 4566ed147..564e8dfbd 160000 --- a/jpo-s3-deposit +++ b/jpo-s3-deposit @@ -1 +1 @@ -Subproject commit 4566ed1479d3d77a81a2de54953e4dda12710688 +Subproject commit 564e8dfbd6b4d0e6ace494d80374440bc89b5943 diff --git a/jpo-sdw-depositor b/jpo-sdw-depositor index 00c070fd6..8dfca7f6c 160000 --- a/jpo-sdw-depositor +++ b/jpo-sdw-depositor @@ -1 +1 @@ -Subproject commit 00c070fd65d4b2e680d359e08f1ad091ff99d33a +Subproject commit 8dfca7f6c376f38067a3f15e5505d3eec0c71513 diff --git a/jpo-security-svcs b/jpo-security-svcs index 7e6a73361..1d056eaf0 160000 --- a/jpo-security-svcs +++ b/jpo-security-svcs @@ -1 +1 @@ -Subproject commit 7e6a733611196a1579d15e2b3dbfac6147d6693b +Subproject commit 1d056eaf0d9c026764324b70a8aa7141dfd5ecbd diff --git a/pom.xml b/pom.xml index 3a589b7c1..d700afd9b 100644 --- a/pom.xml +++ b/pom.xml @@ -43,7 +43,7 @@ usdot-jpo-ode https://sonarcloud.io - 0.8.8 + 0.8.11 jacoco reuseReports ${project.basedir}/target/site/jacoco/jacoco.xml @@ -116,7 +116,7 @@ org.sonarsource.scanner.maven sonar-maven-plugin - 3.9.0.2155 + 3.10.0.2594 org.springframework.boot