Skip to content

Commit

Permalink
ODE-787 publish j2735 TIM
Browse files Browse the repository at this point in the history
  • Loading branch information
hmusavi committed Sep 4, 2018
1 parent 7990d33 commit a38c05b
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 2 deletions.
Binary file modified docs/ODE_Output_Schema_Reference.docx
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ public class AppContext {
public static final String ODE_HOSTNAME = "ODE_HOSTNAME";
public static final String PAYLOAD_STRING = "payload";
public static final String METADATA_STRING = "metadata";
public static final String ODE_ASN1_DATA = "OdeAsn1Data";
public static final String DATA_STRING = "data";
public static final String ENCODINGS_STRING = "encodings";
public static final String PAYLOAD_TYPE_STRING = "payloadType";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ public class OdeProperties implements EnvironmentAware {
private String kafkaTopicOdeTimRxJson= "topic.OdeTimRxJson";
private String kafkaTopicOdeTimBroadcastPojo= "topic.OdeTimBroadcastPojo";
private String kafkaTopicOdeTimBroadcastJson= "topic.OdeTimBroadcastJson";
private String kafkaTopicJ2735TimBroadcastJson= "topic.J2735TimBroadcastJson";
private String kafkaTopicFilteredOdeTimJson = "topic.FilteredOdeTimJson";

// DriverAlerts
Expand Down Expand Up @@ -697,6 +698,14 @@ public void setKafkaTopicOdeTimBroadcastJson(String kafkaTopicOdeTimBroadcastJso
this.kafkaTopicOdeTimBroadcastJson = kafkaTopicOdeTimBroadcastJson;
}

public String getKafkaTopicJ2735TimBroadcastJson() {
return kafkaTopicJ2735TimBroadcastJson;
}

public void setKafkaTopicJ2735TimBroadcastJson(String kafkaTopicJ2735TimBroadcastJson) {
this.kafkaTopicJ2735TimBroadcastJson = kafkaTopicJ2735TimBroadcastJson;
}

public String getKafkaTopicFilteredOdeTimJson() {
return kafkaTopicFilteredOdeTimJson;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ public String packageSignedTimIntoAsd(OdeTravelerInputData travelerInputData, St
message.set(AppContext.PAYLOAD_STRING, payloadObj);

ObjectNode root = JsonUtils.newNode();
root.set("OdeAsn1Data", message);
root.set(AppContext.ODE_ASN1_DATA, message);

outputXml = XmlUtils.toXmlS(root);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import java.text.ParseException;
import java.util.HashMap;

import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.snmp4j.PDU;
Expand All @@ -28,6 +29,7 @@
import com.fasterxml.jackson.databind.node.ObjectNode;

import us.dot.its.jpo.ode.OdeProperties;
import us.dot.its.jpo.ode.coder.OdeTimDataCreatorHelper;
import us.dot.its.jpo.ode.context.AppContext;
import us.dot.its.jpo.ode.model.Asn1Encoding;
import us.dot.its.jpo.ode.model.Asn1Encoding.EncodingRule;
Expand Down Expand Up @@ -319,6 +321,12 @@ public ResponseEntity<String> depositTim(String jsonString, int verb) {
asd = buildASD(travelerInputData);
}
xmlMsg = convertToXml(asd, encodableTim);
// publish Broadcast TIM to a J2735 compliant topic.
JSONObject jsonMsg = XmlUtils.toJSONObject(xmlMsg);
String j2735Tim = OdeTimDataCreatorHelper.createOdeTimData(jsonMsg.getJSONObject(AppContext.ODE_ASN1_DATA)).toString();
stringMsgProducer.send(odeProperties.getKafkaTopicJ2735TimBroadcastJson(), null, j2735Tim);
// publish J2735 TIM also to general un-filtered TIM topic
stringMsgProducer.send(odeProperties.getKafkaTopicOdeTimJson(), null, j2735Tim);
stringMsgProducer.send(odeProperties.getKafkaTopicAsn1EncoderInput(), null, xmlMsg);
} catch (JsonUtilsException | XmlUtilsException | ParseException e) {
String errMsg = "Error sending data to ASN.1 Encoder module: " + e.getMessage();
Expand Down Expand Up @@ -474,7 +482,7 @@ private String convertToXml(DdsAdvisorySituationData asd, ObjectNode encodableTi
message.set(AppContext.PAYLOAD_STRING, payloadObj);

ObjectNode root = JsonUtils.newNode();
root.set("OdeAsn1Data", message);
root.set(AppContext.ODE_ASN1_DATA, message);

// Convert to XML
logger.debug("pre-xml: {}", root);
Expand Down

0 comments on commit a38c05b

Please sign in to comment.