From 69c232c7b164e7fc1596c7eb0b6a3ea030e5ab56 Mon Sep 17 00:00:00 2001 From: dmccoystephenson Date: Thu, 10 Apr 2025 14:04:50 -0600 Subject: [PATCH] Add logging TODOs throughout JsonToJavaConverter, TimDataConverter, TimService, and LoggerKafkaConsumer --- .../library/helpers/JsonToJavaConverter.java | 15 ++++++-- .../app/LoggerKafkaConsumer.java | 2 ++ .../app/dataConverters/TimDataConverter.java | 2 ++ .../app/services/TimService.java | 35 ++++++++++++++----- 4 files changed, 43 insertions(+), 11 deletions(-) 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..04beb2df8 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 @@ -243,7 +243,7 @@ public OdeTimPayload convertTimPayloadJsonToJava(String value) { OdeTravelerInformationMessage.DataFrame dataFrame = new OdeTravelerInformationMessage.DataFrame(); List regions = new ArrayList<>(); - // JsonNode payloadNode = JsonUtils.getJsonNode(value, "payload"); + // JsonNode payloadNode = JsonUtils.getJsonNode(value, "payload"); // TODO: remove JsonNode timNode = JsonUtils.getJsonNode(value, "payload").get("data").get("MessageFrame").get("value") .get("TravelerInformation"); JsonNode travelerDataFrame = timNode.get("dataFrames").get("TravelerDataFrame"); @@ -266,7 +266,7 @@ public OdeTimPayload convertTimPayloadJsonToJava(String value) { } else if (contentNode.has(ContentEnum.workZone.getStringValue())) { sequenceArrNode = contentNode.get(ContentEnum.workZone.getStringValue()).get("SEQUENCE"); dataFrame.setContent(ContentEnum.workZone.getStringValue()); - } + } // TODO: add logging for else case LocalDate now = LocalDate.now(); LocalDate firstDay = now.with(firstDayOfYear()); @@ -293,6 +293,7 @@ public OdeTimPayload convertTimPayloadJsonToJava(String value) { item = mapper.treeToValue(objNode.get("item").get("itis"), String.class); else if (objNode.get("item").get("text") != null) item = mapper.treeToValue(objNode.get("item").get("text"), String.class); + // TODO: add logging for else case itemsList.add(item); } @@ -304,6 +305,7 @@ else if (objNode.get("item").get("text") != null) item = mapper.treeToValue(sequenceArrNode.get("item").get("itis"), String.class); else if (sequenceArrNode.get("item").get("text") != null) item = mapper.treeToValue(sequenceArrNode.get("item").get("text"), String.class); + // TODO: add logging for else case itemsList.add(item); } @@ -348,6 +350,7 @@ else if (sequenceArrNode.get("item").get("text") != null) public OdeTravelerInformationMessage.DataFrame.Region.Path GetPathData(JsonNode pathNode) { try { if (pathNode == null) + // TODO: add logging return null; JsonNode xyNode = pathNode.get("offset").get("xy"); Boolean isXy = true; @@ -359,10 +362,12 @@ public OdeTravelerInformationMessage.DataFrame.Region.Path GetPathData(JsonNode } if (xyNode == null) + // TODO: add logging return null; JsonNode nodesNode = xyNode.get("nodes"); if (nodesNode == null) + // TODO: add logging return null; JsonNode nodeXYArrNode = isXy ? nodesNode.get("NodeXY") : nodesNode; @@ -393,6 +398,7 @@ public OdeTravelerInformationMessage.DataFrame.Region.Path GetPathData(JsonNode path.setNodes(nodeXYArr); return path; } catch (Exception ex) { + // TODO: add logging return null; } } @@ -400,6 +406,7 @@ public OdeTravelerInformationMessage.DataFrame.Region.Path GetPathData(JsonNode public OdeTravelerInformationMessage.DataFrame.Region.Geometry GetGeometryData(JsonNode geometryNode) { try { if (geometryNode == null) + // TODO: add logging return null; OdeTravelerInformationMessage.DataFrame.Region.Geometry geometry = new OdeTravelerInformationMessage.DataFrame.Region.Geometry(); @@ -412,7 +419,7 @@ public OdeTravelerInformationMessage.DataFrame.Region.Geometry GetGeometryData(J Circle circle = new Circle(); - // circle.setCenter(OdePosition3D); + // circle.setCenter(OdePosition3D); // TODO: remove BigDecimal latitude = mapper.treeToValue(circleCenterNode.get("lat"), BigDecimal.class); BigDecimal longitude = mapper.treeToValue(circleCenterNode.get("long"), BigDecimal.class); BigDecimal elevation = mapper.treeToValue(circleCenterNode.get("elevation"), BigDecimal.class); @@ -436,6 +443,7 @@ public OdeTravelerInformationMessage.DataFrame.Region.Geometry GetGeometryData(J geometry.setCircle(circle); return geometry; } catch (Exception e) { + // TODO: add logging return null; } } @@ -486,6 +494,7 @@ public OdeTimPayload convertTmcTimTopicJsonToJava(String value) { sequenceArrNode = contentNode.get("workZone"); dataFrame.setContent(ContentEnum.workZone.getStringValue()); } + // TODO: add logging for else case List itemsList = new ArrayList<>(); String item = null; diff --git a/logger-kafka-consumer/src/main/java/com/trihydro/loggerkafkaconsumer/app/LoggerKafkaConsumer.java b/logger-kafka-consumer/src/main/java/com/trihydro/loggerkafkaconsumer/app/LoggerKafkaConsumer.java index 627195a68..2eebc2881 100644 --- a/logger-kafka-consumer/src/main/java/com/trihydro/loggerkafkaconsumer/app/LoggerKafkaConsumer.java +++ b/logger-kafka-consumer/src/main/java/com/trihydro/loggerkafkaconsumer/app/LoggerKafkaConsumer.java @@ -95,11 +95,13 @@ public void startKafkaConsumer() throws Exception { if (odeData != null) { if (odeData.getMetadata() .getRecordGeneratedBy() == us.dot.its.jpo.ode.model.OdeMsgMetadata.GeneratedBy.TMC) { + // TODO: add trace logging timService.addActiveTimToDatabase(odeData); } else if (odeData.getMetadata().getRecordGeneratedBy() == null) { // we shouldn't get here...log it log.error("Failed to get recordGeneratedBy, continuing..."); } else { + // TODO: add trace logging timService.addTimToDatabase(odeData); } } else { diff --git a/logger-kafka-consumer/src/main/java/com/trihydro/loggerkafkaconsumer/app/dataConverters/TimDataConverter.java b/logger-kafka-consumer/src/main/java/com/trihydro/loggerkafkaconsumer/app/dataConverters/TimDataConverter.java index 7d0a3c554..903bf9739 100644 --- a/logger-kafka-consumer/src/main/java/com/trihydro/loggerkafkaconsumer/app/dataConverters/TimDataConverter.java +++ b/logger-kafka-consumer/src/main/java/com/trihydro/loggerkafkaconsumer/app/dataConverters/TimDataConverter.java @@ -30,6 +30,7 @@ public OdeData processTimJson(String value) { var metadata = JsonUtils.getJsonNode(value, "metadata"); if (metadata == null) { + // TODO: add logging return null; } JsonNode recordGeneratedBy = metadata.get("recordGeneratedBy"); @@ -41,6 +42,7 @@ public OdeData processTimJson(String value) { try { recordGeneratedByStr = mapper.treeToValue(recordGeneratedBy, String.class); } catch (JsonProcessingException e) { + // TODO: add logging e.printStackTrace(); } diff --git a/logger-kafka-consumer/src/main/java/com/trihydro/loggerkafkaconsumer/app/services/TimService.java b/logger-kafka-consumer/src/main/java/com/trihydro/loggerkafkaconsumer/app/services/TimService.java index fc006b924..858f15a6f 100644 --- a/logger-kafka-consumer/src/main/java/com/trihydro/loggerkafkaconsumer/app/services/TimService.java +++ b/logger-kafka-consumer/src/main/java/com/trihydro/loggerkafkaconsumer/app/services/TimService.java @@ -158,32 +158,39 @@ public void addActiveTimToDatabase(OdeData odeData) { OdeTimPayload payload = (OdeTimPayload) odeData.getPayload(); if (payload == null) { + // TODO: add logging return; } OdeTravelerInformationMessage tim = getTim(payload); if (tim == null) { + // TODO: add logging return; } DataFrame[] dframes = tim.getDataframes(); if (dframes == null || dframes.length == 0) { + // TODO: add logging return; } OdeTravelerInformationMessage.DataFrame.Region[] regions = dframes[0].getRegions(); if (regions == null || regions.length == 0) { + // TODO: add logging return; } String firstRegionName = regions[0].getName(); if (StringUtils.isEmpty(firstRegionName) || StringUtils.isBlank(firstRegionName)) { + // TODO: add logging return; } OdeRequestMsgMetadata metaData = (OdeRequestMsgMetadata) odeData.getMetadata(); if (metaData == null) { + // TODO: add logging return; } // get information from the region name, first check splitname length activeTim = setActiveTimByRegionName(firstRegionName); if (activeTim == null) { + // TODO: add logging return; } @@ -193,15 +200,17 @@ public void addActiveTimToDatabase(OdeData odeData) { java.sql.Timestamp ts = null; if (StringUtils.isNotEmpty(tim.getTimeStamp()) && StringUtils.isNotBlank(tim.getTimeStamp())) { ts = java.sql.Timestamp.valueOf(LocalDateTime.parse(tim.getTimeStamp(), DateTimeFormatter.ISO_DATE_TIME)); - } + } // TODO: add logging for else case Long timId = getTimId(tim.getPacketID(), ts); if (timId == null) { // TIM doesn't currently exist. Add it. + // TODO: add trace logging timId = AddTim(metaData, null, tim, null, null, null, satRecordId, firstRegionName); if (timId != null) { // we inserted a new TIM, add additional data + // TODO: add trace logging Long dataFrameId = dataFrameService.AddDataFrame(dframes[0], timId); addRegions(dframes[0], dataFrameId); addDataFrameItis(dframes[0], dataFrameId); @@ -226,11 +235,11 @@ public void addActiveTimToDatabase(OdeData odeData) { && metaData.getRequest().getRsus().length > 0) { firstRsu = metaData.getRequest().getRsus()[0]; activeTim.setRsuTarget(firstRsu.getRsuTarget()); - } + } // TODO: add logging for else case if (metaData.getRequest() != null && metaData.getRequest().getSdw() != null) { activeTim.setSatRecordId(metaData.getRequest().getSdw().getRecordId()); - } + } // TODO: add logging for else case // the ODE now parses all dataframes to find the most recent and sets it // to this new OdeTimStartDateTime. We'll take advantage. @@ -240,7 +249,7 @@ public void addActiveTimToDatabase(OdeData odeData) { if (StringUtils.isEmpty(stDate)) { stDate = dframes[0].getStartDateTime(); log.info("addActiveTimToDatabase did not find odeTimStartDateTime, setting to dataframe value {}", stDate); - } + } // TODO: add logging for else case activeTim.setStartDateTime(stDate); activeTim.setTimId(timId); @@ -249,11 +258,13 @@ public void addActiveTimToDatabase(OdeData odeData) { // if this is an RSU TIM if (activeTim.getRsuTarget() != null && firstRsu != null) { // save TIM RSU in DB + // TODO: add trace logging WydotRsu rsu = rsuService.getRsus().stream().filter(x -> x.getRsuTarget().equals(activeTim.getRsuTarget())) .findFirst().orElse(null); if (rsu != null) { + // TODO: add trace logging timRsuService.AddTimRsu(timId, rsu.getRsuId(), rsu.getRsuIndex()); - } + } // TODO: add logging for else case ath = activeTimHoldingService.getRsuActiveTimHolding(activeTim.getClientId(), activeTim.getDirection(), activeTim.getRsuTarget()); @@ -274,13 +285,15 @@ public void addActiveTimToDatabase(OdeData odeData) { // set end time if duration is not indefinite if (dframes[0].getDurationTime() != 32000) { + // TODO: add trace logging ZonedDateTime zdt = ZonedDateTime.parse(dframes[0].getStartDateTime()); zdt = zdt.plusMinutes(dframes[0].getDurationTime()); activeTim.setEndDateTime(zdt.toString()); - } + } // TODO: add logging for else case if (ath != null) { // set activeTim start/end points from holding table + // TODO: add trace logging activeTim.setStartPoint(ath.getStartPoint()); activeTim.setEndPoint(ath.getEndPoint()); @@ -290,7 +303,7 @@ public void addActiveTimToDatabase(OdeData odeData) { // set expiration time if found if (StringUtils.isNotBlank(ath.getExpirationDateTime())) { activeTim.setExpirationDateTime(ath.getExpirationDateTime()); - } + } // TODO: add logging for else case } // if true, TIM came from WYDOT @@ -310,16 +323,18 @@ public void addActiveTimToDatabase(OdeData odeData) { // if there is no active TIM, insert new one if (activeTimDb == null) { + // TODO: add trace logging activeTimService.insertActiveTim(activeTim); } else { // else update active TIM // If we couldn't find an Active TIM Holding record, we should persist the // existing values // for startPoint, endPoint, and projectKey if (ath == null) { + // TODO: add trace logging activeTim.setStartPoint(activeTimDb.getStartPoint()); activeTim.setEndPoint(activeTimDb.getEndPoint()); activeTim.setProjectKey(activeTimDb.getProjectKey()); - } + } // TODO: add logging for else case activeTim.setActiveTimId(activeTimDb.getActiveTimId()); activeTimService.updateActiveTim(activeTim); } @@ -333,6 +348,7 @@ public void addActiveTimToDatabase(OdeData odeData) { // remove active_tim_holding now that we've saved its values if (ath != null) { + // TODO: add trace logging activeTimHoldingService.deleteActiveTimHolding(ath.getActiveTimHoldingId()); } } @@ -589,6 +605,7 @@ public boolean updateTimSatRecordId(Long timId, String satRecordId) { preparedStatement.setLong(2, timId); return dbInteractions.updateOrDelete(preparedStatement); } catch (Exception ex) { + // TODO: add logging return false; } } @@ -596,6 +613,7 @@ public boolean updateTimSatRecordId(Long timId, String satRecordId) { public ActiveTim setActiveTimByRegionName(String regionName) { if (StringUtils.isBlank(regionName) || StringUtils.isEmpty(regionName)) { + // TODO: add logging return null; } @@ -644,6 +662,7 @@ public ActiveTim setActiveTimByRegionName(String regionName) { activeTim.setPk(pk); } catch (NumberFormatException ex) { // the pk won't get set here + // TODO: add trace logging } }