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 01029515..1f6e4688 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 @@ -109,8 +109,8 @@ public ResponseEntity> GetExpiringActiveTims() { else { log.warn("Could not set frame type from value {} for active tim id {}. Assuming Advisory.", frameTypeValue, activeTim.getActiveTimId()); - // assume advisory - activeTim.setFrameType(TravelerInfoType.advisory); + // assume roadSignage + activeTim.setFrameType(TravelerInfoType.roadSignage); } activeTim.setDfContent(ContentEnum.advisory); @@ -155,8 +155,8 @@ public ResponseEntity GetUpdateModelFromActiveTimId(@PathVariabl } else { log.warn("Could not set frame type from value {} for active tim id {}. Assuming Advisory.", frameTypeValue, activeTimId); - // assume advisory - activeTim.setFrameType(TravelerInfoType.advisory); + // assume roadSignage + activeTim.setFrameType(TravelerInfoType.roadSignage); } activeTim.setDfContent(ContentEnum.advisory); 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 951ee1ef..b60ab388 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 @@ -125,7 +125,7 @@ public void GetUpdateModelFromActiveTimId_SUCCESS() throws SQLException { // we only set one property to verify its returned when(mockRs.getLong("ACTIVE_TIM_ID")).thenReturn(999L); when(mockRs.getInt(any())).thenReturn(0); - when(mockRs.getInt("FRAME_TYPE")).thenReturn(FrameType.TravelerInfoType.advisory.ordinal()); + when(mockRs.getInt("FRAME_TYPE")).thenReturn(FrameType.TravelerInfoType.roadSignage.ordinal()); String selectStatement = "SELECT atim.*, tt.type AS tim_type_name, tt.description AS tim_type_description"; selectStatement += ", t.msg_cnt, t.url_b, t.is_satellite, t.sat_record_id, t.packet_id"; @@ -148,7 +148,7 @@ public void GetUpdateModelFromActiveTimId_SUCCESS() throws SQLException { Assertions.assertEquals(HttpStatus.OK, tum.getStatusCode()); Assertions.assertNotNull(tum.getBody()); Assertions.assertEquals(Long.valueOf(999), tum.getBody().getActiveTimId()); - Assertions.assertEquals(FrameType.TravelerInfoType.advisory, tum.getBody().getFrameType()); + Assertions.assertEquals(FrameType.TravelerInfoType.roadSignage, tum.getBody().getFrameType()); verify(mockStatement).executeQuery(selectStatement); } 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 8a47dc78..10044a43 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,14 +42,13 @@ 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 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, - TravelerInfoType frameType, List allMileposts, List reducedMileposts, Milepost anchor) { + List allMileposts, List reducedMileposts, Milepost anchor) { ContentEnum content = ContentEnum.advisory; @@ -73,7 +72,9 @@ public WydotTravelerInputData buildTim(WydotTim wydotTim, TimGenerationProps gen dataFrame.setPriority(5); dataFrame.setContent(content.getStringValue()); - dataFrame.setFrameType(frameType); + // Per CTW, FrameType should be set to roadSignage when state or local deployment agency is generating the message + // which is all messages coming through the TIMM so always set to roadSignage + dataFrame.setFrameType(TravelerInfoType.roadSignage); dataFrame.setUrl("null"); // add itis codes to tim dataFrame.setItems(wydotTim.getItisCodes().toArray(new String[wydotTim.getItisCodes().size()])); @@ -84,7 +85,7 @@ public WydotTravelerInputData buildTim(WydotTim wydotTim, TimGenerationProps gen anchorPosition.setLongitude(anchor.getLongitude()); // build msgId - MsgId msgId = buildMsgId(anchorPosition, content, frameType); + MsgId msgId = buildMsgId(anchorPosition, content, TravelerInfoType.roadSignage); dataFrame.setMsgId(msgId); // set regions. note that we now support multiple regions in a single TIM package 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 3bec4c87..d25a8765 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 @@ -59,7 +59,7 @@ public OdeLogMetadata convertTimMetadataJsonToJava(String value) { // check for null rxSource for Distress Notifications if (receivedMessageDetailsNode != null) { String rxSource = mapper.treeToValue(receivedMessageDetailsNode.get("rxSource"), String.class); - if (rxSource.equals("")) { + if (rxSource.isEmpty()) { ((ObjectNode) receivedMessageDetailsNode).remove("rxSource"); ((ObjectNode) metaDataNode).replace("receivedMessageDetails", receivedMessageDetailsNode); } @@ -463,7 +463,7 @@ public OdeTimPayload convertTmcTimTopicJsonToJava(String value) { JsonNode timeStampNode = timNode.get("timeStamp"); if (timeStampNode != null) { LocalDateTime timeStampDate = firstDay.atStartOfDay().plus(timeStampNode.asInt(), ChronoUnit.MINUTES); - tim.setTimeStamp(timeStampDate.toString() + "Z"); + tim.setTimeStamp(timeStampDate + "Z"); } JsonNode travelerDataFrameArray = timNode.findValue("dataFrames"); @@ -517,25 +517,16 @@ public OdeTimPayload convertTmcTimTopicJsonToJava(String value) { itemsList.add(item); } - // TravelerInfoType.valueOf(); - JsonNode frameTypeNode = travelerDataFrame.get("frameType"); - if (frameTypeNode != null && frameTypeNode.fieldNames().hasNext()) { - TravelerInfoType frameType = TravelerInfoType.valueOf(frameTypeNode.fieldNames().next()); - dataFrame.setFrameType(frameType); - } else { - log.warn("frameType not found in TravelerDataFrame when converting TMC TIM. Defaulting to 'advisory'"); - dataFrame.setFrameType(TravelerInfoType.advisory); - } - JsonNode startTimeNode = travelerDataFrame.get("startTime"); JsonNode durationNode = travelerDataFrame.get("durationTime"); JsonNode priorityNode = travelerDataFrame.get("priority"); LocalDateTime startDate = firstDay.atStartOfDay().plus(startTimeNode.asInt(), ChronoUnit.MINUTES); - dataFrame.setStartDateTime(startDate.toString() + "Z"); + dataFrame.setStartDateTime(startDate + "Z"); dataFrame.setDurationTime(durationNode.asInt()); dataFrame.setPriority(priorityNode.asInt()); + dataFrame.setFrameType(TravelerInfoType.roadSignage); String[] items = new String[itemsList.size()]; items = itemsList.toArray(items); diff --git a/cv-data-service-library/src/main/java/com/trihydro/library/model/TimUpdateModel.java b/cv-data-service-library/src/main/java/com/trihydro/library/model/TimUpdateModel.java index 7333b268..7bfdaec4 100644 --- a/cv-data-service-library/src/main/java/com/trihydro/library/model/TimUpdateModel.java +++ b/cv-data-service-library/src/main/java/com/trihydro/library/model/TimUpdateModel.java @@ -41,7 +41,6 @@ public class TimUpdateModel extends ActiveTim { public BigDecimal getLaneWidth() { return laneWidth; - // DataFrame df;df.setFrameType(frameType); } public String getRegionDirection() { 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 051c60c9..9d05eed2 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 @@ -51,7 +51,6 @@ import us.dot.its.jpo.ode.plugin.j2735.OdeGeoRegion; import us.dot.its.jpo.ode.plugin.j2735.OdePosition3D; import us.dot.its.jpo.ode.plugin.j2735.OdeTravelerInformationMessage.DataFrame; -import us.dot.its.jpo.ode.plugin.j2735.timstorage.FrameType.TravelerInfoType; @Component public class WydotTimService { @@ -112,11 +111,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, TravelerInfoType frameType, List allMileposts, + String endDateTime, List allMileposts, List reducedMileposts, Milepost anchor, String dotGnisId) { // build base TIM - WydotTravelerInputData timToSend = createBaseTimUtil.buildTim(wydotTim, genProps, frameType, + WydotTravelerInputData timToSend = createBaseTimUtil.buildTim(wydotTim, genProps, allMileposts, reducedMileposts, anchor); if (timToSend == null) { 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 07f8f190..eb4ff8b4 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 @@ -105,10 +105,8 @@ public void buildTim_EndpointSUCCESS() { wydotTim.setItisCodes(itisCodes); wydotTim.setClientId("testclientid"); - var frameType = TravelerInfoType.advisory; - // Act - var data = uut.buildTim(wydotTim, genProps, frameType, allMileposts, milepostsReduced, anchor); + var data = uut.buildTim(wydotTim, genProps, allMileposts, milepostsReduced, anchor); // Assert // validate dataFrame @@ -116,6 +114,7 @@ public void buildTim_EndpointSUCCESS() { Assertions.assertNotNull(dataFrame); Assertions.assertEquals("advisory", dataFrame.getContent()); Assertions.assertEquals(32000, dataFrame.getDurationTime()); + Assertions.assertEquals(TravelerInfoType.roadSignage, dataFrame.getFrameType()); var region = dataFrame.getRegions()[0]; Assertions.assertNotNull(region); @@ -123,8 +122,6 @@ public void buildTim_EndpointSUCCESS() { // validate anchor var anchor = region.getAnchorPosition(); Assertions.assertNotNull(anchor); - Assertions.assertEquals(anchor.getLatitude(), anchor.getLatitude()); - Assertions.assertEquals(anchor.getLongitude(), anchor.getLongitude()); // validate path var path = region.getPath(); @@ -153,10 +150,8 @@ public void buildTim_singlePointSUCCESS() { wydotTim.setItisCodes(itisCodes); wydotTim.setClientId("testclientid"); - var frameType = TravelerInfoType.advisory; - // Act - var data = uut.buildTim(wydotTim, genProps, frameType, allMileposts, milepostsReduced, anchor); + var data = uut.buildTim(wydotTim, genProps, allMileposts, milepostsReduced, anchor); // Assert // validate dataFrame @@ -164,6 +159,7 @@ public void buildTim_singlePointSUCCESS() { Assertions.assertNotNull(dataFrame); Assertions.assertEquals("advisory", dataFrame.getContent()); Assertions.assertEquals(32000, dataFrame.getDurationTime()); + Assertions.assertEquals(TravelerInfoType.roadSignage, dataFrame.getFrameType()); var region = dataFrame.getRegions()[0]; Assertions.assertNotNull(region); @@ -171,8 +167,6 @@ public void buildTim_singlePointSUCCESS() { // validate anchor var anchor = region.getAnchorPosition(); Assertions.assertNotNull(anchor); - Assertions.assertEquals(anchor.getLatitude(), anchor.getLatitude()); - Assertions.assertEquals(anchor.getLongitude(), anchor.getLongitude()); // validate path var path = region.getPath(); @@ -201,10 +195,8 @@ public void buildTim_singleRegion_SUCCESS() { wydotTim.setItisCodes(itisCodes); wydotTim.setClientId("testclientid"); - var frameType = TravelerInfoType.advisory; - // Act - var data = uut.buildTim(wydotTim, genProps, frameType, allMileposts, milepostsReduced, anchor); + var data = uut.buildTim(wydotTim, genProps, allMileposts, milepostsReduced, anchor); // Assert Assertions.assertEquals(1, data.getTim().getDataframes()[0].getRegions().length); @@ -231,10 +223,8 @@ public void buildTim_twoRegions_SUCCESS() { wydotTim.setItisCodes(itisCodes); wydotTim.setClientId("testclientid"); - var frameType = TravelerInfoType.advisory; - // Act - var data = uut.buildTim(wydotTim, genProps, frameType, allMileposts, milepostsReduced, anchor); + var data = uut.buildTim(wydotTim, genProps, allMileposts, milepostsReduced, anchor); // Assert Assertions.assertEquals(2, data.getTim().getDataframes()[0].getRegions().length); @@ -273,10 +263,8 @@ public void buildTim_threeRegions_SUCCESS() { wydotTim.setItisCodes(itisCodes); wydotTim.setClientId("testclientid"); - var frameType = TravelerInfoType.advisory; - // Act - var data = uut.buildTim(wydotTim, genProps, frameType, allMileposts, milepostsReduced, anchor); + var data = uut.buildTim(wydotTim, genProps, 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/service/WydotTimServiceTest.java b/cv-data-service-library/src/test/java/com/trihydro/library/service/WydotTimServiceTest.java index 49981cbb..3fc23732 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 @@ -66,7 +66,6 @@ import us.dot.its.jpo.ode.plugin.ServiceRequest; import us.dot.its.jpo.ode.plugin.j2735.OdeTravelerInformationMessage; import us.dot.its.jpo.ode.plugin.j2735.OdeTravelerInformationMessage.DataFrame; -import us.dot.its.jpo.ode.plugin.j2735.timstorage.FrameType.TravelerInfoType; @ExtendWith(MockitoExtension.class) public class WydotTimServiceTest { @@ -229,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"; - TravelerInfoType frameType = TravelerInfoType.advisory; List allMileposts = new ArrayList<>(); List reducedMileposts = new ArrayList<>(); Milepost anchor = new Milepost(); String dotGnisId = "1B2843"; - when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any())).thenReturn(null); + when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any())).thenReturn(null); // Act - WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, frameType, allMileposts, reducedMileposts, anchor, dotGnisId); + WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, allMileposts, reducedMileposts, anchor, dotGnisId); // Assert assertNull(result); @@ -250,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"; - TravelerInfoType frameType = TravelerInfoType.advisory; List allMileposts = new ArrayList<>(); List reducedMileposts = new ArrayList<>(); Milepost anchor = new Milepost(); @@ -258,10 +255,10 @@ public void createTim_SetsStartDateTime_WhenProvided() { WydotTravelerInputData timToSend = getMockWydotTravelerInputDataWithDataFrame(); - when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any())).thenReturn(timToSend); + when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any())).thenReturn(timToSend); // Act - WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, frameType, allMileposts, reducedMileposts, anchor, dotGnisId); + WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, allMileposts, reducedMileposts, anchor, dotGnisId); // Assert assertEquals(startDateTime, result.getTim().getDataframes()[0].getStartDateTime()); @@ -273,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"; - TravelerInfoType frameType = TravelerInfoType.advisory; List allMileposts = new ArrayList<>(); List reducedMileposts = new ArrayList<>(); Milepost anchor = new Milepost(); @@ -281,11 +277,11 @@ public void createTim_SetsDurationTime_WhenEndDateTimeProvided() { WydotTravelerInputData timToSend = getMockWydotTravelerInputDataWithDataFrame(); - when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any())).thenReturn(timToSend); + when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any())).thenReturn(timToSend); when(mockUtility.getMinutesDurationBetweenTwoDates(anyString(), anyString())).thenReturn(60); // Act - WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, frameType, allMileposts, reducedMileposts, anchor, dotGnisId); + WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, allMileposts, reducedMileposts, anchor, dotGnisId); // Assert assertEquals(60, result.getTim().getDataframes()[0].getDurationTime()); @@ -297,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"; - TravelerInfoType frameType = TravelerInfoType.advisory; List allMileposts = new ArrayList<>(); List reducedMileposts = new ArrayList<>(); Milepost anchor = new Milepost(); @@ -305,10 +300,10 @@ public void createTim_SetsDurationTimeTo120_ForParkingTim() { WydotTravelerInputData timToSend = getMockWydotTravelerInputDataWithDataFrame(); - when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any())).thenReturn(timToSend); + when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any())).thenReturn(timToSend); // Act - WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, frameType, allMileposts, reducedMileposts, anchor, dotGnisId); + WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, allMileposts, reducedMileposts, anchor, dotGnisId); // Assert assertEquals(120, result.getTim().getDataframes()[0].getDurationTime()); @@ -320,7 +315,6 @@ public void createTim_SetsRandomPacketIdWithGnisIdPrefix() { String timTypeStr = "A"; String startDateTime = "2023-01-01T00:00:00.000Z"; String endDateTime = "2023-01-01T01:00:00.000Z"; - TravelerInfoType frameType = TravelerInfoType.advisory; List allMileposts = new ArrayList<>(); List reducedMileposts = new ArrayList<>(); Milepost anchor = new Milepost(); @@ -328,10 +322,10 @@ public void createTim_SetsRandomPacketIdWithGnisIdPrefix() { WydotTravelerInputData timToSend = getMockWydotTravelerInputDataWithDataFrame(); - when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any())).thenReturn(timToSend); + when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any())).thenReturn(timToSend); // Act - WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, frameType, allMileposts, reducedMileposts, anchor, dotGnisId); + WydotTravelerInputData result = uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, allMileposts, reducedMileposts, anchor, dotGnisId); // Assert assertNotNull(result.getTim().getPacketID()); @@ -346,7 +340,6 @@ public void createTim_ThrowsExceptionPacketIdUnsetGNISId() { String timTypeStr = "A"; String startDateTime = "2023-01-01T00:00:00.000Z"; String endDateTime = "2023-01-01T01:00:00.000Z"; - TravelerInfoType frameType = TravelerInfoType.advisory; List allMileposts = new ArrayList<>(); List reducedMileposts = new ArrayList<>(); Milepost anchor = new Milepost(); @@ -354,11 +347,11 @@ public void createTim_ThrowsExceptionPacketIdUnsetGNISId() { WydotTravelerInputData timToSend = getMockWydotTravelerInputDataWithDataFrame(); - when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any(), any())).thenReturn(timToSend); + when(mockCreateBaseTimUtil.buildTim(any(), any(), any(), any(), any())).thenReturn(timToSend); // Act & Assert assertThrows(IllegalStateException.class, () -> { - uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, frameType, allMileposts, reducedMileposts, anchor, dotGnisId); + uut.createTim(new WydotTim(), timTypeStr, startDateTime, endDateTime, allMileposts, reducedMileposts, anchor, dotGnisId); }); } diff --git a/cv-data-service-library/src/test/resources/broadcastTim_OdeOutput.json b/cv-data-service-library/src/test/resources/broadcastTim_OdeOutput.json index 6558c213..c70a0362 100644 --- a/cv-data-service-library/src/test/resources/broadcastTim_OdeOutput.json +++ b/cv-data-service-library/src/test/resources/broadcastTim_OdeOutput.json @@ -23,7 +23,7 @@ "dataframes": [ { "doNotUse1": 0, - "frameType": "advisory", + "frameType": "roadSignage", "msgId": { "furtherInfoID": "CDEF" }, diff --git a/cv-data-service-library/src/test/resources/com/trihydro/library/service/mockOdeTravelerInformationMessage.json b/cv-data-service-library/src/test/resources/com/trihydro/library/service/mockOdeTravelerInformationMessage.json index 828c86c3..c87360a5 100644 --- a/cv-data-service-library/src/test/resources/com/trihydro/library/service/mockOdeTravelerInformationMessage.json +++ b/cv-data-service-library/src/test/resources/com/trihydro/library/service/mockOdeTravelerInformationMessage.json @@ -8,7 +8,7 @@ "startDateTime": "2017-08-02T22:25:00.000Z", "durationTime": 1, "doNotUse1": "0", - "frameType": "advisory", + "frameType": "roadSignage", "msgId": { "roadSignID": { "position": { diff --git a/cv-data-service-library/src/test/resources/tim_construction.json b/cv-data-service-library/src/test/resources/tim_construction.json index 8385e897..94374695 100644 --- a/cv-data-service-library/src/test/resources/tim_construction.json +++ b/cv-data-service-library/src/test/resources/tim_construction.json @@ -37,7 +37,7 @@ "dataFrames": [ { "doNotUse1": 0, - "frameType": "advisory", + "frameType": "roadSignage", "msgId": { "roadSignID": { "position": { "lat": 417732928, "long": -1071000312 }, diff --git a/cv-data-service-library/src/test/resources/tim_construction_MultipleRegions.json b/cv-data-service-library/src/test/resources/tim_construction_MultipleRegions.json index 2b0d145a..1931ff72 100644 --- a/cv-data-service-library/src/test/resources/tim_construction_MultipleRegions.json +++ b/cv-data-service-library/src/test/resources/tim_construction_MultipleRegions.json @@ -37,7 +37,7 @@ "dataFrames": [ { "doNotUse1": 0, - "frameType": "advisory", + "frameType": "roadSignage", "msgId": { "roadSignID": { "position": { "lat": 417732928, "long": -1071000312 }, diff --git a/cv-data-service-library/src/test/resources/tim_parking.json b/cv-data-service-library/src/test/resources/tim_parking.json index 519b60e3..d10aa067 100644 --- a/cv-data-service-library/src/test/resources/tim_parking.json +++ b/cv-data-service-library/src/test/resources/tim_parking.json @@ -37,7 +37,7 @@ "dataFrames": [ { "doNotUse1": 0, - "frameType": "advisory", + "frameType": "roadSignage", "msgId": { "roadSignID": { "position": { "lat": 417732928, "long": -1071000312 }, diff --git a/cv-data-service-library/src/test/resources/tim_parking_MultipleRegions.json b/cv-data-service-library/src/test/resources/tim_parking_MultipleRegions.json index 594adfcc..09a8743a 100644 --- a/cv-data-service-library/src/test/resources/tim_parking_MultipleRegions.json +++ b/cv-data-service-library/src/test/resources/tim_parking_MultipleRegions.json @@ -176,7 +176,7 @@ "url": "null", "doNotUse1": 0, "doNotUse2": 0, - "frameType": "advisory", + "frameType": "roadSignage", "startTime": 117800 } ], diff --git a/cv-data-service-library/src/test/resources/tim_vsl.json b/cv-data-service-library/src/test/resources/tim_vsl.json index fde8dd0c..37bfedb4 100644 --- a/cv-data-service-library/src/test/resources/tim_vsl.json +++ b/cv-data-service-library/src/test/resources/tim_vsl.json @@ -37,7 +37,7 @@ "dataFrames": [ { "doNotUse1": 0, - "frameType": "advisory", + "frameType": "roadSignage", "msgId": { "roadSignID": { "position": { "lat": 417732928, "long": -1071000312 }, diff --git a/developer-tools/geojson-from-ode-tim/sampledata.json b/developer-tools/geojson-from-ode-tim/sampledata.json index b8ec7a2f..9374b8ae 100644 --- a/developer-tools/geojson-from-ode-tim/sampledata.json +++ b/developer-tools/geojson-from-ode-tim/sampledata.json @@ -22,7 +22,7 @@ "dataframes": [ { "doNotUse1": 0, - "frameType": "advisory", + "frameType": "roadSignage", "msgId": { "roadSignID": { "position": { diff --git a/logger-kafka-consumer/src/test/java/com/trihydro/loggerkafkaconsumer/app/services/DataFrameServiceTest.java b/logger-kafka-consumer/src/test/java/com/trihydro/loggerkafkaconsumer/app/services/DataFrameServiceTest.java index 663951b0..06e0cbb4 100644 --- a/logger-kafka-consumer/src/test/java/com/trihydro/loggerkafkaconsumer/app/services/DataFrameServiceTest.java +++ b/logger-kafka-consumer/src/test/java/com/trihydro/loggerkafkaconsumer/app/services/DataFrameServiceTest.java @@ -45,11 +45,11 @@ public void AddDataFrame_SUCCESS() throws SQLException, ParseException { Timestamp time = new Timestamp(dt.getTime()); // Act - Long data = uut.AddDataFrame(dFrame, -1l); + Long data = uut.AddDataFrame(dFrame, -1L); // Assert Assertions.assertEquals(Long.valueOf(-1), data); - verify(mockSqlNullHandler).setLongOrNull(mockPreparedStatement, 1, -1l);// TIM_ID + verify(mockSqlNullHandler).setLongOrNull(mockPreparedStatement, 1, -1L);// TIM_ID verify(mockSqlNullHandler).setShortOrNull(mockPreparedStatement, 2, dFrame.getDoNotUse1());// SSP_TIM_RIGHTS & NotUsed verify(mockSqlNullHandler).setIntegerOrNull(mockPreparedStatement, 3, null);// FRAME_TYPE verify(mockSqlNullHandler).setIntegerOrNull(mockPreparedStatement, 4, dFrame.getDurationTime());// DURATION_TIME @@ -69,10 +69,10 @@ public void AddDataFrame_FAIL() throws SQLException, ParseException { // Arrange DataFrame dFrame = new DataFrame(); dFrame.setStartDateTime("2020-02-03T16:00Z"); - doThrow(new SQLException()).when(mockSqlNullHandler).setLongOrNull(mockPreparedStatement, 1, -1l); + doThrow(new SQLException()).when(mockSqlNullHandler).setLongOrNull(mockPreparedStatement, 1, -1L); // Act - Long data = uut.AddDataFrame(dFrame, -1l); + Long data = uut.AddDataFrame(dFrame, -1L); // Assert Assertions.assertEquals(Long.valueOf(0), data); diff --git a/logger-kafka-consumer/src/test/resources/TIM_odeTimStartDateTime.json b/logger-kafka-consumer/src/test/resources/TIM_odeTimStartDateTime.json index 4b66fec0..05f4da32 100644 --- a/logger-kafka-consumer/src/test/resources/TIM_odeTimStartDateTime.json +++ b/logger-kafka-consumer/src/test/resources/TIM_odeTimStartDateTime.json @@ -298,7 +298,7 @@ "url": null, "doNotUse1": 0, "doNotUse2": 0, - "frameType": "advisory", + "frameType": "roadSignage", "startTime": 454054 } ], diff --git a/logger-kafka-consumer/src/test/resources/TIM_odeTim_Rsus.json b/logger-kafka-consumer/src/test/resources/TIM_odeTim_Rsus.json index 1c0e0c33..1f2838b7 100644 --- a/logger-kafka-consumer/src/test/resources/TIM_odeTim_Rsus.json +++ b/logger-kafka-consumer/src/test/resources/TIM_odeTim_Rsus.json @@ -58,7 +58,7 @@ ] }, "durationTime": 32000, - "frameType": "advisory", + "frameType": "roadSignage", "msgId": { "roadSignID": { "mutcdCode": "warning", 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 210332ef..bde94846 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 @@ -48,8 +48,6 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; -import us.dot.its.jpo.ode.plugin.j2735.timstorage.FrameType.TravelerInfoType; - @Component @Slf4j public abstract class WydotTimBaseController { @@ -637,23 +635,18 @@ protected ControllerResult validateInputBowr(WydotTimBowr tim) { } public void processRequest(WydotTim wydotTim, TimType timType, String startDateTime, - String endDateTime, Integer pk, - TravelerInfoType frameType) { - + String endDateTime, Integer pk) { if (wydotTim.getDirection().equalsIgnoreCase("b")) { var iTim = wydotTim.copy(); var dTim = wydotTim.copy(); iTim.setDirection("I"); dTim.setDirection("D"); // I - expireReduceCreateSendTims(iTim, timType, startDateTime, endDateTime, pk, - frameType); + expireReduceCreateSendTims(iTim, timType, startDateTime, endDateTime, pk); // D - expireReduceCreateSendTims(dTim, timType, startDateTime, endDateTime, pk, - frameType); + expireReduceCreateSendTims(dTim, timType, startDateTime, endDateTime, pk); } else { - expireReduceCreateSendTims(wydotTim, timType, startDateTime, endDateTime, pk, - frameType); + expireReduceCreateSendTims(wydotTim, timType, startDateTime, endDateTime, pk); } } @@ -681,8 +674,7 @@ public List getTimTypes() { } protected void expireReduceCreateSendTims(WydotTim wydotTim, TimType timType, - String startDateTime, String endDateTime, Integer pk, - TravelerInfoType frameType) { + String startDateTime, String endDateTime, Integer pk) { // Clear any existing TIMs with the same client id Long timTypeId = timType != null ? timType.getTimTypeId() : null; var existingTims = @@ -724,20 +716,20 @@ protected void expireReduceCreateSendTims(WydotTim wydotTim, TimType timType, var reducedMileposts = milepostReduction.applyMilepostReductionAlgorithm(milepostsAll, configuration.getPathDistanceLimit()); - createSendTims(wydotTim, timType, startDateTime, endDateTime, pk, frameType, + createSendTims(wydotTim, timType, startDateTime, endDateTime, pk, 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, - TravelerInfoType frameType, List allMileposts, + List allMileposts, List reducedMileposts, Milepost anchor) { // create TIM WydotTravelerInputData timToSend = wydotTimService.createTim(wydotTim, timType.getType(), startDateTime, endDateTime, - frameType, allMileposts, reducedMileposts, anchor, configuration.getDotGnisId()); + allMileposts, reducedMileposts, anchor, configuration.getDotGnisId()); 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 6aa2b224..003e84fa 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 @@ -30,7 +30,6 @@ import org.springframework.web.bind.annotation.RestController; import io.swagger.annotations.Api; -import us.dot.its.jpo.ode.plugin.j2735.timstorage.FrameType.TravelerInfoType; @CrossOrigin @RestController @@ -131,9 +130,7 @@ public void run() { // get end time String endTime = wydotTimBowr.getEndDateTime(); - - processRequest(tim, getTimType(type), startTime, endTime, null, - TravelerInfoType.advisory); + processRequest(tim, getTimType(type), startTime, endTime, null); } } }).start(); 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 fa681083..ecbc7914 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 @@ -31,7 +31,6 @@ import org.springframework.web.bind.annotation.RestController; import io.swagger.annotations.Api; -import us.dot.its.jpo.ode.plugin.j2735.timstorage.FrameType.TravelerInfoType; @CrossOrigin @RestController @@ -98,8 +97,7 @@ public void processRequestAsync(List wydotTims) { public void run() { var startTime = getStartTime(); for (WydotTim tim : wydotTims) { - processRequest(tim, getTimType(type), startTime, null, null, - TravelerInfoType.advisory); + processRequest(tim, getTimType(type), startTime, null, null); } } }).start(); 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 ec4ffdd5..dcd92a43 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 @@ -30,7 +30,6 @@ import org.springframework.web.bind.annotation.RestController; import io.swagger.annotations.Api; -import us.dot.its.jpo.ode.plugin.j2735.timstorage.FrameType.TravelerInfoType; @CrossOrigin @RestController @@ -119,7 +118,7 @@ public void makeTimsAsync(List wydotTims) { for (WydotTimIncident wydotTim : wydotTims) { // set route wydotTim.setRoute(wydotTim.getHighway()); - processRequest(wydotTim, getTimType(type), startTime, null, wydotTim.getPk(), TravelerInfoType.advisory); + processRequest(wydotTim, getTimType(type), startTime, null, wydotTim.getPk()); } }).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 e4c5aa17..d308b6f9 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 @@ -33,7 +33,6 @@ import org.springframework.web.bind.annotation.RestController; import io.swagger.annotations.Api; -import us.dot.its.jpo.ode.plugin.j2735.timstorage.FrameType.TravelerInfoType; @CrossOrigin @RestController @@ -92,18 +91,14 @@ public ResponseEntity createParkingTim(@RequestBody TimParkingList timPa public Collection getParkingTims() { // clear TIM - List activeTims = wydotTimService.selectTimsByType("P"); - - return activeTims; + return wydotTimService.selectTimsByType("P"); } @RequestMapping(value = "/parking-tim/{clientId}", method = RequestMethod.GET, headers = "Accept=application/json") public Collection getParkingTimById(@PathVariable String clientId) { // clear TIM - List activeTims = wydotTimService.selectTimByClientId("P", clientId); - - return activeTims; + return wydotTimService.selectTimByClientId("P", clientId); } @RequestMapping(value = "/parking-tim/itis-codes/{id}", method = RequestMethod.GET, headers = "Accept=application/json") @@ -139,8 +134,7 @@ public void processRequestAsync(List wydotTims) { public void run() { var startTime = getStartTime(); for (WydotTimParking wydotTim : wydotTims) { - processRequest(wydotTim, getTimType(type), startTime, null, null, - TravelerInfoType.advisory); + processRequest(wydotTim, getTimType(type), startTime, null, null); } } }).start(); 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 f3d7719d..1baaf3be 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 @@ -32,7 +32,6 @@ import org.springframework.web.bind.annotation.RestController; import io.swagger.annotations.Api; -import us.dot.its.jpo.ode.plugin.j2735.timstorage.FrameType.TravelerInfoType; @CrossOrigin @RestController @@ -157,8 +156,7 @@ public void processRequestAsync(List wydotTims) { public void run() { var startTime = getStartTime(); for (WydotTim tim : wydotTims) { - processRequest(tim, getTimType(type), startTime, null, null, - TravelerInfoType.advisory); + processRequest(tim, getTimType(type), startTime, null, null); } } }).start(); 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 5839146b..e7b6728d 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,6 +12,7 @@ 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; @@ -38,7 +39,6 @@ import org.springframework.web.bind.annotation.RestController; import io.swagger.annotations.Api; -import us.dot.its.jpo.ode.plugin.j2735.timstorage.FrameType.TravelerInfoType; @CrossOrigin @RestController @@ -251,7 +251,7 @@ public void processRequestAsync() { // An Async task always executes in new thread new Thread(() -> { for (WydotTimRw tim : timsToSend) { - processRequest(tim, getTimType(type), tim.getSchedStart(), tim.getSchedEnd(), null, TravelerInfoType.advisory); + processRequest(tim, getTimType(type), tim.getSchedStart(), tim.getSchedEnd(), null); } }).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 7a8ec1fa..89bda572 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 @@ -33,7 +33,6 @@ import org.springframework.web.bind.annotation.RestController; import io.swagger.annotations.Api; -import us.dot.its.jpo.ode.plugin.j2735.timstorage.FrameType.TravelerInfoType; @CrossOrigin @RestController @@ -88,13 +87,10 @@ public ResponseEntity createUpdateVslTim(@RequestBody TimVslList timVslL public void processRequestAsync(List wydotTims) { // An Async task always executes in new thread - new Thread(new Runnable() { - public void run() { - var startTime = getStartTime(); - for (WydotTim tim : wydotTims) { - processRequest(tim, getTimType(type), startTime, null, null, - TravelerInfoType.roadSignage); - } + new Thread(() -> { + var startTime = getStartTime(); + for (WydotTim tim : wydotTims) { + processRequest(tim, getTimType(type), startTime, null, null); } }).start(); }