From d56bc67b63c93a60605b3d44ab13cb125f6a6275 Mon Sep 17 00:00:00 2001 From: kim-perry Date: Wed, 3 Jun 2026 10:30:25 -0700 Subject: [PATCH 1/2] feat: set content sub-element to advisory for CTW compliance --- .../controller/ActiveTimController.java | 23 +------ .../controller/ActiveTimControllerTest.java | 64 +++++++++---------- .../library/helpers/CreateBaseTimUtil.java | 9 +-- .../library/helpers/JsonToJavaConverter.java | 16 ++--- .../library/service/WydotTimService.java | 11 ++-- .../helpers/CreateBaseTimUtilTest.java | 16 ++--- .../helpers/JsonToJavaConverterTest.java | 14 ++-- .../library/service/WydotTimServiceTest.java | 61 ++++++++---------- .../controller/WydotTimBaseController.java | 18 +++--- .../controller/WydotTimBowrController.java | 15 ++--- .../controller/WydotTimCcController.java | 7 +- .../WydotTimIncidentController.java | 5 +- .../controller/WydotTimParkingController.java | 7 +- .../controller/WydotTimRcController.java | 15 ++--- .../controller/WydotTimRwController.java | 22 +------ .../controller/WydotTimVslController.java | 3 +- 16 files changed, 122 insertions(+), 184 deletions(-) diff --git a/cv-data-controller/src/main/java/com/trihydro/cvdatacontroller/controller/ActiveTimController.java b/cv-data-controller/src/main/java/com/trihydro/cvdatacontroller/controller/ActiveTimController.java index a5a35e9be..010295154 100644 --- a/cv-data-controller/src/main/java/com/trihydro/cvdatacontroller/controller/ActiveTimController.java +++ b/cv-data-controller/src/main/java/com/trihydro/cvdatacontroller/controller/ActiveTimController.java @@ -113,17 +113,7 @@ public ResponseEntity> GetExpiringActiveTims() { activeTim.setFrameType(TravelerInfoType.advisory); } - // set dataFrame content. it's required for the ODE, so if we didn't record it, - // assume Advisory - String serializedContent = rs.getString("DF_CONTENT"); - ContentEnum contentType; - if (serializedContent == null || serializedContent.isEmpty()) { - contentType = ContentEnum.advisory; - } else { - contentType = ContentEnum.fromString(serializedContent); - } - activeTim.setDfContent(contentType); - + activeTim.setDfContent(ContentEnum.advisory); activeTims.add(activeTim); } } catch (Exception e) { @@ -169,16 +159,7 @@ public ResponseEntity GetUpdateModelFromActiveTimId(@PathVariabl activeTim.setFrameType(TravelerInfoType.advisory); } - // set dataFrame content. it's required for the ODE, so if we didn't record it, - // assume Advisory - String serializedContent = rs.getString("DF_CONTENT"); - ContentEnum contentType; - if (serializedContent == null || serializedContent.isEmpty()) { - contentType = ContentEnum.advisory; - } else { - contentType = ContentEnum.fromString(serializedContent); - } - activeTim.setDfContent(contentType); + activeTim.setDfContent(ContentEnum.advisory); } } catch (Exception e) { log.error("Error getting active tim", e); diff --git a/cv-data-controller/src/test/java/com/trihydro/cvdatacontroller/controller/ActiveTimControllerTest.java b/cv-data-controller/src/test/java/com/trihydro/cvdatacontroller/controller/ActiveTimControllerTest.java index b52ca03fb..951ee1efa 100644 --- a/cv-data-controller/src/test/java/com/trihydro/cvdatacontroller/controller/ActiveTimControllerTest.java +++ b/cv-data-controller/src/test/java/com/trihydro/cvdatacontroller/controller/ActiveTimControllerTest.java @@ -57,7 +57,7 @@ private void setupPreparedStatement() { public void GetExpiringActiveTims_SUCCESS() throws SQLException { // Arrange // we only set one property to verify its returned - when(mockRs.getLong("ACTIVE_TIM_ID")).thenReturn(999l); + when(mockRs.getLong("ACTIVE_TIM_ID")).thenReturn(999L); when(mockRs.getInt(any())).thenReturn(0); when(mockRs.getInt("FRAME_TYPE")).thenReturn(FrameType.TravelerInfoType.advisory.ordinal()); String selectStatement = "SELECT atim.*, tt.type as tim_type_name, tt.description as tim_type_description"; @@ -108,8 +108,7 @@ public void GetExpiringActiveTims_FAIL() throws SQLException { public void GetExpiringActiveTims_CorrectContentType() throws SQLException { // Arrange when(mockRs.getString(any())).thenReturn(""); - when(mockRs.getString("DF_CONTENT")).thenReturn("workZone"); - when(mockRs.getLong("ACTIVE_TIM_ID")).thenReturn(999l); + when(mockRs.getLong("ACTIVE_TIM_ID")).thenReturn(999L); // Act ResponseEntity> tums = uut.GetExpiringActiveTims(); @@ -117,14 +116,14 @@ public void GetExpiringActiveTims_CorrectContentType() throws SQLException { // Assert Assertions.assertEquals(HttpStatus.OK, tums.getStatusCode()); Assertions.assertEquals(1, tums.getBody().size()); - Assertions.assertEquals(ContentEnum.workZone, tums.getBody().get(0).getDfContent()); + Assertions.assertEquals(ContentEnum.advisory, tums.getBody().get(0).getDfContent()); } @Test public void GetUpdateModelFromActiveTimId_SUCCESS() throws SQLException { // Arrange // we only set one property to verify its returned - when(mockRs.getLong("ACTIVE_TIM_ID")).thenReturn(999l); + when(mockRs.getLong("ACTIVE_TIM_ID")).thenReturn(999L); when(mockRs.getInt(any())).thenReturn(0); when(mockRs.getInt("FRAME_TYPE")).thenReturn(FrameType.TravelerInfoType.advisory.ordinal()); @@ -140,10 +139,10 @@ public void GetUpdateModelFromActiveTimId_SUCCESS() throws SQLException { selectStatement += " LEFT JOIN data_frame df on atim.tim_id = df.tim_id"; selectStatement += " LEFT JOIN region r on df.data_frame_id = r.data_frame_id"; selectStatement += " LEFT JOIN tim_type tt ON atim.tim_type_id = tt.tim_type_id"; - selectStatement += " WHERE atim.active_tim_id = " + 999l; + selectStatement += " WHERE atim.active_tim_id = " + 999L; // Act - ResponseEntity tum = uut.GetUpdateModelFromActiveTimId(999l); + ResponseEntity tum = uut.GetUpdateModelFromActiveTimId(999L); // Assert Assertions.assertEquals(HttpStatus.OK, tum.getStatusCode()); @@ -159,7 +158,7 @@ public void GetUpdateModelFromActiveTimId_FAIL() throws SQLException { when(mockRs.getLong("ACTIVE_TIM_ID")).thenThrow(new SQLException()); // Act - ResponseEntity tum = uut.GetUpdateModelFromActiveTimId(999l); + ResponseEntity tum = uut.GetUpdateModelFromActiveTimId(999L); // Assert Assertions.assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, tum.getStatusCode()); @@ -172,16 +171,15 @@ public void GetUpdateModelFromActiveTimId_FAIL() throws SQLException { public void GetUpdateModelFromActiveTimId_CorrectContentType() throws SQLException { // Arrange when(mockRs.getString(any())).thenReturn(""); - when(mockRs.getString("DF_CONTENT")).thenReturn("workZone"); - when(mockRs.getLong("ACTIVE_TIM_ID")).thenReturn(999l); + when(mockRs.getLong("ACTIVE_TIM_ID")).thenReturn(999L); // Act - ResponseEntity tum = uut.GetUpdateModelFromActiveTimId(999l); + ResponseEntity tum = uut.GetUpdateModelFromActiveTimId(999L); // Assert Assertions.assertEquals(HttpStatus.OK, tum.getStatusCode()); Assertions.assertNotNull(tum.getBody()); - Assertions.assertEquals(ContentEnum.workZone, tum.getBody().getDfContent()); + Assertions.assertEquals(ContentEnum.advisory, tum.getBody().getDfContent()); } @Test @@ -191,7 +189,7 @@ public void UpdateActiveTim_SatRecordId_FAIL() { doReturn(false).when(mockDbInteractions).updateOrDelete(mockPreparedStatement); // Act - ResponseEntity success = uut.updateActiveTim_SatRecordId(-1l, "asdf"); + ResponseEntity success = uut.updateActiveTim_SatRecordId(-1L, "asdf"); // Assert Assertions.assertFalse(success.getBody(), "UpdateActiveTim_SatRecordId succeeded when it should have failed"); @@ -204,7 +202,7 @@ public void UpdateActiveTim_SatRecordId_SUCCESS() { doReturn(true).when(mockDbInteractions).updateOrDelete(mockPreparedStatement); // Act - ResponseEntity success = uut.updateActiveTim_SatRecordId(-1l, "asdf"); + ResponseEntity success = uut.updateActiveTim_SatRecordId(-1L, "asdf"); // Assert Assertions.assertTrue(success.getBody(), "UpdateActiveTim_SatRecordId failed when it should have succeeded"); @@ -216,7 +214,7 @@ public void UpdateActiveTim_SatRecordId_EXCEPTION() throws SQLException { doThrow(new SQLException()).when(mockDbInteractions).getConnectionPool(); // Act - ResponseEntity success = uut.updateActiveTim_SatRecordId(-1l, "asdf"); + ResponseEntity success = uut.updateActiveTim_SatRecordId(-1L, "asdf"); // Assert Assertions.assertFalse(success.getBody(), "UpdateActiveTim_SatRecordId was successful during an error"); @@ -431,7 +429,7 @@ public void GetActiveTimIndicesByRsu_FAIL() throws SQLException { public void GetActiveTimsByClientIdDirection_SUCCESS() throws SQLException { // Arrange String clientId = "clientId"; - Long timTypeId = -1l; + Long timTypeId = -1L; String direction = "eastward"; String selectStatement = "select * from active_tim where CLIENT_ID like '" + clientId + "' and TIM_TYPE_ID = " + timTypeId; selectStatement += " and DIRECTION = '" + direction + "'"; @@ -465,7 +463,7 @@ public void GetActiveTimsByClientIdDirection_SUCCESS() throws SQLException { public void GetActiveTimsByClientIdDirection_FAIL() throws SQLException { // Arrange String clientId = "clientId"; - Long timTypeId = -1l; + Long timTypeId = -1L; String direction = "eastward"; String selectStatement = "select * from active_tim where CLIENT_ID like '" + clientId + "' and TIM_TYPE_ID = " + timTypeId; selectStatement += " and DIRECTION = '" + direction + "'"; @@ -536,7 +534,7 @@ public void GetBufferTimsByClientId_FAIL() throws SQLException { @Test public void GetItisCodesForActiveTim_SUCCESS() throws SQLException { // Arrange - Long activeTimId = -1l; + Long activeTimId = -1L; String selectStatement = "select itis_code from active_tim "; selectStatement += "inner join tim on tim.tim_id = active_tim.tim_id "; selectStatement += "inner join data_frame on tim.tim_id = data_frame.tim_id "; @@ -560,7 +558,7 @@ public void GetItisCodesForActiveTim_SUCCESS() throws SQLException { @Test public void GetItisCodesForActiveTim_FAIL() throws SQLException { // Arrange - Long activeTimId = -1l; + Long activeTimId = -1L; String selectStatement = "select itis_code from active_tim inner join tim on tim.tim_id = active_tim.tim_id inner join data_frame on tim.tim_id = data_frame.tim_id inner join data_frame_itis_code on data_frame_itis_code.data_frame_id = data_frame.data_frame_id inner join itis_code on data_frame_itis_code.itis_code_id = itis_code.itis_code_id where active_tim_id = " + activeTimId + " order by data_frame_itis_code.position asc"; @@ -580,7 +578,7 @@ public void GetItisCodesForActiveTim_FAIL() throws SQLException { @Test public void DeleteActiveTim_SUCCESS() throws SQLException { // Arrange - Long activeTimId = -1l; + Long activeTimId = -1L; // Act ResponseEntity data = uut.DeleteActiveTim(activeTimId); @@ -596,7 +594,7 @@ public void DeleteActiveTim_SUCCESS() throws SQLException { @Test public void DeleteActiveTim_FAIL() throws SQLException { // Arrange - Long activeTimId = -1l; + Long activeTimId = -1L; doThrow(new SQLException()).when(mockPreparedStatement).setLong(1, activeTimId); // Act @@ -624,7 +622,7 @@ public void DeleteActiveTimsById_SUCCESS() throws SQLException { Assertions.assertEquals(HttpStatus.OK, data.getStatusCode()); Assertions.assertTrue(data.getBody(), "Fail return on success"); verify(mockConnection).prepareStatement("DELETE FROM ACTIVE_TIM WHERE ACTIVE_TIM_ID in (?)"); - verify(mockPreparedStatement).setLong(1, -1l); + verify(mockPreparedStatement).setLong(1, -1L); verify(mockPreparedStatement).close(); verify(mockConnection).close(); } @@ -634,7 +632,7 @@ public void DeleteActiveTimsById_FAIL() throws SQLException { // Arrange List activeTimIds = new ArrayList<>(); activeTimIds.add(Long.valueOf(-1)); - doThrow(new SQLException()).when(mockPreparedStatement).setLong(1, -1l); + doThrow(new SQLException()).when(mockPreparedStatement).setLong(1, -1L); // Act ResponseEntity data = uut.DeleteActiveTimsById(activeTimIds); @@ -653,7 +651,7 @@ public void GetActiveTimsByIds_SUCCESS() throws SQLException { String query = "select * from active_tim where active_tim_id in (?, ?)"; // Act - var response = uut.GetActiveTimsByIds(Arrays.asList(-1l, -2l)); + var response = uut.GetActiveTimsByIds(Arrays.asList(-1L, -2L)); // Assert Assertions.assertEquals(HttpStatus.OK, response.getStatusCode()); @@ -666,10 +664,10 @@ public void GetActiveTimsByIds_SUCCESS() throws SQLException { public void GetActiveTimsByIds_FAIL() throws SQLException { // Arrange String query = "select * from active_tim where active_tim_id in (?, ?)"; - doThrow(new SQLException()).when(mockPreparedStatement).setLong(1, -1l); + doThrow(new SQLException()).when(mockPreparedStatement).setLong(1, -1L); // Act - var response = uut.GetActiveTimsByIds(Arrays.asList(-1l, -2l)); + var response = uut.GetActiveTimsByIds(Arrays.asList(-1L, -2L)); // Assert Assertions.assertEquals(HttpStatus.INTERNAL_SERVER_ERROR, response.getStatusCode()); @@ -697,7 +695,7 @@ public void GetActiveTimsByWydotTim_SUCCESS() throws SQLException { wydotTim.setClientId("clientId"); wydotTim.setDirection("westward"); wydotTims.add(wydotTim); - Long timTypeId = -1l; + Long timTypeId = -1L; String query = "select * from active_tim where TIM_TYPE_ID = ? and ((CLIENT_ID like ? and DIRECTION = ?))"; // Act @@ -735,7 +733,7 @@ public void GetActiveTimsByWydotTim_BothDirections() throws SQLException { wydotTim.setClientId("clientId"); wydotTim.setDirection("B"); wydotTims.add(wydotTim); - Long timTypeId = -1l; + Long timTypeId = -1L; String query = "select * from active_tim where TIM_TYPE_ID = ? and ((CLIENT_ID like ?))"; // Act @@ -772,7 +770,7 @@ public void GetActiveTimsByWydotTim_FAIL() throws SQLException { wydotTim.setClientId("clientId"); wydotTim.setDirection("westward"); wydotTims.add(wydotTim); - Long timTypeId = -1l; + Long timTypeId = -1L; String query = "select * from active_tim where TIM_TYPE_ID = ? and ((CLIENT_ID like ? and DIRECTION = ?))"; doThrow(new SQLException()).when(mockPreparedStatement).setLong(1, timTypeId); @@ -790,7 +788,7 @@ public void GetActiveTimsByWydotTim_FAIL() throws SQLException { @Test public void GetActivesTimByType_SUCCESS() throws SQLException { // Arrange - Long timTypeId = -1l; + Long timTypeId = -1L; String query = "select * from active_tim where TIM_TYPE_ID = " + timTypeId; // Act @@ -822,7 +820,7 @@ public void GetActivesTimByType_SUCCESS() throws SQLException { @Test public void GetActivesTimByType_FAIL() throws SQLException { // Arrange - Long timTypeId = -1l; + Long timTypeId = -1L; String query = "select * from active_tim where TIM_TYPE_ID = " + timTypeId; doThrow(new SQLException()).when(mockRs).getLong("ACTIVE_TIM_ID"); @@ -1189,7 +1187,7 @@ public void ResetExpirationDate_SUCCESS() throws SQLException { Assertions.assertEquals(HttpStatus.OK, data.getStatusCode()); Assertions.assertTrue(data.getBody(), "Fail return on success"); verify(mockConnection).prepareStatement("UPDATE ACTIVE_TIM SET EXPIRATION_DATE = NULL WHERE ACTIVE_TIM_ID IN (?)"); - verify(mockPreparedStatement).setLong(1, -1l); + verify(mockPreparedStatement).setLong(1, -1L); verify(mockPreparedStatement).close(); verify(mockConnection).close(); } @@ -1239,7 +1237,7 @@ public void ResetExpirationDate_FAIL() throws SQLException { // Arrange List activeTimIds = new ArrayList<>(); activeTimIds.add(Long.valueOf(-1)); - doThrow(new SQLException()).when(mockPreparedStatement).setLong(1, -1l); + doThrow(new SQLException()).when(mockPreparedStatement).setLong(1, -1L); // Act ResponseEntity data = uut.ResetExpirationDate(activeTimIds); diff --git a/cv-data-service-library/src/main/java/com/trihydro/library/helpers/CreateBaseTimUtil.java b/cv-data-service-library/src/main/java/com/trihydro/library/helpers/CreateBaseTimUtil.java index 52174c1f5..8a47dc78f 100644 --- a/cv-data-service-library/src/main/java/com/trihydro/library/helpers/CreateBaseTimUtil.java +++ b/cv-data-service-library/src/main/java/com/trihydro/library/helpers/CreateBaseTimUtil.java @@ -42,16 +42,17 @@ public void InjectDependencies(Utility _utility) { * * @param wydotTim The WydotTim object containing the data for the TIM. * @param genProps The TimGenerationProps object containing the generation properties. - * @param content The ContentEnum object representing the content of the TIM. * @param frameType The TravelerInfoType object representing the frame type of the TIM. * @param allMileposts The list of Milepost objects representing all mileposts. * @param reducedMileposts The list of Milepost objects representing reduced mileposts. * @param anchor The Milepost object representing the anchor milepost. * @return The WydotTravelerInputData object containing the built TIM. */ - public WydotTravelerInputData buildTim(WydotTim wydotTim, TimGenerationProps genProps, ContentEnum content, + public WydotTravelerInputData buildTim(WydotTim wydotTim, TimGenerationProps genProps, TravelerInfoType frameType, List allMileposts, List reducedMileposts, Milepost anchor) { + ContentEnum content = ContentEnum.advisory; + // build TIM object with data WydotTravelerInputData timToSend = new WydotTravelerInputData(); OdeTravelerInformationMessage tim = new OdeTravelerInformationMessage(); @@ -195,7 +196,7 @@ protected OdeTravelerInformationMessage.DataFrame.Region buildSingleRegion(BigDe region.setDirection(directionString); // heading slice // set path nodes - if (reducedMileposts != null && reducedMileposts.size() > 0) { + if (reducedMileposts != null && !reducedMileposts.isEmpty()) { OdeTravelerInformationMessage.NodeXY[] nodes = buildNodePathFromMileposts(reducedMileposts, anchor); OdeTravelerInformationMessage.DataFrame.Region.Path path = new OdeTravelerInformationMessage.DataFrame.Region.Path(); path.setScale(0); @@ -243,7 +244,7 @@ public String buildHeadingSliceFromMileposts(List allMileposts, OdePos int timDirection = 0; // this is a regular tim, so we need to set the direction normally // path list - change later - if (allMileposts != null && allMileposts.size() > 0) { + if (allMileposts != null && !allMileposts.isEmpty()) { double startLat = anchorPosition.getLatitude().doubleValue(); double startLon = anchorPosition.getLongitude().doubleValue(); for (int j = 0; j < allMileposts.size(); j++) { diff --git a/cv-data-service-library/src/main/java/com/trihydro/library/helpers/JsonToJavaConverter.java b/cv-data-service-library/src/main/java/com/trihydro/library/helpers/JsonToJavaConverter.java index 1709b3751..3bec4c871 100644 --- a/cv-data-service-library/src/main/java/com/trihydro/library/helpers/JsonToJavaConverter.java +++ b/cv-data-service-library/src/main/java/com/trihydro/library/helpers/JsonToJavaConverter.java @@ -256,16 +256,16 @@ public OdeTimPayload convertTimPayloadJsonToJava(String value) { dataFrame.setContent(ContentEnum.advisory.getStringValue()); } else if (contentNode.has(ContentEnum.speedLimit.getStringValue())) { sequenceArrNode = contentNode.get(ContentEnum.speedLimit.getStringValue()).get("SEQUENCE"); - dataFrame.setContent(ContentEnum.speedLimit.getStringValue()); + dataFrame.setContent(ContentEnum.advisory.getStringValue()); } else if (contentNode.has(ContentEnum.exitService.getStringValue())) { sequenceArrNode = contentNode.get(ContentEnum.exitService.getStringValue()).get("SEQUENCE"); - dataFrame.setContent(ContentEnum.exitService.getStringValue()); + dataFrame.setContent(ContentEnum.advisory.getStringValue()); } else if (contentNode.has(ContentEnum.genericSign.getStringValue())) { sequenceArrNode = contentNode.get(ContentEnum.genericSign.getStringValue()).get("SEQUENCE"); - dataFrame.setContent(ContentEnum.genericSign.getStringValue()); + dataFrame.setContent(ContentEnum.advisory.getStringValue()); } else if (contentNode.has(ContentEnum.workZone.getStringValue())) { sequenceArrNode = contentNode.get(ContentEnum.workZone.getStringValue()).get("SEQUENCE"); - dataFrame.setContent(ContentEnum.workZone.getStringValue()); + dataFrame.setContent(ContentEnum.advisory.getStringValue()); } LocalDate now = LocalDate.now(); @@ -475,16 +475,16 @@ public OdeTimPayload convertTmcTimTopicJsonToJava(String value) { dataFrame.setContent(ContentEnum.advisory.getStringValue()); } else if (contentNode.has(ContentEnum.speedLimit.getStringValue())) { sequenceArrNode = contentNode.get("speedLimit"); - dataFrame.setContent(ContentEnum.speedLimit.getStringValue()); + dataFrame.setContent(ContentEnum.advisory.getStringValue()); } else if (contentNode.has(ContentEnum.exitService.getStringValue())) { sequenceArrNode = contentNode.get("exitService"); - dataFrame.setContent(ContentEnum.exitService.getStringValue()); + dataFrame.setContent(ContentEnum.advisory.getStringValue()); } else if (contentNode.has(ContentEnum.genericSign.getStringValue())) { sequenceArrNode = contentNode.get("genericSign"); - dataFrame.setContent(ContentEnum.genericSign.getStringValue()); + dataFrame.setContent(ContentEnum.advisory.getStringValue()); } else if (contentNode.has(ContentEnum.workZone.getStringValue())) { sequenceArrNode = contentNode.get("workZone"); - dataFrame.setContent(ContentEnum.workZone.getStringValue()); + dataFrame.setContent(ContentEnum.advisory.getStringValue()); } List itemsList = new ArrayList<>(); diff --git a/cv-data-service-library/src/main/java/com/trihydro/library/service/WydotTimService.java b/cv-data-service-library/src/main/java/com/trihydro/library/service/WydotTimService.java index f1ab3b7ca..cb27f3ec0 100644 --- a/cv-data-service-library/src/main/java/com/trihydro/library/service/WydotTimService.java +++ b/cv-data-service-library/src/main/java/com/trihydro/library/service/WydotTimService.java @@ -29,7 +29,6 @@ import com.trihydro.library.model.ActiveRsuTimQueryModel; import com.trihydro.library.model.ActiveTim; import com.trihydro.library.model.ActiveTimHolding; -import com.trihydro.library.model.ContentEnum; import com.trihydro.library.model.Coordinate; import com.trihydro.library.model.EmailProps; import com.trihydro.library.model.Milepost; @@ -113,11 +112,11 @@ public void InjectDependencies(EmailProps _emailProps, OdeProps _odeProps, TimGe DateTimeFormatter utcformatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); public WydotTravelerInputData createTim(WydotTim wydotTim, String timTypeStr, String startDateTime, - String endDateTime, ContentEnum content, TravelerInfoType frameType, List allMileposts, + String endDateTime, TravelerInfoType frameType, List allMileposts, List reducedMileposts, Milepost anchor) { // build base TIM - WydotTravelerInputData timToSend = createBaseTimUtil.buildTim(wydotTim, genProps, content, frameType, + WydotTravelerInputData timToSend = createBaseTimUtil.buildTim(wydotTim, genProps, frameType, allMileposts, reducedMileposts, anchor); if (timToSend == null) { @@ -246,7 +245,7 @@ public void sendTimToRsus(WydotTim wydotTim, WydotTravelerInputData timToSend, S wydotTim.getRoute()); // if no RSUs found - if (rsus.size() == 0) { + if (rsus.isEmpty()) { utility.logWithDate("No RSUs found to place TIM on, returning"); return; } @@ -381,7 +380,7 @@ public TimDeleteSummary deleteTimsFromRsusAndSdx(List activeTims) { List timRsus = timRsuService.getTimRsusByTimId(activeTim.getTimId()); // get full RSU - if (timRsus.size() > 0) { + if (!timRsus.isEmpty()) { for (TimRsu timRsu : timRsus) { rsu = getRsu(timRsu.getRsuId()); // delete tim off rsu @@ -399,7 +398,7 @@ public TimDeleteSummary deleteTimsFromRsusAndSdx(List activeTims) { } } - if (satTims != null && satTims.size() > 0) { + if (satTims != null && !satTims.isEmpty()) { // Get the sat_record_id values and active_tim_id values List satRecordIds = satTims.stream().map(ActiveTim::getSatRecordId).collect(Collectors.toList()); List activeSatTimIds = satTims.stream().map(ActiveTim::getActiveTimId).collect(Collectors.toList()); diff --git a/cv-data-service-library/src/test/java/com/trihydro/library/helpers/CreateBaseTimUtilTest.java b/cv-data-service-library/src/test/java/com/trihydro/library/helpers/CreateBaseTimUtilTest.java index 1a445ef04..07f8f1907 100644 --- a/cv-data-service-library/src/test/java/com/trihydro/library/helpers/CreateBaseTimUtilTest.java +++ b/cv-data-service-library/src/test/java/com/trihydro/library/helpers/CreateBaseTimUtilTest.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.List; -import com.trihydro.library.model.ContentEnum; import com.trihydro.library.model.Coordinate; import com.trihydro.library.model.Milepost; import com.trihydro.library.model.WydotTim; @@ -106,11 +105,10 @@ public void buildTim_EndpointSUCCESS() { wydotTim.setItisCodes(itisCodes); wydotTim.setClientId("testclientid"); - var content = ContentEnum.advisory; var frameType = TravelerInfoType.advisory; // Act - var data = uut.buildTim(wydotTim, genProps, content, frameType, allMileposts, milepostsReduced, anchor); + var data = uut.buildTim(wydotTim, genProps, frameType, allMileposts, milepostsReduced, anchor); // Assert // validate dataFrame @@ -155,11 +153,10 @@ public void buildTim_singlePointSUCCESS() { wydotTim.setItisCodes(itisCodes); wydotTim.setClientId("testclientid"); - var content = ContentEnum.advisory; var frameType = TravelerInfoType.advisory; // Act - var data = uut.buildTim(wydotTim, genProps, content, frameType, allMileposts, milepostsReduced, anchor); + var data = uut.buildTim(wydotTim, genProps, frameType, allMileposts, milepostsReduced, anchor); // Assert // validate dataFrame @@ -204,11 +201,10 @@ public void buildTim_singleRegion_SUCCESS() { wydotTim.setItisCodes(itisCodes); wydotTim.setClientId("testclientid"); - var content = ContentEnum.advisory; var frameType = TravelerInfoType.advisory; // Act - var data = uut.buildTim(wydotTim, genProps, content, frameType, allMileposts, milepostsReduced, anchor); + var data = uut.buildTim(wydotTim, genProps, frameType, allMileposts, milepostsReduced, anchor); // Assert Assertions.assertEquals(1, data.getTim().getDataframes()[0].getRegions().length); @@ -235,11 +231,10 @@ public void buildTim_twoRegions_SUCCESS() { wydotTim.setItisCodes(itisCodes); wydotTim.setClientId("testclientid"); - var content = ContentEnum.advisory; var frameType = TravelerInfoType.advisory; // Act - var data = uut.buildTim(wydotTim, genProps, content, frameType, allMileposts, milepostsReduced, anchor); + var data = uut.buildTim(wydotTim, genProps, frameType, allMileposts, milepostsReduced, anchor); // Assert Assertions.assertEquals(2, data.getTim().getDataframes()[0].getRegions().length); @@ -278,11 +273,10 @@ public void buildTim_threeRegions_SUCCESS() { wydotTim.setItisCodes(itisCodes); wydotTim.setClientId("testclientid"); - var content = ContentEnum.advisory; var frameType = TravelerInfoType.advisory; // Act - var data = uut.buildTim(wydotTim, genProps, content, frameType, allMileposts, milepostsReduced, anchor); + var data = uut.buildTim(wydotTim, genProps, frameType, allMileposts, milepostsReduced, anchor); // Assert Assertions.assertEquals(3, data.getTim().getDataframes()[0].getRegions().length); diff --git a/cv-data-service-library/src/test/java/com/trihydro/library/helpers/JsonToJavaConverterTest.java b/cv-data-service-library/src/test/java/com/trihydro/library/helpers/JsonToJavaConverterTest.java index e89ca7501..9a36e171d 100644 --- a/cv-data-service-library/src/test/java/com/trihydro/library/helpers/JsonToJavaConverterTest.java +++ b/cv-data-service-library/src/test/java/com/trihydro/library/helpers/JsonToJavaConverterTest.java @@ -252,7 +252,7 @@ public void TestConvertTimPayloadJsonToJava_SpeedLimit() throws IOException, URI // Assert Assertions.assertNotNull(odeTimPayloadTest); Assertions.assertTrue(getTim(odeTimPayloadTest).getDataframes()[0].getItems().length > 0); - Assertions.assertEquals("speedLimit", getTim(odeTimPayloadTest).getDataframes()[0].getContent()); + Assertions.assertEquals("advisory", getTim(odeTimPayloadTest).getDataframes()[0].getContent()); Assertions.assertArrayEquals(new String[] { "13609", "268", "12554", "8720" }, getTim(odeTimPayloadTest).getDataframes()[0].getItems()); } @@ -388,7 +388,7 @@ public void TestConvertTmcTimTopicJsonToJava_HandlesVslContentType() throws IOEx // Assert Assertions.assertNotNull(tim_vsl); - Assertions.assertEquals("speedLimit", getTim(tim_vsl).getDataframes()[0].getContent()); + Assertions.assertEquals("advisory", getTim(tim_vsl).getDataframes()[0].getContent()); Assertions.assertArrayEquals(new String[] { "268", "12604", "8720" }, getTim(tim_vsl).getDataframes()[0].getItems()); @@ -406,7 +406,7 @@ public void TestConvertTmcTimTopicJsonToJava_HandlesVslContentType_MultipleRegio // Assert Assertions.assertNotNull(tim_vsl); - Assertions.assertEquals("speedLimit", getTim(tim_vsl).getDataframes()[0].getContent()); + Assertions.assertEquals("advisory", getTim(tim_vsl).getDataframes()[0].getContent()); Assertions.assertArrayEquals(new String[] { "268", "12604", "8720" }, getTim(tim_vsl).getDataframes()[0].getItems()); @@ -424,7 +424,7 @@ public void TestConvertTmcTimTopicJsonToJava_HandlesParkingContentType() throws // Assert Assertions.assertNotNull(tim_parking); - Assertions.assertEquals("exitService", getTim(tim_parking).getDataframes()[0].getContent()); + Assertions.assertEquals("advisory", getTim(tim_parking).getDataframes()[0].getContent()); Assertions.assertArrayEquals(new String[] { "4104", "11794", "345" }, getTim(tim_parking).getDataframes()[0].getItems()); @@ -442,7 +442,7 @@ public void TestConvertTmcTimTopicJsonToJava_HandlesParkingContentType_MultipleR // Assert Assertions.assertNotNull(tim_parking); - Assertions.assertEquals("exitService", getTim(tim_parking).getDataframes()[0].getContent()); + Assertions.assertEquals("advisory", getTim(tim_parking).getDataframes()[0].getContent()); Assertions.assertArrayEquals(new String[] { "4104", "11794", "345" }, getTim(tim_parking).getDataframes()[0].getItems()); @@ -461,7 +461,7 @@ public void TestConvertTmcTimTopicJsonToJava_HandlesConstructionContentType() th // Assert Assertions.assertNotNull(tim_construction); - Assertions.assertEquals("workZone", getTim(tim_construction).getDataframes()[0].getContent()); + Assertions.assertEquals("advisory", getTim(tim_construction).getDataframes()[0].getContent()); Assertions.assertArrayEquals(new String[] { "1537", "12554", "8728" }, getTim(tim_construction).getDataframes()[0].getItems()); @@ -480,7 +480,7 @@ public void TestConvertTmcTimTopicJsonToJava_HandlesConstructionContentType_Mult // Assert Assertions.assertNotNull(tim_construction); - Assertions.assertEquals("workZone", getTim(tim_construction).getDataframes()[0].getContent()); + Assertions.assertEquals("advisory", getTim(tim_construction).getDataframes()[0].getContent()); Assertions.assertArrayEquals(new String[] { "1537", "12554", "8728" }, getTim(tim_construction).getDataframes()[0].getItems()); diff --git a/cv-data-service-library/src/test/java/com/trihydro/library/service/WydotTimServiceTest.java b/cv-data-service-library/src/test/java/com/trihydro/library/service/WydotTimServiceTest.java index e14436a2f..a73d5178d 100644 --- a/cv-data-service-library/src/test/java/com/trihydro/library/service/WydotTimServiceTest.java +++ b/cv-data-service-library/src/test/java/com/trihydro/library/service/WydotTimServiceTest.java @@ -17,7 +17,6 @@ import java.io.IOException; import java.math.BigDecimal; -import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; @@ -50,7 +49,6 @@ import com.trihydro.library.helpers.TimGenerationHelper; import com.trihydro.library.helpers.Utility; import com.trihydro.library.model.ActiveTim; -import com.trihydro.library.model.ContentEnum; import com.trihydro.library.model.Coordinate; import com.trihydro.library.model.EmailProps; import com.trihydro.library.model.Milepost; @@ -127,18 +125,18 @@ private List getActiveTims(boolean isSat) { List activeTims = new ArrayList(); ActiveTim aTim = new ActiveTim(); ActiveTim aTim2 = new ActiveTim(); - aTim.setActiveTimId(-1l); - aTim2.setActiveTimId(-2l); + aTim.setActiveTimId(-1L); + aTim2.setActiveTimId(-2L); if (isSat) { aTim.setSatRecordId("C27CBB9F"); aTim2.setSatRecordId("86E03786"); } else { aTim.setStartPoint(new Coordinate(BigDecimal.valueOf(1), BigDecimal.valueOf(2))); aTim.setEndPoint(new Coordinate(BigDecimal.valueOf(3), BigDecimal.valueOf(4))); - aTim.setTimId(-10l); + aTim.setTimId(-10L); aTim2.setStartPoint(new Coordinate(BigDecimal.valueOf(5), BigDecimal.valueOf(6))); aTim2.setEndPoint(new Coordinate(BigDecimal.valueOf(7), BigDecimal.valueOf(8))); - aTim2.setTimId(-20l); + aTim2.setTimId(-20L); } activeTims.add(aTim); activeTims.add(aTim2); @@ -230,16 +228,15 @@ public void createTim_ReturnsNull_WhenBuildTimReturnsNull() { String timTypeStr = "A"; String startDateTime = "2023-01-01T00:00:00.000Z"; String endDateTime = "2023-01-01T01:00:00.000Z"; - ContentEnum content = ContentEnum.workZone; TravelerInfoType frameType = TravelerInfoType.advisory; List allMileposts = new ArrayList<>(); List reducedMileposts = new ArrayList<>(); Milepost anchor = new Milepost(); - when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any(), any())).thenReturn(null); + when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any())).thenReturn(null); // Act - WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, content, frameType, allMileposts, reducedMileposts, anchor); + WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, frameType, allMileposts, reducedMileposts, anchor); // Assert assertNull(result); @@ -251,7 +248,6 @@ public void createTim_SetsStartDateTime_WhenProvided() { String timTypeStr = "A"; String startDateTime = "2023-01-01T00:00:00.000Z"; String endDateTime = "2023-01-01T01:00:00.000Z"; - ContentEnum content = ContentEnum.workZone; TravelerInfoType frameType = TravelerInfoType.advisory; List allMileposts = new ArrayList<>(); List reducedMileposts = new ArrayList<>(); @@ -259,10 +255,10 @@ public void createTim_SetsStartDateTime_WhenProvided() { WydotTravelerInputData timToSend = getMockWydotTravelerInputDataWithDataFrame(); - when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any(), any())).thenReturn(timToSend); + when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any())).thenReturn(timToSend); // Act - WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, content, frameType, allMileposts, reducedMileposts, anchor); + WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, frameType, allMileposts, reducedMileposts, anchor); // Assert assertEquals(startDateTime, result.getTim().getDataframes()[0].getStartDateTime()); @@ -274,7 +270,6 @@ public void createTim_SetsDurationTime_WhenEndDateTimeProvided() { String timTypeStr = "A"; String startDateTime = "2023-01-01T00:00:00.000Z"; String endDateTime = "2023-01-01T01:00:00.000Z"; - ContentEnum content = ContentEnum.workZone; TravelerInfoType frameType = TravelerInfoType.advisory; List allMileposts = new ArrayList<>(); List reducedMileposts = new ArrayList<>(); @@ -282,11 +277,11 @@ public void createTim_SetsDurationTime_WhenEndDateTimeProvided() { WydotTravelerInputData timToSend = getMockWydotTravelerInputDataWithDataFrame(); - when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any(), any())).thenReturn(timToSend); + when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any())).thenReturn(timToSend); when(mockUtility.getMinutesDurationBetweenTwoDates(anyString(), anyString())).thenReturn(60); // Act - WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, content, frameType, allMileposts, reducedMileposts, anchor); + WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, frameType, allMileposts, reducedMileposts, anchor); // Assert assertEquals(60, result.getTim().getDataframes()[0].getDurationTime()); @@ -298,7 +293,6 @@ public void createTim_SetsDurationTimeTo120_ForParkingTim() { String timTypeStr = "P"; String startDateTime = "2023-01-01T00:00:00.000Z"; String endDateTime = "2023-01-01T01:00:00.000Z"; - ContentEnum content = ContentEnum.workZone; TravelerInfoType frameType = TravelerInfoType.advisory; List allMileposts = new ArrayList<>(); List reducedMileposts = new ArrayList<>(); @@ -306,10 +300,10 @@ public void createTim_SetsDurationTimeTo120_ForParkingTim() { WydotTravelerInputData timToSend = getMockWydotTravelerInputDataWithDataFrame(); - when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any(), any())).thenReturn(timToSend); + when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any())).thenReturn(timToSend); // Act - WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, content, frameType, allMileposts, reducedMileposts, anchor); + WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, frameType, allMileposts, reducedMileposts, anchor); // Assert assertEquals(120, result.getTim().getDataframes()[0].getDurationTime()); @@ -321,7 +315,6 @@ public void createTim_SetsRandomPacketId() { String timTypeStr = "A"; String startDateTime = "2023-01-01T00:00:00.000Z"; String endDateTime = "2023-01-01T01:00:00.000Z"; - ContentEnum content = ContentEnum.workZone; TravelerInfoType frameType = TravelerInfoType.advisory; List allMileposts = new ArrayList<>(); List reducedMileposts = new ArrayList<>(); @@ -329,10 +322,10 @@ public void createTim_SetsRandomPacketId() { WydotTravelerInputData timToSend = getMockWydotTravelerInputDataWithDataFrame(); - when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any(), any())).thenReturn(timToSend); + when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any())).thenReturn(timToSend); // Act - WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, content, frameType, allMileposts, reducedMileposts, anchor); + WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, frameType, allMileposts, reducedMileposts, anchor); // Assert assertNotNull(result.getTim().getPacketID()); @@ -554,11 +547,11 @@ public void deleteTimsFromRsusAndSdx_Rsu() { List activeTims = getActiveTims(false); List timRsus = new ArrayList<>(); TimRsu timRsu = new TimRsu(); - timRsu.setRsuId(-10l); + timRsu.setRsuId(-10L); timRsu.setRsuIndex(-1); timRsus.add(timRsu); - when(mockTimRsuService.getTimRsusByTimId(-10l)).thenReturn(new ArrayList<>()); - when(mockTimRsuService.getTimRsusByTimId(-20l)).thenReturn(timRsus); + when(mockTimRsuService.getTimRsusByTimId(-10L)).thenReturn(new ArrayList<>()); + when(mockTimRsuService.getTimRsusByTimId(-20L)).thenReturn(timRsus); ArrayList allRsus = new ArrayList<>(); WydotRsu wydotRsu = new WydotRsu(); wydotRsu.setRsuId(-10); @@ -574,8 +567,8 @@ public void deleteTimsFromRsusAndSdx_Rsu() { var result = uut.deleteTimsFromRsusAndSdx(activeTims); // Assert - verify(mockActiveTimService).deleteActiveTim(-1l); - verify(mockActiveTimService).deleteActiveTim(-2l); + verify(mockActiveTimService).deleteActiveTim(-1L); + verify(mockActiveTimService).deleteActiveTim(-2L); Assertions.assertEquals(result.getSuccessfulRsuDeletions().size(), 2); } @@ -598,7 +591,7 @@ public void deleteTimsFromRsusAndSdx_Sdx() throws MailException, MessagingExcept // Assert verify(mockEmailHelper).SendEmail(mockEmailProps.getAlertAddresses(), subject, body); List delIds = new ArrayList(); - delIds.add(-2l); + delIds.add(-2L); verify(mockActiveTimService).deleteActiveTimsById(delIds); verify(mockTimRsuService, never()).getTimRsusByTimId(isA(Long.class)); Assertions.assertEquals(1, result.getSuccessfulSatelliteDeletions().size()); @@ -618,8 +611,8 @@ public void deleteTimsFromRsusAndSdx_SdxNullValueInMap() throws MailException, M // Assert List delIds = new ArrayList(); - delIds.add(-1l); - delIds.add(-2l); + delIds.add(-1L); + delIds.add(-2L); verify(mockActiveTimService).deleteActiveTimsById(delIds); } @@ -629,11 +622,11 @@ public void deleteTimsFromRsusAndSdx_Exceptions() { List activeTims = getActiveTims(false); List timRsus = new ArrayList<>(); TimRsu timRsu = new TimRsu(); - timRsu.setRsuId(-10l); + timRsu.setRsuId(-10L); timRsu.setRsuIndex(-1); timRsus.add(timRsu); - when(mockTimRsuService.getTimRsusByTimId(-10l)).thenReturn(new ArrayList<>()); - when(mockTimRsuService.getTimRsusByTimId(-20l)).thenReturn(timRsus); + when(mockTimRsuService.getTimRsusByTimId(-10L)).thenReturn(new ArrayList<>()); + when(mockTimRsuService.getTimRsusByTimId(-20L)).thenReturn(timRsus); ArrayList allRsus = new ArrayList<>(); WydotRsu wydotRsu = new WydotRsu(); wydotRsu.setRsuId(-10); @@ -649,8 +642,8 @@ public void deleteTimsFromRsusAndSdx_Exceptions() { var result = uut.deleteTimsFromRsusAndSdx(activeTims); // Assert - verify(mockActiveTimService).deleteActiveTim(-1l); - verify(mockActiveTimService).deleteActiveTim(-2l); + verify(mockActiveTimService).deleteActiveTim(-1L); + verify(mockActiveTimService).deleteActiveTim(-2L); List timRsuJson = new ArrayList(); Gson gson = new Gson(); for (TimRsu tr : timRsus) { diff --git a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimBaseController.java b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimBaseController.java index 506eb93ce..931b78d6b 100644 --- a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimBaseController.java +++ b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimBaseController.java @@ -1,7 +1,6 @@ package com.trihydro.odewrapper.controller; import com.trihydro.library.exceptionhandlers.IdenticalPointsExceptionHandler; -import com.trihydro.library.model.TimUpdateModel; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; @@ -25,7 +24,6 @@ import com.trihydro.library.helpers.Utility; import com.trihydro.library.model.ActiveTim; import com.trihydro.library.model.Buffer; -import com.trihydro.library.model.ContentEnum; import com.trihydro.library.model.Coordinate; import com.trihydro.library.model.Milepost; import com.trihydro.library.model.TimType; @@ -639,7 +637,7 @@ protected ControllerResult validateInputBowr(WydotTimBowr tim) { } public void processRequest(WydotTim wydotTim, TimType timType, String startDateTime, - String endDateTime, Integer pk, ContentEnum content, + String endDateTime, Integer pk, TravelerInfoType frameType) { if (wydotTim.getDirection().equalsIgnoreCase("b")) { @@ -648,13 +646,13 @@ public void processRequest(WydotTim wydotTim, TimType timType, String startDateT iTim.setDirection("I"); dTim.setDirection("D"); // I - expireReduceCreateSendTims(iTim, timType, startDateTime, endDateTime, pk, content, + expireReduceCreateSendTims(iTim, timType, startDateTime, endDateTime, pk, frameType); // D - expireReduceCreateSendTims(dTim, timType, startDateTime, endDateTime, pk, content, + expireReduceCreateSendTims(dTim, timType, startDateTime, endDateTime, pk, frameType); } else { - expireReduceCreateSendTims(wydotTim, timType, startDateTime, endDateTime, pk, content, + expireReduceCreateSendTims(wydotTim, timType, startDateTime, endDateTime, pk, frameType); } } @@ -684,7 +682,7 @@ public List getTimTypes() { protected void expireReduceCreateSendTims(WydotTim wydotTim, TimType timType, String startDateTime, String endDateTime, Integer pk, - ContentEnum content, TravelerInfoType frameType) { + TravelerInfoType frameType) { // Clear any existing TIMs with the same client id Long timTypeId = timType != null ? timType.getTimTypeId() : null; var existingTims = @@ -726,20 +724,20 @@ protected void expireReduceCreateSendTims(WydotTim wydotTim, TimType timType, var reducedMileposts = milepostReduction.applyMilepostReductionAlgorithm(milepostsAll, configuration.getPathDistanceLimit()); - createSendTims(wydotTim, timType, startDateTime, endDateTime, pk, content, frameType, + createSendTims(wydotTim, timType, startDateTime, endDateTime, pk, frameType, milepostsAll, reducedMileposts, anchor); } // creates a TIM and sends it to RSUs and Satellite protected void createSendTims(WydotTim wydotTim, TimType timType, String startDateTime, - String endDateTime, Integer pk, ContentEnum content, + String endDateTime, Integer pk, TravelerInfoType frameType, List allMileposts, List reducedMileposts, Milepost anchor) { // create TIM WydotTravelerInputData timToSend = wydotTimService.createTim(wydotTim, timType.getType(), startDateTime, endDateTime, - content, frameType, allMileposts, reducedMileposts, anchor); + frameType, allMileposts, reducedMileposts, anchor); if (timToSend == null) { return; diff --git a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimBowrController.java b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimBowrController.java index c7ed16e7b..6aa2b224a 100644 --- a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimBowrController.java +++ b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimBowrController.java @@ -8,7 +8,6 @@ import com.trihydro.library.helpers.TimGenerationHelper; import com.trihydro.library.helpers.Utility; import com.trihydro.library.model.ActiveTim; -import com.trihydro.library.model.ContentEnum; import com.trihydro.library.model.WydotTim; import com.trihydro.library.service.ActiveTimService; import com.trihydro.library.service.RestTemplateProvider; @@ -62,7 +61,7 @@ public ResponseEntity createOrUpdateBowrTim(@RequestBody TimBowrList tim timResult = validateInputBowr(wydotTimBowr); - if (timResult.getResultMessages().size() > 0) { + if (!timResult.getResultMessages().isEmpty()) { results.add(timResult); errors.add(timResult); continue; @@ -76,7 +75,7 @@ public ResponseEntity createOrUpdateBowrTim(@RequestBody TimBowrList tim processRequestAsync(timsToSend); String responseMessage = gson.toJson(results); - if (errors.size() > 0) { + if (!errors.isEmpty()) { utility.logWithDate("Failed to send TIMs: " + gson.toJson(errors), this.getClass()); return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(responseMessage); } @@ -90,7 +89,7 @@ public ResponseEntity submitBowrClear(@PathVariable String clientId) { List existingTimIds = new ArrayList(); // validate client id - if (clientId == null || clientId.length() == 0) { + if (clientId == null || clientId.isEmpty()) { String responseMessage = "Null or empty value for client id"; return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(responseMessage); } @@ -99,7 +98,7 @@ public ResponseEntity submitBowrClear(@PathVariable String clientId) { var timType = getTimType(type); Long timTypeId = timType != null ? timType.getTimTypeId() : null; List existingActiveTims = activeTimService.getActiveTimsByClientIdDirection(clientId, timTypeId, null); - if (existingActiveTims.size() == 0) { + if (existingActiveTims.isEmpty()) { utility.logWithDate("No active TIMs found for client id: " + clientId, this.getClass()); String responseMessage = "No active TIMs found for client id: " + clientId; return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(responseMessage); @@ -111,9 +110,7 @@ public ResponseEntity submitBowrClear(@PathVariable String clientId) { } // expire existing tims - if (existingTimIds.size() > 0) { - timGenerationHelper.expireTimAndResubmitToOde(existingTimIds); - } + timGenerationHelper.expireTimAndResubmitToOde(existingTimIds); String responseMessage = "success"; return ResponseEntity.status(HttpStatus.OK).body(responseMessage); @@ -135,7 +132,7 @@ public void run() { // get end time String endTime = wydotTimBowr.getEndDateTime(); - processRequest(tim, getTimType(type), startTime, endTime, null, ContentEnum.advisory, + processRequest(tim, getTimType(type), startTime, endTime, null, TravelerInfoType.advisory); } } diff --git a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimCcController.java b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimCcController.java index 9fc7ea454..fa681083f 100644 --- a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimCcController.java +++ b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimCcController.java @@ -10,7 +10,6 @@ import com.trihydro.library.helpers.MilepostReduction; import com.trihydro.library.helpers.TimGenerationHelper; import com.trihydro.library.helpers.Utility; -import com.trihydro.library.model.ContentEnum; import com.trihydro.library.model.WydotTim; import com.trihydro.library.service.ActiveTimService; import com.trihydro.library.service.RestTemplateProvider; @@ -59,7 +58,7 @@ public ResponseEntity createChainControlTim(@RequestBody TimRcList timRc utility.logWithDate(dateFormat.format(date) + " - CHAIN CONTROL TIM", this.getClass()); String post = gson.toJson(timRcList); - utility.logWithDate(post.toString(), this.getClass()); + utility.logWithDate(post, this.getClass()); List resultList = new ArrayList(); ControllerResult resultTim = null; @@ -75,7 +74,7 @@ public ResponseEntity createChainControlTim(@RequestBody TimRcList timRc resultTim = validateInputCc(wydotTim); - if (resultTim.getResultMessages().size() > 0) { + if (!resultTim.getResultMessages().isEmpty()) { resultList.add(resultTim); continue; } @@ -99,7 +98,7 @@ public void processRequestAsync(List wydotTims) { public void run() { var startTime = getStartTime(); for (WydotTim tim : wydotTims) { - processRequest(tim, getTimType(type), startTime, null, null, ContentEnum.advisory, + processRequest(tim, getTimType(type), startTime, null, null, TravelerInfoType.advisory); } } diff --git a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimIncidentController.java b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimIncidentController.java index 6efd15d6b..ec4ffdd5f 100644 --- a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimIncidentController.java +++ b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimIncidentController.java @@ -1,8 +1,6 @@ package com.trihydro.odewrapper.controller; import com.trihydro.library.exceptionhandlers.IdenticalPointsExceptionHandler; -import java.text.DateFormat; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -10,7 +8,6 @@ import com.trihydro.library.helpers.TimGenerationHelper; import com.trihydro.library.helpers.Utility; import com.trihydro.library.model.ActiveTim; -import com.trihydro.library.model.ContentEnum; import com.trihydro.library.service.ActiveTimService; import com.trihydro.library.service.RestTemplateProvider; import com.trihydro.library.service.TimTypeService; @@ -122,7 +119,7 @@ public void makeTimsAsync(List wydotTims) { for (WydotTimIncident wydotTim : wydotTims) { // set route wydotTim.setRoute(wydotTim.getHighway()); - processRequest(wydotTim, getTimType(type), startTime, null, wydotTim.getPk(), ContentEnum.advisory, TravelerInfoType.advisory); + processRequest(wydotTim, getTimType(type), startTime, null, wydotTim.getPk(), TravelerInfoType.advisory); } }).start(); } diff --git a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimParkingController.java b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimParkingController.java index b7b9ddc26..e4c5aa179 100644 --- a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimParkingController.java +++ b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimParkingController.java @@ -12,7 +12,6 @@ import com.trihydro.library.helpers.TimGenerationHelper; import com.trihydro.library.helpers.Utility; import com.trihydro.library.model.ActiveTim; -import com.trihydro.library.model.ContentEnum; import com.trihydro.library.service.ActiveTimService; import com.trihydro.library.service.RestTemplateProvider; import com.trihydro.library.service.TimTypeService; @@ -60,7 +59,7 @@ public ResponseEntity createParkingTim(@RequestBody TimParkingList timPa utility.logWithDate(dateFormat.format(date) + " - Create Parking TIM", this.getClass()); String post = gson.toJson(timParkingList); - utility.logWithDate(post.toString(), this.getClass()); + utility.logWithDate(post, this.getClass()); List resultList = new ArrayList(); ControllerResult resultTim = null; @@ -71,7 +70,7 @@ public ResponseEntity createParkingTim(@RequestBody TimParkingList timPa resultTim = validateInputParking(wydotTim); - if (resultTim.getResultMessages().size() > 0) { + if (!resultTim.getResultMessages().isEmpty()) { resultList.add(resultTim); continue; } @@ -140,7 +139,7 @@ public void processRequestAsync(List wydotTims) { public void run() { var startTime = getStartTime(); for (WydotTimParking wydotTim : wydotTims) { - processRequest(wydotTim, getTimType(type), startTime, null, null, ContentEnum.exitService, + processRequest(wydotTim, getTimType(type), startTime, null, null, TravelerInfoType.advisory); } } diff --git a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimRcController.java b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimRcController.java index 86ad03ba8..f3d7719d5 100644 --- a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimRcController.java +++ b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimRcController.java @@ -11,7 +11,6 @@ import com.trihydro.library.helpers.TimGenerationHelper; import com.trihydro.library.helpers.Utility; import com.trihydro.library.model.ActiveTim; -import com.trihydro.library.model.ContentEnum; import com.trihydro.library.model.WydotTim; import com.trihydro.library.service.ActiveTimService; import com.trihydro.library.service.RestTemplateProvider; @@ -61,7 +60,7 @@ public ResponseEntity createUpdateRoadConditionsTim(@RequestBody TimRcLi utility.logWithDate(dateFormat.format(date) + " - Create Update RC TIM", this.getClass()); String post = gson.toJson(timRcList); - utility.logWithDate(post.toString(), this.getClass()); + utility.logWithDate(post, this.getClass()); List resultList = new ArrayList(); List errList = new ArrayList(); @@ -73,7 +72,7 @@ public ResponseEntity createUpdateRoadConditionsTim(@RequestBody TimRcLi resultTim = validateInputRc(wydotTim); - if (resultTim.getResultMessages().size() > 0) { + if (!resultTim.getResultMessages().isEmpty()) { resultList.add(resultTim); errList.add(resultTim); continue; @@ -89,7 +88,7 @@ public ResponseEntity createUpdateRoadConditionsTim(@RequestBody TimRcLi processRequestAsync(timsToSend); String responseMessage = gson.toJson(resultList); - if (errList.size() > 0) { + if (!errList.isEmpty()) { utility.logWithDate("Failed to send TIMs: " + gson.toJson(errList), this.getClass()); } return ResponseEntity.status(HttpStatus.OK).body(responseMessage); @@ -105,7 +104,7 @@ public ResponseEntity submitAllClearRoadConditionsTim(@RequestBody TimRc utility.logWithDate(dateFormat.format(date) + " - All Clear", this.getClass()); String post = gson.toJson(timRcList); - utility.logWithDate(post.toString(), this.getClass()); + utility.logWithDate(post, this.getClass()); List errList = new ArrayList(); ControllerResult resultTim = null; @@ -113,7 +112,7 @@ public ResponseEntity submitAllClearRoadConditionsTim(@RequestBody TimRc for (WydotTimRc wydotTim : timRcList.getTimRcList()) { resultTim = validateRcAc(wydotTim); - if (resultTim.getResultMessages().size() > 0) { + if (!resultTim.getResultMessages().isEmpty()) { resultList.add(resultTim); errList.add(resultTim); continue; @@ -144,7 +143,7 @@ public ResponseEntity submitAllClearRoadConditionsTim(@RequestBody TimRc } // Expire existing tims - if (existingTimIds.size() > 0) { + if (!existingTimIds.isEmpty()) { timGenerationHelper.expireTimAndResubmitToOde(existingTimIds); } @@ -158,7 +157,7 @@ public void processRequestAsync(List wydotTims) { public void run() { var startTime = getStartTime(); for (WydotTim tim : wydotTims) { - processRequest(tim, getTimType(type), startTime, null, null, ContentEnum.advisory, + processRequest(tim, getTimType(type), startTime, null, null, TravelerInfoType.advisory); } } diff --git a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimRwController.java b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimRwController.java index 7c014d700..5839146b9 100644 --- a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimRwController.java +++ b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimRwController.java @@ -12,7 +12,6 @@ import com.trihydro.library.helpers.Utility; import com.trihydro.library.model.ActiveTim; import com.trihydro.library.model.Buffer; -import com.trihydro.library.model.ContentEnum; import com.trihydro.library.model.Coordinate; import com.trihydro.library.model.TimRwList; import com.trihydro.library.model.WydotTimRw; @@ -250,24 +249,9 @@ public void makeDecreasingBufferTim(WydotTimRw wydotTim) { public void processRequestAsync() { // An Async task always executes in new thread - new Thread(new Runnable() { - public void run() { - for (WydotTimRw tim : timsToSend) { - // check for reduce speed, itis code 7443 - if (tim.getItisCodes() != null && tim.getItisCodes().size() == 3 - && tim.getItisCodes().get(0).equals("7443")) { - processRequest(tim, getTimType(type), tim.getSchedStart(), tim.getSchedEnd(), null, - ContentEnum.speedLimit, TravelerInfoType.advisory); - } else if (tim.getItisCodes() != null && tim.getItisCodes().get(0).equals("7186")) { - // prepare to stop - processRequest(tim, getTimType(type), tim.getSchedStart(), tim.getSchedEnd(), null, - ContentEnum.advisory, TravelerInfoType.advisory); - } else { - // the rest are content=workZone - processRequest(tim, getTimType(type), tim.getSchedStart(), tim.getSchedEnd(), null, - ContentEnum.workZone, TravelerInfoType.advisory); - } - } + new Thread(() -> { + for (WydotTimRw tim : timsToSend) { + processRequest(tim, getTimType(type), tim.getSchedStart(), tim.getSchedEnd(), null, TravelerInfoType.advisory); } }).start(); diff --git a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimVslController.java b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimVslController.java index 987a8d78a..7a8ec1fae 100644 --- a/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimVslController.java +++ b/ode-wrapper/src/main/java/com/trihydro/odewrapper/controller/WydotTimVslController.java @@ -12,7 +12,6 @@ import com.trihydro.library.helpers.TimGenerationHelper; import com.trihydro.library.helpers.Utility; import com.trihydro.library.model.ActiveTim; -import com.trihydro.library.model.ContentEnum; import com.trihydro.library.model.WydotTim; import com.trihydro.library.service.ActiveTimService; import com.trihydro.library.service.RestTemplateProvider; @@ -93,7 +92,7 @@ public void processRequestAsync(List wydotTims) { public void run() { var startTime = getStartTime(); for (WydotTim tim : wydotTims) { - processRequest(tim, getTimType(type), startTime, null, null, ContentEnum.speedLimit, + processRequest(tim, getTimType(type), startTime, null, null, TravelerInfoType.roadSignage); } } From 47904405c37bce7465e7f22fea86bf6da99ca1ab Mon Sep 17 00:00:00 2001 From: kim-perry Date: Wed, 3 Jun 2026 13:58:50 -0700 Subject: [PATCH 2/2] test: update assertion --- .../java/com/trihydro/library/service/WydotTimServiceTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cv-data-service-library/src/test/java/com/trihydro/library/service/WydotTimServiceTest.java b/cv-data-service-library/src/test/java/com/trihydro/library/service/WydotTimServiceTest.java index a73d5178d..46d97cb7b 100644 --- a/cv-data-service-library/src/test/java/com/trihydro/library/service/WydotTimServiceTest.java +++ b/cv-data-service-library/src/test/java/com/trihydro/library/service/WydotTimServiceTest.java @@ -945,6 +945,6 @@ public void setBufferItisCodes_unrecognizedAction() { Integer[] result = uut.setBufferItisCodes(action); // Assert - Assertions.assertEquals(null, result); + Assertions.assertNull(result); } } \ No newline at end of file