Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ public OdeTimPayload convertTimPayloadJsonToJava(String value) {
OdeTravelerInformationMessage.DataFrame dataFrame = new OdeTravelerInformationMessage.DataFrame();
List<OdeTravelerInformationMessage.DataFrame.Region> 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");
Expand All @@ -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());
Expand All @@ -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);
}
Expand All @@ -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);
}
Expand Down Expand Up @@ -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;
Expand All @@ -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;
Expand Down Expand Up @@ -393,13 +398,15 @@ public OdeTravelerInformationMessage.DataFrame.Region.Path GetPathData(JsonNode
path.setNodes(nodeXYArr);
return path;
} catch (Exception ex) {
// TODO: add logging
return null;
}
}

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();
Expand All @@ -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);
Expand All @@ -436,6 +443,7 @@ public OdeTravelerInformationMessage.DataFrame.Region.Geometry GetGeometryData(J
geometry.setCircle(circle);
return geometry;
} catch (Exception e) {
// TODO: add logging
return null;
}
}
Expand Down Expand Up @@ -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<String> itemsList = new ArrayList<>();
String item = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand All @@ -41,6 +42,7 @@ public OdeData processTimJson(String value) {
try {
recordGeneratedByStr = mapper.treeToValue(recordGeneratedBy, String.class);
} catch (JsonProcessingException e) {
// TODO: add logging
e.printStackTrace();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand All @@ -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);
Expand All @@ -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.
Expand All @@ -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);

Expand All @@ -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());

Expand All @@ -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());

Expand All @@ -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
Expand All @@ -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);
}
Expand All @@ -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());
}
}
Expand Down Expand Up @@ -589,13 +605,15 @@ public boolean updateTimSatRecordId(Long timId, String satRecordId) {
preparedStatement.setLong(2, timId);
return dbInteractions.updateOrDelete(preparedStatement);
} catch (Exception ex) {
// TODO: add logging
return false;
}
}

public ActiveTim setActiveTimByRegionName(String regionName) {

if (StringUtils.isBlank(regionName) || StringUtils.isEmpty(regionName)) {
// TODO: add logging
return null;
}

Expand Down Expand Up @@ -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
}
}

Expand Down
Loading