diff --git a/docs/schemas/README.md b/docs/schemas/README.md
index 8cbf525e1..f0d71cb08 100644
--- a/docs/schemas/README.md
+++ b/docs/schemas/README.md
@@ -12,6 +12,8 @@ The jpo-ode supports receiving and decoding ASN1 messages from RSUs. The support
The output JSON of the ODE is complex but it is similar to the official standard of J2735 with some minor differences due to the form of their deserialized POJOs. To help implement proper data validation for the JSON output of the ODE into any data pipeline infrastructure, you may use the provided validation schemas within this directory.
+Each jpo-ode output object also contains a `schemaVersion`. This value represents the version of the jpo-ode output that the object came from. This version is not intended to be changed except in the scenario of newly added breaking changes to the output. This value is set [here](./jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeMsgMetadata.java).
+
## Testing the schemas
These schemas can be used for manual validation in the following steps:
1. To perform a simple schema validation check against output JSON data from the jpo-ode, you may use a schema validation site such as https://www.jsonschemavalidator.net.
diff --git a/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeMsgMetadata.java b/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeMsgMetadata.java
index 30786379a..a49f8a031 100644
--- a/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeMsgMetadata.java
+++ b/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeMsgMetadata.java
@@ -1,238 +1,294 @@
/*******************************************************************************
* Copyright 2018 572682
*
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ *
Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy
* of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ *
http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing, software
+ *
Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
******************************************************************************/
+
package us.dot.its.jpo.ode.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-
import us.dot.its.jpo.ode.util.DateTimeUtils;
import us.dot.its.jpo.ode.util.JsonUtils;
+/**
+ * Base ODE Metadata class.
+ */
@JsonPropertyOrder({ "logFileName", "recordType", "receivedMessageDetails", "payloadType", "serialId",
- "odeReceivedAt", "schemaVersion", "maxDurationTime", "recordGeneratedAt", "recordGeneratedBy", "sanitized", "asn1" })
+ "odeReceivedAt", "schemaVersion", "maxDurationTime", "recordGeneratedAt", "recordGeneratedBy", "sanitized",
+ "asn1" })
public class OdeMsgMetadata extends OdeObject {
- public enum GeneratedBy {
- TMC, OBU, RSU, TMC_VIA_SAT, TMC_VIA_SNMP, UNKNOWN
- }
-
- private static final long serialVersionUID = 3979762143291085955L;
-
- private static int staticSchemaVersion = 7;
-
- private String payloadType;
- private SerialId serialId;
- private String odeReceivedAt;
- private int schemaVersion;
- private int maxDurationTime;
- private String odePacketID;
- private String odeTimStartDateTime;
- private String recordGeneratedAt;
- private GeneratedBy recordGeneratedBy;
- private boolean sanitized = false;
-
- @JsonInclude(JsonInclude.Include.NON_NULL)
- private String asn1 = null;
-
- public OdeMsgMetadata() {
- this(OdeMsgPayload.class.getName(), new SerialId(), DateTimeUtils.now());
- }
-
- public OdeMsgMetadata(OdeMsgPayload payload) {
- this(payload, new SerialId(), DateTimeUtils.now());
- }
-
- private OdeMsgMetadata(OdeMsgPayload payload, SerialId serialId, String receivedAt) {
- this(payload.getClass().getName(), serialId, receivedAt);
- setAsn1(payload);
- }
-
- public OdeMsgMetadata(String payloadType, SerialId serialId, String receivedAt) {
- super();
- this.schemaVersion = staticSchemaVersion;
- this.payloadType = payloadType;
- this.serialId = serialId;
- this.odeReceivedAt = receivedAt;
- }
-
- public String getPayloadType() {
- return payloadType;
- }
-
- public OdeMsgMetadata setPayloadType(OdeDataType payloadType) {
- this.payloadType = payloadType.getShortName();
- return this;
- }
-
- public OdeMsgMetadata setPayloadType(String payloadType) {
- this.payloadType = payloadType;
- return this;
- }
-
- public SerialId getSerialId() {
- return serialId;
- }
-
- public void setSerialId(SerialId serialId) {
- this.serialId = serialId;
- }
-
- public String getOdeReceivedAt() {
- return odeReceivedAt;
- }
-
- public void setOdeReceivedAt(String receivedAt) {
- this.odeReceivedAt = receivedAt;
- }
-
- public int getSchemaVersion() {
- return schemaVersion;
- }
-
- public void setSchemaVersion(int aSchemaVersion) {
- schemaVersion = aSchemaVersion;
- }
-
- public int getMaxDurationTime() {
- return maxDurationTime;
- }
-
- public void setMaxDurationTime(int maxDurationTime) {
- this.maxDurationTime = maxDurationTime;
- }
-
- public String getOdePacketID() {
- return odePacketID;
- }
-
- public void setOdePacketID(String odePacketID) {
- this.odePacketID = odePacketID;
- }
-
- public String getOdeTimStartDateTime() {
- return odeTimStartDateTime;
- }
-
- public void setOdeTimStartDateTime(String odeTimStartDateTime) {
- this.odeTimStartDateTime = odeTimStartDateTime;
- }
-
- public String getRecordGeneratedAt() {
- return recordGeneratedAt;
- }
-
- public void setRecordGeneratedAt(String recordGeneratedAt) {
- this.recordGeneratedAt = recordGeneratedAt;
- }
-
- public GeneratedBy getRecordGeneratedBy() {
- return recordGeneratedBy;
- }
-
- public void setRecordGeneratedBy(GeneratedBy recordGeneratedBy) {
- this.recordGeneratedBy = recordGeneratedBy;
- }
-
- public boolean isSanitized() {
- return sanitized;
- }
-
- public void setSanitized(boolean sanitized) {
- this.sanitized = sanitized;
- }
-
- public static int getStaticSchemaVersion() {
- return staticSchemaVersion;
- }
-
- public static void setStaticSchemaVersion(int aSchemaVersion) {
- staticSchemaVersion = aSchemaVersion;
- }
-
- public String getAsn1() {
- return asn1;
- }
-
- public void setAsn1(String asn1) {
- this.asn1 = asn1;
- }
-
- public void setAsn1(OdeMsgPayload payload) {
- if (payload != null && payload.getData() != null ) {
- if (JsonUtils.getJsonNode(payload.getData().toString(), "bytes") != null)
- this.asn1 = JsonUtils.getJsonNode(payload.getData().toString(), "bytes").asText();
+ /**
+ * Enum for conveying where a message was generated from.
+ */
+ public enum GeneratedBy {
+ TMC, OBU, RSU, TMC_VIA_SAT, TMC_VIA_SNMP, UNKNOWN
+ }
+
+ private static final long serialVersionUID = 3979762143291085955L;
+ private static final int staticSchemaVersion = 8;
+
+ private String payloadType;
+ private SerialId serialId;
+ private String odeReceivedAt;
+ private int schemaVersion;
+ private int maxDurationTime;
+ private String odePacketID;
+ private String odeTimStartDateTime;
+ private String recordGeneratedAt;
+ private GeneratedBy recordGeneratedBy;
+ private boolean sanitized = false;
+
+ @JsonInclude(JsonInclude.Include.NON_NULL)
+ private String asn1 = null;
+
+ public OdeMsgMetadata() {
+ this(OdeMsgPayload.class.getName(), new SerialId(), DateTimeUtils.now());
+ }
+
+ /**
+ * Constructs an OdeMsgMetadata object with the specified payload.
+ *
+ * @param payload the payload to be set
+ */
+ public OdeMsgMetadata(OdeMsgPayload payload) {
+ this(payload, new SerialId(), DateTimeUtils.now());
+ }
+
+ /**
+ * Constructs an OdeMsgMetadata object with the specified payload, serial ID,
+ * and received time.
+ *
+ * @param payload the payload to be set
+ * @param serialId the serial ID to be set
+ * @param receivedAt the time the message was received
+ */
+ private OdeMsgMetadata(OdeMsgPayload payload, SerialId serialId, String receivedAt) {
+ this(payload.getClass().getName(), serialId, receivedAt);
+ setAsn1(payload);
+ }
+
+ /**
+ * Constructs an OdeMsgMetadata object with the specified payload type, serial
+ * ID, and received time.
+ *
+ * @param payloadType the type of the payload
+ * @param serialId the serial ID to be set
+ * @param receivedAt the time the message was received
+ */
+ public OdeMsgMetadata(String payloadType, SerialId serialId, String receivedAt) {
+ super();
+ this.schemaVersion = staticSchemaVersion;
+ this.payloadType = payloadType;
+ this.serialId = serialId;
+ this.odeReceivedAt = receivedAt;
+ }
+
+ public String getPayloadType() {
+ return payloadType;
+ }
+
+ public OdeMsgMetadata setPayloadType(OdeDataType payloadType) {
+ this.payloadType = payloadType.getShortName();
+ return this;
+ }
+
+ public OdeMsgMetadata setPayloadType(String payloadType) {
+ this.payloadType = payloadType;
+ return this;
+ }
+
+ public SerialId getSerialId() {
+ return serialId;
+ }
+
+ public void setSerialId(SerialId serialId) {
+ this.serialId = serialId;
+ }
+
+ public String getOdeReceivedAt() {
+ return odeReceivedAt;
+ }
+
+ public void setOdeReceivedAt(String receivedAt) {
+ this.odeReceivedAt = receivedAt;
+ }
+
+ public int getSchemaVersion() {
+ return schemaVersion;
+ }
+
+ public void setSchemaVersion(int schemaVersion) {
+ this.schemaVersion = schemaVersion;
+ }
+
+ public int getMaxDurationTime() {
+ return maxDurationTime;
+ }
+
+ public void setMaxDurationTime(int maxDurationTime) {
+ this.maxDurationTime = maxDurationTime;
+ }
+
+ public String getOdePacketID() {
+ return odePacketID;
+ }
+
+ public void setOdePacketID(String odePacketID) {
+ this.odePacketID = odePacketID;
+ }
+
+ public String getOdeTimStartDateTime() {
+ return odeTimStartDateTime;
+ }
+
+ public void setOdeTimStartDateTime(String odeTimStartDateTime) {
+ this.odeTimStartDateTime = odeTimStartDateTime;
+ }
+
+ public String getRecordGeneratedAt() {
+ return recordGeneratedAt;
+ }
+
+ public void setRecordGeneratedAt(String recordGeneratedAt) {
+ this.recordGeneratedAt = recordGeneratedAt;
+ }
+
+ public GeneratedBy getRecordGeneratedBy() {
+ return recordGeneratedBy;
+ }
+
+ public void setRecordGeneratedBy(GeneratedBy recordGeneratedBy) {
+ this.recordGeneratedBy = recordGeneratedBy;
+ }
+
+ public boolean isSanitized() {
+ return sanitized;
+ }
+
+ public void setSanitized(boolean sanitized) {
+ this.sanitized = sanitized;
+ }
+
+ public static int getStaticSchemaVersion() {
+ return staticSchemaVersion;
+ }
+
+ public String getAsn1() {
+ return asn1;
+ }
+
+ public void setAsn1(String asn1) {
+ this.asn1 = asn1;
+ }
+
+ /**
+ * Sets the ASN1 value for the metadata object.
+ *
+ * @param payload the ASN1 payload hex string
+ */
+ public void setAsn1(OdeMsgPayload payload) {
+ if (payload != null && payload.getData() != null) {
+ if (JsonUtils.getJsonNode(payload.getData().toString(), "bytes") != null) {
+ this.asn1 = JsonUtils.getJsonNode(payload.getData().toString(), "bytes").asText();
}
+ }
}
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((odeReceivedAt == null) ? 0 : odeReceivedAt.hashCode());
- result = prime * result + ((payloadType == null) ? 0 : payloadType.hashCode());
- result = prime * result + ((recordGeneratedAt == null) ? 0 : recordGeneratedAt.hashCode());
- result = prime * result + ((recordGeneratedBy == null) ? 0 : recordGeneratedBy.hashCode());
- result = prime * result + (sanitized ? 1231 : 1237);
- result = prime * result + schemaVersion;
- result = prime * result + ((serialId == null) ? 0 : serialId.hashCode());
- result = prime * result + ((asn1 == null) ? 0 : asn1.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- OdeMsgMetadata other = (OdeMsgMetadata) obj;
- if (odeReceivedAt == null) {
- if (other.odeReceivedAt != null)
- return false;
- } else if (!odeReceivedAt.equals(other.odeReceivedAt))
- return false;
- if (payloadType == null) {
- if (other.payloadType != null)
- return false;
- } else if (!payloadType.equals(other.payloadType))
- return false;
- if (recordGeneratedAt == null) {
- if (other.recordGeneratedAt != null)
- return false;
- } else if (!recordGeneratedAt.equals(other.recordGeneratedAt))
- return false;
- if (recordGeneratedBy != other.recordGeneratedBy)
- return false;
- if (sanitized != other.sanitized)
- return false;
- if (schemaVersion != other.schemaVersion)
- return false;
- if (serialId == null) {
- if (other.serialId != null)
- return false;
- } else if (!serialId.equals(other.serialId))
- return false;
- if (asn1 == null) {
- if (other.asn1 != null)
- return false;
- } else if (!asn1.equals(other.asn1))
- return false;
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((odeReceivedAt == null) ? 0 : odeReceivedAt.hashCode());
+ result = prime * result + ((payloadType == null) ? 0 : payloadType.hashCode());
+ result = prime * result + ((recordGeneratedAt == null) ? 0 : recordGeneratedAt.hashCode());
+ result = prime * result + ((recordGeneratedBy == null) ? 0 : recordGeneratedBy.hashCode());
+ result = prime * result + (sanitized ? 1231 : 1237);
+ result = prime * result + schemaVersion;
+ result = prime * result + ((serialId == null) ? 0 : serialId.hashCode());
+ result = prime * result + ((asn1 == null) ? 0 : asn1.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
return true;
- }
+ }
+
+ if (obj == null) {
+ return false;
+ }
+
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+
+ OdeMsgMetadata other = (OdeMsgMetadata) obj;
+ if (odeReceivedAt == null) {
+ if (other.odeReceivedAt != null) {
+ return false;
+ }
+ } else if (!odeReceivedAt.equals(other.odeReceivedAt)) {
+ return false;
+ }
+
+ if (payloadType == null) {
+ if (other.payloadType != null) {
+ return false;
+ }
+ } else if (!payloadType.equals(other.payloadType)) {
+ return false;
+ }
+
+ if (recordGeneratedAt == null) {
+ if (other.recordGeneratedAt != null) {
+ return false;
+ }
+ } else if (!recordGeneratedAt.equals(other.recordGeneratedAt)) {
+ return false;
+ }
+
+ if (recordGeneratedBy != other.recordGeneratedBy) {
+ return false;
+ }
+
+ if (sanitized != other.sanitized) {
+ return false;
+ }
+
+ if (schemaVersion != other.schemaVersion) {
+ return false;
+ }
+
+ if (serialId == null) {
+ if (other.serialId != null) {
+ return false;
+ }
+ } else if (!serialId.equals(other.serialId)) {
+ return false;
+ }
+
+ if (asn1 == null) {
+ if (other.asn1 != null) {
+ return false;
+ }
+ } else if (!asn1.equals(other.asn1)) {
+ return false;
+ }
+
+ return true;
+ }
}
diff --git a/jpo-ode-core/src/main/resources/schemas/schema-bsm.json b/jpo-ode-core/src/main/resources/schemas/schema-bsm.json
index d4b12e89d..89187c143 100644
--- a/jpo-ode-core/src/main/resources/schemas/schema-bsm.json
+++ b/jpo-ode-core/src/main/resources/schemas/schema-bsm.json
@@ -155,7 +155,7 @@
"type": "boolean"
},
"schemaVersion": {
- "const": 7,
+ "const": 8,
"type": "integer"
},
"securityResultCode": {
diff --git a/jpo-ode-core/src/main/resources/schemas/schema-map.json b/jpo-ode-core/src/main/resources/schemas/schema-map.json
index 89c102e49..ec88eeac1 100644
--- a/jpo-ode-core/src/main/resources/schemas/schema-map.json
+++ b/jpo-ode-core/src/main/resources/schemas/schema-map.json
@@ -72,7 +72,7 @@
"type": "boolean"
},
"schemaVersion": {
- "const": 7,
+ "const": 8,
"type": "integer"
},
"securityResultCode": {
diff --git a/jpo-ode-core/src/main/resources/schemas/schema-psm.json b/jpo-ode-core/src/main/resources/schemas/schema-psm.json
index 6b336cf5d..08f3cf469 100644
--- a/jpo-ode-core/src/main/resources/schemas/schema-psm.json
+++ b/jpo-ode-core/src/main/resources/schemas/schema-psm.json
@@ -85,7 +85,7 @@
"type": "string"
},
"schemaVersion": {
- "const": 7,
+ "const": 8,
"type": "integer"
},
"maxDurationTime": {
diff --git a/jpo-ode-core/src/main/resources/schemas/schema-spat.json b/jpo-ode-core/src/main/resources/schemas/schema-spat.json
index 13d5e62a1..70b0bbdd3 100644
--- a/jpo-ode-core/src/main/resources/schemas/schema-spat.json
+++ b/jpo-ode-core/src/main/resources/schemas/schema-spat.json
@@ -214,7 +214,7 @@
},
"schemaVersion": {
"type": "integer",
- "const": 7
+ "const": 8
},
"maxDurationTime": {
"type": [
diff --git a/jpo-ode-core/src/main/resources/schemas/schema-srm.json b/jpo-ode-core/src/main/resources/schemas/schema-srm.json
index 8ea7ec55c..bfe9b38fd 100644
--- a/jpo-ode-core/src/main/resources/schemas/schema-srm.json
+++ b/jpo-ode-core/src/main/resources/schemas/schema-srm.json
@@ -71,7 +71,7 @@
"type": "string"
},
"schemaVersion": {
- "const": 7,
+ "const": 8,
"type": "integer"
},
"maxDurationTime": {
diff --git a/jpo-ode-core/src/main/resources/schemas/schema-ssm.json b/jpo-ode-core/src/main/resources/schemas/schema-ssm.json
index c3e030551..710234c76 100644
--- a/jpo-ode-core/src/main/resources/schemas/schema-ssm.json
+++ b/jpo-ode-core/src/main/resources/schemas/schema-ssm.json
@@ -77,7 +77,7 @@
"type": "string"
},
"schemaVersion": {
- "const": 7,
+ "const": 8,
"type": "integer"
},
"maxDurationTime": {
diff --git a/jpo-ode-core/src/main/resources/schemas/schema-tim.json b/jpo-ode-core/src/main/resources/schemas/schema-tim.json
index 592a94c4b..8f1eb4b7f 100644
--- a/jpo-ode-core/src/main/resources/schemas/schema-tim.json
+++ b/jpo-ode-core/src/main/resources/schemas/schema-tim.json
@@ -60,7 +60,8 @@
"type": "boolean"
},
"schemaVersion": {
- "type": "number"
+ "const": 8,
+ "type": "integer"
},
"securityResultCode": {
"type": "string"
diff --git a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeBsmDataTest.java b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeBsmDataTest.java
index 1f586581b..6bff0e2ff 100644
--- a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeBsmDataTest.java
+++ b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeBsmDataTest.java
@@ -17,7 +17,7 @@
import us.dot.its.jpo.ode.util.JsonUtils;
public class OdeBsmDataTest {
- private static final String SCHEMA_VERSION = "7";
+ private static final String SCHEMA_VERSION = "8";
private static final String ASN1_STRING = "0022e12d18466c65c1493800000e00e4616183e85a8f0100c000038081bc001480b8494c4c950cd8cde6e9651116579f22a424dd78fffff00761e4fd7eb7d07f7fff80005f11d1020214c1c0ffc7c016aff4017a0ff65403b0fd204c20ffccc04f8fe40c420ffe6404cefe60e9a10133408fcfde1438103ab4138f00e1eec1048ec160103e237410445c171104e26bc103dc4154305c2c84103b1c1c8f0a82f42103f34262d1123198103dac25fb12034ce10381c259f12038ca103574251b10e3b2210324c23ad0f23d8efffe0000209340d10000004264bf00";
private static final String bsmTxJson = String.format("{\"metadata\":{\"bsmSource\":\"RV\",\"logFileName\":\"\",\"recordType\":\"bsmTx\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"locationData\":{\"latitude\":\"\",\"longitude\":\"\",\"elevation\":\"\",\"speed\":\"\",\"heading\":\"\"},\"rxSource\":\"RV\"},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeBsmPayload\",\"serialId\":{\"streamId\":\"504becf3-8e20-49cb-a2d7-25b646c34d0f\",\"bundleSize\":1,\"bundleId\":0,\"recordId\":0,\"serialNumber\":0},\"odeReceivedAt\":\"2022-06-17T19:14:21.223956Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"\",\"sanitized\":false,\"odePacketID\":\"\",\"odeTimStartDateTime\":\"\",\"originIp\":\"10.11.81.12\",\"asn1\":\"%s\"},\"payload\":{\"data\":{\"coreData\":{\"msgCnt\":46,\"id\":\"E6A99808\",\"secMark\":21061,\"position\":{\"latitude\":39.5881304,\"longitude\":-105.0910403,\"elevation\":1692.0},\"accelSet\":{\"accelLong\":-0.07,\"accelYaw\":-0.09},\"accuracy\":{\"semiMajor\":2.0,\"semiMinor\":2.0,\"orientation\":44.49530799},\"transmission\":\"UNAVAILABLE\",\"speed\":22.62,\"heading\":169.3,\"brakes\":{\"wheelBrakes\":{\"leftFront\":false,\"rightFront\":false,\"unavailable\":true,\"leftRear\":false,\"rightRear\":false},\"traction\":\"unavailable\",\"abs\":\"off\",\"scs\":\"unavailable\",\"brakeBoost\":\"unavailable\",\"auxBrakes\":\"unavailable\"},\"size\":{\"width\":180,\"length\":480}},\"partII\":[{\"id\":\"VehicleSafetyExtensions\",\"value\":{\"pathHistory\":{\"crumbData\":[{\"elevationOffset\":0.8,\"latOffset\":-0.0001802,\"lonOffset\":0.0000434,\"timeOffset\":0.89},{\"elevationOffset\":4.5,\"latOffset\":-0.0011801,\"lonOffset\":0.0002357,\"timeOffset\":5.7},{\"elevationOffset\":9.3,\"latOffset\":-0.0023623,\"lonOffset\":0.0003881,\"timeOffset\":11.1}]},\"pathPrediction\":{\"confidence\":70.0,\"radiusOfCurve\":0.0}}}]},\"dataType\":\"us.dot.its.jpo.ode.plugin.j2735.J2735Bsm\"}}", SCHEMA_VERSION, ASN1_STRING);
diff --git a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeMapDataTest.java b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeMapDataTest.java
index eda1eabf9..f9155580a 100644
--- a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeMapDataTest.java
+++ b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeMapDataTest.java
@@ -13,7 +13,7 @@
import us.dot.its.jpo.ode.util.JsonUtils;
public class OdeMapDataTest {
- private static final String SCHEMA_VERSION = "7";
+ private static final String SCHEMA_VERSION = "8";
private static final String ASN1_STRING = "001283c138003000205e9c014d3eab092ca624b5518202dc3658042800000400023622c60ca009f66d48abfaf81388d8ad18070027d9b2ffcfe9804f13667b1ffd009ec2c76e3ffc82c4e0001004b00c5000000800066c4574101813ecd8b757fae027d9b30e6ff5604ec363561fe7809ec6cd69bfec813c4d8a617fc9027d9b2147008604fb163666000016250000802580228000001000096229e1309b51a6fe4204dd361cf1fe5009f6018e1000096020a00000080004d88a57f84027d9b3827002804ec36087600a009f62c289407282c310001c0440188800000006c46dbe02813ec5816d800710052200000001b11b6fad404fb16054a0000401c8800000006c47b3d24813ec5816d801b100c4200000000af890f12c580007e87100d4200000008af4c0f12c580077e7a2c0004000160002001cb028d000000800052c160bc40b5fffd8a9409d86bfebb5b40141457fef53b76c008b467014145800080002bffcbffc82c6a0001804b024d000000800036c2213c3b013ecd80096d64027d9affd8cdfc04f635ff7983bc09f66c0082aa2014280b1b80006012c0b3400000100004b02bcf0f6d7fe065d602788b0138eb900b1240001012c083400000080009b0c2af0b804fb15fe6de171afff6c63e04ec15fe1de670060e40002581ea8000004000135da6df0180a0a6adc2c00d0143cd51897fda028c8abb25001a0b0680008012c105400000200009aedbefae005053540ee003c0a326a9cf3fed8143c5667780010582c0004009608aa00000080004d76de7ee402829aba88ffdc050f354525fff80a322bcf23fa602c690000c04b0395000000200016bb4fbd4e01414d3215800802940ab108fff2030d2000110126200000001aee5103be050a15f6f1ffc8404d8800000006bb97c18e0142857dfa800010146200000001aee89099a050a15f8720000b05dd000000800046be3743b781428d80e1b00002879b00514b4404f63600827d8c09e22c000400015ffe6007016190000402582ce8000004000135ecee1de80a146c02e54758143cd8059ad3e027b1b00613dd004f102c360000804b055d000000200046bcc7c3c781428d80108c6e02829b002b2ece050a16019a4b29b00ab5c3604f136004e410409ec018a10000960c3a00000080004d7de9878602851b003923cc05053601623b440a0a6bfb8c3a5014140b0640005012c197400000100005afe570ef2050a36003a47c80a0a6bfd2c45f014140b054000501101a8200000001b05a90edc050535ffe605800a0a101b8200000001b08a30ec0050535ffe605300a0a101c8200000005b0c6f0ea4050515ffca0568b0001000e";
final String json = String.format("{\"metadata\":{\"logFileName\":\"\",\"recordType\":\"mapTx\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"locationData\":null,\"rxSource\":\"NA\"},\"encodings\":null,\"payloadType\":\"us.dot.its.jpo.ode.model.OdeMapPayload\",\"serialId\":{\"streamId\":\"18d7c2e0-9158-4456-916d-5cd4b080d290\",\"bundleSize\":1,\"bundleId\":0,\"recordId\":0,\"serialNumber\":0},\"odeReceivedAt\":\"2022-06-17T19:02:13.083984Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"\",\"recordGeneratedBy\":null,\"sanitized\":false,\"odePacketID\":\"\",\"odeTimStartDateTime\":\"\",\"mapSource\":\"RSU\",\"originIp\":\"10.11.81.25\",\"asn1\":\"%s\"},\"payload\":{\"data\":{\"timeStamp\":null,\"msgIssueRevision\":2,\"layerType\":\"intersectionData\",\"layerID\":0,\"intersections\":null,\"roadSegments\":null,\"dataParameters\":null,\"restrictionList\":null},\"dataType\":\"us.dot.its.jpo.ode.plugin.j2735.J2735MAP\"}}",SCHEMA_VERSION,ASN1_STRING);
diff --git a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdePsmDataTest.java b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdePsmDataTest.java
index 6dd122d4d..80e2231db 100644
--- a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdePsmDataTest.java
+++ b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdePsmDataTest.java
@@ -13,7 +13,7 @@
import us.dot.its.jpo.ode.util.JsonUtils;
public class OdePsmDataTest {
- private static final String SCHEMA_VERSION = "7";
+ private static final String SCHEMA_VERSION = "8";
private static final String ASN1_STRING = "011d0000201a0000021bd86891de75f84da101c13f042e2214141fff00022c2000270000000163b2cc7986010000";
final String json = String.format("{\"metadata\":{\"logFileName\":\"\",\"maxDurationTime\":0,\"odePacketID\":\"\",\"odeReceivedAt\":\"2023-09-21T15:30:14.926500Z\",\"odeTimStartDateTime\":\"\",\"originIp\":\"192.168.16.1\",\"payloadType\":\"us.dot.its.jpo.ode.model.OdePsmPayload\",\"psmSource\":\"RSU\",\"receivedMessageDetails\":{\"rxSource\":\"NA\"},\"recordGeneratedAt\":\"\",\"recordType\":\"psmTx\",\"sanitized\":false,\"schemaVersion\":%s,\"securityResultCode\":\"success\",\"serialId\":{\"bundleId\":0,\"bundleSize\":1,\"recordId\":0,\"serialNumber\":0,\"streamId\":\"06cc1c17-e331-4806-a8ee-456b98c6517b\"},\"asn1\":\"%s\"},\"payload\":{\"data\":{\"accuracy\":{\"orientation\":44.9951935489,\"semiMajor\":1.0,\"semiMinor\":1.0},\"basicType\":\"aPEDESTRIAN\",\"heading\":8898,\"id\":\"24779D7E\",\"msgCnt\":26,\"position\":{\"latitude\":40.2397377,\"longitude\":-74.2761437},\"secMark\":3564,\"speed\":0},\"dataType\":\"us.dot.its.jpo.ode.plugin.j2735.J2735PSM\"}}", SCHEMA_VERSION, ASN1_STRING);
diff --git a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeSpatDataTest.java b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeSpatDataTest.java
index 23e8bdff3..0de3c7881 100644
--- a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeSpatDataTest.java
+++ b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeSpatDataTest.java
@@ -13,7 +13,7 @@
import us.dot.its.jpo.ode.util.JsonUtils;
public class OdeSpatDataTest {
- private static final String SCHEMA_VERSION = "7";
+ private static final String SCHEMA_VERSION = "8";
private static final String ASN1_STRING = "001338000817a780000089680500204642b342b34802021a15a955a940181190acd0acd20100868555c555c00104342aae2aae002821a155715570";
final String json = String.format("{\"metadata\":{\"logFileName\":\"\",\"recordType\":\"spatTx\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"rxSource\":\"NA\"},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeSpatPayload\",\"serialId\":{\"streamId\":\"ed008249-0a8d-47f2-a526-ffd8c30b9810\",\"bundleSize\":1,\"bundleId\":0,\"recordId\":0,\"serialNumber\":0},\"odeReceivedAt\":\"2022-12-24T01:49:54.160478Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"\",\"sanitized\":false,\"odePacketID\":\"\",\"odeTimStartDateTime\":\"\",\"spatSource\":\"V2X\",\"originIp\":\"172.18.0.1\",\"isCertPresent\":false,\"asn1\":\"%s\"},\"payload\":{\"data\":{\"intersectionStateList\":{\"intersectionStatelist\":[{\"id\":{\"id\":12111},\"revision\":0,\"status\":{\"failureFlash\":false,\"noValidSPATisAvailableAtThisTime\":false,\"fixedTimeOperation\":false,\"standbyOperation\":false,\"trafficDependentOperation\":false,\"manualControlIsEnabled\":false,\"off\":false,\"stopTimeIsActivated\":false,\"recentChangeInMAPassignedLanesIDsUsed\":false,\"recentMAPmessageUpdate\":false,\"failureMode\":false,\"noValidMAPisAvailableAtThisTime\":false,\"signalPriorityIsActive\":false,\"preemptIsActive\":false},\"timeStamp\":35176,\"states\":{\"movementList\":[{\"signalGroup\":2,\"state_time_speed\":{\"movementEventList\":[{\"eventState\":\"PROTECTED_MOVEMENT_ALLOWED\",\"timing\":{\"minEndTime\":22120,\"maxEndTime\":22121}}]}},{\"signalGroup\":4,\"state_time_speed\":{\"movementEventList\":[{\"eventState\":\"STOP_AND_REMAIN\",\"timing\":{\"minEndTime\":22181,\"maxEndTime\":22181}}]}},{\"signalGroup\":6,\"state_time_speed\":{\"movementEventList\":[{\"eventState\":\"PROTECTED_MOVEMENT_ALLOWED\",\"timing\":{\"minEndTime\":22120,\"maxEndTime\":22121}}]}},{\"signalGroup\":8,\"state_time_speed\":{\"movementEventList\":[{\"eventState\":\"STOP_AND_REMAIN\",\"timing\":{\"minEndTime\":21852,\"maxEndTime\":21852}}]}},{\"signalGroup\":1,\"state_time_speed\":{\"movementEventList\":[{\"eventState\":\"STOP_AND_REMAIN\",\"timing\":{\"minEndTime\":21852,\"maxEndTime\":21852}}]}},{\"signalGroup\":5,\"state_time_speed\":{\"movementEventList\":[{\"eventState\":\"STOP_AND_REMAIN\",\"timing\":{\"minEndTime\":21852,\"maxEndTime\":21852}}]}}]}}]}},\"dataType\":\"us.dot.its.jpo.ode.plugin.j2735.J2735SPAT\"}}", SCHEMA_VERSION, ASN1_STRING);
diff --git a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeSrmDataTest.java b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeSrmDataTest.java
index f86706f81..704d9c3e6 100644
--- a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeSrmDataTest.java
+++ b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeSrmDataTest.java
@@ -13,7 +13,7 @@
import us.dot.its.jpo.ode.util.JsonUtils;
public class OdeSrmDataTest {
- private static final String SCHEMA_VERSION = "7";
+ private static final String SCHEMA_VERSION = "8";
private static final String ASN1_STRING = "001d2130000010090bd341080d00855c6c0c6899853000a534f7c24cb29897694759b7c0";
final String json = String.format("{\"metadata\":{\"logFileName\":\"\",\"recordType\":\"srmTx\",\"securityResultCode\":null,\"receivedMessageDetails\":{\"locationData\":null,\"rxSource\":\"NA\"},\"encodings\":null,\"payloadType\":\"us.dot.its.jpo.ode.model.OdeSrmPayload\",\"serialId\":{\"streamId\":\"c3ff825f-ed1f-4411-a12e-1ba889f56483\",\"bundleSize\":1,\"bundleId\":0,\"recordId\":0,\"serialNumber\":0},\"odeReceivedAt\":\"2022-12-13T18:58:53.541816Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"\",\"recordGeneratedBy\":null,\"sanitized\":false,\"odePacketID\":\"\",\"odeTimStartDateTime\":\"\",\"originIp\":\"172.21.0.1\",\"srmSource\":\"RSU\",\"asn1\":\"%s\"},\"payload\":{\"data\":{\"timeStamp\":null,\"second\":0,\"sequenceNumber\":1,\"requests\":{\"signalRequestPackage\":[{\"request\":{\"id\":{\"region\":null,\"id\":12109},\"requestID\":4,\"requestType\":\"priorityRequest\",\"inBoundLane\":{\"lane\":13,\"approach\":null,\"connection\":null},\"outBoundLane\":{\"lane\":4,\"approach\":null,\"connection\":null}},\"minute\":null,\"second\":null,\"duration\":10979}]},\"requestor\":{\"id\":{\"entityID\":null,\"stationID\":2366845094},\"type\":{\"role\":\"publicTransport\",\"subrole\":null,\"request\":null,\"iso3883\":null,\"hpmsType\":null},\"position\":{\"position\":{\"latitude\":39.5904915,\"longitude\":-105.0913829,\"elevation\":1685.4},\"heading\":175.9000,\"speed\":null},\"name\":null,\"routeName\":null,\"transitStatus\":null,\"transitOccupancy\":null,\"transitSchedule\":null}},\"dataType\":\"us.dot.its.jpo.ode.plugin.j2735.J2735SRM\"}}", SCHEMA_VERSION, ASN1_STRING);
diff --git a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeSsmDataTest.java b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeSsmDataTest.java
index cd163307e..04417ce15 100644
--- a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeSsmDataTest.java
+++ b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeSsmDataTest.java
@@ -13,7 +13,7 @@
import us.dot.its.jpo.ode.util.JsonUtils;
public class OdeSsmDataTest {
- private static final String SCHEMA_VERSION = "7";
+ private static final String SCHEMA_VERSION = "8";
private static final String ASN1_STRING = "001e120000000005e9c04071a26614c06000040ba0";
final String json = String.format("{\"metadata\":{\"logFileName\":\"\",\"recordType\":\"ssmTx\",\"securityResultCode\":null,\"receivedMessageDetails\":{\"locationData\":null,\"rxSource\":\"NA\"},\"encodings\":null,\"payloadType\":\"us.dot.its.jpo.ode.model.OdeSsmPayload\",\"serialId\":{\"streamId\":\"b9801eb3-66fb-4d36-ae08-3e8f2bcb2026\",\"bundleSize\":1,\"bundleId\":0,\"recordId\":0,\"serialNumber\":0},\"odeReceivedAt\":\"2022-12-13T19:00:42.326229Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"\",\"recordGeneratedBy\":null,\"sanitized\":false,\"odePacketID\":\"\",\"odeTimStartDateTime\":\"\",\"originIp\":\"172.21.0.1\",\"ssmSource\":\"RSU\",\"asn1\":\"%s\"},\"payload\":{\"data\":{\"timeStamp\":null,\"second\":0,\"sequenceNumber\":null,\"status\":{\"signalStatus\":[{\"sequenceNumber\":0,\"id\":{\"region\":null,\"id\":12110},\"sigStatus\":{\"signalStatusPackage\":[{\"requester\":{\"id\":{\"entityID\":null,\"stationID\":2366845094},\"request\":3,\"sequenceNumber\":0,\"role\":null,\"typeData\":{\"role\":\"publicTransport\",\"subrole\":null,\"request\":null,\"iso3883\":null,\"hpmsType\":null}},\"inboundOn\":{\"lane\":23,\"approach\":null,\"connection\":null},\"outboundOn\":null,\"minute\":null,\"second\":null,\"duration\":null,\"status\":\"granted\"}]}}]}},\"dataType\":\"us.dot.its.jpo.ode.plugin.j2735.J2735SSM\"}}", SCHEMA_VERSION, ASN1_STRING);
diff --git a/jpo-ode-core/src/test/resources/CVMessages/TIM_test.json b/jpo-ode-core/src/test/resources/CVMessages/TIM_test.json
index f51802404..f284918f4 100644
--- a/jpo-ode-core/src/test/resources/CVMessages/TIM_test.json
+++ b/jpo-ode-core/src/test/resources/CVMessages/TIM_test.json
@@ -1 +1 @@
-{"metadata":{"logFileName":"","recordType":"timMsg","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeTimPayload","serialId":{"streamId":"8af76b08-89bf-422e-b674-0f0ee065666f","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-06T10:39:42.806Z","schemaVersion":7,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"RSU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"001F830A752544F94F4354455420535452124C16B4FA27D64F431A94AC28F232828FF05260B5CA82DDFB227A687CA09CFDE87C4B0ED1C8800280204A865BB2C265D1E4F5D3A877C07F8093FC3D820142C4EB15C7AC09CE3356F45A90200118358186A148D3F13220B227C18569099E2D1232A28B5F2579208E479151D45D438BEFF80DB0C08CED3F45A50103103102088C1A44A152889AFA7F62218940E831C20F35EA1232777BF31146022C71408809E5EB7BA1D52835D8A040D83367520C4AB397658B07E21393A041060D049E825C15FCF56AFF05260B58E40024126EDBD550F6D519709FDE4CF880201602008CEE4ACA5DE274975513846DD7AD77F839305AD383175AA8A497954C284E668FFE4F0710D80802810030EAC2535BCD6AE047899B1CE75405C8E6936419C672A85F8900C50B428CA3188CA4E1101B485DEE47349B20CE339542FC5654852A1484C9C0A0B6DEBB81DB91CD26C8338CE550BF31188B6041101F08134A407147800DFCF8E5FE0A4C16B2BF3A3A253269429B3B8198F71B71F8C902002C008005DD1174A86649950714134C54C82F4C0012B9C982D69B5BEADBF1C99BEFD660C6A4200201A7A1ECCA540B60B0AA27F8093AC4BF831472A28ECD2E0203575E8F15F5000818817507D68CC505CF4497E8219CA2288A03C81503120AEB852B7507D68CC505CF4497E2121346A090E8061520293D37841E41530E9BF4214E93C326CF8502830F0C081FF9D71FE064C1BAA780A12351A24D300B6FD25F085703880101600022BE028AC1105C1D5CB0F0E001A42F7F849305AD3E9B408EB43464DC861E6234918C8667857300022C400087E511D765E294CF3507435289D7EBBC2849A4982D69F494982D524C16B4FA36827A1D6C31DFDBE55A627F819307EA49F19AA77C773D119EA690CE094883E0100588001E1832A00950E876B85589726EF3EDFE0E4C16B4F8EB0ECDE8A23F3F9E839831CE316170D2000858080178162BF959EDACD55B2CD3721A1EDFE064C1AEC1B3F02442FEC92E119DFAF82D6EC3884002C0004A9FEDD617613A307F791C6D74FB1A27C451F6139305AD394982D582367260B5A600","originIp":"172.18.0.1"},"payload":{"dataType":"us.dot.its.jpo.ode.plugin.j2735.travelerinformation.TravelerInformation","data":{"msgCnt":82,"timeStamp":345337,"packetID":"4F4354455420535452","urlB":"IA5St","dataFrames":[{"doNotUse1":0,"frameType":"commercialSignage","msgId":{"furtherInfoID":"4F43"},"startYear":425,"startTime":306216,"durationTime":31001,"priority":2,"doNotUse2":0,"regions":[{"name":"IA5","id":{"region":38149,"id":48118},"anchor":{"lat":-567387419,"elevation":53848,"long":-1717691068},"laneWidth":15175,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":true,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"oldRegion":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor50000meters","area":{"circle":{"center":{"lat":-686654332,"elevation":38736,"long":1616508908},"radius":3832,"units":"centimeter"}}}}},{"name":"I","id":{"region":64573,"id":33281},"anchor":{"lat":-714161321,"elevation":48475,"long":-1285139143},"laneWidth":26805,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"path":{"scale":1,"offset":{"ll":{"nodes":[{"delta":{"node-LL4":{"lon":-127947,"lat":-120550}},"attributes":{"localNode":["downstreamStopLine","closedToTraffic"],"disabled":["adjacentParkingOnLeft","transitStopOnLeft","parallelParking","mergingLaneLeft","curbOnLeft"],"enabled":["midBlockCurbPresent","transitStopInLane","taperToCenterLine","lowCurbsPresent"],"data":[{"pathEndPointAngle":-8,"laneCrownPointLeft":35,"laneAngle":62,"speedLimits":[{"type":"truckMaxSpeed","speed":5822},{"type":"truckNightMaxSpeed","speed":3017}]}],"dWidth":162,"dElevation":424}},{"delta":{"node-LatLon":{"lon":-998896073,"lat":735850714}},"attributes":{"localNode":["hydrantPresent","safeIsland","closedToTraffic","stopLine","reserved"],"disabled":["loadingzoneOnRight","adjacentParkingOnRight","headInParking"],"enabled":["costToPark","mergingLaneLeft","midBlockCurbPresent","unEvenPavementPresent","curbOnLeft"],"data":[{"laneAngle":-82,"speedLimits":[{"type":"truckMinSpeed","speed":2097}]}],"dWidth":264,"dElevation":-269}},{"delta":{"node-LL4":{"lon":86161,"lat":20207}},"attributes":{"localNode":["roundedCapStyleA","divergePoint","roundedCapStyleB","reserved"],"disabled":["adjacentParkingOnLeft","adjacentBikeLaneOnRight"],"enabled":["headInParking","timeRestrictionsOnParking"],"data":[{"laneCrownPointCenter":-68}],"dWidth":245,"dElevation":247}},{"delta":{"node-LL1":{"lon":-172,"lat":525}},"attributes":{"localNode":["closedToTraffic","roundedCapStyleA"],"disabled":["partialCurbIntrusion"],"enabled":["adaptiveTimingPresent"],"dWidth":206,"dElevation":144}},{"delta":{"node-LL5":{"lon":-873243,"lat":1464496}},"attributes":{"localNode":["stopLine","downstreamStartNode"],"disabled":["taperToRight","doNotBlock"],"enabled":["bikeBoxInFront"],"data":[{"pathEndPointAngle":25,"laneAngle":137}],"dWidth":414,"dElevation":181}}]}}}}},{"name":"IA5","id":{"region":7296,"id":1154},"anchor":{"lat":29950376,"elevation":16367,"long":270580409},"laneWidth":4926,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor10000meters","laneWidth":26482,"circle":{"center":{"lat":598135630,"elevation":32186,"long":664850545},"radius":3930,"units":"mile"}}}},{"name":"IA5S","id":{"region":1582,"id":46417},"anchor":{"lat":-283655839,"elevation":57976,"long":-685153664},"laneWidth":7235,"directionality":"forward","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":true,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"oldRegion":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor1000meters","area":{"shapePointSet":{"anchor":{"lat":581272185,"elevation":9059,"long":1108489970},"laneWidth":20085,"directionality":"forward","nodeList":{"nodes":[{"delta":{"node-LatLon":{"lon":-605370079,"lat":829743521}},"attributes":{"localNode":["mergePoint","reserved"],"disabled":["turnOutPointOnRight","adjacentParkingOnLeft","freeParking","costToPark"],"enabled":["costToPark","adjacentParkingOnRight"],"data":[{"laneCrownPointRight":4,"laneAngle":-167}],"dWidth":144,"dElevation":239}},{"delta":{"node-LatLon":{"lon":-605370079,"lat":829743521}},"attributes":{"localNode":["hydrantPresent","divergePoint"],"disabled":["freeParking","unEvenPavementPresent"],"enabled":["freeParking","adaptiveTimingPresent","taperToLeft"],"data":[{"speedLimits":[{"type":"vehiclesWithTrailersMaxSpeed","speed":3517}]}],"dWidth":-36,"dElevation":-453}},{"delta":{"node-LatLon":{"lon":-605370079,"lat":829743521}},"attributes":{"localNode":["roundedCapStyleA","downstreamStopLine","mergePoint","hydrantPresent"],"disabled":["doNotBlock","whiteLine","bikeBoxInFront","sharedBikeLane"],"enabled":["bikeBoxInFront","transitStopInLane","unEvenPavementPresent","adjacentBikeLaneOnRight"],"data":[{"pathEndPointAngle":-95,"laneAngle":60}],"dWidth":463,"dElevation":57}}]}}}}}},{"name":"IA5","id":{"region":11251,"id":41890},"anchor":{"lat":385181606,"elevation":46812,"long":1670812734},"laneWidth":16153,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useInstantlyOnly","laneWidth":6004,"circle":{"center":{"lat":-509239964,"elevation":9413,"long":772185922},"radius":1224,"units":"cm2-5"}}}}],"doNotUse3":0,"doNotUse4":0,"content":{"exitService":[{"item":{"itis":599}}]},"url":"IA5S"},{"doNotUse1":0,"frameType":"commercialSignage","msgId":{"roadSignID":{"position":{"lat":634998835,"elevation":50308,"long":313588249},"viewAngle":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"mutcdCode":"maintenance","crc":"4F43"}},"startYear":3481,"startTime":305174,"durationTime":24752,"priority":5,"doNotUse2":0,"regions":[{"name":"I","id":{"region":44107,"id":63537},"anchor":{"lat":-419185997,"elevation":51107,"long":-533287210},"laneWidth":25278,"directionality":"reverse","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":true,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"path":{"scale":8,"offset":{"ll":{"nodes":[{"delta":{"node-LatLon":{"lon":900792217,"lat":448269129}},"attributes":{"localNode":["roundedCapStyleA","roundedCapStyleB","downstreamStartNode","divergePoint"],"disabled":["timeRestrictionsOnParking","sharedWithTrackedVehicle"],"enabled":["taperToCenterLine"],"data":[{"pathEndPointAngle":24,"laneCrownPointCenter":9}],"dWidth":225,"dElevation":-213}},{"delta":{"node-LatLon":{"lon":900792217,"lat":448269129}},"attributes":{"localNode":["stopLine","mergePoint"],"disabled":["rfSignalRequestPresent"],"enabled":["turnOutPointOnLeft","loadingzoneOnLeft","headInParking","adjacentParkingOnRight","safeIsland"],"data":[{"pathEndPointAngle":-109,"laneCrownPointRight":83}],"dWidth":-31,"dElevation":-482}},{"delta":{"node-LL1":{"lon":-1370,"lat":-1581}},"attributes":{"localNode":["mergePoint","divergePoint","downstreamStartNode","safeIsland"],"disabled":["adaptiveTimingPresent","partialCurbIntrusion","parallelParking","curbOnLeft","doNotBlock"],"enabled":["curbOnRight","sharedBikeLane"],"data":[{"laneCrownPointLeft":-121}],"dWidth":505,"dElevation":348}}]}}}}},{"name":"IA","id":{"region":30031,"id":322},"anchor":{"lat":-454547095,"elevation":59458,"long":353479827},"laneWidth":23566,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":true,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":true,"from337-5to360-0degrees":false},"extent":"useFor10meters","laneWidth":24321,"circle":{"center":{"lat":-539150408,"elevation":45059,"long":-814772254},"radius":1157,"units":"mile"}}}},{"name":"IA5St","id":{"region":46088,"id":60227},"anchor":{"lat":-476956537,"elevation":4505,"long":759386724},"laneWidth":28846,"directionality":"forward","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":true,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":true,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor100meters","laneWidth":8084,"circle":{"center":{"lat":-405703383,"elevation":9512,"long":-508985739},"radius":2519,"units":"mile"}}}}],"doNotUse3":0,"doNotUse4":0,"content":{"exitService":[{"item":{"text":"I"}},{"item":{"text":"IA5St"}},{"item":{"text":"IA5"}}]},"url":"IA5St"},{"doNotUse1":0,"frameType":"unknown","msgId":{"furtherInfoID":"4F43"},"startYear":2776,"startTime":408571,"durationTime":15957,"priority":5,"doNotUse2":0,"regions":[{"name":"IA","id":{"region":62756,"id":63693},"anchor":{"lat":424936826,"elevation":35858,"long":-1208779998},"laneWidth":18563,"directionality":"both","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":true,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":true,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor5000meters","laneWidth":17158,"circle":{"center":{"lat":442482548,"elevation":43319,"long":-804103995},"radius":1951,"units":"meter"}}}},{"name":"IA5S","id":{"region":51032,"id":30319},"anchor":{"lat":-559743245,"elevation":46636,"long":1697199162},"laneWidth":5901,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":true,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor500meters","laneWidth":28716,"circle":{"center":{"lat":707126893,"elevation":35728,"long":-77527193},"radius":3343,"units":"meter"}}}},{"name":"IA","id":{"region":23939,"id":26592},"anchor":{"lat":-328004279,"elevation":45419,"long":88284632},"laneWidth":15118,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":true,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"oldRegion":{"direction":{"from000-0to022-5degrees":true,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor50000meters","area":{"circle":{"center":{"lat":171361070,"elevation":57912,"long":1462406911},"radius":3502,"units":"kilometer"}}}}}],"doNotUse3":0,"doNotUse4":0,"content":{"speedLimit":[{"item":{"itis":40721}},{"item":{"itis":36784}},{"item":{"text":"IA5S"}},{"item":{"text":"IA5"}},{"item":{"itis":49435}}]},"url":"IA5S"}]}}}
\ No newline at end of file
+{"metadata":{"logFileName":"","recordType":"timMsg","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeTimPayload","serialId":{"streamId":"8af76b08-89bf-422e-b674-0f0ee065666f","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-06T10:39:42.806Z","schemaVersion":8,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"RSU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"001F830A752544F94F4354455420535452124C16B4FA27D64F431A94AC28F232828FF05260B5CA82DDFB227A687CA09CFDE87C4B0ED1C8800280204A865BB2C265D1E4F5D3A877C07F8093FC3D820142C4EB15C7AC09CE3356F45A90200118358186A148D3F13220B227C18569099E2D1232A28B5F2579208E479151D45D438BEFF80DB0C08CED3F45A50103103102088C1A44A152889AFA7F62218940E831C20F35EA1232777BF31146022C71408809E5EB7BA1D52835D8A040D83367520C4AB397658B07E21393A041060D049E825C15FCF56AFF05260B58E40024126EDBD550F6D519709FDE4CF880201602008CEE4ACA5DE274975513846DD7AD77F839305AD383175AA8A497954C284E668FFE4F0710D80802810030EAC2535BCD6AE047899B1CE75405C8E6936419C672A85F8900C50B428CA3188CA4E1101B485DEE47349B20CE339542FC5654852A1484C9C0A0B6DEBB81DB91CD26C8338CE550BF31188B6041101F08134A407147800DFCF8E5FE0A4C16B2BF3A3A253269429B3B8198F71B71F8C902002C008005DD1174A86649950714134C54C82F4C0012B9C982D69B5BEADBF1C99BEFD660C6A4200201A7A1ECCA540B60B0AA27F8093AC4BF831472A28ECD2E0203575E8F15F5000818817507D68CC505CF4497E8219CA2288A03C81503120AEB852B7507D68CC505CF4497E2121346A090E8061520293D37841E41530E9BF4214E93C326CF8502830F0C081FF9D71FE064C1BAA780A12351A24D300B6FD25F085703880101600022BE028AC1105C1D5CB0F0E001A42F7F849305AD3E9B408EB43464DC861E6234918C8667857300022C400087E511D765E294CF3507435289D7EBBC2849A4982D69F494982D524C16B4FA36827A1D6C31DFDBE55A627F819307EA49F19AA77C773D119EA690CE094883E0100588001E1832A00950E876B85589726EF3EDFE0E4C16B4F8EB0ECDE8A23F3F9E839831CE316170D2000858080178162BF959EDACD55B2CD3721A1EDFE064C1AEC1B3F02442FEC92E119DFAF82D6EC3884002C0004A9FEDD617613A307F791C6D74FB1A27C451F6139305AD394982D582367260B5A600","originIp":"172.18.0.1"},"payload":{"dataType":"us.dot.its.jpo.ode.plugin.j2735.travelerinformation.TravelerInformation","data":{"msgCnt":82,"timeStamp":345337,"packetID":"4F4354455420535452","urlB":"IA5St","dataFrames":[{"doNotUse1":0,"frameType":"commercialSignage","msgId":{"furtherInfoID":"4F43"},"startYear":425,"startTime":306216,"durationTime":31001,"priority":2,"doNotUse2":0,"regions":[{"name":"IA5","id":{"region":38149,"id":48118},"anchor":{"lat":-567387419,"elevation":53848,"long":-1717691068},"laneWidth":15175,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":true,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"oldRegion":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor50000meters","area":{"circle":{"center":{"lat":-686654332,"elevation":38736,"long":1616508908},"radius":3832,"units":"centimeter"}}}}},{"name":"I","id":{"region":64573,"id":33281},"anchor":{"lat":-714161321,"elevation":48475,"long":-1285139143},"laneWidth":26805,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"path":{"scale":1,"offset":{"ll":{"nodes":[{"delta":{"node-LL4":{"lon":-127947,"lat":-120550}},"attributes":{"localNode":["downstreamStopLine","closedToTraffic"],"disabled":["adjacentParkingOnLeft","transitStopOnLeft","parallelParking","mergingLaneLeft","curbOnLeft"],"enabled":["midBlockCurbPresent","transitStopInLane","taperToCenterLine","lowCurbsPresent"],"data":[{"pathEndPointAngle":-8,"laneCrownPointLeft":35,"laneAngle":62,"speedLimits":[{"type":"truckMaxSpeed","speed":5822},{"type":"truckNightMaxSpeed","speed":3017}]}],"dWidth":162,"dElevation":424}},{"delta":{"node-LatLon":{"lon":-998896073,"lat":735850714}},"attributes":{"localNode":["hydrantPresent","safeIsland","closedToTraffic","stopLine","reserved"],"disabled":["loadingzoneOnRight","adjacentParkingOnRight","headInParking"],"enabled":["costToPark","mergingLaneLeft","midBlockCurbPresent","unEvenPavementPresent","curbOnLeft"],"data":[{"laneAngle":-82,"speedLimits":[{"type":"truckMinSpeed","speed":2097}]}],"dWidth":264,"dElevation":-269}},{"delta":{"node-LL4":{"lon":86161,"lat":20207}},"attributes":{"localNode":["roundedCapStyleA","divergePoint","roundedCapStyleB","reserved"],"disabled":["adjacentParkingOnLeft","adjacentBikeLaneOnRight"],"enabled":["headInParking","timeRestrictionsOnParking"],"data":[{"laneCrownPointCenter":-68}],"dWidth":245,"dElevation":247}},{"delta":{"node-LL1":{"lon":-172,"lat":525}},"attributes":{"localNode":["closedToTraffic","roundedCapStyleA"],"disabled":["partialCurbIntrusion"],"enabled":["adaptiveTimingPresent"],"dWidth":206,"dElevation":144}},{"delta":{"node-LL5":{"lon":-873243,"lat":1464496}},"attributes":{"localNode":["stopLine","downstreamStartNode"],"disabled":["taperToRight","doNotBlock"],"enabled":["bikeBoxInFront"],"data":[{"pathEndPointAngle":25,"laneAngle":137}],"dWidth":414,"dElevation":181}}]}}}}},{"name":"IA5","id":{"region":7296,"id":1154},"anchor":{"lat":29950376,"elevation":16367,"long":270580409},"laneWidth":4926,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor10000meters","laneWidth":26482,"circle":{"center":{"lat":598135630,"elevation":32186,"long":664850545},"radius":3930,"units":"mile"}}}},{"name":"IA5S","id":{"region":1582,"id":46417},"anchor":{"lat":-283655839,"elevation":57976,"long":-685153664},"laneWidth":7235,"directionality":"forward","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":true,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"oldRegion":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor1000meters","area":{"shapePointSet":{"anchor":{"lat":581272185,"elevation":9059,"long":1108489970},"laneWidth":20085,"directionality":"forward","nodeList":{"nodes":[{"delta":{"node-LatLon":{"lon":-605370079,"lat":829743521}},"attributes":{"localNode":["mergePoint","reserved"],"disabled":["turnOutPointOnRight","adjacentParkingOnLeft","freeParking","costToPark"],"enabled":["costToPark","adjacentParkingOnRight"],"data":[{"laneCrownPointRight":4,"laneAngle":-167}],"dWidth":144,"dElevation":239}},{"delta":{"node-LatLon":{"lon":-605370079,"lat":829743521}},"attributes":{"localNode":["hydrantPresent","divergePoint"],"disabled":["freeParking","unEvenPavementPresent"],"enabled":["freeParking","adaptiveTimingPresent","taperToLeft"],"data":[{"speedLimits":[{"type":"vehiclesWithTrailersMaxSpeed","speed":3517}]}],"dWidth":-36,"dElevation":-453}},{"delta":{"node-LatLon":{"lon":-605370079,"lat":829743521}},"attributes":{"localNode":["roundedCapStyleA","downstreamStopLine","mergePoint","hydrantPresent"],"disabled":["doNotBlock","whiteLine","bikeBoxInFront","sharedBikeLane"],"enabled":["bikeBoxInFront","transitStopInLane","unEvenPavementPresent","adjacentBikeLaneOnRight"],"data":[{"pathEndPointAngle":-95,"laneAngle":60}],"dWidth":463,"dElevation":57}}]}}}}}},{"name":"IA5","id":{"region":11251,"id":41890},"anchor":{"lat":385181606,"elevation":46812,"long":1670812734},"laneWidth":16153,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useInstantlyOnly","laneWidth":6004,"circle":{"center":{"lat":-509239964,"elevation":9413,"long":772185922},"radius":1224,"units":"cm2-5"}}}}],"doNotUse3":0,"doNotUse4":0,"content":{"exitService":[{"item":{"itis":599}}]},"url":"IA5S"},{"doNotUse1":0,"frameType":"commercialSignage","msgId":{"roadSignID":{"position":{"lat":634998835,"elevation":50308,"long":313588249},"viewAngle":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"mutcdCode":"maintenance","crc":"4F43"}},"startYear":3481,"startTime":305174,"durationTime":24752,"priority":5,"doNotUse2":0,"regions":[{"name":"I","id":{"region":44107,"id":63537},"anchor":{"lat":-419185997,"elevation":51107,"long":-533287210},"laneWidth":25278,"directionality":"reverse","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":true,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"path":{"scale":8,"offset":{"ll":{"nodes":[{"delta":{"node-LatLon":{"lon":900792217,"lat":448269129}},"attributes":{"localNode":["roundedCapStyleA","roundedCapStyleB","downstreamStartNode","divergePoint"],"disabled":["timeRestrictionsOnParking","sharedWithTrackedVehicle"],"enabled":["taperToCenterLine"],"data":[{"pathEndPointAngle":24,"laneCrownPointCenter":9}],"dWidth":225,"dElevation":-213}},{"delta":{"node-LatLon":{"lon":900792217,"lat":448269129}},"attributes":{"localNode":["stopLine","mergePoint"],"disabled":["rfSignalRequestPresent"],"enabled":["turnOutPointOnLeft","loadingzoneOnLeft","headInParking","adjacentParkingOnRight","safeIsland"],"data":[{"pathEndPointAngle":-109,"laneCrownPointRight":83}],"dWidth":-31,"dElevation":-482}},{"delta":{"node-LL1":{"lon":-1370,"lat":-1581}},"attributes":{"localNode":["mergePoint","divergePoint","downstreamStartNode","safeIsland"],"disabled":["adaptiveTimingPresent","partialCurbIntrusion","parallelParking","curbOnLeft","doNotBlock"],"enabled":["curbOnRight","sharedBikeLane"],"data":[{"laneCrownPointLeft":-121}],"dWidth":505,"dElevation":348}}]}}}}},{"name":"IA","id":{"region":30031,"id":322},"anchor":{"lat":-454547095,"elevation":59458,"long":353479827},"laneWidth":23566,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":true,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":true,"from337-5to360-0degrees":false},"extent":"useFor10meters","laneWidth":24321,"circle":{"center":{"lat":-539150408,"elevation":45059,"long":-814772254},"radius":1157,"units":"mile"}}}},{"name":"IA5St","id":{"region":46088,"id":60227},"anchor":{"lat":-476956537,"elevation":4505,"long":759386724},"laneWidth":28846,"directionality":"forward","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":true,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":true,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor100meters","laneWidth":8084,"circle":{"center":{"lat":-405703383,"elevation":9512,"long":-508985739},"radius":2519,"units":"mile"}}}}],"doNotUse3":0,"doNotUse4":0,"content":{"exitService":[{"item":{"text":"I"}},{"item":{"text":"IA5St"}},{"item":{"text":"IA5"}}]},"url":"IA5St"},{"doNotUse1":0,"frameType":"unknown","msgId":{"furtherInfoID":"4F43"},"startYear":2776,"startTime":408571,"durationTime":15957,"priority":5,"doNotUse2":0,"regions":[{"name":"IA","id":{"region":62756,"id":63693},"anchor":{"lat":424936826,"elevation":35858,"long":-1208779998},"laneWidth":18563,"directionality":"both","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":true,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":true,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor5000meters","laneWidth":17158,"circle":{"center":{"lat":442482548,"elevation":43319,"long":-804103995},"radius":1951,"units":"meter"}}}},{"name":"IA5S","id":{"region":51032,"id":30319},"anchor":{"lat":-559743245,"elevation":46636,"long":1697199162},"laneWidth":5901,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":true,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor500meters","laneWidth":28716,"circle":{"center":{"lat":707126893,"elevation":35728,"long":-77527193},"radius":3343,"units":"meter"}}}},{"name":"IA","id":{"region":23939,"id":26592},"anchor":{"lat":-328004279,"elevation":45419,"long":88284632},"laneWidth":15118,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":true,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"oldRegion":{"direction":{"from000-0to022-5degrees":true,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor50000meters","area":{"circle":{"center":{"lat":171361070,"elevation":57912,"long":1462406911},"radius":3502,"units":"kilometer"}}}}}],"doNotUse3":0,"doNotUse4":0,"content":{"speedLimit":[{"item":{"itis":40721}},{"item":{"itis":36784}},{"item":{"text":"IA5S"}},{"item":{"text":"IA5"}},{"item":{"itis":49435}}]},"url":"IA5S"}]}}}
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/main/resources/application.yaml b/jpo-ode-svcs/src/main/resources/application.yaml
index 938cc5a15..fb6409c00 100644
--- a/jpo-ode-svcs/src/main/resources/application.yaml
+++ b/jpo-ode-svcs/src/main/resources/application.yaml
@@ -18,7 +18,6 @@ spring:
max-file-size: 1MB
max-request-size: 1MB
ode:
- output-schema-version: 7
security-services:
host-ip: ${DOCKER_HOST_IP}
port: 8090
diff --git a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/stream/LogFileToAsn1CodecPublisherTest.java b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/stream/LogFileToAsn1CodecPublisherTest.java
index 1f1d78e1e..33878ab0d 100644
--- a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/stream/LogFileToAsn1CodecPublisherTest.java
+++ b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/stream/LogFileToAsn1CodecPublisherTest.java
@@ -1,25 +1,33 @@
/*******************************************************************************
* Copyright 2018 572682
*
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ *
Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy
* of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ *
http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing, software
+ *
Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
******************************************************************************/
+
package us.dot.its.jpo.ode.coder.stream;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+
+import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+import java.util.List;
import mockit.Expectations;
import mockit.Injectable;
import mockit.Mocked;
import mockit.Tested;
-import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import us.dot.its.jpo.ode.coder.StringPublisher;
import us.dot.its.jpo.ode.coder.stream.LogFileToAsn1CodecPublisher.LogFileToAsn1CodecPublisherException;
@@ -30,357 +38,356 @@
import us.dot.its.jpo.ode.kafka.topics.RawEncodedJsonTopics;
import us.dot.its.jpo.ode.model.OdeData;
import us.dot.its.jpo.ode.model.OdeLogMetadata.RecordType;
-import us.dot.its.jpo.ode.model.OdeMsgMetadata;
import us.dot.its.jpo.ode.util.DateTimeUtils;
-import java.io.BufferedInputStream;
-import java.io.ByteArrayInputStream;
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.*;
-
class LogFileToAsn1CodecPublisherTest {
- private static final String GZ = ".gz";
- private static final String schemaVersion = "7";
-
- @Tested
- LogFileToAsn1CodecPublisher testLogFileToAsn1CodecPublisher;
-
- @Injectable
- StringPublisher injectableStringPublisher;
-
- @Injectable
- JsonTopics injectableJsonTopics;
-
- @Injectable
- RawEncodedJsonTopics injectableRawEncodedJsonTopics;
-
-
- @BeforeAll
- public static void setupClass() {
- OdeMsgMetadata.setStaticSchemaVersion(Integer.parseInt(schemaVersion));
- }
-
- @Test
- void testPublishInit(@Mocked LogFileParser mockLogFileParser) throws Exception {
- new Expectations() {
- {
- LogFileParser.factory(anyString);
- result = mockLogFileParser;
-
- mockLogFileParser.parseFile((BufferedInputStream) any, anyString);
- result = ParserStatus.INIT;
- }
- };
-
- List dataList = testLogFileToAsn1CodecPublisher.publish(
- new BufferedInputStream(new ByteArrayInputStream(new byte[0])),
- "fileName", ImporterFileType.LOG_FILE);
-
- assertTrue(dataList.isEmpty());
- }
-
- @Test
- void testPublishEOF(@Mocked LogFileParser mockLogFileParser) throws Exception {
- new Expectations() {
- {
- LogFileParser.factory(anyString);
- result = mockLogFileParser;
-
- mockLogFileParser.parseFile((BufferedInputStream) any, anyString);
- result = ParserStatus.EOF;
- }
- };
-
- List dataList = testLogFileToAsn1CodecPublisher.publish(
- new BufferedInputStream(new ByteArrayInputStream(new byte[0])),
- "fileName", ImporterFileType.LOG_FILE);
-
- assertTrue(dataList.isEmpty());
- }
-
- @Test
- void testPublishThrowsIllegalArgumentException() {
- // If the filename does not follow expected filename pattern,
- // IllegalArgumentException should be thrown
- assertThrows(IllegalArgumentException.class, () -> {
- // If the filename does not follow expected filename pattern,
- // IllegalArgumentException should be thrown
- testLogFileToAsn1CodecPublisher.publish(new BufferedInputStream(new ByteArrayInputStream(new byte[0])),
- "fileName", ImporterFileType.LOG_FILE);
- fail("Expected an IllegalArgumentException to be thrown");
- });
- }
-
- @Test
- void testPublishThrowsLogFileToAsn1CodecPublisherException(@Mocked LogFileParser mockLogFileParser) {
- assertThrows(LogFileToAsn1CodecPublisherException.class, () -> {
- new Expectations() {
- {
- LogFileParser.factory(anyString);
- result = mockLogFileParser;
-
- /*
- * If the embedded parser fails to parse a log file header, it may throw an
- * exception
- * which is then caught by the parser and re-thrown as
- * LogFileToAsn1CodecPublisherException.
- * This mocked object will simulate that eventuality.
- */
- mockLogFileParser.parseFile((BufferedInputStream) any, anyString);
- result = new LogFileToAsn1CodecPublisherException(anyString, (Exception) any);
- }
- };
-
- testLogFileToAsn1CodecPublisher.publish(new BufferedInputStream(new ByteArrayInputStream(new byte[0])),
- "fileName", ImporterFileType.LOG_FILE);
- fail("Expected an LogFileToAsn1CodecPublisherException to be thrown");
- });
- }
-
- @Test
- void testPublishDecodeFailure(@Mocked LogFileParser mockLogFileParser) throws Exception {
- new Expectations() {
- {
- LogFileParser.factory(anyString);
- result = mockLogFileParser;
-
- mockLogFileParser.parseFile((BufferedInputStream) any, anyString);
- result = ParserStatus.ERROR;
- }
- };
-
- List dataList = testLogFileToAsn1CodecPublisher.publish(
- new BufferedInputStream(new ByteArrayInputStream(new byte[0])),
- "fileName", ImporterFileType.LOG_FILE);
-
- assertTrue(dataList.isEmpty());
- }
-
- @Test
- void testPublishBsmTxLogFile() throws Exception {
-
- byte[] buf = new byte[]{
- (byte) 0x00, // 1. direction
- (byte) 0x6f, (byte) 0x75, (byte) 0x4d, (byte) 0x19, // 2.0 latitude
- (byte) 0xa4, (byte) 0xa1, (byte) 0x5c, (byte) 0xce, // 2.1 longitude
- (byte) 0x67, (byte) 0x06, (byte) 0x00, (byte) 0x00, // 2.3 elevation
- (byte) 0x04, (byte) 0x00, // 2.3 speed
- (byte) 0x09, (byte) 0x27, // 2.4 heading
- (byte) 0xa9, (byte) 0x2c, (byte) 0xe2, (byte) 0x5a, // 3. utcTimeInSec
- (byte) 0x8f, (byte) 0x01, // 4. mSec
- (byte) 0x00, // 5. securityResultCode
- (byte) 0x06, (byte) 0x00, // 6.0 payloadLength
- // 6.1 payload
- (byte) 0x03, (byte) 0x81, (byte) 0x00, (byte) 0x14, (byte) 0x03, (byte) 0x80
- };
-
- String filename = RecordType.bsmTx.name() + GZ;
-
- BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(buf));
-
- List dataList = testLogFileToAsn1CodecPublisher.publish(bis, filename, ImporterFileType.LOG_FILE);
-
- for (OdeData data : dataList) {
- assertTrue(DateTimeUtils.difference(DateTimeUtils.isoDateTime(data.getMetadata().getRecordGeneratedAt()),
- DateTimeUtils.nowZDT()) > 0);
- data.getMetadata().setOdeReceivedAt("2019-03-05T20:31:17.579Z");
- data.getMetadata().getSerialId().setStreamId("c7bbb42e-1e39-442d-98ac-62740ca50f92");
- String asn1String = data.getMetadata().getAsn1();
- var expected = String.format("{\"metadata\":{\"bsmSource\":\"EV\",\"logFileName\":\"bsmTx.gz\",\"recordType\":\"bsmTx\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"locationData\":{\"latitude\":\"42.4506735\",\"longitude\":\"-83.2790108\",\"elevation\":\"163.9\",\"speed\":\"0.08\",\"heading\":\"124.9125\"},\"rxSource\":\"NA\"},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeAsn1Payload\",\"serialId\":{\"streamId\":\"c7bbb42e-1e39-442d-98ac-62740ca50f92\",\"bundleSize\":1,\"bundleId\":1,\"recordId\":0,\"serialNumber\":1},\"odeReceivedAt\":\"2019-03-05T20:31:17.579Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"2018-04-26T19:46:49.399Z\",\"recordGeneratedBy\":\"OBU\",\"sanitized\":false,\"asn1\":\"%s\"},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.model.OdeHexByteArray\",\"data\":{\"bytes\":\"%s\"}}}", schemaVersion, asn1String, asn1String);
- assertEquals(expected, data.toJson());
+ private static final String GZ = ".gz";
+ private static final String schemaVersion = "8";
+
+ @Tested
+ LogFileToAsn1CodecPublisher testLogFileToAsn1CodecPublisher;
+
+ @Injectable
+ StringPublisher injectableStringPublisher;
+
+ @Injectable
+ JsonTopics injectableJsonTopics;
+
+ @Injectable
+ RawEncodedJsonTopics injectableRawEncodedJsonTopics;
+
+ @Test
+ void testPublishInit(@Mocked LogFileParser mockLogFileParser) throws Exception {
+ new Expectations() {
+ {
+ LogFileParser.factory(anyString);
+ result = mockLogFileParser;
+
+ mockLogFileParser.parseFile((BufferedInputStream) any, anyString);
+ result = ParserStatus.INIT;
+ }
+ };
+
+ List dataList = testLogFileToAsn1CodecPublisher.publish(
+ new BufferedInputStream(new ByteArrayInputStream(new byte[0])),
+ "fileName", ImporterFileType.LOG_FILE);
+
+ assertTrue(dataList.isEmpty());
+ }
+
+ @Test
+ void testPublishEOF(@Mocked LogFileParser mockLogFileParser) throws Exception {
+ new Expectations() {
+ {
+ LogFileParser.factory(anyString);
+ result = mockLogFileParser;
+
+ mockLogFileParser.parseFile((BufferedInputStream) any, anyString);
+ result = ParserStatus.EOF;
+ }
+ };
+
+ List dataList = testLogFileToAsn1CodecPublisher.publish(
+ new BufferedInputStream(new ByteArrayInputStream(new byte[0])),
+ "fileName", ImporterFileType.LOG_FILE);
+
+ assertTrue(dataList.isEmpty());
+ }
+
+ @Test
+ void testPublishThrowsIllegalArgumentException() {
+ // If the filename does not follow expected filename pattern,
+ // IllegalArgumentException should be thrown
+ assertThrows(IllegalArgumentException.class, () -> {
+ // If the filename does not follow expected filename pattern,
+ // IllegalArgumentException should be thrown
+ testLogFileToAsn1CodecPublisher.publish(new BufferedInputStream(new ByteArrayInputStream(new byte[0])),
+ "fileName", ImporterFileType.LOG_FILE);
+ fail("Expected an IllegalArgumentException to be thrown");
+ });
+ }
+
+ @Test
+ void testPublishThrowsLogFileToAsn1CodecPublisherException(@Mocked LogFileParser mockLogFileParser) {
+ assertThrows(LogFileToAsn1CodecPublisherException.class, () -> {
+ new Expectations() {
+ {
+ LogFileParser.factory(anyString);
+ result = mockLogFileParser;
+
+ /*
+ * If the embedded parser fails to parse a log file header, it may throw an
+ * exception
+ * which is then caught by the parser and re-thrown as
+ * LogFileToAsn1CodecPublisherException.
+ * This mocked object will simulate that eventuality.
+ */
+ mockLogFileParser.parseFile((BufferedInputStream) any, anyString);
+ result = new LogFileToAsn1CodecPublisherException(anyString, (Exception) any);
}
+ };
+
+ testLogFileToAsn1CodecPublisher.publish(new BufferedInputStream(new ByteArrayInputStream(new byte[0])),
+ "fileName", ImporterFileType.LOG_FILE);
+ fail("Expected an LogFileToAsn1CodecPublisherException to be thrown");
+ });
+ }
+
+ @Test
+ void testPublishDecodeFailure(@Mocked LogFileParser mockLogFileParser) throws Exception {
+ new Expectations() {
+ {
+ LogFileParser.factory(anyString);
+ result = mockLogFileParser;
+
+ mockLogFileParser.parseFile((BufferedInputStream) any, anyString);
+ result = ParserStatus.ERROR;
+ }
+ };
+
+ List dataList = testLogFileToAsn1CodecPublisher.publish(
+ new BufferedInputStream(new ByteArrayInputStream(new byte[0])),
+ "fileName", ImporterFileType.LOG_FILE);
+
+ assertTrue(dataList.isEmpty());
+ }
+
+ @Test
+ void testPublishBsmTxLogFile() throws Exception {
+
+ byte[] buf = new byte[] {
+ (byte) 0x00, // 1. direction
+ (byte) 0x6f, (byte) 0x75, (byte) 0x4d, (byte) 0x19, // 2.0 latitude
+ (byte) 0xa4, (byte) 0xa1, (byte) 0x5c, (byte) 0xce, // 2.1 longitude
+ (byte) 0x67, (byte) 0x06, (byte) 0x00, (byte) 0x00, // 2.3 elevation
+ (byte) 0x04, (byte) 0x00, // 2.3 speed
+ (byte) 0x09, (byte) 0x27, // 2.4 heading
+ (byte) 0xa9, (byte) 0x2c, (byte) 0xe2, (byte) 0x5a, // 3. utcTimeInSec
+ (byte) 0x8f, (byte) 0x01, // 4. mSec
+ (byte) 0x00, // 5. securityResultCode
+ (byte) 0x06, (byte) 0x00, // 6.0 payloadLength
+ // 6.1 payload
+ (byte) 0x03, (byte) 0x81, (byte) 0x00, (byte) 0x14, (byte) 0x03, (byte) 0x80
+ };
+
+ String filename = RecordType.bsmTx.name() + GZ;
+
+ BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(buf));
+
+ List dataList = testLogFileToAsn1CodecPublisher.publish(bis, filename, ImporterFileType.LOG_FILE);
+
+ for (OdeData data : dataList) {
+ assertTrue(DateTimeUtils.difference(DateTimeUtils.isoDateTime(data.getMetadata().getRecordGeneratedAt()),
+ DateTimeUtils.nowZDT()) > 0);
+ data.getMetadata().setOdeReceivedAt("2019-03-05T20:31:17.579Z");
+ data.getMetadata().getSerialId().setStreamId("c7bbb42e-1e39-442d-98ac-62740ca50f92");
+ String asn1String = data.getMetadata().getAsn1();
+ var expected = String.format(
+ "{\"metadata\":{\"bsmSource\":\"EV\",\"logFileName\":\"bsmTx.gz\",\"recordType\":\"bsmTx\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"locationData\":{\"latitude\":\"42.4506735\",\"longitude\":\"-83.2790108\",\"elevation\":\"163.9\",\"speed\":\"0.08\",\"heading\":\"124.9125\"},\"rxSource\":\"NA\"},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeAsn1Payload\",\"serialId\":{\"streamId\":\"c7bbb42e-1e39-442d-98ac-62740ca50f92\",\"bundleSize\":1,\"bundleId\":1,\"recordId\":0,\"serialNumber\":1},\"odeReceivedAt\":\"2019-03-05T20:31:17.579Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"2018-04-26T19:46:49.399Z\",\"recordGeneratedBy\":\"OBU\",\"sanitized\":false,\"asn1\":\"%s\"},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.model.OdeHexByteArray\",\"data\":{\"bytes\":\"%s\"}}}",
+ schemaVersion, asn1String, asn1String);
+ assertEquals(expected, data.toJson());
}
-
- @Test
- void testPublishDistressNotificationLogFile() throws Exception {
-
- byte[] buf = new byte[]{
- (byte) 0x6f, (byte) 0x75, (byte) 0x4d, (byte) 0x19, // 1.1 latitude
- (byte) 0xa4, (byte) 0xa1, (byte) 0x5c, (byte) 0xce, // 1.2 longitude
- (byte) 0x67, (byte) 0x06, (byte) 0x00, (byte) 0x00, // 1.3 elevation
- (byte) 0x04, (byte) 0x00, // 1.4 speed
- (byte) 0x09, (byte) 0x27, // 1.5 heading
- (byte) 0xa9, (byte) 0x2c, (byte) 0xe2, (byte) 0x5a, // 2. utcTimeInSec
- (byte) 0x8f, (byte) 0x01, // 3. mSec
- (byte) 0x00, // 4. securityResultCode
- (byte) 0x06, (byte) 0x00, // 5.1 payloadLength
- // 5.2 payload
- (byte) 0x03, (byte) 0x81, (byte) 0x00, (byte) 0x40, (byte) 0x03, (byte) 0x80
- };
-
- String filename = RecordType.dnMsg.name() + GZ;
-
- BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(buf));
-
- List dataList = testLogFileToAsn1CodecPublisher.publish(bis, filename, ImporterFileType.LOG_FILE);
-
- for (OdeData data : dataList) {
- assertTrue(DateTimeUtils.difference(DateTimeUtils.isoDateTime(data.getMetadata().getRecordGeneratedAt()),
- DateTimeUtils.nowZDT()) > 0);
- data.getMetadata().setOdeReceivedAt("2019-03-05T20:31:17.579Z");
- data.getMetadata().getSerialId().setStreamId("c7bbb42e-1e39-442d-98ac-62740ca50f92");
- var expected = String.format("{\"metadata\":{\"logFileName\":\"dnMsg.gz\",\"recordType\":\"dnMsg\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"locationData\":{\"latitude\":\"42.4506735\",\"longitude\":\"-83.2790108\",\"elevation\":\"163.9\",\"speed\":\"0.08\",\"heading\":\"124.9125\"},\"rxSource\":\"NA\"},\"encodings\":[{\"elementName\":\"root\",\"elementType\":\"Ieee1609Dot2Data\",\"encodingRule\":\"COER\"},{\"elementName\":\"unsecuredData\",\"elementType\":\"MessageFrame\",\"encodingRule\":\"UPER\"}],\"payloadType\":\"us.dot.its.jpo.ode.model.OdeAsn1Payload\",\"serialId\":{\"streamId\":\"c7bbb42e-1e39-442d-98ac-62740ca50f92\",\"bundleSize\":1,\"bundleId\":1,\"recordId\":0,\"serialNumber\":1},\"odeReceivedAt\":\"2019-03-05T20:31:17.579Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"2018-04-26T19:46:49.399Z\",\"recordGeneratedBy\":\"OBU\",\"sanitized\":false},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.model.OdeHexByteArray\",\"data\":{\"bytes\":\"038100400380\"}}}", schemaVersion);
- }
- }
-
- @Test
- void testPublishDriverAlertLogFile() throws Exception {
-
- byte[] buf = new byte[]{
- (byte) 0x6f, (byte) 0x75, (byte) 0x4d, (byte) 0x19, // 1.0 latitude
- (byte) 0xa4, (byte) 0xa1, (byte) 0x5c, (byte) 0xce, // 1.1 longitude
- (byte) 0x67, (byte) 0x06, (byte) 0x00, (byte) 0x00, // 1.2 elevation
- (byte) 0x04, (byte) 0x00, // 1.3 speed
- (byte) 0x09, (byte) 0x27, // 1.4 heading
-
- (byte) 0xa9, (byte) 0x2c, (byte) 0xe2, (byte) 0x5a, // 2. utcTimeInSec
- (byte) 0x8f, (byte) 0x01, // 3. mSec
- (byte) 0x11, (byte) 0x00, // 4.0 payloadLength
- // 4.1 payload
- 'T', 'e', 's', 't', ' ', 'D', 'r', 'i', 'v', 'e', 'r', ' ', 'A', 'l', 'e', 'r', 't'
- };
-
- String filename = RecordType.driverAlert.name() + GZ;
-
- BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(buf));
-
- List dataList = testLogFileToAsn1CodecPublisher.publish(bis, filename, ImporterFileType.LOG_FILE);
-
- for (OdeData data : dataList) {
- assertTrue(DateTimeUtils.difference(DateTimeUtils.isoDateTime(data.getMetadata().getRecordGeneratedAt()),
- DateTimeUtils.nowZDT()) > 0);
- data.getMetadata().setOdeReceivedAt("2019-03-05T20:31:17.579Z");
- data.getMetadata().getSerialId().setStreamId("c7bbb42e-1e39-442d-98ac-62740ca50f92");
- var expected = String.format("{\"metadata\":{\"logFileName\":\"driverAlert.gz\",\"recordType\":\"driverAlert\",\"receivedMessageDetails\":{\"locationData\":{\"latitude\":\"42.4506735\",\"longitude\":\"-83.2790108\",\"elevation\":\"163.9\",\"speed\":\"0.08\",\"heading\":\"124.9125\"},\"rxSource\":\"NA\"},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeDriverAlertPayload\",\"serialId\":{\"streamId\":\"c7bbb42e-1e39-442d-98ac-62740ca50f92\",\"bundleSize\":1,\"bundleId\":1,\"recordId\":0,\"serialNumber\":1},\"odeReceivedAt\":\"2019-03-05T20:31:17.579Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"2018-04-26T19:46:49.399Z\",\"recordGeneratedBy\":\"OBU\",\"sanitized\":false},\"payload\":{\"alert\":\"Test Driver Alert\"}}", schemaVersion);
- assertEquals(expected, data.toJson());
- }
+ }
+
+ @Test
+ void testPublishDistressNotificationLogFile() throws Exception {
+
+ byte[] buf = new byte[] {
+ (byte) 0x6f, (byte) 0x75, (byte) 0x4d, (byte) 0x19, // 1.1 latitude
+ (byte) 0xa4, (byte) 0xa1, (byte) 0x5c, (byte) 0xce, // 1.2 longitude
+ (byte) 0x67, (byte) 0x06, (byte) 0x00, (byte) 0x00, // 1.3 elevation
+ (byte) 0x04, (byte) 0x00, // 1.4 speed
+ (byte) 0x09, (byte) 0x27, // 1.5 heading
+ (byte) 0xa9, (byte) 0x2c, (byte) 0xe2, (byte) 0x5a, // 2. utcTimeInSec
+ (byte) 0x8f, (byte) 0x01, // 3. mSec
+ (byte) 0x00, // 4. securityResultCode
+ (byte) 0x06, (byte) 0x00, // 5.1 payloadLength
+ // 5.2 payload
+ (byte) 0x03, (byte) 0x81, (byte) 0x00, (byte) 0x40, (byte) 0x03, (byte) 0x80
+ };
+
+ String filename = RecordType.dnMsg.name() + GZ;
+
+ BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(buf));
+
+ List dataList = testLogFileToAsn1CodecPublisher.publish(bis, filename, ImporterFileType.LOG_FILE);
+
+ for (OdeData data : dataList) {
+ assertTrue(DateTimeUtils.difference(DateTimeUtils.isoDateTime(data.getMetadata().getRecordGeneratedAt()),
+ DateTimeUtils.nowZDT()) > 0);
+ data.getMetadata().setOdeReceivedAt("2019-03-05T20:31:17.579Z");
+ data.getMetadata().getSerialId().setStreamId("c7bbb42e-1e39-442d-98ac-62740ca50f92");
+ var expected = String.format(
+ "{\"metadata\":{\"logFileName\":\"dnMsg.gz\",\"recordType\":\"dnMsg\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"locationData\":{\"latitude\":\"42.4506735\",\"longitude\":\"-83.2790108\",\"elevation\":\"163.9\",\"speed\":\"0.08\",\"heading\":\"124.9125\"},\"rxSource\":\"NA\"},\"encodings\":[{\"elementName\":\"root\",\"elementType\":\"Ieee1609Dot2Data\",\"encodingRule\":\"COER\"},{\"elementName\":\"unsecuredData\",\"elementType\":\"MessageFrame\",\"encodingRule\":\"UPER\"}],\"payloadType\":\"us.dot.its.jpo.ode.model.OdeAsn1Payload\",\"serialId\":{\"streamId\":\"c7bbb42e-1e39-442d-98ac-62740ca50f92\",\"bundleSize\":1,\"bundleId\":1,\"recordId\":0,\"serialNumber\":1},\"odeReceivedAt\":\"2019-03-05T20:31:17.579Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"2018-04-26T19:46:49.399Z\",\"recordGeneratedBy\":\"OBU\",\"sanitized\":false},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.model.OdeHexByteArray\",\"data\":{\"bytes\":\"038100400380\"}}}",
+ schemaVersion);
}
-
- @Test
- void testPublishRxMsgTIMLogFile() throws Exception {
-
- byte[] buf = new byte[]{
- (byte) 0x01, // 1. RxSource = SAT
- (byte) 0x6f, (byte) 0x75, (byte) 0x4d, (byte) 0x19, // 2.0 latitude
- (byte) 0xa4, (byte) 0xa1, (byte) 0x5c, (byte) 0xce, // 2.1 longitude
- (byte) 0x67, (byte) 0x06, (byte) 0x00, (byte) 0x00, // 2.3 elevation
- (byte) 0x04, (byte) 0x00, // 2.3 speed
- (byte) 0x09, (byte) 0x27, // 2.4 heading
- (byte) 0xa9, (byte) 0x2c, (byte) 0xe2, (byte) 0x5a, // 2. utcTimeInSec
- (byte) 0x8f, (byte) 0x01, // 4. mSec
- (byte) 0x00, // 5. securityResultCode
- (byte) 0x06, (byte) 0x00, // 6.0 payloadLength
- // 6.1 payload
- (byte) 0x03, (byte) 0x81, (byte) 0x00, (byte) 0x14, (byte) 0x03, (byte) 0x80
- };
-
- String filename = RecordType.rxMsg.name() + GZ;
-
- BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(buf));
-
- List dataList = testLogFileToAsn1CodecPublisher.publish(bis, filename, ImporterFileType.LOG_FILE);
-
- for (OdeData data : dataList) {
- assertTrue(DateTimeUtils.difference(DateTimeUtils.isoDateTime(data.getMetadata().getRecordGeneratedAt()),
- DateTimeUtils.nowZDT()) > 0);
- data.getMetadata().setOdeReceivedAt("2019-03-05T20:31:17.579Z");
- data.getMetadata().getSerialId().setStreamId("c7bbb42e-1e39-442d-98ac-62740ca50f92");
- String asn1String = data.getMetadata().getAsn1();
- var expected = String.format("{\"metadata\":{\"logFileName\":\"rxMsg.gz\",\"recordType\":\"rxMsg\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"locationData\":{\"latitude\":\"42.4506735\",\"longitude\":\"-83.2790108\",\"elevation\":\"163.9\",\"speed\":\"0.08\",\"heading\":\"124.9125\"},\"rxSource\":\"SAT\"},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeAsn1Payload\",\"serialId\":{\"streamId\":\"c7bbb42e-1e39-442d-98ac-62740ca50f92\",\"bundleSize\":1,\"bundleId\":1,\"recordId\":0,\"serialNumber\":1},\"odeReceivedAt\":\"2019-03-05T20:31:17.579Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"2018-04-26T19:46:49.399Z\",\"recordGeneratedBy\":\"TMC_VIA_SAT\",\"sanitized\":false,\"asn1\":\"%s\"},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.model.OdeHexByteArray\",\"data\":{\"bytes\":\"%s\"}}}", schemaVersion, asn1String, asn1String);
- assertEquals(expected, data.toJson());
- }
+ }
+
+ @Test
+ void testPublishDriverAlertLogFile() throws Exception {
+
+ byte[] buf = new byte[] {
+ (byte) 0x6f, (byte) 0x75, (byte) 0x4d, (byte) 0x19, // 1.0 latitude
+ (byte) 0xa4, (byte) 0xa1, (byte) 0x5c, (byte) 0xce, // 1.1 longitude
+ (byte) 0x67, (byte) 0x06, (byte) 0x00, (byte) 0x00, // 1.2 elevation
+ (byte) 0x04, (byte) 0x00, // 1.3 speed
+ (byte) 0x09, (byte) 0x27, // 1.4 heading
+
+ (byte) 0xa9, (byte) 0x2c, (byte) 0xe2, (byte) 0x5a, // 2. utcTimeInSec
+ (byte) 0x8f, (byte) 0x01, // 3. mSec
+ (byte) 0x11, (byte) 0x00, // 4.0 payloadLength
+ // 4.1 payload
+ 'T', 'e', 's', 't', ' ', 'D', 'r', 'i', 'v', 'e', 'r', ' ', 'A', 'l', 'e', 'r', 't'
+ };
+
+ String filename = RecordType.driverAlert.name() + GZ;
+
+ BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(buf));
+
+ List dataList = testLogFileToAsn1CodecPublisher.publish(bis, filename, ImporterFileType.LOG_FILE);
+
+ for (OdeData data : dataList) {
+ assertTrue(DateTimeUtils.difference(DateTimeUtils.isoDateTime(data.getMetadata().getRecordGeneratedAt()),
+ DateTimeUtils.nowZDT()) > 0);
+ data.getMetadata().setOdeReceivedAt("2019-03-05T20:31:17.579Z");
+ data.getMetadata().getSerialId().setStreamId("c7bbb42e-1e39-442d-98ac-62740ca50f92");
+ var expected = String.format(
+ "{\"metadata\":{\"logFileName\":\"driverAlert.gz\",\"recordType\":\"driverAlert\",\"receivedMessageDetails\":{\"locationData\":{\"latitude\":\"42.4506735\",\"longitude\":\"-83.2790108\",\"elevation\":\"163.9\",\"speed\":\"0.08\",\"heading\":\"124.9125\"},\"rxSource\":\"NA\"},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeDriverAlertPayload\",\"serialId\":{\"streamId\":\"c7bbb42e-1e39-442d-98ac-62740ca50f92\",\"bundleSize\":1,\"bundleId\":1,\"recordId\":0,\"serialNumber\":1},\"odeReceivedAt\":\"2019-03-05T20:31:17.579Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"2018-04-26T19:46:49.399Z\",\"recordGeneratedBy\":\"OBU\",\"sanitized\":false},\"payload\":{\"alert\":\"Test Driver Alert\"}}",
+ schemaVersion);
+ assertEquals(expected, data.toJson());
}
-
- @Test
- void testPublishRxMsgBSMLogFile() throws Exception {
-
- byte[] buf = new byte[]{
- (byte) 0x02, // 1. RxSource = RV
- (byte) 0x6f, (byte) 0x75, (byte) 0x4d, (byte) 0x19, // 2.0 latitude
- (byte) 0xa4, (byte) 0xa1, (byte) 0x5c, (byte) 0xce, // 2.1 longitude
- (byte) 0x67, (byte) 0x06, (byte) 0x00, (byte) 0x00, // 2.3 elevation
- (byte) 0x04, (byte) 0x00, // 2.3 speed
- (byte) 0x09, (byte) 0x27, // 2.4 heading
- (byte) 0xa9, (byte) 0x2c, (byte) 0xe2, (byte) 0x5a, // 3. utcTimeInSec
- (byte) 0x8f, (byte) 0x01, // 4. mSec
- (byte) 0x00, // 5. securityResultCode
- (byte) 0x06, (byte) 0x00, // 6.0 payloadLength
- // 6.1 payload
- (byte) 0x11, (byte) 0x81, (byte) 0x00, (byte) 0x14, (byte) 0x03, (byte) 0x80
- };
-
- String filename = RecordType.rxMsg.name() + GZ;
-
- BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(buf));
-
- List dataList = testLogFileToAsn1CodecPublisher.publish(bis, filename, ImporterFileType.LOG_FILE);
-
- for (OdeData data : dataList) {
- assertTrue(DateTimeUtils.difference(DateTimeUtils.isoDateTime(data.getMetadata().getRecordGeneratedAt()),
- DateTimeUtils.nowZDT()) > 0);
- data.getMetadata().setOdeReceivedAt("2019-03-05T20:31:17.579Z");
- data.getMetadata().getSerialId().setStreamId("c7bbb42e-1e39-442d-98ac-62740ca50f92");
- String asn1String = data.getMetadata().getAsn1();
- var expected = String.format("{\"metadata\":{\"bsmSource\":\"RV\",\"logFileName\":\"rxMsg.gz\",\"recordType\":\"rxMsg\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"locationData\":{\"latitude\":\"42.4506735\",\"longitude\":\"-83.2790108\",\"elevation\":\"163.9\",\"speed\":\"0.08\",\"heading\":\"124.9125\"},\"rxSource\":\"RV\"},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeAsn1Payload\",\"serialId\":{\"streamId\":\"c7bbb42e-1e39-442d-98ac-62740ca50f92\",\"bundleSize\":1,\"bundleId\":1,\"recordId\":0,\"serialNumber\":1},\"odeReceivedAt\":\"2019-03-05T20:31:17.579Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"2018-04-26T19:46:49.399Z\",\"recordGeneratedBy\":\"OBU\",\"sanitized\":false,\"asn1\":\"%s\"},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.model.OdeHexByteArray\",\"data\":{\"bytes\":\"%s\"}}}", schemaVersion, asn1String, asn1String);
- assertEquals(expected, data.toJson());
- }
+ }
+
+ @Test
+ void testPublishRxMsgTIMLogFile() throws Exception {
+
+ byte[] buf = new byte[] {
+ (byte) 0x01, // 1. RxSource = SAT
+ (byte) 0x6f, (byte) 0x75, (byte) 0x4d, (byte) 0x19, // 2.0 latitude
+ (byte) 0xa4, (byte) 0xa1, (byte) 0x5c, (byte) 0xce, // 2.1 longitude
+ (byte) 0x67, (byte) 0x06, (byte) 0x00, (byte) 0x00, // 2.3 elevation
+ (byte) 0x04, (byte) 0x00, // 2.3 speed
+ (byte) 0x09, (byte) 0x27, // 2.4 heading
+ (byte) 0xa9, (byte) 0x2c, (byte) 0xe2, (byte) 0x5a, // 2. utcTimeInSec
+ (byte) 0x8f, (byte) 0x01, // 4. mSec
+ (byte) 0x00, // 5. securityResultCode
+ (byte) 0x06, (byte) 0x00, // 6.0 payloadLength
+ // 6.1 payload
+ (byte) 0x03, (byte) 0x81, (byte) 0x00, (byte) 0x14, (byte) 0x03, (byte) 0x80
+ };
+
+ String filename = RecordType.rxMsg.name() + GZ;
+
+ BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(buf));
+
+ List dataList = testLogFileToAsn1CodecPublisher.publish(bis, filename, ImporterFileType.LOG_FILE);
+
+ for (OdeData data : dataList) {
+ assertTrue(DateTimeUtils.difference(DateTimeUtils.isoDateTime(data.getMetadata().getRecordGeneratedAt()),
+ DateTimeUtils.nowZDT()) > 0);
+ data.getMetadata().setOdeReceivedAt("2019-03-05T20:31:17.579Z");
+ data.getMetadata().getSerialId().setStreamId("c7bbb42e-1e39-442d-98ac-62740ca50f92");
+ String asn1String = data.getMetadata().getAsn1();
+ var expected = String.format(
+ "{\"metadata\":{\"logFileName\":\"rxMsg.gz\",\"recordType\":\"rxMsg\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"locationData\":{\"latitude\":\"42.4506735\",\"longitude\":\"-83.2790108\",\"elevation\":\"163.9\",\"speed\":\"0.08\",\"heading\":\"124.9125\"},\"rxSource\":\"SAT\"},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeAsn1Payload\",\"serialId\":{\"streamId\":\"c7bbb42e-1e39-442d-98ac-62740ca50f92\",\"bundleSize\":1,\"bundleId\":1,\"recordId\":0,\"serialNumber\":1},\"odeReceivedAt\":\"2019-03-05T20:31:17.579Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"2018-04-26T19:46:49.399Z\",\"recordGeneratedBy\":\"TMC_VIA_SAT\",\"sanitized\":false,\"asn1\":\"%s\"},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.model.OdeHexByteArray\",\"data\":{\"bytes\":\"%s\"}}}",
+ schemaVersion, asn1String, asn1String);
+ assertEquals(expected, data.toJson());
}
-
- @Test
- void testPublishNonLearLogFile() throws Exception {
-
- String filename = RecordType.rxMsg.name() + GZ;
-
- String jsonData = "{\"fakeJsonKey\":\"fakeJsonValue\"";
- byte[] buf = jsonData.getBytes();
- BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(buf));
-
- /*
- * This call to publish method does not actually try to parse the data. It
- * short-circuits the parsing because
- * currently we dont' support JSON input records. We may in the future.
- */
-
- List dataList = testLogFileToAsn1CodecPublisher.publish(bis, filename, ImporterFileType.JSON_FILE);
-
- assertTrue(dataList.isEmpty());
+ }
+
+ @Test
+ void testPublishRxMsgBSMLogFile() throws Exception {
+
+ byte[] buf = new byte[] {
+ (byte) 0x02, // 1. RxSource = RV
+ (byte) 0x6f, (byte) 0x75, (byte) 0x4d, (byte) 0x19, // 2.0 latitude
+ (byte) 0xa4, (byte) 0xa1, (byte) 0x5c, (byte) 0xce, // 2.1 longitude
+ (byte) 0x67, (byte) 0x06, (byte) 0x00, (byte) 0x00, // 2.3 elevation
+ (byte) 0x04, (byte) 0x00, // 2.3 speed
+ (byte) 0x09, (byte) 0x27, // 2.4 heading
+ (byte) 0xa9, (byte) 0x2c, (byte) 0xe2, (byte) 0x5a, // 3. utcTimeInSec
+ (byte) 0x8f, (byte) 0x01, // 4. mSec
+ (byte) 0x00, // 5. securityResultCode
+ (byte) 0x06, (byte) 0x00, // 6.0 payloadLength
+ // 6.1 payload
+ (byte) 0x11, (byte) 0x81, (byte) 0x00, (byte) 0x14, (byte) 0x03, (byte) 0x80
+ };
+
+ String filename = RecordType.rxMsg.name() + GZ;
+
+ BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(buf));
+
+ List dataList = testLogFileToAsn1CodecPublisher.publish(bis, filename, ImporterFileType.LOG_FILE);
+
+ for (OdeData data : dataList) {
+ assertTrue(DateTimeUtils.difference(DateTimeUtils.isoDateTime(data.getMetadata().getRecordGeneratedAt()),
+ DateTimeUtils.nowZDT()) > 0);
+ data.getMetadata().setOdeReceivedAt("2019-03-05T20:31:17.579Z");
+ data.getMetadata().getSerialId().setStreamId("c7bbb42e-1e39-442d-98ac-62740ca50f92");
+ String asn1String = data.getMetadata().getAsn1();
+ var expected = String.format(
+ "{\"metadata\":{\"bsmSource\":\"RV\",\"logFileName\":\"rxMsg.gz\",\"recordType\":\"rxMsg\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"locationData\":{\"latitude\":\"42.4506735\",\"longitude\":\"-83.2790108\",\"elevation\":\"163.9\",\"speed\":\"0.08\",\"heading\":\"124.9125\"},\"rxSource\":\"RV\"},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeAsn1Payload\",\"serialId\":{\"streamId\":\"c7bbb42e-1e39-442d-98ac-62740ca50f92\",\"bundleSize\":1,\"bundleId\":1,\"recordId\":0,\"serialNumber\":1},\"odeReceivedAt\":\"2019-03-05T20:31:17.579Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"2018-04-26T19:46:49.399Z\",\"recordGeneratedBy\":\"OBU\",\"sanitized\":false,\"asn1\":\"%s\"},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.model.OdeHexByteArray\",\"data\":{\"bytes\":\"%s\"}}}",
+ schemaVersion, asn1String, asn1String);
+ assertEquals(expected, data.toJson());
}
-
- @Test
- void testPublishRxMsgBSMLogFileNewLine() throws Exception {
-
- byte[] buf = new byte[]{
- (byte) 0x02, // 1. RxSource = RV
- (byte) 0x6f, (byte) 0x75, (byte) 0x4d, (byte) 0x19, // 2.0 latitude
- (byte) 0xa4, (byte) 0xa1, (byte) 0x5c, (byte) 0xce, // 2.1 longitude
- (byte) 0x67, (byte) 0x06, (byte) 0x00, (byte) 0x00, // 2.3 elevation
- (byte) 0x04, (byte) 0x00, // 2.3 speed
- (byte) 0x09, (byte) 0x27, // 2.4 heading
- (byte) 0xa9, (byte) 0x2c, (byte) 0xe2, (byte) 0x5a, // 3. utcTimeInSec
- (byte) 0x8f, (byte) 0x01, // 4. mSec
- (byte) 0x00, // 5. securityResultCode
- (byte) 0x06, (byte) 0x00, // 6.0 payloadLength
- // 6.1 payload
- (byte) 0x11, (byte) 0x81, (byte) 0x00, (byte) 0x14, (byte) 0x03, (byte) 0x80,
- (byte) 0x0a
- };
-
- String filename = RecordType.rxMsg.name() + GZ;
-
- BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(buf));
-
- List dataList = testLogFileToAsn1CodecPublisher.publish(bis, filename, ImporterFileType.LOG_FILE);
-
- for (OdeData data : dataList) {
- assertTrue(DateTimeUtils.difference(DateTimeUtils.isoDateTime(data.getMetadata().getRecordGeneratedAt()),
- DateTimeUtils.nowZDT()) > 0);
- data.getMetadata().setOdeReceivedAt("2019-03-05T20:31:17.579Z");
- data.getMetadata().getSerialId().setStreamId("c7bbb42e-1e39-442d-98ac-62740ca50f92");
- String asn1String = data.getMetadata().getAsn1();
- var expected = String.format("{\"metadata\":{\"bsmSource\":\"RV\",\"logFileName\":\"rxMsg.gz\",\"recordType\":\"rxMsg\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"locationData\":{\"latitude\":\"42.4506735\",\"longitude\":\"-83.2790108\",\"elevation\":\"163.9\",\"speed\":\"0.08\",\"heading\":\"124.9125\"},\"rxSource\":\"RV\"},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeAsn1Payload\",\"serialId\":{\"streamId\":\"c7bbb42e-1e39-442d-98ac-62740ca50f92\",\"bundleSize\":1,\"bundleId\":1,\"recordId\":0,\"serialNumber\":1},\"odeReceivedAt\":\"2019-03-05T20:31:17.579Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"2018-04-26T19:46:49.399Z\",\"recordGeneratedBy\":\"OBU\",\"sanitized\":false,\"asn1\":\"%s\"},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.model.OdeHexByteArray\",\"data\":{\"bytes\":\"%s\"}}}", schemaVersion, asn1String, asn1String);
- assertEquals(expected, data.toJson());
- }
+ }
+
+ @Test
+ void testPublishNonLearLogFile() throws Exception {
+
+ String filename = RecordType.rxMsg.name() + GZ;
+
+ String jsonData = "{\"fakeJsonKey\":\"fakeJsonValue\"";
+ byte[] buf = jsonData.getBytes();
+ BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(buf));
+
+ /*
+ * This call to publish method does not actually try to parse the data. It
+ * short-circuits the parsing because
+ * currently we dont' support JSON input records. We may in the future.
+ */
+
+ List dataList = testLogFileToAsn1CodecPublisher.publish(bis, filename, ImporterFileType.JSON_FILE);
+
+ assertTrue(dataList.isEmpty());
+ }
+
+ @Test
+ void testPublishRxMsgBSMLogFileNewLine() throws Exception {
+
+ byte[] buf = new byte[] {
+ (byte) 0x02, // 1. RxSource = RV
+ (byte) 0x6f, (byte) 0x75, (byte) 0x4d, (byte) 0x19, // 2.0 latitude
+ (byte) 0xa4, (byte) 0xa1, (byte) 0x5c, (byte) 0xce, // 2.1 longitude
+ (byte) 0x67, (byte) 0x06, (byte) 0x00, (byte) 0x00, // 2.3 elevation
+ (byte) 0x04, (byte) 0x00, // 2.3 speed
+ (byte) 0x09, (byte) 0x27, // 2.4 heading
+ (byte) 0xa9, (byte) 0x2c, (byte) 0xe2, (byte) 0x5a, // 3. utcTimeInSec
+ (byte) 0x8f, (byte) 0x01, // 4. mSec
+ (byte) 0x00, // 5. securityResultCode
+ (byte) 0x06, (byte) 0x00, // 6.0 payloadLength
+ // 6.1 payload
+ (byte) 0x11, (byte) 0x81, (byte) 0x00, (byte) 0x14, (byte) 0x03, (byte) 0x80,
+ (byte) 0x0a
+ };
+
+ String filename = RecordType.rxMsg.name() + GZ;
+
+ BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(buf));
+
+ List dataList = testLogFileToAsn1CodecPublisher.publish(bis, filename, ImporterFileType.LOG_FILE);
+
+ for (OdeData data : dataList) {
+ assertTrue(DateTimeUtils.difference(DateTimeUtils.isoDateTime(data.getMetadata().getRecordGeneratedAt()),
+ DateTimeUtils.nowZDT()) > 0);
+ data.getMetadata().setOdeReceivedAt("2019-03-05T20:31:17.579Z");
+ data.getMetadata().getSerialId().setStreamId("c7bbb42e-1e39-442d-98ac-62740ca50f92");
+ String asn1String = data.getMetadata().getAsn1();
+ var expected = String.format(
+ "{\"metadata\":{\"bsmSource\":\"RV\",\"logFileName\":\"rxMsg.gz\",\"recordType\":\"rxMsg\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"locationData\":{\"latitude\":\"42.4506735\",\"longitude\":\"-83.2790108\",\"elevation\":\"163.9\",\"speed\":\"0.08\",\"heading\":\"124.9125\"},\"rxSource\":\"RV\"},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeAsn1Payload\",\"serialId\":{\"streamId\":\"c7bbb42e-1e39-442d-98ac-62740ca50f92\",\"bundleSize\":1,\"bundleId\":1,\"recordId\":0,\"serialNumber\":1},\"odeReceivedAt\":\"2019-03-05T20:31:17.579Z\",\"schemaVersion\":%s,\"maxDurationTime\":0,\"recordGeneratedAt\":\"2018-04-26T19:46:49.399Z\",\"recordGeneratedBy\":\"OBU\",\"sanitized\":false,\"asn1\":\"%s\"},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.model.OdeHexByteArray\",\"data\":{\"bytes\":\"%s\"}}}",
+ schemaVersion, asn1String, asn1String);
+ assertEquals(expected, data.toJson());
}
+ }
}
diff --git a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/traveler/TimTransmogrifierTest.java b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/traveler/TimTransmogrifierTest.java
index b0d6fb5a2..cce0a3419 100644
--- a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/traveler/TimTransmogrifierTest.java
+++ b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/traveler/TimTransmogrifierTest.java
@@ -58,12 +58,11 @@ class TimTransmogrifierTest {
@Autowired
RsuProperties rsuProperties;
- private static final String schemaVersion = "7";
+ private static final String schemaVersion = "8";
@Test
void testUpdateRsuCreds_UpdateWhenNull() {
- RSU expected =
- new RSU("127.0.0.1", rsuProperties.getUsername(), rsuProperties.getPassword(), 1, 2000);
+ RSU expected = new RSU("127.0.0.1", rsuProperties.getUsername(), rsuProperties.getPassword(), 1, 2000);
RSU actual = new RSU("127.0.0.1", null, null, 1, 2000);
TimTransmogrifier.updateRsuCreds(actual, rsuProperties);
@@ -73,11 +72,9 @@ void testUpdateRsuCreds_UpdateWhenNull() {
@Test
void testUpdateRsuCreds_DoNotOverwriteExisting() {
- RSU expected =
- new RSU("127.0.0.1", rsuProperties.getUsername(), rsuProperties.getPassword(), 1, 2000);
+ RSU expected = new RSU("127.0.0.1", rsuProperties.getUsername(), rsuProperties.getPassword(), 1, 2000);
- RSU actual =
- new RSU("127.0.0.1", rsuProperties.getUsername(), rsuProperties.getPassword(), 1, 2000);
+ RSU actual = new RSU("127.0.0.1", rsuProperties.getUsername(), rsuProperties.getPassword(), 1, 2000);
TimTransmogrifier.updateRsuCreds(actual, rsuProperties);
assertEquals(expected, actual);
@@ -85,8 +82,7 @@ void testUpdateRsuCreds_DoNotOverwriteExisting() {
@Test
void testUpdateRsuCreds_UpdatedWhenEmptyString() {
- RSU expected =
- new RSU("127.0.0.1", rsuProperties.getUsername(), rsuProperties.getPassword(), 1, 2000);
+ RSU expected = new RSU("127.0.0.1", rsuProperties.getUsername(), rsuProperties.getPassword(), 1, 2000);
// rsuUsername and rsuPassword are blank
RSU actual3 = new RSU("127.0.0.1", "", "", 1, 2000);
TimTransmogrifier.updateRsuCreds(actual3, rsuProperties);
@@ -96,9 +92,9 @@ void testUpdateRsuCreds_UpdatedWhenEmptyString() {
@Test
void testObfuscateRsuPassword() {
String actual = TimTransmogrifier.obfuscateRsuPassword(
- "{\"metadata\":{\"request\":{\"ode\":{\"version\":3,\"verb\":\"POST\"},\"sdw\":null,\"rsus\":[{\"rsuTarget\":\"127.0.0.1\",\"rsuUsername\":\"v3user\",\"rsuPassword\": \"password\",\"rsuRetries\":0,\"rsuTimeout\":2000,\"rsuIndex\":10},{\"rsuTarget\":\"127.0.0.2\",\"rsuUsername\":\"v3user\",\"rsuPassword\": \"password\",\"rsuRetries\":1,\"rsuTimeout\":1000,\"rsuIndex\":10},{\"rsuTarget\":\"127.0.0.3\",\"rsuUsername\":\"v3user\",\"rsuPassword\": \"password\",\"rsuRetries\":1,\"rsuTimeout\":1000,\"rsuIndex\":10}],\"snmp\":{\"rsuid\":\"00000083\",\"msgid\":31,\"mode\":1,\"channel\":178,\"interval\":2,\"deliverystart\":\"2017-06-01T17:47:11-05:00\",\"deliverystop\":\"2018-01-01T17:47:11-05:15\",\"enable\":1,\"status\":4}},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeMsgPayload\",\"serialId\":{\"streamId\":\"59651ecc-240c-4440-9011-4a43c926817b\",\"bundleSize\":1,\"bundleId\":0,\"recordId\":0,\"serialNumber\":0},\"odeReceivedAt\":\"2018-11-16T19:21:22.568Z\",\"schemaVersion\":6,\"recordGeneratedAt\":\"2017-03-13T06:07:11Z\",\"recordGeneratedBy\":\"TMC\",\"sanitized\":false},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.plugin.j2735.OdeTravelerInformationMessage\",\"data\":{\"msgCnt\":13,\"timeStamp\":\"2017-03-13T01:07:11-05:00\",\"packetID\":\"EC9C236B0000000000\",\"urlB\":\"null\",\"dataframes\":[{\"doNotUse1\":0,\"frameType\":\"advisory\",\"msgId\":{\"roadSignID\":{\"position\":{\"latitude\":41.678473,\"longitude\":-108.782775,\"elevation\":917.1432},\"viewAngle\":\"1010101010101010\",\"mutcdCode\":\"warning\",\"crc\":\"0000000000000000\"},\"furtherInfoID\":null},\"startDateTime\":\"2017-12-01T17:47:11-05:00\",\"durationTime\":22,\"priority\":0,\"doNotUse2\":0,\"regions\":[{\"name\":\"bob\",\"regulatorID\":23,\"segmentID\":33,\"anchorPosition\":{\"latitude\":41.678473,\"longitude\":-108.782775,\"elevation\":917.1432},\"laneWidth\":7,\"directionality\":3,\"closedPath\":false,\"direction\":\"1010101010101010\",\"description\":\"geometry\",\"path\":null,\"geometry\":{\"direction\":\"1010101010101010\",\"extent\":1,\"laneWidth\":33,\"circle\":{\"position\":{\"latitude\":41.678473,\"longitude\":-108.782775,\"elevation\":917.1432},\"radius\":15,\"units\":7}},\"oldRegion\":null}],\"doNotUse4\":0,\"doNotUse3\":0,\"content\":\"Advisory\",\"items\":[\"125\",\"some text\",\"250\",\"\\u002798765\"],\"url\":\"null\"}],\"asnDataFrames\":null}}}");
+ "{\"metadata\":{\"request\":{\"ode\":{\"version\":3,\"verb\":\"POST\"},\"sdw\":null,\"rsus\":[{\"rsuTarget\":\"127.0.0.1\",\"rsuUsername\":\"v3user\",\"rsuPassword\": \"password\",\"rsuRetries\":0,\"rsuTimeout\":2000,\"rsuIndex\":10},{\"rsuTarget\":\"127.0.0.2\",\"rsuUsername\":\"v3user\",\"rsuPassword\": \"password\",\"rsuRetries\":1,\"rsuTimeout\":1000,\"rsuIndex\":10},{\"rsuTarget\":\"127.0.0.3\",\"rsuUsername\":\"v3user\",\"rsuPassword\": \"password\",\"rsuRetries\":1,\"rsuTimeout\":1000,\"rsuIndex\":10}],\"snmp\":{\"rsuid\":\"00000083\",\"msgid\":31,\"mode\":1,\"channel\":178,\"interval\":2,\"deliverystart\":\"2017-06-01T17:47:11-05:00\",\"deliverystop\":\"2018-01-01T17:47:11-05:15\",\"enable\":1,\"status\":4}},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeMsgPayload\",\"serialId\":{\"streamId\":\"59651ecc-240c-4440-9011-4a43c926817b\",\"bundleSize\":1,\"bundleId\":0,\"recordId\":0,\"serialNumber\":0},\"odeReceivedAt\":\"2018-11-16T19:21:22.568Z\",\"schemaVersion\":8,\"recordGeneratedAt\":\"2017-03-13T06:07:11Z\",\"recordGeneratedBy\":\"TMC\",\"sanitized\":false},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.plugin.j2735.OdeTravelerInformationMessage\",\"data\":{\"msgCnt\":13,\"timeStamp\":\"2017-03-13T01:07:11-05:00\",\"packetID\":\"EC9C236B0000000000\",\"urlB\":\"null\",\"dataframes\":[{\"doNotUse1\":0,\"frameType\":\"advisory\",\"msgId\":{\"roadSignID\":{\"position\":{\"latitude\":41.678473,\"longitude\":-108.782775,\"elevation\":917.1432},\"viewAngle\":\"1010101010101010\",\"mutcdCode\":\"warning\",\"crc\":\"0000000000000000\"},\"furtherInfoID\":null},\"startDateTime\":\"2017-12-01T17:47:11-05:00\",\"durationTime\":22,\"priority\":0,\"doNotUse2\":0,\"regions\":[{\"name\":\"bob\",\"regulatorID\":23,\"segmentID\":33,\"anchorPosition\":{\"latitude\":41.678473,\"longitude\":-108.782775,\"elevation\":917.1432},\"laneWidth\":7,\"directionality\":3,\"closedPath\":false,\"direction\":\"1010101010101010\",\"description\":\"geometry\",\"path\":null,\"geometry\":{\"direction\":\"1010101010101010\",\"extent\":1,\"laneWidth\":33,\"circle\":{\"position\":{\"latitude\":41.678473,\"longitude\":-108.782775,\"elevation\":917.1432},\"radius\":15,\"units\":7}},\"oldRegion\":null}],\"doNotUse4\":0,\"doNotUse3\":0,\"content\":\"Advisory\",\"items\":[\"125\",\"some text\",\"250\",\"\\u002798765\"],\"url\":\"null\"}],\"asnDataFrames\":null}}}");
assertEquals(
- "{\"metadata\":{\"request\":{\"ode\":{\"version\":3,\"verb\":\"POST\"},\"sdw\":null,\"rsus\":[{\"rsuTarget\":\"127.0.0.1\",\"rsuUsername\":\"v3user\",\"rsuPassword\":\"*\",\"rsuRetries\":0,\"rsuTimeout\":2000,\"rsuIndex\":10},{\"rsuTarget\":\"127.0.0.2\",\"rsuUsername\":\"v3user\",\"rsuPassword\":\"*\",\"rsuRetries\":1,\"rsuTimeout\":1000,\"rsuIndex\":10},{\"rsuTarget\":\"127.0.0.3\",\"rsuUsername\":\"v3user\",\"rsuPassword\":\"*\",\"rsuRetries\":1,\"rsuTimeout\":1000,\"rsuIndex\":10}],\"snmp\":{\"rsuid\":\"00000083\",\"msgid\":31,\"mode\":1,\"channel\":178,\"interval\":2,\"deliverystart\":\"2017-06-01T17:47:11-05:00\",\"deliverystop\":\"2018-01-01T17:47:11-05:15\",\"enable\":1,\"status\":4}},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeMsgPayload\",\"serialId\":{\"streamId\":\"59651ecc-240c-4440-9011-4a43c926817b\",\"bundleSize\":1,\"bundleId\":0,\"recordId\":0,\"serialNumber\":0},\"odeReceivedAt\":\"2018-11-16T19:21:22.568Z\",\"schemaVersion\":6,\"recordGeneratedAt\":\"2017-03-13T06:07:11Z\",\"recordGeneratedBy\":\"TMC\",\"sanitized\":false},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.plugin.j2735.OdeTravelerInformationMessage\",\"data\":{\"msgCnt\":13,\"timeStamp\":\"2017-03-13T01:07:11-05:00\",\"packetID\":\"EC9C236B0000000000\",\"urlB\":\"null\",\"dataframes\":[{\"doNotUse1\":0,\"frameType\":\"advisory\",\"msgId\":{\"roadSignID\":{\"position\":{\"latitude\":41.678473,\"longitude\":-108.782775,\"elevation\":917.1432},\"viewAngle\":\"1010101010101010\",\"mutcdCode\":\"warning\",\"crc\":\"0000000000000000\"},\"furtherInfoID\":null},\"startDateTime\":\"2017-12-01T17:47:11-05:00\",\"durationTime\":22,\"priority\":0,\"doNotUse2\":0,\"regions\":[{\"name\":\"bob\",\"regulatorID\":23,\"segmentID\":33,\"anchorPosition\":{\"latitude\":41.678473,\"longitude\":-108.782775,\"elevation\":917.1432},\"laneWidth\":7,\"directionality\":3,\"closedPath\":false,\"direction\":\"1010101010101010\",\"description\":\"geometry\",\"path\":null,\"geometry\":{\"direction\":\"1010101010101010\",\"extent\":1,\"laneWidth\":33,\"circle\":{\"position\":{\"latitude\":41.678473,\"longitude\":-108.782775,\"elevation\":917.1432},\"radius\":15,\"units\":7}},\"oldRegion\":null}],\"doNotUse4\":0,\"doNotUse3\":0,\"content\":\"Advisory\",\"items\":[\"125\",\"some text\",\"250\",\"\\u002798765\"],\"url\":\"null\"}],\"asnDataFrames\":null}}}",
+ "{\"metadata\":{\"request\":{\"ode\":{\"version\":3,\"verb\":\"POST\"},\"sdw\":null,\"rsus\":[{\"rsuTarget\":\"127.0.0.1\",\"rsuUsername\":\"v3user\",\"rsuPassword\":\"*\",\"rsuRetries\":0,\"rsuTimeout\":2000,\"rsuIndex\":10},{\"rsuTarget\":\"127.0.0.2\",\"rsuUsername\":\"v3user\",\"rsuPassword\":\"*\",\"rsuRetries\":1,\"rsuTimeout\":1000,\"rsuIndex\":10},{\"rsuTarget\":\"127.0.0.3\",\"rsuUsername\":\"v3user\",\"rsuPassword\":\"*\",\"rsuRetries\":1,\"rsuTimeout\":1000,\"rsuIndex\":10}],\"snmp\":{\"rsuid\":\"00000083\",\"msgid\":31,\"mode\":1,\"channel\":178,\"interval\":2,\"deliverystart\":\"2017-06-01T17:47:11-05:00\",\"deliverystop\":\"2018-01-01T17:47:11-05:15\",\"enable\":1,\"status\":4}},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeMsgPayload\",\"serialId\":{\"streamId\":\"59651ecc-240c-4440-9011-4a43c926817b\",\"bundleSize\":1,\"bundleId\":0,\"recordId\":0,\"serialNumber\":0},\"odeReceivedAt\":\"2018-11-16T19:21:22.568Z\",\"schemaVersion\":8,\"recordGeneratedAt\":\"2017-03-13T06:07:11Z\",\"recordGeneratedBy\":\"TMC\",\"sanitized\":false},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.plugin.j2735.OdeTravelerInformationMessage\",\"data\":{\"msgCnt\":13,\"timeStamp\":\"2017-03-13T01:07:11-05:00\",\"packetID\":\"EC9C236B0000000000\",\"urlB\":\"null\",\"dataframes\":[{\"doNotUse1\":0,\"frameType\":\"advisory\",\"msgId\":{\"roadSignID\":{\"position\":{\"latitude\":41.678473,\"longitude\":-108.782775,\"elevation\":917.1432},\"viewAngle\":\"1010101010101010\",\"mutcdCode\":\"warning\",\"crc\":\"0000000000000000\"},\"furtherInfoID\":null},\"startDateTime\":\"2017-12-01T17:47:11-05:00\",\"durationTime\":22,\"priority\":0,\"doNotUse2\":0,\"regions\":[{\"name\":\"bob\",\"regulatorID\":23,\"segmentID\":33,\"anchorPosition\":{\"latitude\":41.678473,\"longitude\":-108.782775,\"elevation\":917.1432},\"laneWidth\":7,\"directionality\":3,\"closedPath\":false,\"direction\":\"1010101010101010\",\"description\":\"geometry\",\"path\":null,\"geometry\":{\"direction\":\"1010101010101010\",\"extent\":1,\"laneWidth\":33,\"circle\":{\"position\":{\"latitude\":41.678473,\"longitude\":-108.782775,\"elevation\":917.1432},\"radius\":15,\"units\":7}},\"oldRegion\":null}],\"doNotUse4\":0,\"doNotUse3\":0,\"content\":\"Advisory\",\"items\":[\"125\",\"some text\",\"250\",\"\\u002798765\"],\"url\":\"null\"}],\"asnDataFrames\":null}}}",
actual);
}
@@ -115,17 +111,13 @@ void assertConvertArray(String array, String arrayKey, String elementKey, Object
@Test
void testConvertRsusArray() throws JsonUtilsException, XmlUtilsException {
- String single =
- "{\"ode\":{\"version\":3,\"verb\":\"POST\"},\"rsus\":{\"rsu_\":[{\"rsuTarget\":\"127.0.0.3\",\"rsuUsername\":\"v3user\",\"rsuPassword\":\"password\",\"rsuRetries\":1,\"rsuTimeout\":1000,\"rsuIndex\":10}]},\"snmp\":{\"rsuid\":\"00000083\",\"msgid\":31,\"mode\":1,\"channel\":178,\"interval\":2,\"deliverystart\":\"2017-06-01T17:47:11-05:00\",\"deliverystop\":\"2018-01-01T17:47:11-05:15\",\"enable\":1,\"status\":4}}";
- String singleXmlExpected =
- "127.0.0.3v3userpassword1100010";
+ String single = "{\"ode\":{\"version\":3,\"verb\":\"POST\"},\"rsus\":{\"rsu_\":[{\"rsuTarget\":\"127.0.0.3\",\"rsuUsername\":\"v3user\",\"rsuPassword\":\"password\",\"rsuRetries\":1,\"rsuTimeout\":1000,\"rsuIndex\":10}]},\"snmp\":{\"rsuid\":\"00000083\",\"msgid\":31,\"mode\":1,\"channel\":178,\"interval\":2,\"deliverystart\":\"2017-06-01T17:47:11-05:00\",\"deliverystop\":\"2018-01-01T17:47:11-05:15\",\"enable\":1,\"status\":4}}";
+ String singleXmlExpected = "127.0.0.3v3userpassword1100010";
assertConvertArray(single, TimTransmogrifier.RSUS_STRING, TimTransmogrifier.RSUS_STRING,
singleXmlExpected);
- String multi =
- "{\"ode\":{\"version\":3,\"verb\":\"POST\"},\"rsus\":{\"rsu_\":[{\"rsuTarget\":\"127.0.0.1\",\"rsuUsername\":\"v3user\",\"rsuPassword\":\"password\",\"rsuRetries\":0,\"rsuTimeout\":2000,\"rsuIndex\":10},{\"rsuTarget\":\"127.0.0.2\",\"rsuUsername\":\"v3user\",\"rsuPassword\":\"password\",\"rsuRetries\":1,\"rsuTimeout\":1000,\"rsuIndex\":10},{\"rsuTarget\":\"127.0.0.3\",\"rsuUsername\":\"v3user\",\"rsuPassword\":\"password\",\"rsuRetries\":1,\"rsuTimeout\":1000,\"rsuIndex\":10}]},\"snmp\":{\"rsuid\":\"00000083\",\"msgid\":31,\"mode\":1,\"channel\":178,\"interval\":2,\"deliverystart\":\"2017-06-01T17:47:11-05:00\",\"deliverystop\":\"2018-01-01T17:47:11-05:15\",\"enable\":1,\"status\":4}}";
- String multiXmlExpected =
- "127.0.0.1v3userpassword0200010127.0.0.2v3userpassword1100010127.0.0.3v3userpassword1100010";
+ String multi = "{\"ode\":{\"version\":3,\"verb\":\"POST\"},\"rsus\":{\"rsu_\":[{\"rsuTarget\":\"127.0.0.1\",\"rsuUsername\":\"v3user\",\"rsuPassword\":\"password\",\"rsuRetries\":0,\"rsuTimeout\":2000,\"rsuIndex\":10},{\"rsuTarget\":\"127.0.0.2\",\"rsuUsername\":\"v3user\",\"rsuPassword\":\"password\",\"rsuRetries\":1,\"rsuTimeout\":1000,\"rsuIndex\":10},{\"rsuTarget\":\"127.0.0.3\",\"rsuUsername\":\"v3user\",\"rsuPassword\":\"password\",\"rsuRetries\":1,\"rsuTimeout\":1000,\"rsuIndex\":10}]},\"snmp\":{\"rsuid\":\"00000083\",\"msgid\":31,\"mode\":1,\"channel\":178,\"interval\":2,\"deliverystart\":\"2017-06-01T17:47:11-05:00\",\"deliverystop\":\"2018-01-01T17:47:11-05:15\",\"enable\":1,\"status\":4}}";
+ String multiXmlExpected = "127.0.0.1v3userpassword0200010127.0.0.2v3userpassword1100010127.0.0.3v3userpassword1100010";
assertConvertArray(multi, TimTransmogrifier.RSUS_STRING, TimTransmogrifier.RSUS_STRING,
multiXmlExpected);
}
@@ -272,8 +264,7 @@ void testConvertToXMLMessageFrame()
OdeMsgMetadata staticOdeMsgMetadata = new OdeMsgMetadata();
staticOdeMsgMetadata.setSchemaVersion(Integer.parseInt(schemaVersion));
- String actualXML =
- TimTransmogrifier.convertToXml(null, encodableTID, staticOdeMsgMetadata, staticSerialId);
+ String actualXML = TimTransmogrifier.convertToXml(null, encodableTID, staticOdeMsgMetadata, staticSerialId);
var expected = String.format(
"us.dot.its.jpo.ode.model.OdeTimPayload6c33f802-418d-4b67-89d1-326b4fc8b1e31000%s%s0false42.537903-83.47790342.305753-82.842753thirtyminutes2017-06-01T17:47:11-05:002018-03-01T17:47:11-05:15MessageFrameMessageFrameUPER31MessageFrame",
DateTimeUtils.now(), schemaVersion);
@@ -281,7 +272,8 @@ void testConvertToXMLMessageFrame()
}
/**
- * It should be noted that the 'prepare' section of this test largely follows the
+ * It should be noted that the 'prepare' section of this test largely follows
+ * the
* logic in the TimDepositController.depositTim() method. This is because the
* TimTransmogrifier.convertToXml() method is called by the TimDepositController
* and the TimDepositController is responsible for preparing the data that is
@@ -341,7 +333,8 @@ private SerialId prepareSerialId() {
/**
* Helper method to prepare an OdeTravelerInputData object for testing.
*
- * @param timRequestContainingCircleGeometry a JSON string containing a TIM request with a circle geometry
+ * @param timRequestContainingCircleGeometry a JSON string containing a TIM
+ * request with a circle geometry
* @return an OdeTravelerInputData object
* @throws JsonUtilsException if there is an issue parsing the JSON string
*/
@@ -375,7 +368,8 @@ private OdeRequestMsgMetadata prepareMetadata(OdeTravelerInputData odeTID, Seria
maxDurationTime = Math.max(maxDurationTime, dataFrameItem.getDurationTime());
latestStartDateTime = latestStartDateTime == null
|| latestStartDateTime.before(dateFormat.parse(dataFrameItem.getStartDateTime()))
- ? dateFormat.parse(dataFrameItem.getStartDateTime()) : latestStartDateTime;
+ ? dateFormat.parse(dataFrameItem.getStartDateTime())
+ : latestStartDateTime;
}
timMetadata.setMaxDurationTime(maxDurationTime);
timMetadata.setOdeTimStartDateTime(dateFormat.format(latestStartDateTime));
@@ -384,7 +378,7 @@ private OdeRequestMsgMetadata prepareMetadata(OdeTravelerInputData odeTID, Seria
timMetadata.setRecordGeneratedBy(OdeMsgMetadata.GeneratedBy.TMC);
timMetadata.setRecordGeneratedAt(
DateTimeUtils.isoDateTime(DateTimeUtils.isoDateTime(tim.getTimeStamp())));
- timMetadata.setSchemaVersion(7);
+ timMetadata.setSchemaVersion(8);
return timMetadata;
}
diff --git a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/udp/map/MapReceiverTest.java b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/udp/map/MapReceiverTest.java
index 182c76f1d..0ac327004 100644
--- a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/udp/map/MapReceiverTest.java
+++ b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/udp/map/MapReceiverTest.java
@@ -73,11 +73,6 @@ void testMapReceiver() throws IOException {
// Set the clock to a fixed time so that the MapReceiver will produce the same output every time
DateTimeUtils.setClock(
Clock.fixed(Instant.parse("2020-01-01T00:00:00Z"), Clock.systemUTC().getZone()));
- // Set the static schema version to 7 so that the MapReceiver will produce the same output every time
- // This is necessary because the schema version is set in only one of the OdeMsgMetadata constructors (this should be fixed)
- // and the schema version is set to the static schema version in the constructor. This means that the schema version
- // will be set to 6 for all OdeMsgMetadata objects created in the MapReceiver run method's code path.
- OdeMsgMetadata.setStaticSchemaVersion(7);
MapReceiver mapReceiver = new MapReceiver(udpReceiverProperties.getMap(), kafkaTemplate,
rawEncodedJsonTopics.getMap());
diff --git a/jpo-ode-svcs/src/test/resources/application.yaml b/jpo-ode-svcs/src/test/resources/application.yaml
index 5bc494032..8555b75dd 100644
--- a/jpo-ode-svcs/src/test/resources/application.yaml
+++ b/jpo-ode-svcs/src/test/resources/application.yaml
@@ -18,7 +18,6 @@ spring:
admin:
auto-create: false
ode:
- output-schema-version: 7
security-services:
host-ip: "test-host"
port: 1234
diff --git a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON_J2735-2024.json b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON_J2735-2024.json
index 2e4aa13c6..bdb7550b0 100644
--- a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON_J2735-2024.json
+++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON_J2735-2024.json
@@ -1 +1 @@
-{"metadata":{"logFileName":"","recordType":"timMsg","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeTimPayload","serialId":{"streamId":"8af76b08-89bf-422e-b674-0f0ee065666f","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-06T10:39:42.806Z","schemaVersion":7,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"RSU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"001F830A752544F94F4354455420535452124C16B4FA27D64F431A94AC28F232828FF05260B5CA82DDFB227A687CA09CFDE87C4B0ED1C8800280204A865BB2C265D1E4F5D3A877C07F8093FC3D820142C4EB15C7AC09CE3356F45A90200118358186A148D3F13220B227C18569099E2D1232A28B5F2579208E479151D45D438BEFF80DB0C08CED3F45A50103103102088C1A44A152889AFA7F62218940E831C20F35EA1232777BF31146022C71408809E5EB7BA1D52835D8A040D83367520C4AB397658B07E21393A041060D049E825C15FCF56AFF05260B58E40024126EDBD550F6D519709FDE4CF880201602008CEE4ACA5DE274975513846DD7AD77F839305AD383175AA8A497954C284E668FFE4F0710D80802810030EAC2535BCD6AE047899B1CE75405C8E6936419C672A85F8900C50B428CA3188CA4E1101B485DEE47349B20CE339542FC5654852A1484C9C0A0B6DEBB81DB91CD26C8338CE550BF31188B6041101F08134A407147800DFCF8E5FE0A4C16B2BF3A3A253269429B3B8198F71B71F8C902002C008005DD1174A86649950714134C54C82F4C0012B9C982D69B5BEADBF1C99BEFD660C6A4200201A7A1ECCA540B60B0AA27F8093AC4BF831472A28ECD2E0203575E8F15F5000818817507D68CC505CF4497E8219CA2288A03C81503120AEB852B7507D68CC505CF4497E2121346A090E8061520293D37841E41530E9BF4214E93C326CF8502830F0C081FF9D71FE064C1BAA780A12351A24D300B6FD25F085703880101600022BE028AC1105C1D5CB0F0E001A42F7F849305AD3E9B408EB43464DC861E6234918C8667857300022C400087E511D765E294CF3507435289D7EBBC2849A4982D69F494982D524C16B4FA36827A1D6C31DFDBE55A627F819307EA49F19AA77C773D119EA690CE094883E0100588001E1832A00950E876B85589726EF3EDFE0E4C16B4F8EB0ECDE8A23F3F9E839831CE316170D2000858080178162BF959EDACD55B2CD3721A1EDFE064C1AEC1B3F02442FEC92E119DFAF82D6EC3884002C0004A9FEDD617613A307F791C6D74FB1A27C451F6139305AD394982D582367260B5A600","originIp":"172.18.0.1"},"payload":{"data":{"msgCnt":82,"timeStamp":345337,"packetID":"4F4354455420535452","urlB":"IA5St","dataFrames":[{"doNotUse1":0,"frameType":"commercialSignage","msgId":{"furtherInfoID":"4F43"},"startYear":425,"startTime":306216,"durationTime":31001,"priority":2,"doNotUse2":0,"regions":[{"name":"IA5","id":{"region":38149,"id":48118},"anchor":{"lat":-567387419,"long":-1717691068,"elevation":53848},"laneWidth":15175,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":true,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"oldRegion":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor50000meters","area":{"circle":{"center":{"lat":-686654332,"long":1616508908,"elevation":38736},"radius":3832,"units":"centimeter"}}}}},{"name":"I","id":{"region":64573,"id":33281},"anchor":{"lat":-714161321,"long":-1285139143,"elevation":48475},"laneWidth":26805,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"path":{"scale":1,"offset":{"ll":{"nodes":[{"delta":{"node-LL4":{"lon":-127947,"lat":-120550}},"attributes":{"localNode":["downstreamStopLine","closedToTraffic"],"disabled":["adjacentParkingOnLeft","transitStopOnLeft","parallelParking","mergingLaneLeft","curbOnLeft"],"enabled":["midBlockCurbPresent","transitStopInLane","taperToCenterLine","lowCurbsPresent"],"data":[{"laneAngle":101},{"laneAngle":62},{"speedLimits":[{"type":"truckMaxSpeed","speed":5822},{"type":"truckNightMaxSpeed","speed":3017}]},{"pathEndPointAngle":-8},{"laneCrownPointLeft":35}],"dWidth":162,"dElevation":424}},{"delta":{"node-LatLon":{"lon":-998896073,"lat":735850714}},"attributes":{"localNode":["hydrantPresent","safeIsland","closedToTraffic","stopLine","reserved"],"disabled":["loadingzoneOnRight","adjacentParkingOnRight","headInParking"],"enabled":["costToPark","mergingLaneLeft","midBlockCurbPresent","unEvenPavementPresent","curbOnLeft"],"data":[{"speedLimits":[{"type":"maxSpeedInSchoolZoneWhenChildrenArePresent","speed":3453},{"type":"truckMinSpeed","speed":7876}]},{"speedLimits":[{"type":"truckMinSpeed","speed":2097}]},{"laneAngle":-82}],"dWidth":264,"dElevation":-269}},{"delta":{"node-LL4":{"lon":86161,"lat":20207}},"attributes":{"localNode":["roundedCapStyleA","divergePoint","roundedCapStyleB","reserved"],"disabled":["adjacentParkingOnLeft","adjacentBikeLaneOnRight"],"enabled":["headInParking","timeRestrictionsOnParking"],"data":[{"laneCrownPointCenter":-68}],"dWidth":245,"dElevation":247}},{"delta":{"node-LL1":{"lon":-172,"lat":525}},"attributes":{"localNode":["closedToTraffic","roundedCapStyleA"],"disabled":["partialCurbIntrusion"],"enabled":["adaptiveTimingPresent"],"dWidth":206,"dElevation":144}},{"delta":{"node-LL5":{"lon":-873243,"lat":1464496}},"attributes":{"localNode":["stopLine","downstreamStartNode"],"disabled":["taperToRight","doNotBlock"],"enabled":["bikeBoxInFront"],"data":[{"pathEndPointAngle":58},{"pathEndPointAngle":1},{"pathEndPointAngle":25},{"laneAngle":137}],"dWidth":414,"dElevation":181}}]}}}}},{"name":"IA5","id":{"region":7296,"id":1154},"anchor":{"lat":29950376,"long":270580409,"elevation":16367},"laneWidth":4926,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor10000meters","laneWidth":26482,"circle":{"center":{"lat":598135630,"long":664850545,"elevation":32186},"radius":3930,"units":"mile"}}}},{"name":"IA5S","id":{"region":1582,"id":46417},"anchor":{"lat":-283655839,"long":-685153664,"elevation":57976},"laneWidth":7235,"directionality":"forward","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":true,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"oldRegion":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor1000meters","area":{"shapePointSet":{"anchor":{"lat":581272185,"long":1108489970,"elevation":9059},"laneWidth":20085,"directionality":"forward","nodeList":{"nodes":[{"delta":{"node-LatLon":{"lon":-605370079,"lat":829743521}},"attributes":{"localNode":["mergePoint","reserved"],"disabled":["turnOutPointOnRight","adjacentParkingOnLeft","freeParking","costToPark"],"enabled":["costToPark","adjacentParkingOnRight"],"data":[{"laneCrownPointRight":-87},{"laneCrownPointRight":4},{"laneAngle":-167}],"dWidth":144,"dElevation":239}},{"delta":{"node-LatLon":{"lon":-605370079,"lat":829743521}},"attributes":{"localNode":["hydrantPresent","divergePoint"],"disabled":["freeParking","unEvenPavementPresent"],"enabled":["freeParking","adaptiveTimingPresent","taperToLeft"],"data":[{"speedLimits":[{"type":"vehiclesWithTrailersMaxSpeed","speed":3517}]}],"dWidth":-36,"dElevation":-453}},{"delta":{"node-LatLon":{"lon":-605370079,"lat":829743521}},"attributes":{"localNode":["roundedCapStyleA","downstreamStopLine","mergePoint","hydrantPresent"],"disabled":["doNotBlock","whiteLine","bikeBoxInFront","sharedBikeLane"],"enabled":["bikeBoxInFront","transitStopInLane","unEvenPavementPresent","adjacentBikeLaneOnRight"],"data":[{"laneAngle":60},{"pathEndPointAngle":-95}],"dWidth":463,"dElevation":57}}]}}}}}},{"name":"IA5","id":{"region":11251,"id":41890},"anchor":{"lat":385181606,"long":1670812734,"elevation":46812},"laneWidth":16153,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useInstantlyOnly","laneWidth":6004,"circle":{"center":{"lat":-509239964,"long":772185922,"elevation":9413},"radius":1224,"units":"cm2-5"}}}}],"doNotUse3":0,"doNotUse4":0,"content":{"exitService":[{"item":{"itis":599}}]},"url":"IA5S"},{"doNotUse1":0,"frameType":"commercialSignage","msgId":{"roadSignID":{"position":{"lat":634998835,"long":313588249,"elevation":50308},"viewAngle":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"mutcdCode":"maintenance","crc":"4F43"}},"startYear":3481,"startTime":305174,"durationTime":24752,"priority":5,"doNotUse2":0,"regions":[{"name":"I","id":{"region":44107,"id":63537},"anchor":{"lat":-419185997,"long":-533287210,"elevation":51107},"laneWidth":25278,"directionality":"reverse","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":true,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"path":{"scale":8,"offset":{"ll":{"nodes":[{"delta":{"node-LatLon":{"lon":900792217,"lat":448269129}},"attributes":{"localNode":["roundedCapStyleA","roundedCapStyleB","downstreamStartNode","divergePoint"],"disabled":["timeRestrictionsOnParking","sharedWithTrackedVehicle"],"enabled":["taperToCenterLine"],"data":[{"pathEndPointAngle":18},{"pathEndPointAngle":24},{"laneCrownPointCenter":9}],"dWidth":225,"dElevation":-213}},{"delta":{"node-LatLon":{"lon":900792217,"lat":448269129}},"attributes":{"localNode":["stopLine","mergePoint"],"disabled":["rfSignalRequestPresent"],"enabled":["turnOutPointOnLeft","loadingzoneOnLeft","headInParking","adjacentParkingOnRight","safeIsland"],"data":[{"pathEndPointAngle":-109},{"laneCrownPointRight":83}],"dWidth":-31,"dElevation":-482}},{"delta":{"node-LL1":{"lon":-1370,"lat":-1581}},"attributes":{"localNode":["mergePoint","divergePoint","downstreamStartNode","safeIsland"],"disabled":["adaptiveTimingPresent","partialCurbIntrusion","parallelParking","curbOnLeft","doNotBlock"],"enabled":["curbOnRight","sharedBikeLane"],"data":[{"laneCrownPointLeft":-121}],"dWidth":505,"dElevation":348}}]}}}}},{"name":"IA","id":{"region":30031,"id":322},"anchor":{"lat":-454547095,"long":353479827,"elevation":59458},"laneWidth":23566,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":true,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":true,"from337-5to360-0degrees":false},"extent":"useFor10meters","laneWidth":24321,"circle":{"center":{"lat":-539150408,"long":-814772254,"elevation":45059},"radius":1157,"units":"mile"}}}},{"name":"IA5St","id":{"region":46088,"id":60227},"anchor":{"lat":-476956537,"long":759386724,"elevation":4505},"laneWidth":28846,"directionality":"forward","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":true,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":true,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor100meters","laneWidth":8084,"circle":{"center":{"lat":-405703383,"long":-508985739,"elevation":9512},"radius":2519,"units":"mile"}}}}],"doNotUse3":0,"doNotUse4":0,"content":{"exitService":[{"item":{"text":"I"}},{"item":{"text":"IA5St"}},{"item":{"text":"IA5"}}]},"url":"IA5St"},{"doNotUse1":0,"frameType":"unknown","msgId":{"furtherInfoID":"4F43"},"startYear":2776,"startTime":408571,"durationTime":15957,"priority":5,"doNotUse2":0,"regions":[{"name":"IA","id":{"region":62756,"id":63693},"anchor":{"lat":424936826,"long":-1208779998,"elevation":35858},"laneWidth":18563,"directionality":"both","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":true,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":true,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor5000meters","laneWidth":17158,"circle":{"center":{"lat":442482548,"long":-804103995,"elevation":43319},"radius":1951,"units":"meter"}}}},{"name":"IA5S","id":{"region":51032,"id":30319},"anchor":{"lat":-559743245,"long":1697199162,"elevation":46636},"laneWidth":5901,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":true,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor500meters","laneWidth":28716,"circle":{"center":{"lat":707126893,"long":-77527193,"elevation":35728},"radius":3343,"units":"meter"}}}},{"name":"IA","id":{"region":23939,"id":26592},"anchor":{"lat":-328004279,"long":88284632,"elevation":45419},"laneWidth":15118,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":true,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"oldRegion":{"direction":{"from000-0to022-5degrees":true,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor50000meters","area":{"circle":{"center":{"lat":171361070,"long":1462406911,"elevation":57912},"radius":3502,"units":"kilometer"}}}}}],"doNotUse3":0,"doNotUse4":0,"content":{"speedLimit":[{"item":{"itis":40721}},{"item":{"itis":36784}},{"item":{"text":"IA5S"}},{"item":{"text":"IA5"}},{"item":{"itis":49435}}]},"url":"IA5S"}]},"dataType":"us.dot.its.jpo.ode.plugin.j2735.travelerinformation.TravelerInformation"}}
\ No newline at end of file
+{"metadata":{"logFileName":"","recordType":"timMsg","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeTimPayload","serialId":{"streamId":"8af76b08-89bf-422e-b674-0f0ee065666f","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-06T10:39:42.806Z","schemaVersion":8,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"RSU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"001F830A752544F94F4354455420535452124C16B4FA27D64F431A94AC28F232828FF05260B5CA82DDFB227A687CA09CFDE87C4B0ED1C8800280204A865BB2C265D1E4F5D3A877C07F8093FC3D820142C4EB15C7AC09CE3356F45A90200118358186A148D3F13220B227C18569099E2D1232A28B5F2579208E479151D45D438BEFF80DB0C08CED3F45A50103103102088C1A44A152889AFA7F62218940E831C20F35EA1232777BF31146022C71408809E5EB7BA1D52835D8A040D83367520C4AB397658B07E21393A041060D049E825C15FCF56AFF05260B58E40024126EDBD550F6D519709FDE4CF880201602008CEE4ACA5DE274975513846DD7AD77F839305AD383175AA8A497954C284E668FFE4F0710D80802810030EAC2535BCD6AE047899B1CE75405C8E6936419C672A85F8900C50B428CA3188CA4E1101B485DEE47349B20CE339542FC5654852A1484C9C0A0B6DEBB81DB91CD26C8338CE550BF31188B6041101F08134A407147800DFCF8E5FE0A4C16B2BF3A3A253269429B3B8198F71B71F8C902002C008005DD1174A86649950714134C54C82F4C0012B9C982D69B5BEADBF1C99BEFD660C6A4200201A7A1ECCA540B60B0AA27F8093AC4BF831472A28ECD2E0203575E8F15F5000818817507D68CC505CF4497E8219CA2288A03C81503120AEB852B7507D68CC505CF4497E2121346A090E8061520293D37841E41530E9BF4214E93C326CF8502830F0C081FF9D71FE064C1BAA780A12351A24D300B6FD25F085703880101600022BE028AC1105C1D5CB0F0E001A42F7F849305AD3E9B408EB43464DC861E6234918C8667857300022C400087E511D765E294CF3507435289D7EBBC2849A4982D69F494982D524C16B4FA36827A1D6C31DFDBE55A627F819307EA49F19AA77C773D119EA690CE094883E0100588001E1832A00950E876B85589726EF3EDFE0E4C16B4F8EB0ECDE8A23F3F9E839831CE316170D2000858080178162BF959EDACD55B2CD3721A1EDFE064C1AEC1B3F02442FEC92E119DFAF82D6EC3884002C0004A9FEDD617613A307F791C6D74FB1A27C451F6139305AD394982D582367260B5A600","originIp":"172.18.0.1"},"payload":{"data":{"msgCnt":82,"timeStamp":345337,"packetID":"4F4354455420535452","urlB":"IA5St","dataFrames":[{"doNotUse1":0,"frameType":"commercialSignage","msgId":{"furtherInfoID":"4F43"},"startYear":425,"startTime":306216,"durationTime":31001,"priority":2,"doNotUse2":0,"regions":[{"name":"IA5","id":{"region":38149,"id":48118},"anchor":{"lat":-567387419,"long":-1717691068,"elevation":53848},"laneWidth":15175,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":true,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"oldRegion":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor50000meters","area":{"circle":{"center":{"lat":-686654332,"long":1616508908,"elevation":38736},"radius":3832,"units":"centimeter"}}}}},{"name":"I","id":{"region":64573,"id":33281},"anchor":{"lat":-714161321,"long":-1285139143,"elevation":48475},"laneWidth":26805,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"path":{"scale":1,"offset":{"ll":{"nodes":[{"delta":{"node-LL4":{"lon":-127947,"lat":-120550}},"attributes":{"localNode":["downstreamStopLine","closedToTraffic"],"disabled":["adjacentParkingOnLeft","transitStopOnLeft","parallelParking","mergingLaneLeft","curbOnLeft"],"enabled":["midBlockCurbPresent","transitStopInLane","taperToCenterLine","lowCurbsPresent"],"data":[{"laneAngle":101},{"laneAngle":62},{"speedLimits":[{"type":"truckMaxSpeed","speed":5822},{"type":"truckNightMaxSpeed","speed":3017}]},{"pathEndPointAngle":-8},{"laneCrownPointLeft":35}],"dWidth":162,"dElevation":424}},{"delta":{"node-LatLon":{"lon":-998896073,"lat":735850714}},"attributes":{"localNode":["hydrantPresent","safeIsland","closedToTraffic","stopLine","reserved"],"disabled":["loadingzoneOnRight","adjacentParkingOnRight","headInParking"],"enabled":["costToPark","mergingLaneLeft","midBlockCurbPresent","unEvenPavementPresent","curbOnLeft"],"data":[{"speedLimits":[{"type":"maxSpeedInSchoolZoneWhenChildrenArePresent","speed":3453},{"type":"truckMinSpeed","speed":7876}]},{"speedLimits":[{"type":"truckMinSpeed","speed":2097}]},{"laneAngle":-82}],"dWidth":264,"dElevation":-269}},{"delta":{"node-LL4":{"lon":86161,"lat":20207}},"attributes":{"localNode":["roundedCapStyleA","divergePoint","roundedCapStyleB","reserved"],"disabled":["adjacentParkingOnLeft","adjacentBikeLaneOnRight"],"enabled":["headInParking","timeRestrictionsOnParking"],"data":[{"laneCrownPointCenter":-68}],"dWidth":245,"dElevation":247}},{"delta":{"node-LL1":{"lon":-172,"lat":525}},"attributes":{"localNode":["closedToTraffic","roundedCapStyleA"],"disabled":["partialCurbIntrusion"],"enabled":["adaptiveTimingPresent"],"dWidth":206,"dElevation":144}},{"delta":{"node-LL5":{"lon":-873243,"lat":1464496}},"attributes":{"localNode":["stopLine","downstreamStartNode"],"disabled":["taperToRight","doNotBlock"],"enabled":["bikeBoxInFront"],"data":[{"pathEndPointAngle":58},{"pathEndPointAngle":1},{"pathEndPointAngle":25},{"laneAngle":137}],"dWidth":414,"dElevation":181}}]}}}}},{"name":"IA5","id":{"region":7296,"id":1154},"anchor":{"lat":29950376,"long":270580409,"elevation":16367},"laneWidth":4926,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor10000meters","laneWidth":26482,"circle":{"center":{"lat":598135630,"long":664850545,"elevation":32186},"radius":3930,"units":"mile"}}}},{"name":"IA5S","id":{"region":1582,"id":46417},"anchor":{"lat":-283655839,"long":-685153664,"elevation":57976},"laneWidth":7235,"directionality":"forward","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":true,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"oldRegion":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor1000meters","area":{"shapePointSet":{"anchor":{"lat":581272185,"long":1108489970,"elevation":9059},"laneWidth":20085,"directionality":"forward","nodeList":{"nodes":[{"delta":{"node-LatLon":{"lon":-605370079,"lat":829743521}},"attributes":{"localNode":["mergePoint","reserved"],"disabled":["turnOutPointOnRight","adjacentParkingOnLeft","freeParking","costToPark"],"enabled":["costToPark","adjacentParkingOnRight"],"data":[{"laneCrownPointRight":-87},{"laneCrownPointRight":4},{"laneAngle":-167}],"dWidth":144,"dElevation":239}},{"delta":{"node-LatLon":{"lon":-605370079,"lat":829743521}},"attributes":{"localNode":["hydrantPresent","divergePoint"],"disabled":["freeParking","unEvenPavementPresent"],"enabled":["freeParking","adaptiveTimingPresent","taperToLeft"],"data":[{"speedLimits":[{"type":"vehiclesWithTrailersMaxSpeed","speed":3517}]}],"dWidth":-36,"dElevation":-453}},{"delta":{"node-LatLon":{"lon":-605370079,"lat":829743521}},"attributes":{"localNode":["roundedCapStyleA","downstreamStopLine","mergePoint","hydrantPresent"],"disabled":["doNotBlock","whiteLine","bikeBoxInFront","sharedBikeLane"],"enabled":["bikeBoxInFront","transitStopInLane","unEvenPavementPresent","adjacentBikeLaneOnRight"],"data":[{"laneAngle":60},{"pathEndPointAngle":-95}],"dWidth":463,"dElevation":57}}]}}}}}},{"name":"IA5","id":{"region":11251,"id":41890},"anchor":{"lat":385181606,"long":1670812734,"elevation":46812},"laneWidth":16153,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useInstantlyOnly","laneWidth":6004,"circle":{"center":{"lat":-509239964,"long":772185922,"elevation":9413},"radius":1224,"units":"cm2-5"}}}}],"doNotUse3":0,"doNotUse4":0,"content":{"exitService":[{"item":{"itis":599}}]},"url":"IA5S"},{"doNotUse1":0,"frameType":"commercialSignage","msgId":{"roadSignID":{"position":{"lat":634998835,"long":313588249,"elevation":50308},"viewAngle":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":true,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"mutcdCode":"maintenance","crc":"4F43"}},"startYear":3481,"startTime":305174,"durationTime":24752,"priority":5,"doNotUse2":0,"regions":[{"name":"I","id":{"region":44107,"id":63537},"anchor":{"lat":-419185997,"long":-533287210,"elevation":51107},"laneWidth":25278,"directionality":"reverse","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":true,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"path":{"scale":8,"offset":{"ll":{"nodes":[{"delta":{"node-LatLon":{"lon":900792217,"lat":448269129}},"attributes":{"localNode":["roundedCapStyleA","roundedCapStyleB","downstreamStartNode","divergePoint"],"disabled":["timeRestrictionsOnParking","sharedWithTrackedVehicle"],"enabled":["taperToCenterLine"],"data":[{"pathEndPointAngle":18},{"pathEndPointAngle":24},{"laneCrownPointCenter":9}],"dWidth":225,"dElevation":-213}},{"delta":{"node-LatLon":{"lon":900792217,"lat":448269129}},"attributes":{"localNode":["stopLine","mergePoint"],"disabled":["rfSignalRequestPresent"],"enabled":["turnOutPointOnLeft","loadingzoneOnLeft","headInParking","adjacentParkingOnRight","safeIsland"],"data":[{"pathEndPointAngle":-109},{"laneCrownPointRight":83}],"dWidth":-31,"dElevation":-482}},{"delta":{"node-LL1":{"lon":-1370,"lat":-1581}},"attributes":{"localNode":["mergePoint","divergePoint","downstreamStartNode","safeIsland"],"disabled":["adaptiveTimingPresent","partialCurbIntrusion","parallelParking","curbOnLeft","doNotBlock"],"enabled":["curbOnRight","sharedBikeLane"],"data":[{"laneCrownPointLeft":-121}],"dWidth":505,"dElevation":348}}]}}}}},{"name":"IA","id":{"region":30031,"id":322},"anchor":{"lat":-454547095,"long":353479827,"elevation":59458},"laneWidth":23566,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":true,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":true,"from337-5to360-0degrees":false},"extent":"useFor10meters","laneWidth":24321,"circle":{"center":{"lat":-539150408,"long":-814772254,"elevation":45059},"radius":1157,"units":"mile"}}}},{"name":"IA5St","id":{"region":46088,"id":60227},"anchor":{"lat":-476956537,"long":759386724,"elevation":4505},"laneWidth":28846,"directionality":"forward","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":true,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":true,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor100meters","laneWidth":8084,"circle":{"center":{"lat":-405703383,"long":-508985739,"elevation":9512},"radius":2519,"units":"mile"}}}}],"doNotUse3":0,"doNotUse4":0,"content":{"exitService":[{"item":{"text":"I"}},{"item":{"text":"IA5St"}},{"item":{"text":"IA5"}}]},"url":"IA5St"},{"doNotUse1":0,"frameType":"unknown","msgId":{"furtherInfoID":"4F43"},"startYear":2776,"startTime":408571,"durationTime":15957,"priority":5,"doNotUse2":0,"regions":[{"name":"IA","id":{"region":62756,"id":63693},"anchor":{"lat":424936826,"long":-1208779998,"elevation":35858},"laneWidth":18563,"directionality":"both","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":true,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":true,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor5000meters","laneWidth":17158,"circle":{"center":{"lat":442482548,"long":-804103995,"elevation":43319},"radius":1951,"units":"meter"}}}},{"name":"IA5S","id":{"region":51032,"id":30319},"anchor":{"lat":-559743245,"long":1697199162,"elevation":46636},"laneWidth":5901,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":true,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"geometry":{"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":true,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor500meters","laneWidth":28716,"circle":{"center":{"lat":707126893,"long":-77527193,"elevation":35728},"radius":3343,"units":"meter"}}}},{"name":"IA","id":{"region":23939,"id":26592},"anchor":{"lat":-328004279,"long":88284632,"elevation":45419},"laneWidth":15118,"directionality":"unavailable","closedPath":true,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":true,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"oldRegion":{"direction":{"from000-0to022-5degrees":true,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":false,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"extent":"useFor50000meters","area":{"circle":{"center":{"lat":171361070,"long":1462406911,"elevation":57912},"radius":3502,"units":"kilometer"}}}}}],"doNotUse3":0,"doNotUse4":0,"content":{"speedLimit":[{"item":{"itis":40721}},{"item":{"itis":36784}},{"item":{"text":"IA5S"}},{"item":{"text":"IA5"}},{"item":{"itis":49435}}]},"url":"IA5S"}]},"dataType":"us.dot.its.jpo.ode.plugin.j2735.travelerinformation.TravelerInformation"}}
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER_J2735-2016.xml b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER_J2735-2016.xml
index 5da854712..ea1f346b7 100644
--- a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER_J2735-2016.xml
+++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER_J2735-2016.xml
@@ -21,7 +21,7 @@
0
2024-12-06T10:39:42.806Z
- 7
+ 8
0
RSU
diff --git a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER_J2735-2020.xml b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER_J2735-2020.xml
index ff42e1084..af79564bd 100644
--- a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER_J2735-2020.xml
+++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER_J2735-2020.xml
@@ -21,7 +21,7 @@
0
2024-12-06T10:39:42.806Z
- 7
+ 8
0
RSU
diff --git a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER_J2735-2024.xml b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER_J2735-2024.xml
index 2599c66ac..06ffec352 100644
--- a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER_J2735-2024.xml
+++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER_J2735-2024.xml
@@ -21,7 +21,7 @@
0
2024-12-06T10:39:42.806Z
- 7
+ 8
0
RSU
diff --git a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/Asn1DecoderRouter_ApprovalTestCases_MapJson.json b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/Asn1DecoderRouter_ApprovalTestCases_MapJson.json
index 7a1d7564c..8dc07157e 100644
--- a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/Asn1DecoderRouter_ApprovalTestCases_MapJson.json
+++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/Asn1DecoderRouter_ApprovalTestCases_MapJson.json
@@ -2,7 +2,7 @@
"cases": [
{
"description": "Test Case 1 - MapJson",
- "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload85100a89-9411-4bc3-828c-9c398aa829a510002024-11-08T21:38:24.144Z70RSUfalse001283B0380230002044C4094D3E99B42CC5EE1D542002DC36582D280000070001B6152DE2A00A0A6C18DBA4901414D80A776F202851AFEB2F114050535E9B183380A1425832000400A42E00020226400582F280000020002960FB1E175B0440F23605053604DDE30C0A146C03CBCF981414D7F5378AC02829AF820D4B4050A35F51DC7F809F60582A000180960C4A000000800065827078266C18DBA6601428D80CF777C02851AFD9EEB40050A15E7297D5016088000602582B080000010002362769E2E80A0A2BF423E15B60819D2480A146C011BD5281414D7F5F781D02829AFAB6E53C050500C5080004B0729000000200046BCBA39F101428D78FB8260027D9ADD9EFD3804F1356B81FFA40A0A2B1DD401395DE15FFE8063440002583748000001000035E84DD3E00A0A2BD3EC13300C64800044066C800000006B2B02B1E8141457F3C80A1101AB200000001ACC76AEDA050515FCC60298B00C5000000800042BEB43E70B5C8EDF6D809F62BB393F8FB5DB49FDD809F66AF94BFF70141455EBF80110588C00010096008A0000010000657DED7A216BB7D3F2E81414D71C27E52027B1AAEA4FEE2050535652E002809F60589C00010096010A0000010000657D557B672B9403EE735DA55FBF409F62AAD73FBB156D92009C162500004022022C40000000161809FB60B01FB007E2024C4000000016194DF58CB021300B82026C40000000161B75EF75B01FB00A0050508041100000000D77238659027B0AFD92FF8E200E44000000035DDA2143409EC2BF593FE088031100000000D77C48392027B0AFD1EFF8E200A44000000035DFE208D009EC2BF4ABFDD88021100000000D784980C5027B0AFD14FF605812680000010000B5E54A294409EC2BF30C3FD15FB9A081056104000802B0720004022C0A3400000080005AF557153604FB35F872204409F62BFB5410802C188001008402D0800000006BEDAC57E813EC57FBB80EB2C0C540000028000DB0411120C04FB162FE20A0DB2DA106F205051637FE0591B1A03019E05050AC220001804216400581AA8000004000136094E1EA009F62C91141BFB64D660B1C0A0A6CBF2C102014140B0780006012C0E5400000200015B05310CA804FB16382A0A95B1BF3047C05051625EE04D4B12A701EC5898A80AC6C25D4028014140B0680006012C0F540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.30MessageFrame182088022395948212-104883094617442366229100000000000000000001110000000001355-188010795-292610167-231820-167-191010-1428-79862060100000000008111100000000000819001000000000239100000000000000000000100000000001004-1955544-176510311-185320121-154910-173-187610-1008-554220-697-3586-1050100000000003124910000000000000000000010000000000624-2010795-286820207-218020-305-265620-1590-8364401000000000031218100000000000000000000010000000002522-186210-380-981518-29262035-137110-161-201910-677-342610200010000000001281010000000000000000000001000000000-1676-310220-1797608-10-4401-356-30-9504-2310-723839-2171-6260010000000001271010000000000000000000001000000000-1517-282410-1411614250010000000001251101000000000000000000-6816-1069110-196161261101000000000000000000-6597-1038710-2071663110000000000000000000100000000000-664-799-3525-586-10-2446-225-2350-138-10-8407-1810-85131717100000000000211110000000000000000000100000000000-531-1503-2310-41910-3646-430-20-10414-14310-990910-1019100000000000212110000000000000000000100000000000-683-1177-3456-562-2411-259-10-10834-138-9372391810000000000021176010000000000000000001538-29625363186010000000000000000001619-66926592196010000000000000000001757-105925380108201000000000000000000-22691625-20-311-577201000000000000000000-22001293-20-334-636201000000000000000000-2108914-20-369-575201000000000000000000-2056564-20-363-694201000000000000000000-1975197-20-374-809310000000000000000000001000000000-17102641-20-4152042-28251680010000000004170010000000004210310000000000000000000001000000000-13652715-10-4842065-10-15052860010000000004211401000000000000000000-5872813-10-69235125100000000000000000001010000000005202310-103064643584088910358335633292071081000000000006111001000000000135100000000000000000001000000000005951960-104642895495371110611751610710000000000061145100000000000000000001000000000006641620-10359467735775741024273092387246244217212108010610000000000061155100000000000000000001000000000007321263-1059211073103617476242224036312511051000000000006116510000000000000000000100000000000800894358368347357233617384362524910410000000000061207010000000000000000008335-2221024223",
+ "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload85100a89-9411-4bc3-828c-9c398aa829a510002024-11-08T21:38:24.144Z80RSUfalse001283B0380230002044C4094D3E99B42CC5EE1D542002DC36582D280000070001B6152DE2A00A0A6C18DBA4901414D80A776F202851AFEB2F114050535E9B183380A1425832000400A42E00020226400582F280000020002960FB1E175B0440F23605053604DDE30C0A146C03CBCF981414D7F5378AC02829AF820D4B4050A35F51DC7F809F60582A000180960C4A000000800065827078266C18DBA6601428D80CF777C02851AFD9EEB40050A15E7297D5016088000602582B080000010002362769E2E80A0A2BF423E15B60819D2480A146C011BD5281414D7F5F781D02829AFAB6E53C050500C5080004B0729000000200046BCBA39F101428D78FB8260027D9ADD9EFD3804F1356B81FFA40A0A2B1DD401395DE15FFE8063440002583748000001000035E84DD3E00A0A2BD3EC13300C64800044066C800000006B2B02B1E8141457F3C80A1101AB200000001ACC76AEDA050515FCC60298B00C5000000800042BEB43E70B5C8EDF6D809F62BB393F8FB5DB49FDD809F66AF94BFF70141455EBF80110588C00010096008A0000010000657DED7A216BB7D3F2E81414D71C27E52027B1AAEA4FEE2050535652E002809F60589C00010096010A0000010000657D557B672B9403EE735DA55FBF409F62AAD73FBB156D92009C162500004022022C40000000161809FB60B01FB007E2024C4000000016194DF58CB021300B82026C40000000161B75EF75B01FB00A0050508041100000000D77238659027B0AFD92FF8E200E44000000035DDA2143409EC2BF593FE088031100000000D77C48392027B0AFD1EFF8E200A44000000035DFE208D009EC2BF4ABFDD88021100000000D784980C5027B0AFD14FF605812680000010000B5E54A294409EC2BF30C3FD15FB9A081056104000802B0720004022C0A3400000080005AF557153604FB35F872204409F62BFB5410802C188001008402D0800000006BEDAC57E813EC57FBB80EB2C0C540000028000DB0411120C04FB162FE20A0DB2DA106F205051637FE0591B1A03019E05050AC220001804216400581AA8000004000136094E1EA009F62C91141BFB64D660B1C0A0A6CBF2C102014140B0780006012C0E5400000200015B05310CA804FB16382A0A95B1BF3047C05051625EE04D4B12A701EC5898A80AC6C25D4028014140B0680006012C0F540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.30MessageFrame182088022395948212-104883094617442366229100000000000000000001110000000001355-188010795-292610167-231820-167-191010-1428-79862060100000000008111100000000000819001000000000239100000000000000000000100000000001004-1955544-176510311-185320121-154910-173-187610-1008-554220-697-3586-1050100000000003124910000000000000000000010000000000624-2010795-286820207-218020-305-265620-1590-8364401000000000031218100000000000000000000010000000002522-186210-380-981518-29262035-137110-161-201910-677-342610200010000000001281010000000000000000000001000000000-1676-310220-1797608-10-4401-356-30-9504-2310-723839-2171-6260010000000001271010000000000000000000001000000000-1517-282410-1411614250010000000001251101000000000000000000-6816-1069110-196161261101000000000000000000-6597-1038710-2071663110000000000000000000100000000000-664-799-3525-586-10-2446-225-2350-138-10-8407-1810-85131717100000000000211110000000000000000000100000000000-531-1503-2310-41910-3646-430-20-10414-14310-990910-1019100000000000212110000000000000000000100000000000-683-1177-3456-562-2411-259-10-10834-138-9372391810000000000021176010000000000000000001538-29625363186010000000000000000001619-66926592196010000000000000000001757-105925380108201000000000000000000-22691625-20-311-577201000000000000000000-22001293-20-334-636201000000000000000000-2108914-20-369-575201000000000000000000-2056564-20-363-694201000000000000000000-1975197-20-374-809310000000000000000000001000000000-17102641-20-4152042-28251680010000000004170010000000004210310000000000000000000001000000000-13652715-10-4842065-10-15052860010000000004211401000000000000000000-5872813-10-69235125100000000000000000001010000000005202310-103064643584088910358335633292071081000000000006111001000000000135100000000000000000001000000000005951960-104642895495371110611751610710000000000061145100000000000000000001000000000006641620-10359467735775741024273092387246244217212108010610000000000061155100000000000000000001000000000007321263-1059211073103617476242224036312511051000000000006116510000000000000000000100000000000800894358368347357233617384362524910410000000000061207010000000000000000008335-2221024223",
"expected": {
"metadata": {
"logFileName": "",
@@ -20,7 +20,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T21:38:24.144Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedAt": "",
"recordGeneratedBy": "RSU",
@@ -2825,7 +2825,7 @@
},
{
"description": "Test Case 2 - MapJson",
- "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadcfc309e0-bcf6-4834-9178-4600d4998b3710002024-11-08T22:01:11.230Z70RSUfalse001283DA380330002044CA0D4D3EA2D42CC86AFB534E02DC3E5820A80000040000961C7612C5BB250FFDE04DD37663DFFA409D80583C0003009608AA000001000025872783416EC83BFEC81374DD9A67FFA02760160D0000C025824A80000040000961CBE0715BB2AB001004DD3765B5FFD009D80582C0003009609AA00000080000D8A308047027D9B520F000004E202C790000404B0515000000400006C5123F70013ECDA5E1800602710163A8000202581EA80000010000361C5E17DC0A0A6DF8040130134C230E2400118690001080AB100000000D877C7CB4027D8B039AFFF4202CC40000000361DF1ED2C09EC2C0EC3FFD080BB100000000D875379C5027B0B03F70000203B04000000035F791D70C09EC2C003BF72880F4100000000D7C8875B5027B0B0000FDCA203F04000000035EBB1D60C09EC2C003BF8416100A00000040000D77D77844027D9AA845002C052308C7C9000463C40004580228000004000095DFB9E6C9A509AFFA80546349C75FFC80A46058BC00010096010A00000100002578077AD8693C9C00E8152CD27B7802E028F0162D00004025806280000040000B5E049F1E00A0A693B8C00181518D28018012028F0162B00004025808280000020000B5DA09FE540A0A6ACB53FFA81450D772E7DD402828561AA000A02B0E400050210052200000001AF0DB0352050A15FBC6000040188800000006BC42418C0142857ED47FFA10072200000001AF1150904050A15FB9A000040208800000006BC4AC2F00142857EE080002C0A3400000200019AFB5D1346050A35FFA6177C0A0A2BFE64464B5FD921F600A0A6BF14443981428D7CF6891302851AF5E11142050A35EED218340A0A058EC00020096049A0000004000ED7C1B896902851AFFE90DCE050535FE5E2E3C0A0A6BFB3C26781414D7E5C883402829AF9911096050A35F57A14CC0A142BE86C25D35F2F610940A0A218412000AC7A000100C60E40004581668000002000135FB8226D80A146BFF1C7C401414D7F3C878202829AFB531352050A02C590001C04B030D000000400036C00BC4E681428D801789A302828AFF8D0F76D7F0E877C02829AFC950CA4050502C554001C0440350800000006C0DD44F88142858000814D100E4200000001B06A713CA050536000205480A0A2C197400000200001B079CED3004F135FF1113200A3205874000400960D3A00000100000D8234765D027B1AFFF08A14051402C360002004B06DD000000400006C0653B22013D8D800A4518028A0160C80006025838E8000002000035FDB1D84C09EC6C003BA14814140B0540003012C187400000080011B13F6EDB804F115FA6DFC10AFC94FC6A57EE07DCE2BFA7BED3B5FFCD72E80A1E018C90000800RSU10.11.81.33MessageFrame183088053395950548-104866790817232366165100000000000000000001000000000001821120122824-17-7022927-23-4071000000000006117510000000000000000000100000000000183183322791-39-7022950-6-40610000000000061185100000000000000000001000000000001839453228698-7022893-12-4051000000000006119510000000000000000000010000000000260871-10105030-603001000000000011205100000000000000000000100000000002596-288-1096976-6029010000000000111551000000000000000000000100000000018151527101612838-90140010010000001130010000000002216010000000000000000001916-844-10461-6226010000000000000000001916-1205-20472-6236010000000000000000001875-1595-20507029801000000000000000000-540-2621-207-28330801000000000000000000-888-2635-200-28331801000000000000000000-1300-2685-207-24832110000000000000000000001000000000-2089-1980-10-1123022703100100100000013000100000000021110000000000000000000100000000000-2066-1614-22451-44140-22755-147023100000000000212110000000000000000000100000000000-2041-1320-2263729150-22601466022100000000000213110000000000000000000100000000000-2030-90410-226713140-22527186021100000000000214110000000000000000000010000000000-2430-10710-9878-1140-2258-55610130101000000005114010000000000525201000000000000000000-193942520-27106201000000000000000000-191679220-300-67201000000000000000000-1910115420-28208201000000000000000000-1899150420-288010310000000000000000000100000000000-594246720-23150310-522249-156200810-472216320-778232320-1296220920-110015491029100000000000419310000000000000000000001000000000-997240920-12176710-105295910-153123110-420210010-824212320-674133120-7551210-8351061108001001000000130100000000000437001000000000211310000000000000000000010000000000-288248620-29397610-196192210-5992473202201000000000071123100000000000000000000100000000002325092023246710-581979-242191610-43816181021010100000000711340100000000000000000044225452003331440100000000000000000085125331003381025710000000000000000000100000000000974-2408-30-60-1516050141000000000008126710000000000000000000100000000000564-2467-20-8-1509440131000000000008127710000000000000000000010000000000202-2492-2010-150804060100000000003128710000000000000000000010000000000-148-2541-207-303110501000000000031247100000000000000000000010000000002555-2340-30-357-252-438-459-288-562-177-601-13-903030250010000000001",
+ "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadcfc309e0-bcf6-4834-9178-4600d4998b3710002024-11-08T22:01:11.230Z80RSUfalse001283DA380330002044CA0D4D3EA2D42CC86AFB534E02DC3E5820A80000040000961C7612C5BB250FFDE04DD37663DFFA409D80583C0003009608AA000001000025872783416EC83BFEC81374DD9A67FFA02760160D0000C025824A80000040000961CBE0715BB2AB001004DD3765B5FFD009D80582C0003009609AA00000080000D8A308047027D9B520F000004E202C790000404B0515000000400006C5123F70013ECDA5E1800602710163A8000202581EA80000010000361C5E17DC0A0A6DF8040130134C230E2400118690001080AB100000000D877C7CB4027D8B039AFFF4202CC40000000361DF1ED2C09EC2C0EC3FFD080BB100000000D875379C5027B0B03F70000203B04000000035F791D70C09EC2C003BF72880F4100000000D7C8875B5027B0B0000FDCA203F04000000035EBB1D60C09EC2C003BF8416100A00000040000D77D77844027D9AA845002C052308C7C9000463C40004580228000004000095DFB9E6C9A509AFFA80546349C75FFC80A46058BC00010096010A00000100002578077AD8693C9C00E8152CD27B7802E028F0162D00004025806280000040000B5E049F1E00A0A693B8C00181518D28018012028F0162B00004025808280000020000B5DA09FE540A0A6ACB53FFA81450D772E7DD402828561AA000A02B0E400050210052200000001AF0DB0352050A15FBC6000040188800000006BC42418C0142857ED47FFA10072200000001AF1150904050A15FB9A000040208800000006BC4AC2F00142857EE080002C0A3400000200019AFB5D1346050A35FFA6177C0A0A2BFE64464B5FD921F600A0A6BF14443981428D7CF6891302851AF5E11142050A35EED218340A0A058EC00020096049A0000004000ED7C1B896902851AFFE90DCE050535FE5E2E3C0A0A6BFB3C26781414D7E5C883402829AF9911096050A35F57A14CC0A142BE86C25D35F2F610940A0A218412000AC7A000100C60E40004581668000002000135FB8226D80A146BFF1C7C401414D7F3C878202829AFB531352050A02C590001C04B030D000000400036C00BC4E681428D801789A302828AFF8D0F76D7F0E877C02829AFC950CA4050502C554001C0440350800000006C0DD44F88142858000814D100E4200000001B06A713CA050536000205480A0A2C197400000200001B079CED3004F135FF1113200A3205874000400960D3A00000100000D8234765D027B1AFFF08A14051402C360002004B06DD000000400006C0653B22013D8D800A4518028A0160C80006025838E8000002000035FDB1D84C09EC6C003BA14814140B0540003012C187400000080011B13F6EDB804F115FA6DFC10AFC94FC6A57EE07DCE2BFA7BED3B5FFCD72E80A1E018C90000800RSU10.11.81.33MessageFrame183088053395950548-104866790817232366165100000000000000000001000000000001821120122824-17-7022927-23-4071000000000006117510000000000000000000100000000000183183322791-39-7022950-6-40610000000000061185100000000000000000001000000000001839453228698-7022893-12-4051000000000006119510000000000000000000010000000000260871-10105030-603001000000000011205100000000000000000000100000000002596-288-1096976-6029010000000000111551000000000000000000000100000000018151527101612838-90140010010000001130010000000002216010000000000000000001916-844-10461-6226010000000000000000001916-1205-20472-6236010000000000000000001875-1595-20507029801000000000000000000-540-2621-207-28330801000000000000000000-888-2635-200-28331801000000000000000000-1300-2685-207-24832110000000000000000000001000000000-2089-1980-10-1123022703100100100000013000100000000021110000000000000000000100000000000-2066-1614-22451-44140-22755-147023100000000000212110000000000000000000100000000000-2041-1320-2263729150-22601466022100000000000213110000000000000000000100000000000-2030-90410-226713140-22527186021100000000000214110000000000000000000010000000000-2430-10710-9878-1140-2258-55610130101000000005114010000000000525201000000000000000000-193942520-27106201000000000000000000-191679220-300-67201000000000000000000-1910115420-28208201000000000000000000-1899150420-288010310000000000000000000100000000000-594246720-23150310-522249-156200810-472216320-778232320-1296220920-110015491029100000000000419310000000000000000000001000000000-997240920-12176710-105295910-153123110-420210010-824212320-674133120-7551210-8351061108001001000000130100000000000437001000000000211310000000000000000000010000000000-288248620-29397610-196192210-5992473202201000000000071123100000000000000000000100000000002325092023246710-581979-242191610-43816181021010100000000711340100000000000000000044225452003331440100000000000000000085125331003381025710000000000000000000100000000000974-2408-30-60-1516050141000000000008126710000000000000000000100000000000564-2467-20-8-1509440131000000000008127710000000000000000000010000000000202-2492-2010-150804060100000000003128710000000000000000000010000000000-148-2541-207-303110501000000000031247100000000000000000000010000000002555-2340-30-357-252-438-459-288-562-177-601-13-903030250010000000001",
"expected": {
"metadata": {
"logFileName": "",
@@ -2843,7 +2843,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T22:01:11.230Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedAt": "",
"recordGeneratedBy": "RSU",
@@ -5934,7 +5934,7 @@
},
{
"description": "Test case 3 - MapJson",
- "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload894cf226-1c88-4e93-8a44-4e2e619593e310002024-11-08T22:01:11.974Z70RSUfalse00128315380230002044D0094D3EA1DB2CCC713452F402DC325806280000040000B5DC45F6640A0A694423FFE01478D267B809B02788162500004025804280000040000B5DD2DF1180A0A69400C01581478D26BE802102788162700004025802280000050000B5DE71EA600A0A69346401281478D27C88052027889629000040231A2400218C9000196020A00000080002D7681808802829A58F9007E051E15E689FAFC5616A000A02B0C400050210052200000001AEC35053C050515FB9A000040188800000006BAFBC20981414D7EEC800002828401C8800000006BAE1C2BB01414D7EDA800B02828B020D000000200006BD19441381414D802398EB027D8460E48002306200022C093400000200001AF6F5103605053600FE640809F6058D400020096051A00000080000D7CC8880402829B008B323204FB0AC494001C056268000E0420168400000001603CA2058B000103682018840000000160A162058AFFE90368581AA80000050000B61E6E14B409F66EB433FE901428DD7357FAB0294086184800230B20002583C00030196072A00000100002D87F183EB027D9BAC18FFAC050A375D61FE5C0A50058340003009607AA00000100002D88148270027D9BAC1AFF98050A375C8DFEE00A500582C00030096082A00000080000D884D813A027D9BBC18FEEC050F02C690000404B0455000000400006C443BFD4813ECDCF047FBB028281632A0002022024C4000000036238DF5AC09F62C08D3FFD0809B100000000D89287BD4027D8B01CCFFF42028C40000000362545EA3409F62C0734000160B3A00000100008582B977ED2C003381A35FD4DDED40A0A2BFCC3E2FB5F7E9D5B00A0A6BDC63640814140B0C80008012C157400000080014B0882EFD057FE3784B2BFF7BAEFB5FD21E3800A0A2BF81BC9835FA55E3240A0A6BDC336710141423142400118990001160C3A0000008000057FF477D16BFE637C1014140B0550003012C177400000100010B029CEF9657FE96FD26BFD7BD3E8141457F1478066BF143BC101414D7BA86CF902828160C8000602203304000000035F719DE5C0A0A2BFFD3F6D880D4100000000D7BED779702828B0000FDCE813ECCEB0E00B027D858D0FEA2D0476B169636B0200800161F00010022041A400000000BE456B81904002043A400000000BE01114184C00013C457FD24A52058C40001008037263DFF780A146E023C005813EC0A0806012C1554000002000045FE580ADC92E801402829B81AEFFC804FB0281C1804B05950000008000117FBD42371E39FF980A0A6E132C01E813EC0A0606012C18540000010000C780E7B5B3CEA805C0A0A1F0122C8BDCBC0000A0A5F07223204FB028800404B05D5000000400001E02A202DA50180060282814420202000RSU10.11.81.36MessageFrame182088082395950299-1048404171171463663110000000000000000000100000000000-2287-61510-22396-460-22917155-3018100000000000212110000000000000000000100000000000-2229-95410-225274360-2285033-3019100000000000211110000000000000000000101000000000-2148-138410-229003760-2258482-3020100000000000212600100100000022500100000000034110000000000000000000010000000000-243113610-213806360-1630-321110101000000005112010000000000525201000000000000000000-253467010-28206201000000000000000000-2569104310-2760107201000000000000000000-2621139810-29411108310000000000000000000001000000000-1486208710356379-1070010010000001600100000000029310000000000000000000100000000000-1158207510636402-10261000000000004110310000000000000000000010000000000-824205210696425-10180101000000007119010000000000721140100000000000000000024220700436124010000000000000000006452070-124361351000000000000000000010100000000019471325-1022150-462022325-85801200100100000011100100000000027100000000000631451000000000000000000010000000000020331003-1022028-422022360-10580610000000000061155100000000000000000001000000000002068624-1022029-522022307-7280510000000000061165100000000000000000000100000000002125314-1024076-138302601000000000011175100000000000000000000100000000002183-87-1020228-69102501010000000011186010000000000000000002275-661-10282-6196010000000000000000002344-1068-10230-6206010000000000000000002385-1395-10230022710000000000000000000100000000000697-20676-4044-173-212310-104-929-518-270810-1140-4991101210000000000081217100000000000000000000010000000001089-2072-29-1973-17-2593-184-182410-253-1744-363-184710-1146-48941020001001000000119001000000000224710000000000000000000010000000000-12-2095-52-42221050101000000003123710000000000000000000010000000000334-2101-23-4142-81-141110-236-2042-472-217410-1112-48711060100000000003125801000000000000000000-570-215310-6-29326801000000000000000000-1043-2153100-281",
+ "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload894cf226-1c88-4e93-8a44-4e2e619593e310002024-11-08T22:01:11.974Z80RSUfalse00128315380230002044D0094D3EA1DB2CCC713452F402DC325806280000040000B5DC45F6640A0A694423FFE01478D267B809B02788162500004025804280000040000B5DD2DF1180A0A69400C01581478D26BE802102788162700004025802280000050000B5DE71EA600A0A69346401281478D27C88052027889629000040231A2400218C9000196020A00000080002D7681808802829A58F9007E051E15E689FAFC5616A000A02B0C400050210052200000001AEC35053C050515FB9A000040188800000006BAFBC20981414D7EEC800002828401C8800000006BAE1C2BB01414D7EDA800B02828B020D000000200006BD19441381414D802398EB027D8460E48002306200022C093400000200001AF6F5103605053600FE640809F6058D400020096051A00000080000D7CC8880402829B008B323204FB0AC494001C056268000E0420168400000001603CA2058B000103682018840000000160A162058AFFE90368581AA80000050000B61E6E14B409F66EB433FE901428DD7357FAB0294086184800230B20002583C00030196072A00000100002D87F183EB027D9BAC18FFAC050A375D61FE5C0A50058340003009607AA00000100002D88148270027D9BAC1AFF98050A375C8DFEE00A500582C00030096082A00000080000D884D813A027D9BBC18FEEC050F02C690000404B0455000000400006C443BFD4813ECDCF047FBB028281632A0002022024C4000000036238DF5AC09F62C08D3FFD0809B100000000D89287BD4027D8B01CCFFF42028C40000000362545EA3409F62C0734000160B3A00000100008582B977ED2C003381A35FD4DDED40A0A2BFCC3E2FB5F7E9D5B00A0A6BDC63640814140B0C80008012C157400000080014B0882EFD057FE3784B2BFF7BAEFB5FD21E3800A0A2BF81BC9835FA55E3240A0A6BDC336710141423142400118990001160C3A0000008000057FF477D16BFE637C1014140B0550003012C177400000100010B029CEF9657FE96FD26BFD7BD3E8141457F1478066BF143BC101414D7BA86CF902828160C8000602203304000000035F719DE5C0A0A2BFFD3F6D880D4100000000D7BED779702828B0000FDCE813ECCEB0E00B027D858D0FEA2D0476B169636B0200800161F00010022041A400000000BE456B81904002043A400000000BE01114184C00013C457FD24A52058C40001008037263DFF780A146E023C005813EC0A0806012C1554000002000045FE580ADC92E801402829B81AEFFC804FB0281C1804B05950000008000117FBD42371E39FF980A0A6E132C01E813EC0A0606012C18540000010000C780E7B5B3CEA805C0A0A1F0122C8BDCBC0000A0A5F07223204FB028800404B05D5000000400001E02A202DA50180060282814420202000RSU10.11.81.36MessageFrame182088082395950299-1048404171171463663110000000000000000000100000000000-2287-61510-22396-460-22917155-3018100000000000212110000000000000000000100000000000-2229-95410-225274360-2285033-3019100000000000211110000000000000000000101000000000-2148-138410-229003760-2258482-3020100000000000212600100100000022500100000000034110000000000000000000010000000000-243113610-213806360-1630-321110101000000005112010000000000525201000000000000000000-253467010-28206201000000000000000000-2569104310-2760107201000000000000000000-2621139810-29411108310000000000000000000001000000000-1486208710356379-1070010010000001600100000000029310000000000000000000100000000000-1158207510636402-10261000000000004110310000000000000000000010000000000-824205210696425-10180101000000007119010000000000721140100000000000000000024220700436124010000000000000000006452070-124361351000000000000000000010100000000019471325-1022150-462022325-85801200100100000011100100000000027100000000000631451000000000000000000010000000000020331003-1022028-422022360-10580610000000000061155100000000000000000001000000000002068624-1022029-522022307-7280510000000000061165100000000000000000000100000000002125314-1024076-138302601000000000011175100000000000000000000100000000002183-87-1020228-69102501010000000011186010000000000000000002275-661-10282-6196010000000000000000002344-1068-10230-6206010000000000000000002385-1395-10230022710000000000000000000100000000000697-20676-4044-173-212310-104-929-518-270810-1140-4991101210000000000081217100000000000000000000010000000001089-2072-29-1973-17-2593-184-182410-253-1744-363-184710-1146-48941020001001000000119001000000000224710000000000000000000010000000000-12-2095-52-42221050101000000003123710000000000000000000010000000000334-2101-23-4142-81-141110-236-2042-472-217410-1112-48711060100000000003125801000000000000000000-570-215310-6-29326801000000000000000000-1043-2153100-281",
"expected": {
"metadata": {
"logFileName": "",
@@ -5952,7 +5952,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T22:01:11.974Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedAt": "",
"recordGeneratedBy": "RSU",
@@ -8493,7 +8493,7 @@
},
{
"description": "Test case 4 - MapJson",
- "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadd71ab23d-0f89-4847-abef-ea6ffe43995b10002024-11-08T22:01:12.973Z70RSUfalse0012830538023000205EA2094D3A3E202CA7783451FA02DC385824E8000002000089D7FA3C8FF96D5837A9E7A4163680002025822E80000020000A97DFAB40A0A6C00BD21D013EC3792FAD4163880002025820E80000040001A92E3AA00A0A6BFE6538C813ECC7FD3303027D9B01B5AC0004E235FE3698CC09E2058240003009607BA00000100006A32EEB6028298FFA7E6A04FB31FFDFEA809F66C0276FE601374C7D7F795027B0160B0000C0220270400000000A7FF8A4108E8220290400000000AE7B8BC106654582F6800000400008BB12D889D763ED6CD4D1F3D027B01617000100258316800000400010BADA8407C8F7F7B37CB7C0C09F65EF01F8E04FB02C2A0002004B066D0000004000117754649317D7F1C5F5AF8E0B0540003012C1AB4000001000045D8EF044D741F7C5E72E30C04FB02C110000C04406F08000000017372C9833182C4073080000000172BA0F033D800B07B90000002000117BA05905140476BFCD2EDD813D8031D200012C03140000010000451D42D0C808C5E8027D97035116813EC2B0A4000501485A000296010A000001000062A421736408A2E5813ECD802B5DAA027B1B00507F4404E736005D134009B00589C00010096008A000001000082BB615E6407E1FA013ECB806072409F66405040A013ECD806744FF02739AFFA48A8604D802C520000804B024D000000400015070BFA01414C2F6E02E0282866DD75682C4D0001C04B020D000000400005073B5901414C18BE01D0282816288000E02580E680000040001283196680A0A610C6FF481414338842B0258DFD82C6E0001004B018D0000008000250602268141443771FB058F7A150050508C8E05C1639000080220148400000002836E6FC0A0A0229030805A100000000A104B5C0282806D400202B240000000161566915810BFF2400A48000000008D5480C0F18AE4008480000000093B88680F4880203BA40000000134E16A301C4422581CC800000100012CF576F9028283793BFB201DED0C09F6241B7BB408C3480004218400201AA4000000030CE28E000A0A01B50008062900000000C33B621C0282805EBF400002000144016C02C36DDFFF0282984ACC1EE05052C36F0AC02828669D82DA8F821480A0A10F140002C8E0001004B03190000008000519FD190C43B2E0066108B08401428C342A0CE02828258A0604A6BE959AEE0E6050502C920001004B02D90000008000459FA164404FB30A8580A00A14619C306701414C32CE10E02829659081F814141029030164B000080200RSU10.11.81.19MessageFrame1820121132395662624-10508272111689936618710000000000000000000010000000000-1611679-145804-1732537270100000000001117710000000000000000000010000000000-521170910239274-10-2193765280100000000001116710000000000000000000100000000000-840170410-5210009-10-124867-1021822016-60-1159779-3041000000000006115710000000000000000000100000000000-1234171810-127989-10-38106-107824524-70-1616037-20510000000000061198010000000000000000005111577173212080100000000000000000092615831229823111000000000000000000010000000000017328666892-1495428-195-20111000000000008124111000000000000000000010000000000017185283215-176091-253-103008-57-10101000000000008125111000000000000000000001000000000017702014477-571965-575010000000000312611100000000000000000000100000000001735-1265584-1322507390-104010000000000312712010000000000000000001646-621305112812010000000000000000001623-99431703014100000000000000000000010000000001908-1870-472-953-102-8773-202900100000000013110000000000000000000010000000000234-168835-6680-1053-3539-1010010000000000511101000000000052110000000000000000000100000000000578-167769-6709-1043-8790-2040-16478-5023-15152-8019100000000000211110000000000000000000100000000000950-169863-7180-1012-3639-1040-6124-10103-15105-50-46-15037-8020100000000000219310000000000000000000010000000000-1823-1210-51574610-2339-33919010000000000718310000000000000000000010000000000-1817-33410-6609291020010000000000717310000000000000000000100000000000-1850-61410-6045-2310-2288172-669-527100000000000416310000000000000000000100000000000-1856-94710-4644-80-310616810-124523281000000000004110401000000000000000000-182944710-236611401000000000000000000-178886010-29402190100000000000000000013699302235055210000000000000000000-1195-1533-29-4254210000000000000000000-786-1510-23-4482913010000000000000000005345-13963921714610000000000000000000001000000000-2133178510484895296979-1021959921300100000000011200100000000013501000000000000000000-489489610-294012501000000000000000000-488354010-323-6",
+ "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadd71ab23d-0f89-4847-abef-ea6ffe43995b10002024-11-08T22:01:12.973Z80RSUfalse0012830538023000205EA2094D3A3E202CA7783451FA02DC385824E8000002000089D7FA3C8FF96D5837A9E7A4163680002025822E80000020000A97DFAB40A0A6C00BD21D013EC3792FAD4163880002025820E80000040001A92E3AA00A0A6BFE6538C813ECC7FD3303027D9B01B5AC0004E235FE3698CC09E2058240003009607BA00000100006A32EEB6028298FFA7E6A04FB31FFDFEA809F66C0276FE601374C7D7F795027B0160B0000C0220270400000000A7FF8A4108E8220290400000000AE7B8BC106654582F6800000400008BB12D889D763ED6CD4D1F3D027B01617000100258316800000400010BADA8407C8F7F7B37CB7C0C09F65EF01F8E04FB02C2A0002004B066D0000004000117754649317D7F1C5F5AF8E0B0540003012C1AB4000001000045D8EF044D741F7C5E72E30C04FB02C110000C04406F08000000017372C9833182C4073080000000172BA0F033D800B07B90000002000117BA05905140476BFCD2EDD813D8031D200012C03140000010000451D42D0C808C5E8027D97035116813EC2B0A4000501485A000296010A000001000062A421736408A2E5813ECD802B5DAA027B1B00507F4404E736005D134009B00589C00010096008A000001000082BB615E6407E1FA013ECB806072409F66405040A013ECD806744FF02739AFFA48A8604D802C520000804B024D000000400015070BFA01414C2F6E02E0282866DD75682C4D0001C04B020D000000400005073B5901414C18BE01D0282816288000E02580E680000040001283196680A0A610C6FF481414338842B0258DFD82C6E0001004B018D0000008000250602268141443771FB058F7A150050508C8E05C1639000080220148400000002836E6FC0A0A0229030805A100000000A104B5C0282806D400202B240000000161566915810BFF2400A48000000008D5480C0F18AE4008480000000093B88680F4880203BA40000000134E16A301C4422581CC800000100012CF576F9028283793BFB201DED0C09F6241B7BB408C3480004218400201AA4000000030CE28E000A0A01B50008062900000000C33B621C0282805EBF400002000144016C02C36DDFFF0282984ACC1EE05052C36F0AC02828669D82DA8F821480A0A10F140002C8E0001004B03190000008000519FD190C43B2E0066108B08401428C342A0CE02828258A0604A6BE959AEE0E6050502C920001004B02D90000008000459FA164404FB30A8580A00A14619C306701414C32CE10E02829659081F814141029030164B000080200RSU10.11.81.19MessageFrame1820121132395662624-10508272111689936618710000000000000000000010000000000-1611679-145804-1732537270100000000001117710000000000000000000010000000000-521170910239274-10-2193765280100000000001116710000000000000000000100000000000-840170410-5210009-10-124867-1021822016-60-1159779-3041000000000006115710000000000000000000100000000000-1234171810-127989-10-38106-107824524-70-1616037-20510000000000061198010000000000000000005111577173212080100000000000000000092615831229823111000000000000000000010000000000017328666892-1495428-195-20111000000000008124111000000000000000000010000000000017185283215-176091-253-103008-57-10101000000000008125111000000000000000000001000000000017702014477-571965-575010000000000312611100000000000000000000100000000001735-1265584-1322507390-104010000000000312712010000000000000000001646-621305112812010000000000000000001623-99431703014100000000000000000000010000000001908-1870-472-953-102-8773-202900100000000013110000000000000000000010000000000234-168835-6680-1053-3539-1010010000000000511101000000000052110000000000000000000100000000000578-167769-6709-1043-8790-2040-16478-5023-15152-8019100000000000211110000000000000000000100000000000950-169863-7180-1012-3639-1040-6124-10103-15105-50-46-15037-8020100000000000219310000000000000000000010000000000-1823-1210-51574610-2339-33919010000000000718310000000000000000000010000000000-1817-33410-6609291020010000000000717310000000000000000000100000000000-1850-61410-6045-2310-2288172-669-527100000000000416310000000000000000000100000000000-1856-94710-4644-80-310616810-124523281000000000004110401000000000000000000-182944710-236611401000000000000000000-178886010-29402190100000000000000000013699302235055210000000000000000000-1195-1533-29-4254210000000000000000000-786-1510-23-4482913010000000000000000005345-13963921714610000000000000000000001000000000-2133178510484895296979-1021959921300100000000011200100000000013501000000000000000000-489489610-294012501000000000000000000-488354010-323-6",
"expected": {
"metadata": {
"logFileName": "",
@@ -8511,7 +8511,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T22:01:12.973Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedAt": "",
"recordGeneratedBy": "RSU",
@@ -11178,7 +11178,7 @@
},
{
"description": "Test case 5 - MapJson",
- "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload2c91e8d6-f917-4c82-96e4-9de0da3ddca710002024-11-08T22:01:11.319Z70RSUfalse0012834538023000205EA0094D3C71C12CA6CE5D527C02DC3458244800000400028CF6F61F62355F9101464B5AAE70C0A0A631B181A81428D6F27A48302829ADDE94A56050F35BD42952C09C4058340003009609920000010000A2128E4162EAD9980143CC566B6AF028798AF5EB7C050F11349EE19ADCEF4CCA050A35B9E29BE009CE0582C000300960A120000008000222DFE5B6303588D0143CB5AB683C0A0A058F2000080960A920000008000424D3E7162ECF8AF8143CC4C9F8D6028A16876F54814140B1D4000101101632000000014E83CC805050181D34405CC80000000546A74C01414061F5E101832000000015559DAE05050181CA8B06910000008000557F359801414BCCB40000A0A5F6BDEA8050533D307B6C0A1E27EA6FE0AFA9B073027D99945C26C04FB02C360002004B06D1000000800045E50A3E40505331437DAC0A0A6D098BF540143CBEE5BF780A0A67F5501A013ECCC9BA13C027D8161900010025822280000010401AC5437B1027D933B3360141495F5F840A0A62FEF8C581428B624E1CC0A142187100008C3C80008220400203AA400000000F926E6B066F00080F29000000003E45B0481CCC0C583EC800000100012F552960027D9500E77E04FB32AB0218809CE0D89092231E2000118E900011601B200000080002ABF4179027D9958E8EE004E20AE20254561A8000A02B0C40005022C0264000002000115B2C2BC04FB32ACF1F7809C4658F42A6813C4CAEB868F02761B281EA9E004DD364E2D53CC09C4058B40001009600B200000100008AF30177027D9967B06AA04E232A272BEC09E2652CE518813B0D953152C1026E9B2A82A47E04E202C5E0000804401DC8000000051E38FE013EC89FCCA027D84019C8000000052BB904013EC89A097027D84015C80000000538B109813EC0988B31004720000000151DC3EE04FB225C22C09F62C0A840000020000965B0781813D8D599C7FEF02789AB155007204F1356711FFBC09EC058EC0002009604C200000100002B336362809EC6A2FE40170139CD452D7FF502788163D0000802201B2400000002C80D40A027D8067C0020192400000002C825284027D905EC0004FB08085100000000C1AD65AC02788033C00201F4400000003068D912009E2011F0008075100000000C1A1E2F00278804ABF47A7C8195028280540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.20MessageFrame1820121122395806913-10508706921702536618210000000000000000000100000000000-21211567-3670797050-1195249910-1832414920-4313934710-4364951530-42729547-6061000000000006119210000000000000000000100000000000-17521601-2218491230-2662580730-2581556630-32557046-4489982920-44889976-5051000000000006120210000000000000000000010000000000-13131627-2022437830-1194257510300100000000001121210000000000000000000010000000000-8131649-2201444730-3289635840-1930375310290100000000001122301000000000000000000-191163610-12733323301000000000000000000212168810-12135024301000000000000000000684175110-1272982641000000000000000000010000000000020228161024540103503-172107472-293308019-633405115-104747310-101310000000000081274100000000000000000001000000000002370498104419-149108497-344303531-3410810652-104718316-10121000000000008117110000000000000000000001000001000-34231969-1023662010-26299310-2057449120-95121632014001000000000115001000000000216001000000000295010000000000000000003219-4053110305010000000000000000003211-10064096316100000000000000000000010000000002729-1696-107-1089-102736-6046-50393-95130001000000000129001000000000236100000000000000000000100000000001012-1671-102845-6288-60904-18991301000000000051120100000000005226100000000000000000001000000000001430-1698-102767-6178-603194-6835-302990-6513-405135-11024-705003-11021-60221000000000002116100000000000000000001000000000001840-1673-103318-7339-602599-5381-302407-5583-405425-11583-705441-11713-6023100000000000217701000000000000000000-1081-1540-10127-310-106701000000000000000000-649-1528-10104-361-105701000000000000000000-234-1517-1098-3334701000000000000000000238-1545-1092-373-1010810000000000000000000100000000000-2640-253-20-9828-17-30-1007057-30-9788-17-2029100000000000419810000000000000000000100000000000-2452-630-20-1485246-50-15059-11-30301000000000004113901000000000000000000-30661034-10-305012901000000000000000000-3054644-10-3230-10161001000000000000000000-64751452-30-4090151001000000000000000000-65151096-30-3690141001000000000000000000-6521752-30-363-6",
+ "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload2c91e8d6-f917-4c82-96e4-9de0da3ddca710002024-11-08T22:01:11.319Z80RSUfalse0012834538023000205EA0094D3C71C12CA6CE5D527C02DC3458244800000400028CF6F61F62355F9101464B5AAE70C0A0A631B181A81428D6F27A48302829ADDE94A56050F35BD42952C09C4058340003009609920000010000A2128E4162EAD9980143CC566B6AF028798AF5EB7C050F11349EE19ADCEF4CCA050A35B9E29BE009CE0582C000300960A120000008000222DFE5B6303588D0143CB5AB683C0A0A058F2000080960A920000008000424D3E7162ECF8AF8143CC4C9F8D6028A16876F54814140B1D4000101101632000000014E83CC805050181D34405CC80000000546A74C01414061F5E101832000000015559DAE05050181CA8B06910000008000557F359801414BCCB40000A0A5F6BDEA8050533D307B6C0A1E27EA6FE0AFA9B073027D99945C26C04FB02C360002004B06D1000000800045E50A3E40505331437DAC0A0A6D098BF540143CBEE5BF780A0A67F5501A013ECCC9BA13C027D8161900010025822280000010401AC5437B1027D933B3360141495F5F840A0A62FEF8C581428B624E1CC0A142187100008C3C80008220400203AA400000000F926E6B066F00080F29000000003E45B0481CCC0C583EC800000100012F552960027D9500E77E04FB32AB0218809CE0D89092231E2000118E900011601B200000080002ABF4179027D9958E8EE004E20AE20254561A8000A02B0C40005022C0264000002000115B2C2BC04FB32ACF1F7809C4658F42A6813C4CAEB868F02761B281EA9E004DD364E2D53CC09C4058B40001009600B200000100008AF30177027D9967B06AA04E232A272BEC09E2652CE518813B0D953152C1026E9B2A82A47E04E202C5E0000804401DC8000000051E38FE013EC89FCCA027D84019C8000000052BB904013EC89A097027D84015C80000000538B109813EC0988B31004720000000151DC3EE04FB225C22C09F62C0A840000020000965B0781813D8D599C7FEF02789AB155007204F1356711FFBC09EC058EC0002009604C200000100002B336362809EC6A2FE40170139CD452D7FF502788163D0000802201B2400000002C80D40A027D8067C0020192400000002C825284027D905EC0004FB08085100000000C1AD65AC02788033C00201F4400000003068D912009E2011F0008075100000000C1A1E2F00278804ABF47A7C8195028280540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.20MessageFrame1820121122395806913-10508706921702536618210000000000000000000100000000000-21211567-3670797050-1195249910-1832414920-4313934710-4364951530-42729547-6061000000000006119210000000000000000000100000000000-17521601-2218491230-2662580730-2581556630-32557046-4489982920-44889976-5051000000000006120210000000000000000000010000000000-13131627-2022437830-1194257510300100000000001121210000000000000000000010000000000-8131649-2201444730-3289635840-1930375310290100000000001122301000000000000000000-191163610-12733323301000000000000000000212168810-12135024301000000000000000000684175110-1272982641000000000000000000010000000000020228161024540103503-172107472-293308019-633405115-104747310-101310000000000081274100000000000000000001000000000002370498104419-149108497-344303531-3410810652-104718316-10121000000000008117110000000000000000000001000001000-34231969-1023662010-26299310-2057449120-95121632014001000000000115001000000000216001000000000295010000000000000000003219-4053110305010000000000000000003211-10064096316100000000000000000000010000000002729-1696-107-1089-102736-6046-50393-95130001000000000129001000000000236100000000000000000000100000000001012-1671-102845-6288-60904-18991301000000000051120100000000005226100000000000000000001000000000001430-1698-102767-6178-603194-6835-302990-6513-405135-11024-705003-11021-60221000000000002116100000000000000000001000000000001840-1673-103318-7339-602599-5381-302407-5583-405425-11583-705441-11713-6023100000000000217701000000000000000000-1081-1540-10127-310-106701000000000000000000-649-1528-10104-361-105701000000000000000000-234-1517-1098-3334701000000000000000000238-1545-1092-373-1010810000000000000000000100000000000-2640-253-20-9828-17-30-1007057-30-9788-17-2029100000000000419810000000000000000000100000000000-2452-630-20-1485246-50-15059-11-30301000000000004113901000000000000000000-30661034-10-305012901000000000000000000-3054644-10-3230-10161001000000000000000000-64751452-30-4090151001000000000000000000-65151096-30-3690141001000000000000000000-6521752-30-363-6",
"expected": {
"metadata": {
"logFileName": "",
@@ -11196,7 +11196,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T22:01:11.319Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedAt": "",
"recordGeneratedBy": "RSU",
diff --git a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/Asn1DecoderRouter_ApprovalTestCases_MapTxPojo.json b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/Asn1DecoderRouter_ApprovalTestCases_MapTxPojo.json
index e2e47cf4c..e94652678 100644
--- a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/Asn1DecoderRouter_ApprovalTestCases_MapTxPojo.json
+++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/Asn1DecoderRouter_ApprovalTestCases_MapTxPojo.json
@@ -2,7 +2,7 @@
"cases": [
{
"description": "Test Case 1 - MapTxPojo",
- "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload85100a89-9411-4bc3-828c-9c398aa829a510002024-11-08T21:38:24.144Z70RSUfalse001283B0380230002044C4094D3E99B42CC5EE1D542002DC36582D280000070001B6152DE2A00A0A6C18DBA4901414D80A776F202851AFEB2F114050535E9B183380A1425832000400A42E00020226400582F280000020002960FB1E175B0440F23605053604DDE30C0A146C03CBCF981414D7F5378AC02829AF820D4B4050A35F51DC7F809F60582A000180960C4A000000800065827078266C18DBA6601428D80CF777C02851AFD9EEB40050A15E7297D5016088000602582B080000010002362769E2E80A0A2BF423E15B60819D2480A146C011BD5281414D7F5F781D02829AFAB6E53C050500C5080004B0729000000200046BCBA39F101428D78FB8260027D9ADD9EFD3804F1356B81FFA40A0A2B1DD401395DE15FFE8063440002583748000001000035E84DD3E00A0A2BD3EC13300C64800044066C800000006B2B02B1E8141457F3C80A1101AB200000001ACC76AEDA050515FCC60298B00C5000000800042BEB43E70B5C8EDF6D809F62BB393F8FB5DB49FDD809F66AF94BFF70141455EBF80110588C00010096008A0000010000657DED7A216BB7D3F2E81414D71C27E52027B1AAEA4FEE2050535652E002809F60589C00010096010A0000010000657D557B672B9403EE735DA55FBF409F62AAD73FBB156D92009C162500004022022C40000000161809FB60B01FB007E2024C4000000016194DF58CB021300B82026C40000000161B75EF75B01FB00A0050508041100000000D77238659027B0AFD92FF8E200E44000000035DDA2143409EC2BF593FE088031100000000D77C48392027B0AFD1EFF8E200A44000000035DFE208D009EC2BF4ABFDD88021100000000D784980C5027B0AFD14FF605812680000010000B5E54A294409EC2BF30C3FD15FB9A081056104000802B0720004022C0A3400000080005AF557153604FB35F872204409F62BFB5410802C188001008402D0800000006BEDAC57E813EC57FBB80EB2C0C540000028000DB0411120C04FB162FE20A0DB2DA106F205051637FE0591B1A03019E05050AC220001804216400581AA8000004000136094E1EA009F62C91141BFB64D660B1C0A0A6CBF2C102014140B0780006012C0E5400000200015B05310CA804FB16382A0A95B1BF3047C05051625EE04D4B12A701EC5898A80AC6C25D4028014140B0680006012C0F540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.30MessageFrame182088022395948212-104883094617442366229100000000000000000001110000000001355-188010795-292610167-231820-167-191010-1428-79862060100000000008111100000000000819001000000000239100000000000000000000100000000001004-1955544-176510311-185320121-154910-173-187610-1008-554220-697-3586-1050100000000003124910000000000000000000010000000000624-2010795-286820207-218020-305-265620-1590-8364401000000000031218100000000000000000000010000000002522-186210-380-981518-29262035-137110-161-201910-677-342610200010000000001281010000000000000000000001000000000-1676-310220-1797608-10-4401-356-30-9504-2310-723839-2171-6260010000000001271010000000000000000000001000000000-1517-282410-1411614250010000000001251101000000000000000000-6816-1069110-196161261101000000000000000000-6597-1038710-2071663110000000000000000000100000000000-664-799-3525-586-10-2446-225-2350-138-10-8407-1810-85131717100000000000211110000000000000000000100000000000-531-1503-2310-41910-3646-430-20-10414-14310-990910-1019100000000000212110000000000000000000100000000000-683-1177-3456-562-2411-259-10-10834-138-9372391810000000000021176010000000000000000001538-29625363186010000000000000000001619-66926592196010000000000000000001757-105925380108201000000000000000000-22691625-20-311-577201000000000000000000-22001293-20-334-636201000000000000000000-2108914-20-369-575201000000000000000000-2056564-20-363-694201000000000000000000-1975197-20-374-809310000000000000000000001000000000-17102641-20-4152042-28251680010000000004170010000000004210310000000000000000000001000000000-13652715-10-4842065-10-15052860010000000004211401000000000000000000-5872813-10-69235125100000000000000000001010000000005202310-103064643584088910358335633292071081000000000006111001000000000135100000000000000000001000000000005951960-104642895495371110611751610710000000000061145100000000000000000001000000000006641620-10359467735775741024273092387246244217212108010610000000000061155100000000000000000001000000000007321263-1059211073103617476242224036312511051000000000006116510000000000000000000100000000000800894358368347357233617384362524910410000000000061207010000000000000000008335-2221024223",
+ "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload85100a89-9411-4bc3-828c-9c398aa829a510002024-11-08T21:38:24.144Z80RSUfalse001283B0380230002044C4094D3E99B42CC5EE1D542002DC36582D280000070001B6152DE2A00A0A6C18DBA4901414D80A776F202851AFEB2F114050535E9B183380A1425832000400A42E00020226400582F280000020002960FB1E175B0440F23605053604DDE30C0A146C03CBCF981414D7F5378AC02829AF820D4B4050A35F51DC7F809F60582A000180960C4A000000800065827078266C18DBA6601428D80CF777C02851AFD9EEB40050A15E7297D5016088000602582B080000010002362769E2E80A0A2BF423E15B60819D2480A146C011BD5281414D7F5F781D02829AFAB6E53C050500C5080004B0729000000200046BCBA39F101428D78FB8260027D9ADD9EFD3804F1356B81FFA40A0A2B1DD401395DE15FFE8063440002583748000001000035E84DD3E00A0A2BD3EC13300C64800044066C800000006B2B02B1E8141457F3C80A1101AB200000001ACC76AEDA050515FCC60298B00C5000000800042BEB43E70B5C8EDF6D809F62BB393F8FB5DB49FDD809F66AF94BFF70141455EBF80110588C00010096008A0000010000657DED7A216BB7D3F2E81414D71C27E52027B1AAEA4FEE2050535652E002809F60589C00010096010A0000010000657D557B672B9403EE735DA55FBF409F62AAD73FBB156D92009C162500004022022C40000000161809FB60B01FB007E2024C4000000016194DF58CB021300B82026C40000000161B75EF75B01FB00A0050508041100000000D77238659027B0AFD92FF8E200E44000000035DDA2143409EC2BF593FE088031100000000D77C48392027B0AFD1EFF8E200A44000000035DFE208D009EC2BF4ABFDD88021100000000D784980C5027B0AFD14FF605812680000010000B5E54A294409EC2BF30C3FD15FB9A081056104000802B0720004022C0A3400000080005AF557153604FB35F872204409F62BFB5410802C188001008402D0800000006BEDAC57E813EC57FBB80EB2C0C540000028000DB0411120C04FB162FE20A0DB2DA106F205051637FE0591B1A03019E05050AC220001804216400581AA8000004000136094E1EA009F62C91141BFB64D660B1C0A0A6CBF2C102014140B0780006012C0E5400000200015B05310CA804FB16382A0A95B1BF3047C05051625EE04D4B12A701EC5898A80AC6C25D4028014140B0680006012C0F540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.30MessageFrame182088022395948212-104883094617442366229100000000000000000001110000000001355-188010795-292610167-231820-167-191010-1428-79862060100000000008111100000000000819001000000000239100000000000000000000100000000001004-1955544-176510311-185320121-154910-173-187610-1008-554220-697-3586-1050100000000003124910000000000000000000010000000000624-2010795-286820207-218020-305-265620-1590-8364401000000000031218100000000000000000000010000000002522-186210-380-981518-29262035-137110-161-201910-677-342610200010000000001281010000000000000000000001000000000-1676-310220-1797608-10-4401-356-30-9504-2310-723839-2171-6260010000000001271010000000000000000000001000000000-1517-282410-1411614250010000000001251101000000000000000000-6816-1069110-196161261101000000000000000000-6597-1038710-2071663110000000000000000000100000000000-664-799-3525-586-10-2446-225-2350-138-10-8407-1810-85131717100000000000211110000000000000000000100000000000-531-1503-2310-41910-3646-430-20-10414-14310-990910-1019100000000000212110000000000000000000100000000000-683-1177-3456-562-2411-259-10-10834-138-9372391810000000000021176010000000000000000001538-29625363186010000000000000000001619-66926592196010000000000000000001757-105925380108201000000000000000000-22691625-20-311-577201000000000000000000-22001293-20-334-636201000000000000000000-2108914-20-369-575201000000000000000000-2056564-20-363-694201000000000000000000-1975197-20-374-809310000000000000000000001000000000-17102641-20-4152042-28251680010000000004170010000000004210310000000000000000000001000000000-13652715-10-4842065-10-15052860010000000004211401000000000000000000-5872813-10-69235125100000000000000000001010000000005202310-103064643584088910358335633292071081000000000006111001000000000135100000000000000000001000000000005951960-104642895495371110611751610710000000000061145100000000000000000001000000000006641620-10359467735775741024273092387246244217212108010610000000000061155100000000000000000001000000000007321263-1059211073103617476242224036312511051000000000006116510000000000000000000100000000000800894358368347357233617384362524910410000000000061207010000000000000000008335-2221024223",
"expected": {
"metadata": {
"logFileName": "",
@@ -20,7 +20,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T21:38:24.144Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedAt": "",
"recordGeneratedBy": "RSU",
@@ -2825,7 +2825,7 @@
},
{
"description": "Test Case 2 - MapTxPojo",
- "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadcfc309e0-bcf6-4834-9178-4600d4998b3710002024-11-08T22:01:11.230Z70RSUfalse001283DA380330002044CA0D4D3EA2D42CC86AFB534E02DC3E5820A80000040000961C7612C5BB250FFDE04DD37663DFFA409D80583C0003009608AA000001000025872783416EC83BFEC81374DD9A67FFA02760160D0000C025824A80000040000961CBE0715BB2AB001004DD3765B5FFD009D80582C0003009609AA00000080000D8A308047027D9B520F000004E202C790000404B0515000000400006C5123F70013ECDA5E1800602710163A8000202581EA80000010000361C5E17DC0A0A6DF8040130134C230E2400118690001080AB100000000D877C7CB4027D8B039AFFF4202CC40000000361DF1ED2C09EC2C0EC3FFD080BB100000000D875379C5027B0B03F70000203B04000000035F791D70C09EC2C003BF72880F4100000000D7C8875B5027B0B0000FDCA203F04000000035EBB1D60C09EC2C003BF8416100A00000040000D77D77844027D9AA845002C052308C7C9000463C40004580228000004000095DFB9E6C9A509AFFA80546349C75FFC80A46058BC00010096010A00000100002578077AD8693C9C00E8152CD27B7802E028F0162D00004025806280000040000B5E049F1E00A0A693B8C00181518D28018012028F0162B00004025808280000020000B5DA09FE540A0A6ACB53FFA81450D772E7DD402828561AA000A02B0E400050210052200000001AF0DB0352050A15FBC6000040188800000006BC42418C0142857ED47FFA10072200000001AF1150904050A15FB9A000040208800000006BC4AC2F00142857EE080002C0A3400000200019AFB5D1346050A35FFA6177C0A0A2BFE64464B5FD921F600A0A6BF14443981428D7CF6891302851AF5E11142050A35EED218340A0A058EC00020096049A0000004000ED7C1B896902851AFFE90DCE050535FE5E2E3C0A0A6BFB3C26781414D7E5C883402829AF9911096050A35F57A14CC0A142BE86C25D35F2F610940A0A218412000AC7A000100C60E40004581668000002000135FB8226D80A146BFF1C7C401414D7F3C878202829AFB531352050A02C590001C04B030D000000400036C00BC4E681428D801789A302828AFF8D0F76D7F0E877C02829AFC950CA4050502C554001C0440350800000006C0DD44F88142858000814D100E4200000001B06A713CA050536000205480A0A2C197400000200001B079CED3004F135FF1113200A3205874000400960D3A00000100000D8234765D027B1AFFF08A14051402C360002004B06DD000000400006C0653B22013D8D800A4518028A0160C80006025838E8000002000035FDB1D84C09EC6C003BA14814140B0540003012C187400000080011B13F6EDB804F115FA6DFC10AFC94FC6A57EE07DCE2BFA7BED3B5FFCD72E80A1E018C90000800RSU10.11.81.33MessageFrame183088053395950548-104866790817232366165100000000000000000001000000000001821120122824-17-7022927-23-4071000000000006117510000000000000000000100000000000183183322791-39-7022950-6-40610000000000061185100000000000000000001000000000001839453228698-7022893-12-4051000000000006119510000000000000000000010000000000260871-10105030-603001000000000011205100000000000000000000100000000002596-288-1096976-6029010000000000111551000000000000000000000100000000018151527101612838-90140010010000001130010000000002216010000000000000000001916-844-10461-6226010000000000000000001916-1205-20472-6236010000000000000000001875-1595-20507029801000000000000000000-540-2621-207-28330801000000000000000000-888-2635-200-28331801000000000000000000-1300-2685-207-24832110000000000000000000001000000000-2089-1980-10-1123022703100100100000013000100000000021110000000000000000000100000000000-2066-1614-22451-44140-22755-147023100000000000212110000000000000000000100000000000-2041-1320-2263729150-22601466022100000000000213110000000000000000000100000000000-2030-90410-226713140-22527186021100000000000214110000000000000000000010000000000-2430-10710-9878-1140-2258-55610130101000000005114010000000000525201000000000000000000-193942520-27106201000000000000000000-191679220-300-67201000000000000000000-1910115420-28208201000000000000000000-1899150420-288010310000000000000000000100000000000-594246720-23150310-522249-156200810-472216320-778232320-1296220920-110015491029100000000000419310000000000000000000001000000000-997240920-12176710-105295910-153123110-420210010-824212320-674133120-7551210-8351061108001001000000130100000000000437001000000000211310000000000000000000010000000000-288248620-29397610-196192210-5992473202201000000000071123100000000000000000000100000000002325092023246710-581979-242191610-43816181021010100000000711340100000000000000000044225452003331440100000000000000000085125331003381025710000000000000000000100000000000974-2408-30-60-1516050141000000000008126710000000000000000000100000000000564-2467-20-8-1509440131000000000008127710000000000000000000010000000000202-2492-2010-150804060100000000003128710000000000000000000010000000000-148-2541-207-303110501000000000031247100000000000000000000010000000002555-2340-30-357-252-438-459-288-562-177-601-13-903030250010000000001",
+ "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadcfc309e0-bcf6-4834-9178-4600d4998b3710002024-11-08T22:01:11.230Z80RSUfalse001283DA380330002044CA0D4D3EA2D42CC86AFB534E02DC3E5820A80000040000961C7612C5BB250FFDE04DD37663DFFA409D80583C0003009608AA000001000025872783416EC83BFEC81374DD9A67FFA02760160D0000C025824A80000040000961CBE0715BB2AB001004DD3765B5FFD009D80582C0003009609AA00000080000D8A308047027D9B520F000004E202C790000404B0515000000400006C5123F70013ECDA5E1800602710163A8000202581EA80000010000361C5E17DC0A0A6DF8040130134C230E2400118690001080AB100000000D877C7CB4027D8B039AFFF4202CC40000000361DF1ED2C09EC2C0EC3FFD080BB100000000D875379C5027B0B03F70000203B04000000035F791D70C09EC2C003BF72880F4100000000D7C8875B5027B0B0000FDCA203F04000000035EBB1D60C09EC2C003BF8416100A00000040000D77D77844027D9AA845002C052308C7C9000463C40004580228000004000095DFB9E6C9A509AFFA80546349C75FFC80A46058BC00010096010A00000100002578077AD8693C9C00E8152CD27B7802E028F0162D00004025806280000040000B5E049F1E00A0A693B8C00181518D28018012028F0162B00004025808280000020000B5DA09FE540A0A6ACB53FFA81450D772E7DD402828561AA000A02B0E400050210052200000001AF0DB0352050A15FBC6000040188800000006BC42418C0142857ED47FFA10072200000001AF1150904050A15FB9A000040208800000006BC4AC2F00142857EE080002C0A3400000200019AFB5D1346050A35FFA6177C0A0A2BFE64464B5FD921F600A0A6BF14443981428D7CF6891302851AF5E11142050A35EED218340A0A058EC00020096049A0000004000ED7C1B896902851AFFE90DCE050535FE5E2E3C0A0A6BFB3C26781414D7E5C883402829AF9911096050A35F57A14CC0A142BE86C25D35F2F610940A0A218412000AC7A000100C60E40004581668000002000135FB8226D80A146BFF1C7C401414D7F3C878202829AFB531352050A02C590001C04B030D000000400036C00BC4E681428D801789A302828AFF8D0F76D7F0E877C02829AFC950CA4050502C554001C0440350800000006C0DD44F88142858000814D100E4200000001B06A713CA050536000205480A0A2C197400000200001B079CED3004F135FF1113200A3205874000400960D3A00000100000D8234765D027B1AFFF08A14051402C360002004B06DD000000400006C0653B22013D8D800A4518028A0160C80006025838E8000002000035FDB1D84C09EC6C003BA14814140B0540003012C187400000080011B13F6EDB804F115FA6DFC10AFC94FC6A57EE07DCE2BFA7BED3B5FFCD72E80A1E018C90000800RSU10.11.81.33MessageFrame183088053395950548-104866790817232366165100000000000000000001000000000001821120122824-17-7022927-23-4071000000000006117510000000000000000000100000000000183183322791-39-7022950-6-40610000000000061185100000000000000000001000000000001839453228698-7022893-12-4051000000000006119510000000000000000000010000000000260871-10105030-603001000000000011205100000000000000000000100000000002596-288-1096976-6029010000000000111551000000000000000000000100000000018151527101612838-90140010010000001130010000000002216010000000000000000001916-844-10461-6226010000000000000000001916-1205-20472-6236010000000000000000001875-1595-20507029801000000000000000000-540-2621-207-28330801000000000000000000-888-2635-200-28331801000000000000000000-1300-2685-207-24832110000000000000000000001000000000-2089-1980-10-1123022703100100100000013000100000000021110000000000000000000100000000000-2066-1614-22451-44140-22755-147023100000000000212110000000000000000000100000000000-2041-1320-2263729150-22601466022100000000000213110000000000000000000100000000000-2030-90410-226713140-22527186021100000000000214110000000000000000000010000000000-2430-10710-9878-1140-2258-55610130101000000005114010000000000525201000000000000000000-193942520-27106201000000000000000000-191679220-300-67201000000000000000000-1910115420-28208201000000000000000000-1899150420-288010310000000000000000000100000000000-594246720-23150310-522249-156200810-472216320-778232320-1296220920-110015491029100000000000419310000000000000000000001000000000-997240920-12176710-105295910-153123110-420210010-824212320-674133120-7551210-8351061108001001000000130100000000000437001000000000211310000000000000000000010000000000-288248620-29397610-196192210-5992473202201000000000071123100000000000000000000100000000002325092023246710-581979-242191610-43816181021010100000000711340100000000000000000044225452003331440100000000000000000085125331003381025710000000000000000000100000000000974-2408-30-60-1516050141000000000008126710000000000000000000100000000000564-2467-20-8-1509440131000000000008127710000000000000000000010000000000202-2492-2010-150804060100000000003128710000000000000000000010000000000-148-2541-207-303110501000000000031247100000000000000000000010000000002555-2340-30-357-252-438-459-288-562-177-601-13-903030250010000000001",
"expected": {
"metadata": {
"logFileName": "",
@@ -2843,7 +2843,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T22:01:11.230Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedAt": "",
"recordGeneratedBy": "RSU",
@@ -5934,7 +5934,7 @@
},
{
"description": "Test case 3 - MapTxPojo",
- "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload894cf226-1c88-4e93-8a44-4e2e619593e310002024-11-08T22:01:11.974Z70RSUfalse00128315380230002044D0094D3EA1DB2CCC713452F402DC325806280000040000B5DC45F6640A0A694423FFE01478D267B809B02788162500004025804280000040000B5DD2DF1180A0A69400C01581478D26BE802102788162700004025802280000050000B5DE71EA600A0A69346401281478D27C88052027889629000040231A2400218C9000196020A00000080002D7681808802829A58F9007E051E15E689FAFC5616A000A02B0C400050210052200000001AEC35053C050515FB9A000040188800000006BAFBC20981414D7EEC800002828401C8800000006BAE1C2BB01414D7EDA800B02828B020D000000200006BD19441381414D802398EB027D8460E48002306200022C093400000200001AF6F5103605053600FE640809F6058D400020096051A00000080000D7CC8880402829B008B323204FB0AC494001C056268000E0420168400000001603CA2058B000103682018840000000160A162058AFFE90368581AA80000050000B61E6E14B409F66EB433FE901428DD7357FAB0294086184800230B20002583C00030196072A00000100002D87F183EB027D9BAC18FFAC050A375D61FE5C0A50058340003009607AA00000100002D88148270027D9BAC1AFF98050A375C8DFEE00A500582C00030096082A00000080000D884D813A027D9BBC18FEEC050F02C690000404B0455000000400006C443BFD4813ECDCF047FBB028281632A0002022024C4000000036238DF5AC09F62C08D3FFD0809B100000000D89287BD4027D8B01CCFFF42028C40000000362545EA3409F62C0734000160B3A00000100008582B977ED2C003381A35FD4DDED40A0A2BFCC3E2FB5F7E9D5B00A0A6BDC63640814140B0C80008012C157400000080014B0882EFD057FE3784B2BFF7BAEFB5FD21E3800A0A2BF81BC9835FA55E3240A0A6BDC336710141423142400118990001160C3A0000008000057FF477D16BFE637C1014140B0550003012C177400000100010B029CEF9657FE96FD26BFD7BD3E8141457F1478066BF143BC101414D7BA86CF902828160C8000602203304000000035F719DE5C0A0A2BFFD3F6D880D4100000000D7BED779702828B0000FDCE813ECCEB0E00B027D858D0FEA2D0476B169636B0200800161F00010022041A400000000BE456B81904002043A400000000BE01114184C00013C457FD24A52058C40001008037263DFF780A146E023C005813EC0A0806012C1554000002000045FE580ADC92E801402829B81AEFFC804FB0281C1804B05950000008000117FBD42371E39FF980A0A6E132C01E813EC0A0606012C18540000010000C780E7B5B3CEA805C0A0A1F0122C8BDCBC0000A0A5F07223204FB028800404B05D5000000400001E02A202DA50180060282814420202000RSU10.11.81.36MessageFrame182088082395950299-1048404171171463663110000000000000000000100000000000-2287-61510-22396-460-22917155-3018100000000000212110000000000000000000100000000000-2229-95410-225274360-2285033-3019100000000000211110000000000000000000101000000000-2148-138410-229003760-2258482-3020100000000000212600100100000022500100000000034110000000000000000000010000000000-243113610-213806360-1630-321110101000000005112010000000000525201000000000000000000-253467010-28206201000000000000000000-2569104310-2760107201000000000000000000-2621139810-29411108310000000000000000000001000000000-1486208710356379-1070010010000001600100000000029310000000000000000000100000000000-1158207510636402-10261000000000004110310000000000000000000010000000000-824205210696425-10180101000000007119010000000000721140100000000000000000024220700436124010000000000000000006452070-124361351000000000000000000010100000000019471325-1022150-462022325-85801200100100000011100100000000027100000000000631451000000000000000000010000000000020331003-1022028-422022360-10580610000000000061155100000000000000000001000000000002068624-1022029-522022307-7280510000000000061165100000000000000000000100000000002125314-1024076-138302601000000000011175100000000000000000000100000000002183-87-1020228-69102501010000000011186010000000000000000002275-661-10282-6196010000000000000000002344-1068-10230-6206010000000000000000002385-1395-10230022710000000000000000000100000000000697-20676-4044-173-212310-104-929-518-270810-1140-4991101210000000000081217100000000000000000000010000000001089-2072-29-1973-17-2593-184-182410-253-1744-363-184710-1146-48941020001001000000119001000000000224710000000000000000000010000000000-12-2095-52-42221050101000000003123710000000000000000000010000000000334-2101-23-4142-81-141110-236-2042-472-217410-1112-48711060100000000003125801000000000000000000-570-215310-6-29326801000000000000000000-1043-2153100-281",
+ "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload894cf226-1c88-4e93-8a44-4e2e619593e310002024-11-08T22:01:11.974Z80RSUfalse00128315380230002044D0094D3EA1DB2CCC713452F402DC325806280000040000B5DC45F6640A0A694423FFE01478D267B809B02788162500004025804280000040000B5DD2DF1180A0A69400C01581478D26BE802102788162700004025802280000050000B5DE71EA600A0A69346401281478D27C88052027889629000040231A2400218C9000196020A00000080002D7681808802829A58F9007E051E15E689FAFC5616A000A02B0C400050210052200000001AEC35053C050515FB9A000040188800000006BAFBC20981414D7EEC800002828401C8800000006BAE1C2BB01414D7EDA800B02828B020D000000200006BD19441381414D802398EB027D8460E48002306200022C093400000200001AF6F5103605053600FE640809F6058D400020096051A00000080000D7CC8880402829B008B323204FB0AC494001C056268000E0420168400000001603CA2058B000103682018840000000160A162058AFFE90368581AA80000050000B61E6E14B409F66EB433FE901428DD7357FAB0294086184800230B20002583C00030196072A00000100002D87F183EB027D9BAC18FFAC050A375D61FE5C0A50058340003009607AA00000100002D88148270027D9BAC1AFF98050A375C8DFEE00A500582C00030096082A00000080000D884D813A027D9BBC18FEEC050F02C690000404B0455000000400006C443BFD4813ECDCF047FBB028281632A0002022024C4000000036238DF5AC09F62C08D3FFD0809B100000000D89287BD4027D8B01CCFFF42028C40000000362545EA3409F62C0734000160B3A00000100008582B977ED2C003381A35FD4DDED40A0A2BFCC3E2FB5F7E9D5B00A0A6BDC63640814140B0C80008012C157400000080014B0882EFD057FE3784B2BFF7BAEFB5FD21E3800A0A2BF81BC9835FA55E3240A0A6BDC336710141423142400118990001160C3A0000008000057FF477D16BFE637C1014140B0550003012C177400000100010B029CEF9657FE96FD26BFD7BD3E8141457F1478066BF143BC101414D7BA86CF902828160C8000602203304000000035F719DE5C0A0A2BFFD3F6D880D4100000000D7BED779702828B0000FDCE813ECCEB0E00B027D858D0FEA2D0476B169636B0200800161F00010022041A400000000BE456B81904002043A400000000BE01114184C00013C457FD24A52058C40001008037263DFF780A146E023C005813EC0A0806012C1554000002000045FE580ADC92E801402829B81AEFFC804FB0281C1804B05950000008000117FBD42371E39FF980A0A6E132C01E813EC0A0606012C18540000010000C780E7B5B3CEA805C0A0A1F0122C8BDCBC0000A0A5F07223204FB028800404B05D5000000400001E02A202DA50180060282814420202000RSU10.11.81.36MessageFrame182088082395950299-1048404171171463663110000000000000000000100000000000-2287-61510-22396-460-22917155-3018100000000000212110000000000000000000100000000000-2229-95410-225274360-2285033-3019100000000000211110000000000000000000101000000000-2148-138410-229003760-2258482-3020100000000000212600100100000022500100000000034110000000000000000000010000000000-243113610-213806360-1630-321110101000000005112010000000000525201000000000000000000-253467010-28206201000000000000000000-2569104310-2760107201000000000000000000-2621139810-29411108310000000000000000000001000000000-1486208710356379-1070010010000001600100000000029310000000000000000000100000000000-1158207510636402-10261000000000004110310000000000000000000010000000000-824205210696425-10180101000000007119010000000000721140100000000000000000024220700436124010000000000000000006452070-124361351000000000000000000010100000000019471325-1022150-462022325-85801200100100000011100100000000027100000000000631451000000000000000000010000000000020331003-1022028-422022360-10580610000000000061155100000000000000000001000000000002068624-1022029-522022307-7280510000000000061165100000000000000000000100000000002125314-1024076-138302601000000000011175100000000000000000000100000000002183-87-1020228-69102501010000000011186010000000000000000002275-661-10282-6196010000000000000000002344-1068-10230-6206010000000000000000002385-1395-10230022710000000000000000000100000000000697-20676-4044-173-212310-104-929-518-270810-1140-4991101210000000000081217100000000000000000000010000000001089-2072-29-1973-17-2593-184-182410-253-1744-363-184710-1146-48941020001001000000119001000000000224710000000000000000000010000000000-12-2095-52-42221050101000000003123710000000000000000000010000000000334-2101-23-4142-81-141110-236-2042-472-217410-1112-48711060100000000003125801000000000000000000-570-215310-6-29326801000000000000000000-1043-2153100-281",
"expected": {
"metadata": {
"logFileName": "",
@@ -5952,7 +5952,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T22:01:11.974Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedAt": "",
"recordGeneratedBy": "RSU",
@@ -8493,7 +8493,7 @@
},
{
"description": "Test case 4 - MapTxPojo",
- "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadd71ab23d-0f89-4847-abef-ea6ffe43995b10002024-11-08T22:01:12.973Z70RSUfalse0012830538023000205EA2094D3A3E202CA7783451FA02DC385824E8000002000089D7FA3C8FF96D5837A9E7A4163680002025822E80000020000A97DFAB40A0A6C00BD21D013EC3792FAD4163880002025820E80000040001A92E3AA00A0A6BFE6538C813ECC7FD3303027D9B01B5AC0004E235FE3698CC09E2058240003009607BA00000100006A32EEB6028298FFA7E6A04FB31FFDFEA809F66C0276FE601374C7D7F795027B0160B0000C0220270400000000A7FF8A4108E8220290400000000AE7B8BC106654582F6800000400008BB12D889D763ED6CD4D1F3D027B01617000100258316800000400010BADA8407C8F7F7B37CB7C0C09F65EF01F8E04FB02C2A0002004B066D0000004000117754649317D7F1C5F5AF8E0B0540003012C1AB4000001000045D8EF044D741F7C5E72E30C04FB02C110000C04406F08000000017372C9833182C4073080000000172BA0F033D800B07B90000002000117BA05905140476BFCD2EDD813D8031D200012C03140000010000451D42D0C808C5E8027D97035116813EC2B0A4000501485A000296010A000001000062A421736408A2E5813ECD802B5DAA027B1B00507F4404E736005D134009B00589C00010096008A000001000082BB615E6407E1FA013ECB806072409F66405040A013ECD806744FF02739AFFA48A8604D802C520000804B024D000000400015070BFA01414C2F6E02E0282866DD75682C4D0001C04B020D000000400005073B5901414C18BE01D0282816288000E02580E680000040001283196680A0A610C6FF481414338842B0258DFD82C6E0001004B018D0000008000250602268141443771FB058F7A150050508C8E05C1639000080220148400000002836E6FC0A0A0229030805A100000000A104B5C0282806D400202B240000000161566915810BFF2400A48000000008D5480C0F18AE4008480000000093B88680F4880203BA40000000134E16A301C4422581CC800000100012CF576F9028283793BFB201DED0C09F6241B7BB408C3480004218400201AA4000000030CE28E000A0A01B50008062900000000C33B621C0282805EBF400002000144016C02C36DDFFF0282984ACC1EE05052C36F0AC02828669D82DA8F821480A0A10F140002C8E0001004B03190000008000519FD190C43B2E0066108B08401428C342A0CE02828258A0604A6BE959AEE0E6050502C920001004B02D90000008000459FA164404FB30A8580A00A14619C306701414C32CE10E02829659081F814141029030164B000080200RSU10.11.81.19MessageFrame1820121132395662624-10508272111689936618710000000000000000000010000000000-1611679-145804-1732537270100000000001117710000000000000000000010000000000-521170910239274-10-2193765280100000000001116710000000000000000000100000000000-840170410-5210009-10-124867-1021822016-60-1159779-3041000000000006115710000000000000000000100000000000-1234171810-127989-10-38106-107824524-70-1616037-20510000000000061198010000000000000000005111577173212080100000000000000000092615831229823111000000000000000000010000000000017328666892-1495428-195-20111000000000008124111000000000000000000010000000000017185283215-176091-253-103008-57-10101000000000008125111000000000000000000001000000000017702014477-571965-575010000000000312611100000000000000000000100000000001735-1265584-1322507390-104010000000000312712010000000000000000001646-621305112812010000000000000000001623-99431703014100000000000000000000010000000001908-1870-472-953-102-8773-202900100000000013110000000000000000000010000000000234-168835-6680-1053-3539-1010010000000000511101000000000052110000000000000000000100000000000578-167769-6709-1043-8790-2040-16478-5023-15152-8019100000000000211110000000000000000000100000000000950-169863-7180-1012-3639-1040-6124-10103-15105-50-46-15037-8020100000000000219310000000000000000000010000000000-1823-1210-51574610-2339-33919010000000000718310000000000000000000010000000000-1817-33410-6609291020010000000000717310000000000000000000100000000000-1850-61410-6045-2310-2288172-669-527100000000000416310000000000000000000100000000000-1856-94710-4644-80-310616810-124523281000000000004110401000000000000000000-182944710-236611401000000000000000000-178886010-29402190100000000000000000013699302235055210000000000000000000-1195-1533-29-4254210000000000000000000-786-1510-23-4482913010000000000000000005345-13963921714610000000000000000000001000000000-2133178510484895296979-1021959921300100000000011200100000000013501000000000000000000-489489610-294012501000000000000000000-488354010-323-6",
+ "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadd71ab23d-0f89-4847-abef-ea6ffe43995b10002024-11-08T22:01:12.973Z80RSUfalse0012830538023000205EA2094D3A3E202CA7783451FA02DC385824E8000002000089D7FA3C8FF96D5837A9E7A4163680002025822E80000020000A97DFAB40A0A6C00BD21D013EC3792FAD4163880002025820E80000040001A92E3AA00A0A6BFE6538C813ECC7FD3303027D9B01B5AC0004E235FE3698CC09E2058240003009607BA00000100006A32EEB6028298FFA7E6A04FB31FFDFEA809F66C0276FE601374C7D7F795027B0160B0000C0220270400000000A7FF8A4108E8220290400000000AE7B8BC106654582F6800000400008BB12D889D763ED6CD4D1F3D027B01617000100258316800000400010BADA8407C8F7F7B37CB7C0C09F65EF01F8E04FB02C2A0002004B066D0000004000117754649317D7F1C5F5AF8E0B0540003012C1AB4000001000045D8EF044D741F7C5E72E30C04FB02C110000C04406F08000000017372C9833182C4073080000000172BA0F033D800B07B90000002000117BA05905140476BFCD2EDD813D8031D200012C03140000010000451D42D0C808C5E8027D97035116813EC2B0A4000501485A000296010A000001000062A421736408A2E5813ECD802B5DAA027B1B00507F4404E736005D134009B00589C00010096008A000001000082BB615E6407E1FA013ECB806072409F66405040A013ECD806744FF02739AFFA48A8604D802C520000804B024D000000400015070BFA01414C2F6E02E0282866DD75682C4D0001C04B020D000000400005073B5901414C18BE01D0282816288000E02580E680000040001283196680A0A610C6FF481414338842B0258DFD82C6E0001004B018D0000008000250602268141443771FB058F7A150050508C8E05C1639000080220148400000002836E6FC0A0A0229030805A100000000A104B5C0282806D400202B240000000161566915810BFF2400A48000000008D5480C0F18AE4008480000000093B88680F4880203BA40000000134E16A301C4422581CC800000100012CF576F9028283793BFB201DED0C09F6241B7BB408C3480004218400201AA4000000030CE28E000A0A01B50008062900000000C33B621C0282805EBF400002000144016C02C36DDFFF0282984ACC1EE05052C36F0AC02828669D82DA8F821480A0A10F140002C8E0001004B03190000008000519FD190C43B2E0066108B08401428C342A0CE02828258A0604A6BE959AEE0E6050502C920001004B02D90000008000459FA164404FB30A8580A00A14619C306701414C32CE10E02829659081F814141029030164B000080200RSU10.11.81.19MessageFrame1820121132395662624-10508272111689936618710000000000000000000010000000000-1611679-145804-1732537270100000000001117710000000000000000000010000000000-521170910239274-10-2193765280100000000001116710000000000000000000100000000000-840170410-5210009-10-124867-1021822016-60-1159779-3041000000000006115710000000000000000000100000000000-1234171810-127989-10-38106-107824524-70-1616037-20510000000000061198010000000000000000005111577173212080100000000000000000092615831229823111000000000000000000010000000000017328666892-1495428-195-20111000000000008124111000000000000000000010000000000017185283215-176091-253-103008-57-10101000000000008125111000000000000000000001000000000017702014477-571965-575010000000000312611100000000000000000000100000000001735-1265584-1322507390-104010000000000312712010000000000000000001646-621305112812010000000000000000001623-99431703014100000000000000000000010000000001908-1870-472-953-102-8773-202900100000000013110000000000000000000010000000000234-168835-6680-1053-3539-1010010000000000511101000000000052110000000000000000000100000000000578-167769-6709-1043-8790-2040-16478-5023-15152-8019100000000000211110000000000000000000100000000000950-169863-7180-1012-3639-1040-6124-10103-15105-50-46-15037-8020100000000000219310000000000000000000010000000000-1823-1210-51574610-2339-33919010000000000718310000000000000000000010000000000-1817-33410-6609291020010000000000717310000000000000000000100000000000-1850-61410-6045-2310-2288172-669-527100000000000416310000000000000000000100000000000-1856-94710-4644-80-310616810-124523281000000000004110401000000000000000000-182944710-236611401000000000000000000-178886010-29402190100000000000000000013699302235055210000000000000000000-1195-1533-29-4254210000000000000000000-786-1510-23-4482913010000000000000000005345-13963921714610000000000000000000001000000000-2133178510484895296979-1021959921300100000000011200100000000013501000000000000000000-489489610-294012501000000000000000000-488354010-323-6",
"expected": {
"metadata": {
"logFileName": "",
@@ -8511,7 +8511,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T22:01:12.973Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedAt": "",
"recordGeneratedBy": "RSU",
@@ -11178,7 +11178,7 @@
},
{
"description": "Test case 5 - MapTxPojo",
- "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload2c91e8d6-f917-4c82-96e4-9de0da3ddca710002024-11-08T22:01:11.319Z70RSUfalse0012834538023000205EA0094D3C71C12CA6CE5D527C02DC3458244800000400028CF6F61F62355F9101464B5AAE70C0A0A631B181A81428D6F27A48302829ADDE94A56050F35BD42952C09C4058340003009609920000010000A2128E4162EAD9980143CC566B6AF028798AF5EB7C050F11349EE19ADCEF4CCA050A35B9E29BE009CE0582C000300960A120000008000222DFE5B6303588D0143CB5AB683C0A0A058F2000080960A920000008000424D3E7162ECF8AF8143CC4C9F8D6028A16876F54814140B1D4000101101632000000014E83CC805050181D34405CC80000000546A74C01414061F5E101832000000015559DAE05050181CA8B06910000008000557F359801414BCCB40000A0A5F6BDEA8050533D307B6C0A1E27EA6FE0AFA9B073027D99945C26C04FB02C360002004B06D1000000800045E50A3E40505331437DAC0A0A6D098BF540143CBEE5BF780A0A67F5501A013ECCC9BA13C027D8161900010025822280000010401AC5437B1027D933B3360141495F5F840A0A62FEF8C581428B624E1CC0A142187100008C3C80008220400203AA400000000F926E6B066F00080F29000000003E45B0481CCC0C583EC800000100012F552960027D9500E77E04FB32AB0218809CE0D89092231E2000118E900011601B200000080002ABF4179027D9958E8EE004E20AE20254561A8000A02B0C40005022C0264000002000115B2C2BC04FB32ACF1F7809C4658F42A6813C4CAEB868F02761B281EA9E004DD364E2D53CC09C4058B40001009600B200000100008AF30177027D9967B06AA04E232A272BEC09E2652CE518813B0D953152C1026E9B2A82A47E04E202C5E0000804401DC8000000051E38FE013EC89FCCA027D84019C8000000052BB904013EC89A097027D84015C80000000538B109813EC0988B31004720000000151DC3EE04FB225C22C09F62C0A840000020000965B0781813D8D599C7FEF02789AB155007204F1356711FFBC09EC058EC0002009604C200000100002B336362809EC6A2FE40170139CD452D7FF502788163D0000802201B2400000002C80D40A027D8067C0020192400000002C825284027D905EC0004FB08085100000000C1AD65AC02788033C00201F4400000003068D912009E2011F0008075100000000C1A1E2F00278804ABF47A7C8195028280540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.20MessageFrame1820121122395806913-10508706921702536618210000000000000000000100000000000-21211567-3670797050-1195249910-1832414920-4313934710-4364951530-42729547-6061000000000006119210000000000000000000100000000000-17521601-2218491230-2662580730-2581556630-32557046-4489982920-44889976-5051000000000006120210000000000000000000010000000000-13131627-2022437830-1194257510300100000000001121210000000000000000000010000000000-8131649-2201444730-3289635840-1930375310290100000000001122301000000000000000000-191163610-12733323301000000000000000000212168810-12135024301000000000000000000684175110-1272982641000000000000000000010000000000020228161024540103503-172107472-293308019-633405115-104747310-101310000000000081274100000000000000000001000000000002370498104419-149108497-344303531-3410810652-104718316-10121000000000008117110000000000000000000001000001000-34231969-1023662010-26299310-2057449120-95121632014001000000000115001000000000216001000000000295010000000000000000003219-4053110305010000000000000000003211-10064096316100000000000000000000010000000002729-1696-107-1089-102736-6046-50393-95130001000000000129001000000000236100000000000000000000100000000001012-1671-102845-6288-60904-18991301000000000051120100000000005226100000000000000000001000000000001430-1698-102767-6178-603194-6835-302990-6513-405135-11024-705003-11021-60221000000000002116100000000000000000001000000000001840-1673-103318-7339-602599-5381-302407-5583-405425-11583-705441-11713-6023100000000000217701000000000000000000-1081-1540-10127-310-106701000000000000000000-649-1528-10104-361-105701000000000000000000-234-1517-1098-3334701000000000000000000238-1545-1092-373-1010810000000000000000000100000000000-2640-253-20-9828-17-30-1007057-30-9788-17-2029100000000000419810000000000000000000100000000000-2452-630-20-1485246-50-15059-11-30301000000000004113901000000000000000000-30661034-10-305012901000000000000000000-3054644-10-3230-10161001000000000000000000-64751452-30-4090151001000000000000000000-65151096-30-3690141001000000000000000000-6521752-30-363-6",
+ "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload2c91e8d6-f917-4c82-96e4-9de0da3ddca710002024-11-08T22:01:11.319Z80RSUfalse0012834538023000205EA0094D3C71C12CA6CE5D527C02DC3458244800000400028CF6F61F62355F9101464B5AAE70C0A0A631B181A81428D6F27A48302829ADDE94A56050F35BD42952C09C4058340003009609920000010000A2128E4162EAD9980143CC566B6AF028798AF5EB7C050F11349EE19ADCEF4CCA050A35B9E29BE009CE0582C000300960A120000008000222DFE5B6303588D0143CB5AB683C0A0A058F2000080960A920000008000424D3E7162ECF8AF8143CC4C9F8D6028A16876F54814140B1D4000101101632000000014E83CC805050181D34405CC80000000546A74C01414061F5E101832000000015559DAE05050181CA8B06910000008000557F359801414BCCB40000A0A5F6BDEA8050533D307B6C0A1E27EA6FE0AFA9B073027D99945C26C04FB02C360002004B06D1000000800045E50A3E40505331437DAC0A0A6D098BF540143CBEE5BF780A0A67F5501A013ECCC9BA13C027D8161900010025822280000010401AC5437B1027D933B3360141495F5F840A0A62FEF8C581428B624E1CC0A142187100008C3C80008220400203AA400000000F926E6B066F00080F29000000003E45B0481CCC0C583EC800000100012F552960027D9500E77E04FB32AB0218809CE0D89092231E2000118E900011601B200000080002ABF4179027D9958E8EE004E20AE20254561A8000A02B0C40005022C0264000002000115B2C2BC04FB32ACF1F7809C4658F42A6813C4CAEB868F02761B281EA9E004DD364E2D53CC09C4058B40001009600B200000100008AF30177027D9967B06AA04E232A272BEC09E2652CE518813B0D953152C1026E9B2A82A47E04E202C5E0000804401DC8000000051E38FE013EC89FCCA027D84019C8000000052BB904013EC89A097027D84015C80000000538B109813EC0988B31004720000000151DC3EE04FB225C22C09F62C0A840000020000965B0781813D8D599C7FEF02789AB155007204F1356711FFBC09EC058EC0002009604C200000100002B336362809EC6A2FE40170139CD452D7FF502788163D0000802201B2400000002C80D40A027D8067C0020192400000002C825284027D905EC0004FB08085100000000C1AD65AC02788033C00201F4400000003068D912009E2011F0008075100000000C1A1E2F00278804ABF47A7C8195028280540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.20MessageFrame1820121122395806913-10508706921702536618210000000000000000000100000000000-21211567-3670797050-1195249910-1832414920-4313934710-4364951530-42729547-6061000000000006119210000000000000000000100000000000-17521601-2218491230-2662580730-2581556630-32557046-4489982920-44889976-5051000000000006120210000000000000000000010000000000-13131627-2022437830-1194257510300100000000001121210000000000000000000010000000000-8131649-2201444730-3289635840-1930375310290100000000001122301000000000000000000-191163610-12733323301000000000000000000212168810-12135024301000000000000000000684175110-1272982641000000000000000000010000000000020228161024540103503-172107472-293308019-633405115-104747310-101310000000000081274100000000000000000001000000000002370498104419-149108497-344303531-3410810652-104718316-10121000000000008117110000000000000000000001000001000-34231969-1023662010-26299310-2057449120-95121632014001000000000115001000000000216001000000000295010000000000000000003219-4053110305010000000000000000003211-10064096316100000000000000000000010000000002729-1696-107-1089-102736-6046-50393-95130001000000000129001000000000236100000000000000000000100000000001012-1671-102845-6288-60904-18991301000000000051120100000000005226100000000000000000001000000000001430-1698-102767-6178-603194-6835-302990-6513-405135-11024-705003-11021-60221000000000002116100000000000000000001000000000001840-1673-103318-7339-602599-5381-302407-5583-405425-11583-705441-11713-6023100000000000217701000000000000000000-1081-1540-10127-310-106701000000000000000000-649-1528-10104-361-105701000000000000000000-234-1517-1098-3334701000000000000000000238-1545-1092-373-1010810000000000000000000100000000000-2640-253-20-9828-17-30-1007057-30-9788-17-2029100000000000419810000000000000000000100000000000-2452-630-20-1485246-50-15059-11-30301000000000004113901000000000000000000-30661034-10-305012901000000000000000000-3054644-10-3230-10161001000000000000000000-64751452-30-4090151001000000000000000000-65151096-30-3690141001000000000000000000-6521752-30-363-6",
"expected": {
"metadata": {
"logFileName": "",
@@ -11196,7 +11196,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T22:01:11.319Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedAt": "",
"recordGeneratedBy": "RSU",
diff --git a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/JSONEncodedMAP_to_Asn1DecoderInput_Validation.json b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/JSONEncodedMAP_to_Asn1DecoderInput_Validation.json
index 0f5bacbdc..9dc66fcc3 100644
--- a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/JSONEncodedMAP_to_Asn1DecoderInput_Validation.json
+++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/JSONEncodedMAP_to_Asn1DecoderInput_Validation.json
@@ -15,7 +15,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T21:46:51.146Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedBy": "RSU",
"sanitized": false,
@@ -30,7 +30,7 @@
}
}
},
- "expected": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloade99b160c-b2b2-4282-85bd-02fafbc5241710002024-11-08T21:46:51.146Z70RSUfalse001283B0380230002044C4094D3E99B42CC5EE1D542002DC36582D280000070001B6152DE2A00A0A6C18DBA4901414D80A776F202851AFEB2F114050535E9B183380A1425832000400A42E00020226400582F280000020002960FB1E175B0440F23605053604DDE30C0A146C03CBCF981414D7F5378AC02829AF820D4B4050A35F51DC7F809F60582A000180960C4A000000800065827078266C18DBA6601428D80CF777C02851AFD9EEB40050A15E7297D5016088000602582B080000010002362769E2E80A0A2BF423E15B60819D2480A146C011BD5281414D7F5F781D02829AFAB6E53C050500C5080004B0729000000200046BCBA39F101428D78FB8260027D9ADD9EFD3804F1356B81FFA40A0A2B1DD401395DE15FFE8063440002583748000001000035E84DD3E00A0A2BD3EC13300C64800044066C800000006B2B02B1E8141457F3C80A1101AB200000001ACC76AEDA050515FCC60298B00C5000000800042BEB43E70B5C8EDF6D809F62BB393F8FB5DB49FDD809F66AF94BFF70141455EBF80110588C00010096008A0000010000657DED7A216BB7D3F2E81414D71C27E52027B1AAEA4FEE2050535652E002809F60589C00010096010A0000010000657D557B672B9403EE735DA55FBF409F62AAD73FBB156D92009C162500004022022C40000000161809FB60B01FB007E2024C4000000016194DF58CB021300B82026C40000000161B75EF75B01FB00A0050508041100000000D77238659027B0AFD92FF8E200E44000000035DDA2143409EC2BF593FE088031100000000D77C48392027B0AFD1EFF8E200A44000000035DFE208D009EC2BF4ABFDD88021100000000D784980C5027B0AFD14FF605812680000010000B5E54A294409EC2BF30C3FD15FB9A081056104000802B0720004022C0A3400000080005AF557153604FB35F872204409F62BFB5410802C188001008402D0800000006BEDAC57E813EC57FBB80EB2C0C540000028000DB0411120C04FB162FE20A0DB2DA106F205051637FE0591B1A03019E05050AC220001804216400581AA8000004000136094E1EA009F62C91141BFB64D660B1C0A0A6CBF2C102014140B0780006012C0E5400000200015B05310CA804FB16382A0A95B1BF3047C05051625EE04D4B12A701EC5898A80AC6C25D4028014140B0680006012C0F540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.30us.dot.its.jpo.ode.model.OdeHexByteArray001283B0380230002044C4094D3E99B42CC5EE1D542002DC36582D280000070001B6152DE2A00A0A6C18DBA4901414D80A776F202851AFEB2F114050535E9B183380A1425832000400A42E00020226400582F280000020002960FB1E175B0440F23605053604DDE30C0A146C03CBCF981414D7F5378AC02829AF820D4B4050A35F51DC7F809F60582A000180960C4A000000800065827078266C18DBA6601428D80CF777C02851AFD9EEB40050A15E7297D5016088000602582B080000010002362769E2E80A0A2BF423E15B60819D2480A146C011BD5281414D7F5F781D02829AFAB6E53C050500C5080004B0729000000200046BCBA39F101428D78FB8260027D9ADD9EFD3804F1356B81FFA40A0A2B1DD401395DE15FFE8063440002583748000001000035E84DD3E00A0A2BD3EC13300C64800044066C800000006B2B02B1E8141457F3C80A1101AB200000001ACC76AEDA050515FCC60298B00C5000000800042BEB43E70B5C8EDF6D809F62BB393F8FB5DB49FDD809F66AF94BFF70141455EBF80110588C00010096008A0000010000657DED7A216BB7D3F2E81414D71C27E52027B1AAEA4FEE2050535652E002809F60589C00010096010A0000010000657D557B672B9403EE735DA55FBF409F62AAD73FBB156D92009C162500004022022C40000000161809FB60B01FB007E2024C4000000016194DF58CB021300B82026C40000000161B75EF75B01FB00A0050508041100000000D77238659027B0AFD92FF8E200E44000000035DDA2143409EC2BF593FE088031100000000D77C48392027B0AFD1EFF8E200A44000000035DFE208D009EC2BF4ABFDD88021100000000D784980C5027B0AFD14FF605812680000010000B5E54A294409EC2BF30C3FD15FB9A081056104000802B0720004022C0A3400000080005AF557153604FB35F872204409F62BFB5410802C188001008402D0800000006BEDAC57E813EC57FBB80EB2C0C540000028000DB0411120C04FB162FE20A0DB2DA106F205051637FE0591B1A03019E05050AC220001804216400581AA8000004000136094E1EA009F62C91141BFB64D660B1C0A0A6CBF2C102014140B0780006012C0E5400000200015B05310CA804FB16382A0A95B1BF3047C05051625EE04D4B12A701EC5898A80AC6C25D4028014140B0680006012C0F540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000"
+ "expected": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloade99b160c-b2b2-4282-85bd-02fafbc5241710002024-11-08T21:46:51.146Z80RSUfalse001283B0380230002044C4094D3E99B42CC5EE1D542002DC36582D280000070001B6152DE2A00A0A6C18DBA4901414D80A776F202851AFEB2F114050535E9B183380A1425832000400A42E00020226400582F280000020002960FB1E175B0440F23605053604DDE30C0A146C03CBCF981414D7F5378AC02829AF820D4B4050A35F51DC7F809F60582A000180960C4A000000800065827078266C18DBA6601428D80CF777C02851AFD9EEB40050A15E7297D5016088000602582B080000010002362769E2E80A0A2BF423E15B60819D2480A146C011BD5281414D7F5F781D02829AFAB6E53C050500C5080004B0729000000200046BCBA39F101428D78FB8260027D9ADD9EFD3804F1356B81FFA40A0A2B1DD401395DE15FFE8063440002583748000001000035E84DD3E00A0A2BD3EC13300C64800044066C800000006B2B02B1E8141457F3C80A1101AB200000001ACC76AEDA050515FCC60298B00C5000000800042BEB43E70B5C8EDF6D809F62BB393F8FB5DB49FDD809F66AF94BFF70141455EBF80110588C00010096008A0000010000657DED7A216BB7D3F2E81414D71C27E52027B1AAEA4FEE2050535652E002809F60589C00010096010A0000010000657D557B672B9403EE735DA55FBF409F62AAD73FBB156D92009C162500004022022C40000000161809FB60B01FB007E2024C4000000016194DF58CB021300B82026C40000000161B75EF75B01FB00A0050508041100000000D77238659027B0AFD92FF8E200E44000000035DDA2143409EC2BF593FE088031100000000D77C48392027B0AFD1EFF8E200A44000000035DFE208D009EC2BF4ABFDD88021100000000D784980C5027B0AFD14FF605812680000010000B5E54A294409EC2BF30C3FD15FB9A081056104000802B0720004022C0A3400000080005AF557153604FB35F872204409F62BFB5410802C188001008402D0800000006BEDAC57E813EC57FBB80EB2C0C540000028000DB0411120C04FB162FE20A0DB2DA106F205051637FE0591B1A03019E05050AC220001804216400581AA8000004000136094E1EA009F62C91141BFB64D660B1C0A0A6CBF2C102014140B0780006012C0E5400000200015B05310CA804FB16382A0A95B1BF3047C05051625EE04D4B12A701EC5898A80AC6C25D4028014140B0680006012C0F540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.30us.dot.its.jpo.ode.model.OdeHexByteArray001283B0380230002044C4094D3E99B42CC5EE1D542002DC36582D280000070001B6152DE2A00A0A6C18DBA4901414D80A776F202851AFEB2F114050535E9B183380A1425832000400A42E00020226400582F280000020002960FB1E175B0440F23605053604DDE30C0A146C03CBCF981414D7F5378AC02829AF820D4B4050A35F51DC7F809F60582A000180960C4A000000800065827078266C18DBA6601428D80CF777C02851AFD9EEB40050A15E7297D5016088000602582B080000010002362769E2E80A0A2BF423E15B60819D2480A146C011BD5281414D7F5F781D02829AFAB6E53C050500C5080004B0729000000200046BCBA39F101428D78FB8260027D9ADD9EFD3804F1356B81FFA40A0A2B1DD401395DE15FFE8063440002583748000001000035E84DD3E00A0A2BD3EC13300C64800044066C800000006B2B02B1E8141457F3C80A1101AB200000001ACC76AEDA050515FCC60298B00C5000000800042BEB43E70B5C8EDF6D809F62BB393F8FB5DB49FDD809F66AF94BFF70141455EBF80110588C00010096008A0000010000657DED7A216BB7D3F2E81414D71C27E52027B1AAEA4FEE2050535652E002809F60589C00010096010A0000010000657D557B672B9403EE735DA55FBF409F62AAD73FBB156D92009C162500004022022C40000000161809FB60B01FB007E2024C4000000016194DF58CB021300B82026C40000000161B75EF75B01FB00A0050508041100000000D77238659027B0AFD92FF8E200E44000000035DDA2143409EC2BF593FE088031100000000D77C48392027B0AFD1EFF8E200A44000000035DFE208D009EC2BF4ABFDD88021100000000D784980C5027B0AFD14FF605812680000010000B5E54A294409EC2BF30C3FD15FB9A081056104000802B0720004022C0A3400000080005AF557153604FB35F872204409F62BFB5410802C188001008402D0800000006BEDAC57E813EC57FBB80EB2C0C540000028000DB0411120C04FB162FE20A0DB2DA106F205051637FE0591B1A03019E05050AC220001804216400581AA8000004000136094E1EA009F62C91141BFB64D660B1C0A0A6CBF2C102014140B0780006012C0E5400000200015B05310CA804FB16382A0A95B1BF3047C05051625EE04D4B12A701EC5898A80AC6C25D4028014140B0680006012C0F540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000"
},
{
"description": "Test case 2",
@@ -47,7 +47,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T21:46:50.228Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedBy": "RSU",
"sanitized": false,
@@ -62,7 +62,7 @@
}
}
},
- "expected": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload7afc0062-4747-4c45-9062-3e525e6d286c10002024-11-08T21:46:50.228Z70RSUfalse001283DA380330002044CA0D4D3EA2D42CC86AFB534E02DC3E5820A80000040000961C7612C5BB250FFDE04DD37663DFFA409D80583C0003009608AA000001000025872783416EC83BFEC81374DD9A67FFA02760160D0000C025824A80000040000961CBE0715BB2AB001004DD3765B5FFD009D80582C0003009609AA00000080000D8A308047027D9B520F000004E202C790000404B0515000000400006C5123F70013ECDA5E1800602710163A8000202581EA80000010000361C5E17DC0A0A6DF8040130134C230E2400118690001080AB100000000D877C7CB4027D8B039AFFF4202CC40000000361DF1ED2C09EC2C0EC3FFD080BB100000000D875379C5027B0B03F70000203B04000000035F791D70C09EC2C003BF72880F4100000000D7C8875B5027B0B0000FDCA203F04000000035EBB1D60C09EC2C003BF8416100A00000040000D77D77844027D9AA845002C052308C7C9000463C40004580228000004000095DFB9E6C9A509AFFA80546349C75FFC80A46058BC00010096010A00000100002578077AD8693C9C00E8152CD27B7802E028F0162D00004025806280000040000B5E049F1E00A0A693B8C00181518D28018012028F0162B00004025808280000020000B5DA09FE540A0A6ACB53FFA81450D772E7DD402828561AA000A02B0E400050210052200000001AF0DB0352050A15FBC6000040188800000006BC42418C0142857ED47FFA10072200000001AF1150904050A15FB9A000040208800000006BC4AC2F00142857EE080002C0A3400000200019AFB5D1346050A35FFA6177C0A0A2BFE64464B5FD921F600A0A6BF14443981428D7CF6891302851AF5E11142050A35EED218340A0A058EC00020096049A0000004000ED7C1B896902851AFFE90DCE050535FE5E2E3C0A0A6BFB3C26781414D7E5C883402829AF9911096050A35F57A14CC0A142BE86C25D35F2F610940A0A218412000AC7A000100C60E40004581668000002000135FB8226D80A146BFF1C7C401414D7F3C878202829AFB531352050A02C590001C04B030D000000400036C00BC4E681428D801789A302828AFF8D0F76D7F0E877C02829AFC950CA4050502C554001C0440350800000006C0DD44F88142858000814D100E4200000001B06A713CA050536000205480A0A2C197400000200001B079CED3004F135FF1113200A3205874000400960D3A00000100000D8234765D027B1AFFF08A14051402C360002004B06DD000000400006C0653B22013D8D800A4518028A0160C80006025838E8000002000035FDB1D84C09EC6C003BA14814140B0540003012C187400000080011B13F6EDB804F115FA6DFC10AFC94FC6A57EE07DCE2BFA7BED3B5FFCD72E80A1E018C90000800RSU10.11.81.33us.dot.its.jpo.ode.model.OdeHexByteArray001283DA380330002044CA0D4D3EA2D42CC86AFB534E02DC3E5820A80000040000961C7612C5BB250FFDE04DD37663DFFA409D80583C0003009608AA000001000025872783416EC83BFEC81374DD9A67FFA02760160D0000C025824A80000040000961CBE0715BB2AB001004DD3765B5FFD009D80582C0003009609AA00000080000D8A308047027D9B520F000004E202C790000404B0515000000400006C5123F70013ECDA5E1800602710163A8000202581EA80000010000361C5E17DC0A0A6DF8040130134C230E2400118690001080AB100000000D877C7CB4027D8B039AFFF4202CC40000000361DF1ED2C09EC2C0EC3FFD080BB100000000D875379C5027B0B03F70000203B04000000035F791D70C09EC2C003BF72880F4100000000D7C8875B5027B0B0000FDCA203F04000000035EBB1D60C09EC2C003BF8416100A00000040000D77D77844027D9AA845002C052308C7C9000463C40004580228000004000095DFB9E6C9A509AFFA80546349C75FFC80A46058BC00010096010A00000100002578077AD8693C9C00E8152CD27B7802E028F0162D00004025806280000040000B5E049F1E00A0A693B8C00181518D28018012028F0162B00004025808280000020000B5DA09FE540A0A6ACB53FFA81450D772E7DD402828561AA000A02B0E400050210052200000001AF0DB0352050A15FBC6000040188800000006BC42418C0142857ED47FFA10072200000001AF1150904050A15FB9A000040208800000006BC4AC2F00142857EE080002C0A3400000200019AFB5D1346050A35FFA6177C0A0A2BFE64464B5FD921F600A0A6BF14443981428D7CF6891302851AF5E11142050A35EED218340A0A058EC00020096049A0000004000ED7C1B896902851AFFE90DCE050535FE5E2E3C0A0A6BFB3C26781414D7E5C883402829AF9911096050A35F57A14CC0A142BE86C25D35F2F610940A0A218412000AC7A000100C60E40004581668000002000135FB8226D80A146BFF1C7C401414D7F3C878202829AFB531352050A02C590001C04B030D000000400036C00BC4E681428D801789A302828AFF8D0F76D7F0E877C02829AFC950CA4050502C554001C0440350800000006C0DD44F88142858000814D100E4200000001B06A713CA050536000205480A0A2C197400000200001B079CED3004F135FF1113200A3205874000400960D3A00000100000D8234765D027B1AFFF08A14051402C360002004B06DD000000400006C0653B22013D8D800A4518028A0160C80006025838E8000002000035FDB1D84C09EC6C003BA14814140B0540003012C187400000080011B13F6EDB804F115FA6DFC10AFC94FC6A57EE07DCE2BFA7BED3B5FFCD72E80A1E018C90000800"
+ "expected": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload7afc0062-4747-4c45-9062-3e525e6d286c10002024-11-08T21:46:50.228Z80RSUfalse001283DA380330002044CA0D4D3EA2D42CC86AFB534E02DC3E5820A80000040000961C7612C5BB250FFDE04DD37663DFFA409D80583C0003009608AA000001000025872783416EC83BFEC81374DD9A67FFA02760160D0000C025824A80000040000961CBE0715BB2AB001004DD3765B5FFD009D80582C0003009609AA00000080000D8A308047027D9B520F000004E202C790000404B0515000000400006C5123F70013ECDA5E1800602710163A8000202581EA80000010000361C5E17DC0A0A6DF8040130134C230E2400118690001080AB100000000D877C7CB4027D8B039AFFF4202CC40000000361DF1ED2C09EC2C0EC3FFD080BB100000000D875379C5027B0B03F70000203B04000000035F791D70C09EC2C003BF72880F4100000000D7C8875B5027B0B0000FDCA203F04000000035EBB1D60C09EC2C003BF8416100A00000040000D77D77844027D9AA845002C052308C7C9000463C40004580228000004000095DFB9E6C9A509AFFA80546349C75FFC80A46058BC00010096010A00000100002578077AD8693C9C00E8152CD27B7802E028F0162D00004025806280000040000B5E049F1E00A0A693B8C00181518D28018012028F0162B00004025808280000020000B5DA09FE540A0A6ACB53FFA81450D772E7DD402828561AA000A02B0E400050210052200000001AF0DB0352050A15FBC6000040188800000006BC42418C0142857ED47FFA10072200000001AF1150904050A15FB9A000040208800000006BC4AC2F00142857EE080002C0A3400000200019AFB5D1346050A35FFA6177C0A0A2BFE64464B5FD921F600A0A6BF14443981428D7CF6891302851AF5E11142050A35EED218340A0A058EC00020096049A0000004000ED7C1B896902851AFFE90DCE050535FE5E2E3C0A0A6BFB3C26781414D7E5C883402829AF9911096050A35F57A14CC0A142BE86C25D35F2F610940A0A218412000AC7A000100C60E40004581668000002000135FB8226D80A146BFF1C7C401414D7F3C878202829AFB531352050A02C590001C04B030D000000400036C00BC4E681428D801789A302828AFF8D0F76D7F0E877C02829AFC950CA4050502C554001C0440350800000006C0DD44F88142858000814D100E4200000001B06A713CA050536000205480A0A2C197400000200001B079CED3004F135FF1113200A3205874000400960D3A00000100000D8234765D027B1AFFF08A14051402C360002004B06DD000000400006C0653B22013D8D800A4518028A0160C80006025838E8000002000035FDB1D84C09EC6C003BA14814140B0540003012C187400000080011B13F6EDB804F115FA6DFC10AFC94FC6A57EE07DCE2BFA7BED3B5FFCD72E80A1E018C90000800RSU10.11.81.33us.dot.its.jpo.ode.model.OdeHexByteArray001283DA380330002044CA0D4D3EA2D42CC86AFB534E02DC3E5820A80000040000961C7612C5BB250FFDE04DD37663DFFA409D80583C0003009608AA000001000025872783416EC83BFEC81374DD9A67FFA02760160D0000C025824A80000040000961CBE0715BB2AB001004DD3765B5FFD009D80582C0003009609AA00000080000D8A308047027D9B520F000004E202C790000404B0515000000400006C5123F70013ECDA5E1800602710163A8000202581EA80000010000361C5E17DC0A0A6DF8040130134C230E2400118690001080AB100000000D877C7CB4027D8B039AFFF4202CC40000000361DF1ED2C09EC2C0EC3FFD080BB100000000D875379C5027B0B03F70000203B04000000035F791D70C09EC2C003BF72880F4100000000D7C8875B5027B0B0000FDCA203F04000000035EBB1D60C09EC2C003BF8416100A00000040000D77D77844027D9AA845002C052308C7C9000463C40004580228000004000095DFB9E6C9A509AFFA80546349C75FFC80A46058BC00010096010A00000100002578077AD8693C9C00E8152CD27B7802E028F0162D00004025806280000040000B5E049F1E00A0A693B8C00181518D28018012028F0162B00004025808280000020000B5DA09FE540A0A6ACB53FFA81450D772E7DD402828561AA000A02B0E400050210052200000001AF0DB0352050A15FBC6000040188800000006BC42418C0142857ED47FFA10072200000001AF1150904050A15FB9A000040208800000006BC4AC2F00142857EE080002C0A3400000200019AFB5D1346050A35FFA6177C0A0A2BFE64464B5FD921F600A0A6BF14443981428D7CF6891302851AF5E11142050A35EED218340A0A058EC00020096049A0000004000ED7C1B896902851AFFE90DCE050535FE5E2E3C0A0A6BFB3C26781414D7E5C883402829AF9911096050A35F57A14CC0A142BE86C25D35F2F610940A0A218412000AC7A000100C60E40004581668000002000135FB8226D80A146BFF1C7C401414D7F3C878202829AFB531352050A02C590001C04B030D000000400036C00BC4E681428D801789A302828AFF8D0F76D7F0E877C02829AFC950CA4050502C554001C0440350800000006C0DD44F88142858000814D100E4200000001B06A713CA050536000205480A0A2C197400000200001B079CED3004F135FF1113200A3205874000400960D3A00000100000D8234765D027B1AFFF08A14051402C360002004B06DD000000400006C0653B22013D8D800A4518028A0160C80006025838E8000002000035FDB1D84C09EC6C003BA14814140B0540003012C187400000080011B13F6EDB804F115FA6DFC10AFC94FC6A57EE07DCE2BFA7BED3B5FFCD72E80A1E018C90000800"
},
{
"description": "Test case 3",
@@ -79,7 +79,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T21:46:50.967Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedBy": "RSU",
"sanitized": false,
@@ -94,7 +94,7 @@
}
}
},
- "expected": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload91194b7c-ba02-4e71-8297-e11c2a968e6210002024-11-08T21:46:50.967Z70RSUfalse00128315380230002044D0094D3EA1DB2CCC713452F402DC325806280000040000B5DC45F6640A0A694423FFE01478D267B809B02788162500004025804280000040000B5DD2DF1180A0A69400C01581478D26BE802102788162700004025802280000050000B5DE71EA600A0A69346401281478D27C88052027889629000040231A2400218C9000196020A00000080002D7681808802829A58F9007E051E15E689FAFC5616A000A02B0C400050210052200000001AEC35053C050515FB9A000040188800000006BAFBC20981414D7EEC800002828401C8800000006BAE1C2BB01414D7EDA800B02828B020D000000200006BD19441381414D802398EB027D8460E48002306200022C093400000200001AF6F5103605053600FE640809F6058D400020096051A00000080000D7CC8880402829B008B323204FB0AC494001C056268000E0420168400000001603CA2058B000103682018840000000160A162058AFFE90368581AA80000050000B61E6E14B409F66EB433FE901428DD7357FAB0294086184800230B20002583C00030196072A00000100002D87F183EB027D9BAC18FFAC050A375D61FE5C0A50058340003009607AA00000100002D88148270027D9BAC1AFF98050A375C8DFEE00A500582C00030096082A00000080000D884D813A027D9BBC18FEEC050F02C690000404B0455000000400006C443BFD4813ECDCF047FBB028281632A0002022024C4000000036238DF5AC09F62C08D3FFD0809B100000000D89287BD4027D8B01CCFFF42028C40000000362545EA3409F62C0734000160B3A00000100008582B977ED2C003381A35FD4DDED40A0A2BFCC3E2FB5F7E9D5B00A0A6BDC63640814140B0C80008012C157400000080014B0882EFD057FE3784B2BFF7BAEFB5FD21E3800A0A2BF81BC9835FA55E3240A0A6BDC336710141423142400118990001160C3A0000008000057FF477D16BFE637C1014140B0550003012C177400000100010B029CEF9657FE96FD26BFD7BD3E8141457F1478066BF143BC101414D7BA86CF902828160C8000602203304000000035F719DE5C0A0A2BFFD3F6D880D4100000000D7BED779702828B0000FDCE813ECCEB0E00B027D858D0FEA2D0476B169636B0200800161F00010022041A400000000BE456B81904002043A400000000BE01114184C00013C457FD24A52058C40001008037263DFF780A146E023C005813EC0A0806012C1554000002000045FE580ADC92E801402829B81AEFFC804FB0281C1804B05950000008000117FBD42371E39FF980A0A6E132C01E813EC0A0606012C18540000010000C780E7B5B3CEA805C0A0A1F0122C8BDCBC0000A0A5F07223204FB028800404B05D5000000400001E02A202DA50180060282814420202000RSU10.11.81.36us.dot.its.jpo.ode.model.OdeHexByteArray00128315380230002044D0094D3EA1DB2CCC713452F402DC325806280000040000B5DC45F6640A0A694423FFE01478D267B809B02788162500004025804280000040000B5DD2DF1180A0A69400C01581478D26BE802102788162700004025802280000050000B5DE71EA600A0A69346401281478D27C88052027889629000040231A2400218C9000196020A00000080002D7681808802829A58F9007E051E15E689FAFC5616A000A02B0C400050210052200000001AEC35053C050515FB9A000040188800000006BAFBC20981414D7EEC800002828401C8800000006BAE1C2BB01414D7EDA800B02828B020D000000200006BD19441381414D802398EB027D8460E48002306200022C093400000200001AF6F5103605053600FE640809F6058D400020096051A00000080000D7CC8880402829B008B323204FB0AC494001C056268000E0420168400000001603CA2058B000103682018840000000160A162058AFFE90368581AA80000050000B61E6E14B409F66EB433FE901428DD7357FAB0294086184800230B20002583C00030196072A00000100002D87F183EB027D9BAC18FFAC050A375D61FE5C0A50058340003009607AA00000100002D88148270027D9BAC1AFF98050A375C8DFEE00A500582C00030096082A00000080000D884D813A027D9BBC18FEEC050F02C690000404B0455000000400006C443BFD4813ECDCF047FBB028281632A0002022024C4000000036238DF5AC09F62C08D3FFD0809B100000000D89287BD4027D8B01CCFFF42028C40000000362545EA3409F62C0734000160B3A00000100008582B977ED2C003381A35FD4DDED40A0A2BFCC3E2FB5F7E9D5B00A0A6BDC63640814140B0C80008012C157400000080014B0882EFD057FE3784B2BFF7BAEFB5FD21E3800A0A2BF81BC9835FA55E3240A0A6BDC336710141423142400118990001160C3A0000008000057FF477D16BFE637C1014140B0550003012C177400000100010B029CEF9657FE96FD26BFD7BD3E8141457F1478066BF143BC101414D7BA86CF902828160C8000602203304000000035F719DE5C0A0A2BFFD3F6D880D4100000000D7BED779702828B0000FDCE813ECCEB0E00B027D858D0FEA2D0476B169636B0200800161F00010022041A400000000BE456B81904002043A400000000BE01114184C00013C457FD24A52058C40001008037263DFF780A146E023C005813EC0A0806012C1554000002000045FE580ADC92E801402829B81AEFFC804FB0281C1804B05950000008000117FBD42371E39FF980A0A6E132C01E813EC0A0606012C18540000010000C780E7B5B3CEA805C0A0A1F0122C8BDCBC0000A0A5F07223204FB028800404B05D5000000400001E02A202DA50180060282814420202000"
+ "expected": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload91194b7c-ba02-4e71-8297-e11c2a968e6210002024-11-08T21:46:50.967Z80RSUfalse00128315380230002044D0094D3EA1DB2CCC713452F402DC325806280000040000B5DC45F6640A0A694423FFE01478D267B809B02788162500004025804280000040000B5DD2DF1180A0A69400C01581478D26BE802102788162700004025802280000050000B5DE71EA600A0A69346401281478D27C88052027889629000040231A2400218C9000196020A00000080002D7681808802829A58F9007E051E15E689FAFC5616A000A02B0C400050210052200000001AEC35053C050515FB9A000040188800000006BAFBC20981414D7EEC800002828401C8800000006BAE1C2BB01414D7EDA800B02828B020D000000200006BD19441381414D802398EB027D8460E48002306200022C093400000200001AF6F5103605053600FE640809F6058D400020096051A00000080000D7CC8880402829B008B323204FB0AC494001C056268000E0420168400000001603CA2058B000103682018840000000160A162058AFFE90368581AA80000050000B61E6E14B409F66EB433FE901428DD7357FAB0294086184800230B20002583C00030196072A00000100002D87F183EB027D9BAC18FFAC050A375D61FE5C0A50058340003009607AA00000100002D88148270027D9BAC1AFF98050A375C8DFEE00A500582C00030096082A00000080000D884D813A027D9BBC18FEEC050F02C690000404B0455000000400006C443BFD4813ECDCF047FBB028281632A0002022024C4000000036238DF5AC09F62C08D3FFD0809B100000000D89287BD4027D8B01CCFFF42028C40000000362545EA3409F62C0734000160B3A00000100008582B977ED2C003381A35FD4DDED40A0A2BFCC3E2FB5F7E9D5B00A0A6BDC63640814140B0C80008012C157400000080014B0882EFD057FE3784B2BFF7BAEFB5FD21E3800A0A2BF81BC9835FA55E3240A0A6BDC336710141423142400118990001160C3A0000008000057FF477D16BFE637C1014140B0550003012C177400000100010B029CEF9657FE96FD26BFD7BD3E8141457F1478066BF143BC101414D7BA86CF902828160C8000602203304000000035F719DE5C0A0A2BFFD3F6D880D4100000000D7BED779702828B0000FDCE813ECCEB0E00B027D858D0FEA2D0476B169636B0200800161F00010022041A400000000BE456B81904002043A400000000BE01114184C00013C457FD24A52058C40001008037263DFF780A146E023C005813EC0A0806012C1554000002000045FE580ADC92E801402829B81AEFFC804FB0281C1804B05950000008000117FBD42371E39FF980A0A6E132C01E813EC0A0606012C18540000010000C780E7B5B3CEA805C0A0A1F0122C8BDCBC0000A0A5F07223204FB028800404B05D5000000400001E02A202DA50180060282814420202000RSU10.11.81.36us.dot.its.jpo.ode.model.OdeHexByteArray00128315380230002044D0094D3EA1DB2CCC713452F402DC325806280000040000B5DC45F6640A0A694423FFE01478D267B809B02788162500004025804280000040000B5DD2DF1180A0A69400C01581478D26BE802102788162700004025802280000050000B5DE71EA600A0A69346401281478D27C88052027889629000040231A2400218C9000196020A00000080002D7681808802829A58F9007E051E15E689FAFC5616A000A02B0C400050210052200000001AEC35053C050515FB9A000040188800000006BAFBC20981414D7EEC800002828401C8800000006BAE1C2BB01414D7EDA800B02828B020D000000200006BD19441381414D802398EB027D8460E48002306200022C093400000200001AF6F5103605053600FE640809F6058D400020096051A00000080000D7CC8880402829B008B323204FB0AC494001C056268000E0420168400000001603CA2058B000103682018840000000160A162058AFFE90368581AA80000050000B61E6E14B409F66EB433FE901428DD7357FAB0294086184800230B20002583C00030196072A00000100002D87F183EB027D9BAC18FFAC050A375D61FE5C0A50058340003009607AA00000100002D88148270027D9BAC1AFF98050A375C8DFEE00A500582C00030096082A00000080000D884D813A027D9BBC18FEEC050F02C690000404B0455000000400006C443BFD4813ECDCF047FBB028281632A0002022024C4000000036238DF5AC09F62C08D3FFD0809B100000000D89287BD4027D8B01CCFFF42028C40000000362545EA3409F62C0734000160B3A00000100008582B977ED2C003381A35FD4DDED40A0A2BFCC3E2FB5F7E9D5B00A0A6BDC63640814140B0C80008012C157400000080014B0882EFD057FE3784B2BFF7BAEFB5FD21E3800A0A2BF81BC9835FA55E3240A0A6BDC336710141423142400118990001160C3A0000008000057FF477D16BFE637C1014140B0550003012C177400000100010B029CEF9657FE96FD26BFD7BD3E8141457F1478066BF143BC101414D7BA86CF902828160C8000602203304000000035F719DE5C0A0A2BFFD3F6D880D4100000000D7BED779702828B0000FDCE813ECCEB0E00B027D858D0FEA2D0476B169636B0200800161F00010022041A400000000BE456B81904002043A400000000BE01114184C00013C457FD24A52058C40001008037263DFF780A146E023C005813EC0A0806012C1554000002000045FE580ADC92E801402829B81AEFFC804FB0281C1804B05950000008000117FBD42371E39FF980A0A6E132C01E813EC0A0606012C18540000010000C780E7B5B3CEA805C0A0A1F0122C8BDCBC0000A0A5F07223204FB028800404B05D5000000400001E02A202DA50180060282814420202000"
},
{
"description": "Test case 4",
@@ -111,7 +111,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T21:46:51.971Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedBy": "RSU",
"sanitized": false,
@@ -126,7 +126,7 @@
}
}
},
- "expected": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadce610ea5-0963-4c9e-a149-fc3c5b420d4610002024-11-08T21:46:51.971Z70RSUfalse0012830538023000205EA2094D3A3E202CA7783451FA02DC385824E8000002000089D7FA3C8FF96D5837A9E7A4163680002025822E80000020000A97DFAB40A0A6C00BD21D013EC3792FAD4163880002025820E80000040001A92E3AA00A0A6BFE6538C813ECC7FD3303027D9B01B5AC0004E235FE3698CC09E2058240003009607BA00000100006A32EEB6028298FFA7E6A04FB31FFDFEA809F66C0276FE601374C7D7F795027B0160B0000C0220270400000000A7FF8A4108E8220290400000000AE7B8BC106654582F6800000400008BB12D889D763ED6CD4D1F3D027B01617000100258316800000400010BADA8407C8F7F7B37CB7C0C09F65EF01F8E04FB02C2A0002004B066D0000004000117754649317D7F1C5F5AF8E0B0540003012C1AB4000001000045D8EF044D741F7C5E72E30C04FB02C110000C04406F08000000017372C9833182C4073080000000172BA0F033D800B07B90000002000117BA05905140476BFCD2EDD813D8031D200012C03140000010000451D42D0C808C5E8027D97035116813EC2B0A4000501485A000296010A000001000062A421736408A2E5813ECD802B5DAA027B1B00507F4404E736005D134009B00589C00010096008A000001000082BB615E6407E1FA013ECB806072409F66405040A013ECD806744FF02739AFFA48A8604D802C520000804B024D000000400015070BFA01414C2F6E02E0282866DD75682C4D0001C04B020D000000400005073B5901414C18BE01D0282816288000E02580E680000040001283196680A0A610C6FF481414338842B0258DFD82C6E0001004B018D0000008000250602268141443771FB058F7A150050508C8E05C1639000080220148400000002836E6FC0A0A0229030805A100000000A104B5C0282806D400202B240000000161566915810BFF2400A48000000008D5480C0F18AE4008480000000093B88680F4880203BA40000000134E16A301C4422581CC800000100012CF576F9028283793BFB201DED0C09F6241B7BB408C3480004218400201AA4000000030CE28E000A0A01B50008062900000000C33B621C0282805EBF400002000144016C02C36DDFFF0282984ACC1EE05052C36F0AC02828669D82DA8F821480A0A10F140002C8E0001004B03190000008000519FD190C43B2E0066108B08401428C342A0CE02828258A0604A6BE959AEE0E6050502C920001004B02D90000008000459FA164404FB30A8580A00A14619C306701414C32CE10E02829659081F814141029030164B000080200RSU10.11.81.19us.dot.its.jpo.ode.model.OdeHexByteArray0012830538023000205EA2094D3A3E202CA7783451FA02DC385824E8000002000089D7FA3C8FF96D5837A9E7A4163680002025822E80000020000A97DFAB40A0A6C00BD21D013EC3792FAD4163880002025820E80000040001A92E3AA00A0A6BFE6538C813ECC7FD3303027D9B01B5AC0004E235FE3698CC09E2058240003009607BA00000100006A32EEB6028298FFA7E6A04FB31FFDFEA809F66C0276FE601374C7D7F795027B0160B0000C0220270400000000A7FF8A4108E8220290400000000AE7B8BC106654582F6800000400008BB12D889D763ED6CD4D1F3D027B01617000100258316800000400010BADA8407C8F7F7B37CB7C0C09F65EF01F8E04FB02C2A0002004B066D0000004000117754649317D7F1C5F5AF8E0B0540003012C1AB4000001000045D8EF044D741F7C5E72E30C04FB02C110000C04406F08000000017372C9833182C4073080000000172BA0F033D800B07B90000002000117BA05905140476BFCD2EDD813D8031D200012C03140000010000451D42D0C808C5E8027D97035116813EC2B0A4000501485A000296010A000001000062A421736408A2E5813ECD802B5DAA027B1B00507F4404E736005D134009B00589C00010096008A000001000082BB615E6407E1FA013ECB806072409F66405040A013ECD806744FF02739AFFA48A8604D802C520000804B024D000000400015070BFA01414C2F6E02E0282866DD75682C4D0001C04B020D000000400005073B5901414C18BE01D0282816288000E02580E680000040001283196680A0A610C6FF481414338842B0258DFD82C6E0001004B018D0000008000250602268141443771FB058F7A150050508C8E05C1639000080220148400000002836E6FC0A0A0229030805A100000000A104B5C0282806D400202B240000000161566915810BFF2400A48000000008D5480C0F18AE4008480000000093B88680F4880203BA40000000134E16A301C4422581CC800000100012CF576F9028283793BFB201DED0C09F6241B7BB408C3480004218400201AA4000000030CE28E000A0A01B50008062900000000C33B621C0282805EBF400002000144016C02C36DDFFF0282984ACC1EE05052C36F0AC02828669D82DA8F821480A0A10F140002C8E0001004B03190000008000519FD190C43B2E0066108B08401428C342A0CE02828258A0604A6BE959AEE0E6050502C920001004B02D90000008000459FA164404FB30A8580A00A14619C306701414C32CE10E02829659081F814141029030164B000080200"
+ "expected": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadce610ea5-0963-4c9e-a149-fc3c5b420d4610002024-11-08T21:46:51.971Z80RSUfalse0012830538023000205EA2094D3A3E202CA7783451FA02DC385824E8000002000089D7FA3C8FF96D5837A9E7A4163680002025822E80000020000A97DFAB40A0A6C00BD21D013EC3792FAD4163880002025820E80000040001A92E3AA00A0A6BFE6538C813ECC7FD3303027D9B01B5AC0004E235FE3698CC09E2058240003009607BA00000100006A32EEB6028298FFA7E6A04FB31FFDFEA809F66C0276FE601374C7D7F795027B0160B0000C0220270400000000A7FF8A4108E8220290400000000AE7B8BC106654582F6800000400008BB12D889D763ED6CD4D1F3D027B01617000100258316800000400010BADA8407C8F7F7B37CB7C0C09F65EF01F8E04FB02C2A0002004B066D0000004000117754649317D7F1C5F5AF8E0B0540003012C1AB4000001000045D8EF044D741F7C5E72E30C04FB02C110000C04406F08000000017372C9833182C4073080000000172BA0F033D800B07B90000002000117BA05905140476BFCD2EDD813D8031D200012C03140000010000451D42D0C808C5E8027D97035116813EC2B0A4000501485A000296010A000001000062A421736408A2E5813ECD802B5DAA027B1B00507F4404E736005D134009B00589C00010096008A000001000082BB615E6407E1FA013ECB806072409F66405040A013ECD806744FF02739AFFA48A8604D802C520000804B024D000000400015070BFA01414C2F6E02E0282866DD75682C4D0001C04B020D000000400005073B5901414C18BE01D0282816288000E02580E680000040001283196680A0A610C6FF481414338842B0258DFD82C6E0001004B018D0000008000250602268141443771FB058F7A150050508C8E05C1639000080220148400000002836E6FC0A0A0229030805A100000000A104B5C0282806D400202B240000000161566915810BFF2400A48000000008D5480C0F18AE4008480000000093B88680F4880203BA40000000134E16A301C4422581CC800000100012CF576F9028283793BFB201DED0C09F6241B7BB408C3480004218400201AA4000000030CE28E000A0A01B50008062900000000C33B621C0282805EBF400002000144016C02C36DDFFF0282984ACC1EE05052C36F0AC02828669D82DA8F821480A0A10F140002C8E0001004B03190000008000519FD190C43B2E0066108B08401428C342A0CE02828258A0604A6BE959AEE0E6050502C920001004B02D90000008000459FA164404FB30A8580A00A14619C306701414C32CE10E02829659081F814141029030164B000080200RSU10.11.81.19us.dot.its.jpo.ode.model.OdeHexByteArray0012830538023000205EA2094D3A3E202CA7783451FA02DC385824E8000002000089D7FA3C8FF96D5837A9E7A4163680002025822E80000020000A97DFAB40A0A6C00BD21D013EC3792FAD4163880002025820E80000040001A92E3AA00A0A6BFE6538C813ECC7FD3303027D9B01B5AC0004E235FE3698CC09E2058240003009607BA00000100006A32EEB6028298FFA7E6A04FB31FFDFEA809F66C0276FE601374C7D7F795027B0160B0000C0220270400000000A7FF8A4108E8220290400000000AE7B8BC106654582F6800000400008BB12D889D763ED6CD4D1F3D027B01617000100258316800000400010BADA8407C8F7F7B37CB7C0C09F65EF01F8E04FB02C2A0002004B066D0000004000117754649317D7F1C5F5AF8E0B0540003012C1AB4000001000045D8EF044D741F7C5E72E30C04FB02C110000C04406F08000000017372C9833182C4073080000000172BA0F033D800B07B90000002000117BA05905140476BFCD2EDD813D8031D200012C03140000010000451D42D0C808C5E8027D97035116813EC2B0A4000501485A000296010A000001000062A421736408A2E5813ECD802B5DAA027B1B00507F4404E736005D134009B00589C00010096008A000001000082BB615E6407E1FA013ECB806072409F66405040A013ECD806744FF02739AFFA48A8604D802C520000804B024D000000400015070BFA01414C2F6E02E0282866DD75682C4D0001C04B020D000000400005073B5901414C18BE01D0282816288000E02580E680000040001283196680A0A610C6FF481414338842B0258DFD82C6E0001004B018D0000008000250602268141443771FB058F7A150050508C8E05C1639000080220148400000002836E6FC0A0A0229030805A100000000A104B5C0282806D400202B240000000161566915810BFF2400A48000000008D5480C0F18AE4008480000000093B88680F4880203BA40000000134E16A301C4422581CC800000100012CF576F9028283793BFB201DED0C09F6241B7BB408C3480004218400201AA4000000030CE28E000A0A01B50008062900000000C33B621C0282805EBF400002000144016C02C36DDFFF0282984ACC1EE05052C36F0AC02828669D82DA8F821480A0A10F140002C8E0001004B03190000008000519FD190C43B2E0066108B08401428C342A0CE02828258A0604A6BE959AEE0E6050502C920001004B02D90000008000459FA164404FB30A8580A00A14619C306701414C32CE10E02829659081F814141029030164B000080200"
},
{
"description": "Test case 5",
@@ -143,7 +143,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-08T21:46:50.313Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedBy": "RSU",
"sanitized": false,
@@ -158,7 +158,7 @@
}
}
},
- "expected": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadc8fbfede-ea1f-47d8-a039-0f015146816010002024-11-08T21:46:50.313Z70RSUfalse0012834538023000205EA0094D3C71C12CA6CE5D527C02DC3458244800000400028CF6F61F62355F9101464B5AAE70C0A0A631B181A81428D6F27A48302829ADDE94A56050F35BD42952C09C4058340003009609920000010000A2128E4162EAD9980143CC566B6AF028798AF5EB7C050F11349EE19ADCEF4CCA050A35B9E29BE009CE0582C000300960A120000008000222DFE5B6303588D0143CB5AB683C0A0A058F2000080960A920000008000424D3E7162ECF8AF8143CC4C9F8D6028A16876F54814140B1D4000101101632000000014E83CC805050181D34405CC80000000546A74C01414061F5E101832000000015559DAE05050181CA8B06910000008000557F359801414BCCB40000A0A5F6BDEA8050533D307B6C0A1E27EA6FE0AFA9B073027D99945C26C04FB02C360002004B06D1000000800045E50A3E40505331437DAC0A0A6D098BF540143CBEE5BF780A0A67F5501A013ECCC9BA13C027D8161900010025822280000010401AC5437B1027D933B3360141495F5F840A0A62FEF8C581428B624E1CC0A142187100008C3C80008220400203AA400000000F926E6B066F00080F29000000003E45B0481CCC0C583EC800000100012F552960027D9500E77E04FB32AB0218809CE0D89092231E2000118E900011601B200000080002ABF4179027D9958E8EE004E20AE20254561A8000A02B0C40005022C0264000002000115B2C2BC04FB32ACF1F7809C4658F42A6813C4CAEB868F02761B281EA9E004DD364E2D53CC09C4058B40001009600B200000100008AF30177027D9967B06AA04E232A272BEC09E2652CE518813B0D953152C1026E9B2A82A47E04E202C5E0000804401DC8000000051E38FE013EC89FCCA027D84019C8000000052BB904013EC89A097027D84015C80000000538B109813EC0988B31004720000000151DC3EE04FB225C22C09F62C0A840000020000965B0781813D8D599C7FEF02789AB155007204F1356711FFBC09EC058EC0002009604C200000100002B336362809EC6A2FE40170139CD452D7FF502788163D0000802201B2400000002C80D40A027D8067C0020192400000002C825284027D905EC0004FB08085100000000C1AD65AC02788033C00201F4400000003068D912009E2011F0008075100000000C1A1E2F00278804ABF47A7C8195028280540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.20us.dot.its.jpo.ode.model.OdeHexByteArray0012834538023000205EA0094D3C71C12CA6CE5D527C02DC3458244800000400028CF6F61F62355F9101464B5AAE70C0A0A631B181A81428D6F27A48302829ADDE94A56050F35BD42952C09C4058340003009609920000010000A2128E4162EAD9980143CC566B6AF028798AF5EB7C050F11349EE19ADCEF4CCA050A35B9E29BE009CE0582C000300960A120000008000222DFE5B6303588D0143CB5AB683C0A0A058F2000080960A920000008000424D3E7162ECF8AF8143CC4C9F8D6028A16876F54814140B1D4000101101632000000014E83CC805050181D34405CC80000000546A74C01414061F5E101832000000015559DAE05050181CA8B06910000008000557F359801414BCCB40000A0A5F6BDEA8050533D307B6C0A1E27EA6FE0AFA9B073027D99945C26C04FB02C360002004B06D1000000800045E50A3E40505331437DAC0A0A6D098BF540143CBEE5BF780A0A67F5501A013ECCC9BA13C027D8161900010025822280000010401AC5437B1027D933B3360141495F5F840A0A62FEF8C581428B624E1CC0A142187100008C3C80008220400203AA400000000F926E6B066F00080F29000000003E45B0481CCC0C583EC800000100012F552960027D9500E77E04FB32AB0218809CE0D89092231E2000118E900011601B200000080002ABF4179027D9958E8EE004E20AE20254561A8000A02B0C40005022C0264000002000115B2C2BC04FB32ACF1F7809C4658F42A6813C4CAEB868F02761B281EA9E004DD364E2D53CC09C4058B40001009600B200000100008AF30177027D9967B06AA04E232A272BEC09E2652CE518813B0D953152C1026E9B2A82A47E04E202C5E0000804401DC8000000051E38FE013EC89FCCA027D84019C8000000052BB904013EC89A097027D84015C80000000538B109813EC0988B31004720000000151DC3EE04FB225C22C09F62C0A840000020000965B0781813D8D599C7FEF02789AB155007204F1356711FFBC09EC058EC0002009604C200000100002B336362809EC6A2FE40170139CD452D7FF502788163D0000802201B2400000002C80D40A027D8067C0020192400000002C825284027D905EC0004FB08085100000000C1AD65AC02788033C00201F4400000003068D912009E2011F0008075100000000C1A1E2F00278804ABF47A7C8195028280540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000"
+ "expected": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadc8fbfede-ea1f-47d8-a039-0f015146816010002024-11-08T21:46:50.313Z80RSUfalse0012834538023000205EA0094D3C71C12CA6CE5D527C02DC3458244800000400028CF6F61F62355F9101464B5AAE70C0A0A631B181A81428D6F27A48302829ADDE94A56050F35BD42952C09C4058340003009609920000010000A2128E4162EAD9980143CC566B6AF028798AF5EB7C050F11349EE19ADCEF4CCA050A35B9E29BE009CE0582C000300960A120000008000222DFE5B6303588D0143CB5AB683C0A0A058F2000080960A920000008000424D3E7162ECF8AF8143CC4C9F8D6028A16876F54814140B1D4000101101632000000014E83CC805050181D34405CC80000000546A74C01414061F5E101832000000015559DAE05050181CA8B06910000008000557F359801414BCCB40000A0A5F6BDEA8050533D307B6C0A1E27EA6FE0AFA9B073027D99945C26C04FB02C360002004B06D1000000800045E50A3E40505331437DAC0A0A6D098BF540143CBEE5BF780A0A67F5501A013ECCC9BA13C027D8161900010025822280000010401AC5437B1027D933B3360141495F5F840A0A62FEF8C581428B624E1CC0A142187100008C3C80008220400203AA400000000F926E6B066F00080F29000000003E45B0481CCC0C583EC800000100012F552960027D9500E77E04FB32AB0218809CE0D89092231E2000118E900011601B200000080002ABF4179027D9958E8EE004E20AE20254561A8000A02B0C40005022C0264000002000115B2C2BC04FB32ACF1F7809C4658F42A6813C4CAEB868F02761B281EA9E004DD364E2D53CC09C4058B40001009600B200000100008AF30177027D9967B06AA04E232A272BEC09E2652CE518813B0D953152C1026E9B2A82A47E04E202C5E0000804401DC8000000051E38FE013EC89FCCA027D84019C8000000052BB904013EC89A097027D84015C80000000538B109813EC0988B31004720000000151DC3EE04FB225C22C09F62C0A840000020000965B0781813D8D599C7FEF02789AB155007204F1356711FFBC09EC058EC0002009604C200000100002B336362809EC6A2FE40170139CD452D7FF502788163D0000802201B2400000002C80D40A027D8067C0020192400000002C825284027D905EC0004FB08085100000000C1AD65AC02788033C00201F4400000003068D912009E2011F0008075100000000C1A1E2F00278804ABF47A7C8195028280540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.20us.dot.its.jpo.ode.model.OdeHexByteArray0012834538023000205EA0094D3C71C12CA6CE5D527C02DC3458244800000400028CF6F61F62355F9101464B5AAE70C0A0A631B181A81428D6F27A48302829ADDE94A56050F35BD42952C09C4058340003009609920000010000A2128E4162EAD9980143CC566B6AF028798AF5EB7C050F11349EE19ADCEF4CCA050A35B9E29BE009CE0582C000300960A120000008000222DFE5B6303588D0143CB5AB683C0A0A058F2000080960A920000008000424D3E7162ECF8AF8143CC4C9F8D6028A16876F54814140B1D4000101101632000000014E83CC805050181D34405CC80000000546A74C01414061F5E101832000000015559DAE05050181CA8B06910000008000557F359801414BCCB40000A0A5F6BDEA8050533D307B6C0A1E27EA6FE0AFA9B073027D99945C26C04FB02C360002004B06D1000000800045E50A3E40505331437DAC0A0A6D098BF540143CBEE5BF780A0A67F5501A013ECCC9BA13C027D8161900010025822280000010401AC5437B1027D933B3360141495F5F840A0A62FEF8C581428B624E1CC0A142187100008C3C80008220400203AA400000000F926E6B066F00080F29000000003E45B0481CCC0C583EC800000100012F552960027D9500E77E04FB32AB0218809CE0D89092231E2000118E900011601B200000080002ABF4179027D9958E8EE004E20AE20254561A8000A02B0C40005022C0264000002000115B2C2BC04FB32ACF1F7809C4658F42A6813C4CAEB868F02761B281EA9E004DD364E2D53CC09C4058B40001009600B200000100008AF30177027D9967B06AA04E232A272BEC09E2652CE518813B0D953152C1026E9B2A82A47E04E202C5E0000804401DC8000000051E38FE013EC89FCCA027D84019C8000000052BB904013EC89A097027D84015C80000000538B109813EC0988B31004720000000151DC3EE04FB225C22C09F62C0A840000020000965B0781813D8D599C7FEF02789AB155007204F1356711FFBC09EC058EC0002009604C200000100002B336362809EC6A2FE40170139CD452D7FF502788163D0000802201B2400000002C80D40A027D8067C0020192400000002C825284027D905EC0004FB08085100000000C1AD65AC02788033C00201F4400000003068D912009E2011F0008075100000000C1A1E2F00278804ABF47A7C8195028280540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000"
}
]
}
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/UDPMAP_To_EncodedJSON_Validation.json b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/UDPMAP_To_EncodedJSON_Validation.json
index 9214b1aa1..2a532f1a2 100644
--- a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/UDPMAP_To_EncodedJSON_Validation.json
+++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.udp.map/UDPMAP_To_EncodedJSON_Validation.json
@@ -7,7 +7,7 @@
"metadata": {
"securityResultCode": "success",
"recordGeneratedBy": "RSU",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"mapSource": "RSU",
"payloadType": "us.dot.its.jpo.ode.model.OdeAsn1Payload",
"serialId": {
@@ -39,7 +39,7 @@
"metadata": {
"securityResultCode": "success",
"recordGeneratedBy": "RSU",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"mapSource": "RSU",
"payloadType": "us.dot.its.jpo.ode.model.OdeAsn1Payload",
"serialId": {
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-bsm.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-bsm.json
index 058e5ac9f..4383d3c99 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-bsm.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-bsm.json
@@ -22,7 +22,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-03-15T16:46:45.297174600Z",
- "schemaVersion": 6,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedBy": "OBU",
"sanitized": false,
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-psm.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-psm.json
index 37466dc65..035d266d9 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-psm.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-psm.json
@@ -11,7 +11,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-03-15T19:16:35.212860500Z",
- "schemaVersion": 6,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedBy": "UNKNOWN",
"sanitized": false,
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-spat.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-spat.json
index 5d6cc2598..b218301fa 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-spat.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-spat.json
@@ -11,7 +11,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-03-15T19:43:22.604870100Z",
- "schemaVersion": 6,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedBy": "RSU",
"sanitized": false,
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-srm.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-srm.json
index fc1beee60..ac938d193 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-srm.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-srm.json
@@ -11,7 +11,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-03-15T19:24:04.113614500Z",
- "schemaVersion": 6,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedBy": "OBU",
"sanitized": false,
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-ssm.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-ssm.json
index e42e3d175..6cf9b370a 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-ssm.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-ssm.json
@@ -11,7 +11,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-03-15T19:31:02.907835400Z",
- "schemaVersion": 6,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedBy": "RSU",
"sanitized": false,
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-tim.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-tim.json
index 9068b128b..e40bacfd7 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-tim.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/decoder-input-tim.json
@@ -11,7 +11,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-03-15T19:38:48.578500100Z",
- "schemaVersion": 6,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedBy": "RSU",
"sanitized": false,
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-bsm.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-bsm.xml
index 09e560dc9..0d06ee3a2 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-bsm.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-bsm.xml
@@ -1 +1 @@
-EVbsmTxsuccessunavailableunavailableunavailableunavailableunavailableRSUunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadbe071349-9bb6-4b66-b1c7-8df1f9e0cb7410002024-03-15T16:46:45.297174600Z60OBUfalse192.168.0.1us.dot.its.jpo.ode.model.OdeHexByteArray001480AD4644A9EA5442BC26E97C7496576E052569B214000070007050FD7D0FA1007FFF8000681250020214C1C0FF64BFFA0FB84F720FF71BFF9500DFFFC0FF564006D001FFFC0FF5BBFE5B031FFFC0FF573FF73075FFFC0FF973FFB708FFFFC0FFEFC00B50B5FFFC0FFF0401150BBFFFC0FFDF4015D0C1FFFC0FFB9C01690C7FFFC0FFC0401550C9FFFC0FFBAC014F0C9FFFC0FFBBC01530CBFFFC0FFBB400B30E7FFFC100383FFCD0E3FFFCFFFEC800400120000243450D45B978805B073A8672E91E9D80824A65C65F85E35B61502149263F000FE804E6B84AF66507D51690DE76F30D1468A68F8986B58E6AECB2C5FC4766C223F0B977E87678DDF714FE123C483622CC7500
\ No newline at end of file
+EVbsmTxsuccessunavailableunavailableunavailableunavailableunavailableRSUunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadbe071349-9bb6-4b66-b1c7-8df1f9e0cb7410002024-03-15T16:46:45.297174600Z80OBUfalse192.168.0.1us.dot.its.jpo.ode.model.OdeHexByteArray001480AD4644A9EA5442BC26E97C7496576E052569B214000070007050FD7D0FA1007FFF8000681250020214C1C0FF64BFFA0FB84F720FF71BFF9500DFFFC0FF564006D001FFFC0FF5BBFE5B031FFFC0FF573FF73075FFFC0FF973FFB708FFFFC0FFEFC00B50B5FFFC0FFF0401150BBFFFC0FFDF4015D0C1FFFC0FFB9C01690C7FFFC0FFC0401550C9FFFC0FFBAC014F0C9FFFC0FFBBC01530CBFFFC0FFBB400B30E7FFFC100383FFCD0E3FFFCFFFEC800400120000243450D45B978805B073A8672E91E9D80824A65C65F85E35B61502149263F000FE804E6B84AF66507D51690DE76F30D1468A68F8986B58E6AECB2C5FC4766C223F0B977E87678DDF714FE123C483622CC7500
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-psm.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-psm.xml
index a924a714a..18c3af04c 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-psm.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-psm.xml
@@ -1 +1 @@
-psmTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadfa3dfe1b-80cd-45cb-ae2c-c604a214fe5610002024-03-15T19:16:35.212860500Z60UNKNOWNfalseRSU192.168.0.1us.dot.its.jpo.ode.model.OdeHexByteArray00201A0000021BD86891DE75F84DA101C13F042E2214141FFF00022C2000270000000163B2CC79860100
\ No newline at end of file
+psmTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadfa3dfe1b-80cd-45cb-ae2c-c604a214fe5610002024-03-15T19:16:35.212860500Z80UNKNOWNfalseRSU192.168.0.1us.dot.its.jpo.ode.model.OdeHexByteArray00201A0000021BD86891DE75F84DA101C13F042E2214141FFF00022C2000270000000163B2CC79860100
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-spat.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-spat.xml
index d70b23d56..4c1b3f663 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-spat.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-spat.xml
@@ -1 +1 @@
-spatTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload5ec410a3-bec6-4724-9601-1e08778e1dfc10002024-03-15T19:43:22.604870100Z60RSUfalseRSU192.168.0.1falseus.dot.its.jpo.ode.model.OdeHexByteArray00134700081132000000E437070010434257925790010232119A11CE800C10D095E495E400808684AF24AF20050434257925790030232119A11CE801C10D095E495E401008684AF24AF200
\ No newline at end of file
+spatTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload5ec410a3-bec6-4724-9601-1e08778e1dfc10002024-03-15T19:43:22.604870100Z80RSUfalseRSU192.168.0.1falseus.dot.its.jpo.ode.model.OdeHexByteArray00134700081132000000E437070010434257925790010232119A11CE800C10D095E495E400808684AF24AF20050434257925790030232119A11CE801C10D095E495E401008684AF24AF200
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-srm.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-srm.xml
index 6d9210b79..091ffc3e9 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-srm.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-srm.xml
@@ -1 +1 @@
-srmTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload190cbd65-d1e2-488a-ba42-b7d3f03a5c6910002024-03-15T19:24:04.113614500Z60OBUfalse192.168.0.1RSUus.dot.its.jpo.ode.model.OdeHexByteArray001D2130000010090BD341080D00855C6C0C6899853000A534F7C24CB29897694759B7C000
\ No newline at end of file
+srmTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload190cbd65-d1e2-488a-ba42-b7d3f03a5c6910002024-03-15T19:24:04.113614500Z80OBUfalse192.168.0.1RSUus.dot.its.jpo.ode.model.OdeHexByteArray001D2130000010090BD341080D00855C6C0C6899853000A534F7C24CB29897694759B7C000
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-ssm.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-ssm.xml
index 467140718..13f11925b 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-ssm.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-ssm.xml
@@ -1 +1 @@
-ssmTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadc4e4e92d-dccc-45f5-813f-7d36795529a010002024-03-15T19:31:02.907835400Z60RSUfalse192.168.0.1RSUus.dot.its.jpo.ode.model.OdeHexByteArray001E120000000005E9C04071A26614C06000040BA000
\ No newline at end of file
+ssmTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadc4e4e92d-dccc-45f5-813f-7d36795529a010002024-03-15T19:31:02.907835400Z80RSUfalse192.168.0.1RSUus.dot.its.jpo.ode.model.OdeHexByteArray001E120000000005E9C04071A26614C06000040BA000
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-tim.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-tim.xml
index 26c76f589..fa1b38750 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-tim.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/kafka/listeners/asn1/expected-tim.xml
@@ -1 +1 @@
-timMsgsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload9952caf6-81bd-490d-ad95-47dee31c3ba810002024-03-15T19:38:48.578500100Z60RSUfalse192.168.0.1us.dot.its.jpo.ode.model.OdeHexByteArray001F79201000000000012AA366D080729B8987D859717EE22001FFFE4FD0011589D828007E537130FB0B2E2FDC440001F46FFFF002B8B2E46E926E27CE6813D862CB90EDC9B89E11CE2CB8E98F9B89BCC4050518B2E365B66E26AE3B8B2E291A66E2591D8141462CB873969B89396C62CB86AFE9B89208E00000131560018300023E43A6A1351800023E4700EFC51881010100030180C620FB90CAAD3B9C5082080E1DDC905E10168E396921000325A0D73B83279C83010180034801090001260001808001838005008001F0408001828005008001304000041020407E800320409780050080012040000320409900018780032040958005000001E0408183E7139D7B70987019B526B8A950052F5C011D3C4B992143E885C71F95DA6071658082346CC03A50D66801F65288C30AB39673D0494536C559047E457AD291C99C20A7FB1244363E993EE3EE98C78742609340541DA01545A0F7339C26A527903576D300
\ No newline at end of file
+timMsgsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload9952caf6-81bd-490d-ad95-47dee31c3ba810002024-03-15T19:38:48.578500100Z80RSUfalse192.168.0.1us.dot.its.jpo.ode.model.OdeHexByteArray001F79201000000000012AA366D080729B8987D859717EE22001FFFE4FD0011589D828007E537130FB0B2E2FDC440001F46FFFF002B8B2E46E926E27CE6813D862CB90EDC9B89E11CE2CB8E98F9B89BCC4050518B2E365B66E26AE3B8B2E291A66E2591D8141462CB873969B89396C62CB86AFE9B89208E00000131560018300023E43A6A1351800023E4700EFC51881010100030180C620FB90CAAD3B9C5082080E1DDC905E10168E396921000325A0D73B83279C83010180034801090001260001808001838005008001F0408001828005008001304000041020407E800320409780050080012040000320409900018780032040958005000001E0408183E7139D7B70987019B526B8A950052F5C011D3C4B992143E885C71F95DA6071658082346CC03A50D66801F65288C30AB39673D0494536C559047E457AD291C99C20A7FB1244363E993EE3EE98C78742609340541DA01545A0F7339C26A527903576D300
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-bsm.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-bsm.xml
index e7e98cd4a..89bf3715d 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-bsm.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-bsm.xml
@@ -31,7 +31,7 @@
0
2024-12-10T17:30:48.095Z
- 7
+ 8
0
OBU
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-map.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-map.xml
index 323fa804a..0a9f920c1 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-map.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-map.xml
@@ -21,7 +21,7 @@
0
2024-12-10T17:32:22.024Z
- 7
+ 8
0
RSU
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-psm.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-psm.xml
index 129b7c280..26a4985f9 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-psm.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-psm.xml
@@ -21,7 +21,7 @@
0
2024-12-10T17:33:49.421Z
- 7
+ 8
0
UNKNOWN
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-spat.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-spat.xml
index 07c2303f7..7b6884dd5 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-spat.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-spat.xml
@@ -21,7 +21,7 @@
0
2024-12-10T17:34:40.359Z
- 7
+ 8
0
RSU
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-srm.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-srm.xml
index 0f1fa7233..a868f2a9d 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-srm.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-srm.xml
@@ -21,7 +21,7 @@
0
2024-12-10T17:35:36.923Z
- 7
+ 8
0
OBU
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-ssm.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-ssm.xml
index 05c67bc6f..1da1020b5 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-ssm.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-ssm.xml
@@ -21,7 +21,7 @@
0
2024-12-10T17:36:31.804Z
- 7
+ 8
0
RSU
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-tim.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-tim.xml
index d9ab2b93f..93b5b63d9 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-tim.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/decoder-output-tim.xml
@@ -21,7 +21,7 @@
0
2024-12-10T17:20:48.699Z
- 7
+ 8
0
RSU
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-bsm.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-bsm.json
index c546a6f3e..12eee6d75 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-bsm.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-bsm.json
@@ -23,7 +23,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-12-10T17:30:48.095Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedAt": "",
"recordGeneratedBy": "OBU",
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-map.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-map.json
index c975b08b4..13c9658c8 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-map.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-map.json
@@ -1 +1 @@
-{"metadata":{"logFileName":"","recordType":"mapTx","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeMapPayload","serialId":{"streamId":"2bc6b4d1-8534-482c-9004-18a4d2613622","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-10T17:32:22.024Z","schemaVersion":7,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"RSU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"001283C138003000205E9C014D3EAB092CA624B5518202DC3658042800000400023622C60CA009F66D48ABFAF81388D8AD18070027D9B2FFCFE9804F13667B1FFD009EC2C76E3FFC82C4E0001004B00C5000000800066C4574101813ECD8B757FAE027D9B30E6FF5604EC363561FE7809EC6CD69BFEC813C4D8A617FC9027D9B2147008604FB163666000016250000802580228000001000096229E1309B51A6FE4204DD361CF1FE5009F6018E1000096020A00000080004D88A57F84027D9B3827002804EC36087600A009F62C289407282C310001C0440188800000006C46DBE02813EC5816D800710052200000001B11B6FAD404FB16054A0000401C8800000006C47B3D24813EC5816D801B100C4200000000AF890F12C580007E87100D4200000008AF4C0F12C580077E7A2C0004000160002001CB028D000000800052C160BC40B5FFFD8A9409D86BFEBB5B40141457FEF53B76C008B467014145800080002BFFCBFFC82C6A0001804B024D000000800036C2213C3B013ECD80096D64027D9AFFD8CDFC04F635FF7983BC09F66C0082AA2014280B1B80006012C0B3400000100004B02BCF0F6D7FE065D602788B0138EB900B1240001012C083400000080009B0C2AF0B804FB15FE6DE171AFFF6C63E04EC15FE1DE670060E40002581EA8000004000135DA6DF0180A0A6ADC2C00D0143CD51897FDA028C8ABB25001A0B0680008012C105400000200009AEDBEFAE005053540EE003C0A326A9CF3FED8143C5667780010582C0004009608AA00000080004D76DE7EE402829ABA88FFDC050F354525FFF80A322BCF23FA602C690000C04B0395000000200016BB4FBD4E01414D3215800802940AB108FFF2030D2000110126200000001AEE5103BE050A15F6F1FFC8404D8800000006BB97C18E0142857DFA800010146200000001AEE89099A050A15F8720000B05DD000000800046BE3743B781428D80E1B00002879B00514B4404F63600827D8C09E22C000400015FFE6007016190000402582CE8000004000135ECEE1DE80A146C02E54758143CD8059AD3E027B1B00613DD004F102C360000804B055D000000200046BCC7C3C781428D80108C6E02829B002B2ECE050A16019A4B29B00AB5C3604F136004E410409EC018A10000960C3A00000080004D7DE9878602851B003923CC05053601623B440A0A6BFB8C3A5014140B0640005012C197400000100005AFE570EF2050A36003A47C80A0A6BFD2C45F014140B054000501101A8200000001B05A90EDC050535FFE605800A0A101B8200000001B08A30EC0050535FFE605300A0A101C8200000005B0C6F0EA4050515FFCA0568B0001000E00","mapSource":"RSU","originIp":"172.18.0.1"},"payload":{"data":{"msgIssueRevision":0,"layerType":"intersectionData","layerID":0,"intersections":{"intersectionGeometry":[{"id":{"id":12110},"revision":0,"refPoint":{"latitude":39.5952649,"longitude":-105.0914122,"elevation":1677.0},"laneWidth":366,"laneSet":{"GenericLane":[{"laneID":2,"ingressApproach":1,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":2225,"y":808}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":10517,"y":-161}},"attributes":{"dElevation":-60}},{"delta":{"nodeXY6":{"x":2769,"y":112}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":6142,"y":-180}},"attributes":{"dElevation":-30}},{"delta":{"nodeXY6":{"x":6636,"y":-12}},"attributes":{"dElevation":-20}},{"delta":{"nodeXY6":{"x":3804,"y":-7}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":19,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":4,"connectionID":1}]}},{"laneID":3,"ingressApproach":1,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":2222,"y":515}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":2933,"y":-82}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":6259,"y":-85}},"attributes":{"dElevation":-40}},{"delta":{"nodeXY6":{"x":3416,"y":-98}},"attributes":{"dElevation":-20}},{"delta":{"nodeXY6":{"x":6867,"y":-39}},"attributes":{"dElevation":-30}},{"delta":{"nodeXY6":{"x":2657,"y":-55}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":4259,"y":67}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":3481,"y":0}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":18,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":4,"connectionID":1}]}},{"laneID":1,"ingressApproach":1,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":2215,"y":1218}}},{"delta":{"nodeXY6":{"x":10451,"y":-223}},"attributes":{"dElevation":-70}},{"delta":{"nodeXY6":{"x":1852,"y":-108}},"attributes":{"dElevation":-10}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":28,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"connectionID":1}]}},{"laneID":4,"ingressApproach":1,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":2213,"y":-124}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":7187,"y":20}},"attributes":{"dElevation":-40}},{"delta":{"nodeXY6":{"x":541,"y":40}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":1298,"y":229}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":12,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":7,"connectionID":1}]}},{"laneID":6,"egressApproach":2,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":2267,"y":-1019}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":365,"y":7}}}]}},{"laneID":5,"egressApproach":2,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":2267,"y":-662}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":338,"y":0}}}]}},{"laneID":7,"egressApproach":2,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":2294,"y":-1463}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":365,"y":27}}}]}},{"laneID":12,"egressApproach":4,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-952,"y":-1898}}},{"delta":{"nodeXY6":{"x":0,"y":-377}}}]}},{"laneID":13,"egressApproach":4,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-1440,"y":-1898}}},{"delta":{"nodeXY6":{"x":7,"y":-390}}},{"delta":{"nodeXY6":{"x":0,"y":0}}},{"delta":{"nodeXY6":{"x":0,"y":7}}}]}},{"laneID":10,"ingressApproach":3,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":705,"y":-1919}}},{"delta":{"nodeXY6":{"x":-1,"y":-7515}},"attributes":{"dElevation":-40}},{"delta":{"nodeXY6":{"x":-41,"y":-5272}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-17,"y":-11337}}},{"delta":{"nodeXY6":{"x":17,"y":-5938}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":0,"y":0}}},{"delta":{"nodeXY6":{"x":-7,"y":-7}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":26,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":6,"connectionID":1}]}},{"laneID":9,"ingressApproach":3,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":1090,"y":-1930}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":9,"y":-4764}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":-20,"y":-6402}},"attributes":{"dElevation":-20}},{"delta":{"nodeXY6":{"x":-34,"y":-7953}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":16,"y":-10940}},"attributes":{"dElevation":20}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":27,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":6,"connectionID":1}]}},{"laneID":11,"ingressApproach":3,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":350,"y":-1925}}},{"delta":{"nodeXY6":{"x":-32,"y":-6698}},"attributes":{"dElevation":-30}},{"delta":{"nodeXY6":{"x":156,"y":-2616}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":18,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":1,"connectionID":1}]}},{"laneID":8,"ingressApproach":3,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":1557,"y":-1956}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":-101,"y":-1956}}},{"delta":{"nodeXY6":{"x":-5,"y":-7393}},"attributes":{"dElevation":-40}},{"delta":{"nodeXY6":{"x":-121,"y":-1636}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":7,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"connectionID":1}]}},{"laneID":15,"ingressApproach":5,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-2405,"y":-1018}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-9339,"y":26}},"attributes":{"dElevation":30}},{"delta":{"nodeXY6":{"x":-11895,"y":-38}},"attributes":{"dElevation":50}},{"delta":{"nodeXY6":{"x":-8814,"y":13}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":6,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":8,"connectionID":1}]}},{"laneID":16,"ingressApproach":5,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-2337,"y":-656}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-12229,"y":15}},"attributes":{"dElevation":50}},{"delta":{"nodeXY6":{"x":-11362,"y":-37}},"attributes":{"dElevation":30}},{"delta":{"nodeXY6":{"x":-6537,"y":1}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":5,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":8,"connectionID":1}]}},{"laneID":17,"ingressApproach":5,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-2338,"y":-284}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-8892,"y":-18}},"attributes":{"dElevation":30}},{"delta":{"nodeXY6":{"x":-11959,"y":-2}},"attributes":{"dElevation":50}},{"delta":{"nodeXY6":{"x":-1564,"y":-180}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":26,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":3,"connectionID":1}]}},{"laneID":14,"ingressApproach":5,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-2401,"y":-1380}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-19947,"y":8}},"attributes":{"dElevation":80}},{"delta":{"nodeXY6":{"x":-10108,"y":-7}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":13,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"connectionID":1}]}},{"laneID":18,"egressApproach":6,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-2264,"y":479}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":-580,"y":-14}}}]}},{"laneID":19,"egressApproach":6,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-2257,"y":796}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":-518,"y":0}}}]}},{"laneID":20,"egressApproach":6,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-2236,"y":1229}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":-484,"y":0}}}]}},{"laneID":23,"ingressApproach":7,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-914,"y":1903}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":225,"y":12288}},"attributes":{"dElevation":30}},{"delta":{"nodeXY6":{"x":40,"y":9634}},"attributes":{"dElevation":-20}},{"delta":{"nodeXY6":{"x":32,"y":8035}},"attributes":{"dElevation":-30}},{"delta":{"nodeXY6":{"x":0,"y":0}}},{"delta":{"nodeXY6":{"x":-7,"y":28}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":12,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":2,"connectionID":1}]}},{"laneID":22,"ingressApproach":7,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-1221,"y":1914}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":92,"y":10475}},"attributes":{"dElevation":30}},{"delta":{"nodeXY6":{"x":89,"y":11582}},"attributes":{"dElevation":-20}},{"delta":{"nodeXY6":{"x":48,"y":7912}},"attributes":{"dElevation":-30}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":13,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":2,"connectionID":1}]}},{"laneID":21,"ingressApproach":7,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-1649,"y":1935}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":16,"y":3182}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":21,"y":5991}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":102,"y":4810}}},{"delta":{"nodeXY6":{"x":85,"y":11803}},"attributes":{"dElevation":-30}},{"delta":{"nodeXY6":{"x":19,"y":4161}},"attributes":{"dElevation":-20}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":20,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"connectionID":1}]}},{"laneID":24,"ingressApproach":7,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-535,"y":1926}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":28,"y":4582}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":88,"y":3793}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-143,"y":1866}},"attributes":{"dElevation":10}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":6,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":5,"connectionID":1}]}},{"laneID":25,"ingressApproach":7,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-213,"y":1913}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":14,"y":4594}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-91,"y":2238}},"attributes":{"dElevation":10}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":5,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":5,"connectionID":1}]}},{"laneID":26,"egressApproach":8,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":724,"y":1902}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-7,"y":352}},"attributes":{"dElevation":10}}]}},{"laneID":27,"egressApproach":8,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":1105,"y":1888}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-7,"y":332}},"attributes":{"dElevation":10}}]}},{"laneID":28,"egressApproach":8,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":1591,"y":1874}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-14,"y":346}}},{"delta":{"nodeXY6":{"x":0,"y":7}}}]}}]}}]}},"dataType":"us.dot.its.jpo.ode.plugin.j2735.J2735MAP"}}
\ No newline at end of file
+{"metadata":{"logFileName":"","recordType":"mapTx","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeMapPayload","serialId":{"streamId":"2bc6b4d1-8534-482c-9004-18a4d2613622","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-10T17:32:22.024Z","schemaVersion":8,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"RSU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"001283C138003000205E9C014D3EAB092CA624B5518202DC3658042800000400023622C60CA009F66D48ABFAF81388D8AD18070027D9B2FFCFE9804F13667B1FFD009EC2C76E3FFC82C4E0001004B00C5000000800066C4574101813ECD8B757FAE027D9B30E6FF5604EC363561FE7809EC6CD69BFEC813C4D8A617FC9027D9B2147008604FB163666000016250000802580228000001000096229E1309B51A6FE4204DD361CF1FE5009F6018E1000096020A00000080004D88A57F84027D9B3827002804EC36087600A009F62C289407282C310001C0440188800000006C46DBE02813EC5816D800710052200000001B11B6FAD404FB16054A0000401C8800000006C47B3D24813EC5816D801B100C4200000000AF890F12C580007E87100D4200000008AF4C0F12C580077E7A2C0004000160002001CB028D000000800052C160BC40B5FFFD8A9409D86BFEBB5B40141457FEF53B76C008B467014145800080002BFFCBFFC82C6A0001804B024D000000800036C2213C3B013ECD80096D64027D9AFFD8CDFC04F635FF7983BC09F66C0082AA2014280B1B80006012C0B3400000100004B02BCF0F6D7FE065D602788B0138EB900B1240001012C083400000080009B0C2AF0B804FB15FE6DE171AFFF6C63E04EC15FE1DE670060E40002581EA8000004000135DA6DF0180A0A6ADC2C00D0143CD51897FDA028C8ABB25001A0B0680008012C105400000200009AEDBEFAE005053540EE003C0A326A9CF3FED8143C5667780010582C0004009608AA00000080004D76DE7EE402829ABA88FFDC050F354525FFF80A322BCF23FA602C690000C04B0395000000200016BB4FBD4E01414D3215800802940AB108FFF2030D2000110126200000001AEE5103BE050A15F6F1FFC8404D8800000006BB97C18E0142857DFA800010146200000001AEE89099A050A15F8720000B05DD000000800046BE3743B781428D80E1B00002879B00514B4404F63600827D8C09E22C000400015FFE6007016190000402582CE8000004000135ECEE1DE80A146C02E54758143CD8059AD3E027B1B00613DD004F102C360000804B055D000000200046BCC7C3C781428D80108C6E02829B002B2ECE050A16019A4B29B00AB5C3604F136004E410409EC018A10000960C3A00000080004D7DE9878602851B003923CC05053601623B440A0A6BFB8C3A5014140B0640005012C197400000100005AFE570EF2050A36003A47C80A0A6BFD2C45F014140B054000501101A8200000001B05A90EDC050535FFE605800A0A101B8200000001B08A30EC0050535FFE605300A0A101C8200000005B0C6F0EA4050515FFCA0568B0001000E00","mapSource":"RSU","originIp":"172.18.0.1"},"payload":{"data":{"msgIssueRevision":0,"layerType":"intersectionData","layerID":0,"intersections":{"intersectionGeometry":[{"id":{"id":12110},"revision":0,"refPoint":{"latitude":39.5952649,"longitude":-105.0914122,"elevation":1677.0},"laneWidth":366,"laneSet":{"GenericLane":[{"laneID":2,"ingressApproach":1,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":2225,"y":808}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":10517,"y":-161}},"attributes":{"dElevation":-60}},{"delta":{"nodeXY6":{"x":2769,"y":112}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":6142,"y":-180}},"attributes":{"dElevation":-30}},{"delta":{"nodeXY6":{"x":6636,"y":-12}},"attributes":{"dElevation":-20}},{"delta":{"nodeXY6":{"x":3804,"y":-7}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":19,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":4,"connectionID":1}]}},{"laneID":3,"ingressApproach":1,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":2222,"y":515}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":2933,"y":-82}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":6259,"y":-85}},"attributes":{"dElevation":-40}},{"delta":{"nodeXY6":{"x":3416,"y":-98}},"attributes":{"dElevation":-20}},{"delta":{"nodeXY6":{"x":6867,"y":-39}},"attributes":{"dElevation":-30}},{"delta":{"nodeXY6":{"x":2657,"y":-55}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":4259,"y":67}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":3481,"y":0}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":18,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":4,"connectionID":1}]}},{"laneID":1,"ingressApproach":1,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":2215,"y":1218}}},{"delta":{"nodeXY6":{"x":10451,"y":-223}},"attributes":{"dElevation":-70}},{"delta":{"nodeXY6":{"x":1852,"y":-108}},"attributes":{"dElevation":-10}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":28,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"connectionID":1}]}},{"laneID":4,"ingressApproach":1,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":2213,"y":-124}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":7187,"y":20}},"attributes":{"dElevation":-40}},{"delta":{"nodeXY6":{"x":541,"y":40}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":1298,"y":229}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":12,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":7,"connectionID":1}]}},{"laneID":6,"egressApproach":2,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":2267,"y":-1019}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":365,"y":7}}}]}},{"laneID":5,"egressApproach":2,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":2267,"y":-662}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":338,"y":0}}}]}},{"laneID":7,"egressApproach":2,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":2294,"y":-1463}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":365,"y":27}}}]}},{"laneID":12,"egressApproach":4,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-952,"y":-1898}}},{"delta":{"nodeXY6":{"x":0,"y":-377}}}]}},{"laneID":13,"egressApproach":4,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-1440,"y":-1898}}},{"delta":{"nodeXY6":{"x":7,"y":-390}}},{"delta":{"nodeXY6":{"x":0,"y":0}}},{"delta":{"nodeXY6":{"x":0,"y":7}}}]}},{"laneID":10,"ingressApproach":3,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":705,"y":-1919}}},{"delta":{"nodeXY6":{"x":-1,"y":-7515}},"attributes":{"dElevation":-40}},{"delta":{"nodeXY6":{"x":-41,"y":-5272}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-17,"y":-11337}}},{"delta":{"nodeXY6":{"x":17,"y":-5938}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":0,"y":0}}},{"delta":{"nodeXY6":{"x":-7,"y":-7}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":26,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":6,"connectionID":1}]}},{"laneID":9,"ingressApproach":3,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":1090,"y":-1930}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":9,"y":-4764}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":-20,"y":-6402}},"attributes":{"dElevation":-20}},{"delta":{"nodeXY6":{"x":-34,"y":-7953}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":16,"y":-10940}},"attributes":{"dElevation":20}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":27,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":6,"connectionID":1}]}},{"laneID":11,"ingressApproach":3,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":350,"y":-1925}}},{"delta":{"nodeXY6":{"x":-32,"y":-6698}},"attributes":{"dElevation":-30}},{"delta":{"nodeXY6":{"x":156,"y":-2616}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":18,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":1,"connectionID":1}]}},{"laneID":8,"ingressApproach":3,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":1557,"y":-1956}},"attributes":{"dElevation":-10}},{"delta":{"nodeXY6":{"x":-101,"y":-1956}}},{"delta":{"nodeXY6":{"x":-5,"y":-7393}},"attributes":{"dElevation":-40}},{"delta":{"nodeXY6":{"x":-121,"y":-1636}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":7,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"connectionID":1}]}},{"laneID":15,"ingressApproach":5,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-2405,"y":-1018}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-9339,"y":26}},"attributes":{"dElevation":30}},{"delta":{"nodeXY6":{"x":-11895,"y":-38}},"attributes":{"dElevation":50}},{"delta":{"nodeXY6":{"x":-8814,"y":13}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":6,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":8,"connectionID":1}]}},{"laneID":16,"ingressApproach":5,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-2337,"y":-656}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-12229,"y":15}},"attributes":{"dElevation":50}},{"delta":{"nodeXY6":{"x":-11362,"y":-37}},"attributes":{"dElevation":30}},{"delta":{"nodeXY6":{"x":-6537,"y":1}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":5,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":8,"connectionID":1}]}},{"laneID":17,"ingressApproach":5,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-2338,"y":-284}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-8892,"y":-18}},"attributes":{"dElevation":30}},{"delta":{"nodeXY6":{"x":-11959,"y":-2}},"attributes":{"dElevation":50}},{"delta":{"nodeXY6":{"x":-1564,"y":-180}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":26,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":3,"connectionID":1}]}},{"laneID":14,"ingressApproach":5,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-2401,"y":-1380}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-19947,"y":8}},"attributes":{"dElevation":80}},{"delta":{"nodeXY6":{"x":-10108,"y":-7}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":13,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"connectionID":1}]}},{"laneID":18,"egressApproach":6,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-2264,"y":479}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":-580,"y":-14}}}]}},{"laneID":19,"egressApproach":6,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-2257,"y":796}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":-518,"y":0}}}]}},{"laneID":20,"egressApproach":6,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-2236,"y":1229}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":-484,"y":0}}}]}},{"laneID":23,"ingressApproach":7,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-914,"y":1903}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":225,"y":12288}},"attributes":{"dElevation":30}},{"delta":{"nodeXY6":{"x":40,"y":9634}},"attributes":{"dElevation":-20}},{"delta":{"nodeXY6":{"x":32,"y":8035}},"attributes":{"dElevation":-30}},{"delta":{"nodeXY6":{"x":0,"y":0}}},{"delta":{"nodeXY6":{"x":-7,"y":28}}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":12,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":2,"connectionID":1}]}},{"laneID":22,"ingressApproach":7,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-1221,"y":1914}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":92,"y":10475}},"attributes":{"dElevation":30}},{"delta":{"nodeXY6":{"x":89,"y":11582}},"attributes":{"dElevation":-20}},{"delta":{"nodeXY6":{"x":48,"y":7912}},"attributes":{"dElevation":-30}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":13,"maneuver":{"maneuverStraightAllowed":true,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":2,"connectionID":1}]}},{"laneID":21,"ingressApproach":7,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-1649,"y":1935}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":16,"y":3182}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":21,"y":5991}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":102,"y":4810}}},{"delta":{"nodeXY6":{"x":85,"y":11803}},"attributes":{"dElevation":-30}},{"delta":{"nodeXY6":{"x":19,"y":4161}},"attributes":{"dElevation":-20}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":20,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":false,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":true,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"connectionID":1}]}},{"laneID":24,"ingressApproach":7,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-535,"y":1926}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":28,"y":4582}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":88,"y":3793}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-143,"y":1866}},"attributes":{"dElevation":10}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":6,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":5,"connectionID":1}]}},{"laneID":25,"ingressApproach":7,"laneAttributes":{"directionalUse":{"ingressPath":true,"egressPath":false},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"maneuvers":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":-213,"y":1913}},"attributes":{"dElevation":20}},{"delta":{"nodeXY6":{"x":14,"y":4594}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-91,"y":2238}},"attributes":{"dElevation":10}}]},"connectsTo":{"connectsTo":[{"connectingLane":{"lane":5,"maneuver":{"maneuverStraightAllowed":false,"maneuverNoStoppingAllowed":false,"goWithHalt":false,"maneuverLeftAllowed":true,"maneuverUTurnAllowed":false,"maneuverLeftTurnOnRedAllowed":false,"reserved1":false,"maneuverRightAllowed":false,"maneuverLaneChangeAllowed":false,"yieldAllwaysRequired":false,"maneuverRightTurnOnRedAllowed":false,"caution":false}},"signalGroup":5,"connectionID":1}]}},{"laneID":26,"egressApproach":8,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":724,"y":1902}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-7,"y":352}},"attributes":{"dElevation":10}}]}},{"laneID":27,"egressApproach":8,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":1105,"y":1888}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-7,"y":332}},"attributes":{"dElevation":10}}]}},{"laneID":28,"egressApproach":8,"laneAttributes":{"directionalUse":{"ingressPath":false,"egressPath":true},"shareWith":{"busVehicleTraffic":false,"trackedVehicleTraffic":false,"individualMotorizedVehicleTraffic":false,"taxiVehicleTraffic":false,"overlappingLaneDescriptionProvided":false,"cyclistVehicleTraffic":false,"otherNonMotorizedTrafficTypes":false,"multipleLanesTreatedAsOneLane":false,"pedestrianTraffic":false,"pedestriansTraffic":false},"laneType":{"vehicle":{"isVehicleRevocableLane":false,"isVehicleFlyOverLane":false,"permissionOnRequest":false,"hasIRbeaconCoverage":false,"restrictedToBusUse":false,"restrictedToTaxiUse":false,"restrictedFromPublicUse":false,"hovLaneUseOnly":false}}},"nodeList":{"nodes":[{"delta":{"nodeXY6":{"x":1591,"y":1874}},"attributes":{"dElevation":10}},{"delta":{"nodeXY6":{"x":-14,"y":346}}},{"delta":{"nodeXY6":{"x":0,"y":7}}}]}}]}}]}},"dataType":"us.dot.its.jpo.ode.plugin.j2735.J2735MAP"}}
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-psm.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-psm.json
index 035b14986..4ce5ed073 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-psm.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-psm.json
@@ -1 +1 @@
-{"metadata":{"logFileName":"","recordType":"psmTx","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdePsmPayload","serialId":{"streamId":"9219cf4d-66e3-4b65-8981-b56b50688023","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-10T17:33:49.421Z","schemaVersion":7,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"UNKNOWN","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"00201A0000021BD86891DE75F84DA101C13F042E2214141FFF00022C2000270000000163B2CC79860100","psmSource":"RSU","originIp":"172.18.0.1"},"payload":{"data":{"basicType":"aPEDESTRIAN","secMark":3564,"msgCnt":26,"id":"24779D7E","position":{"latitude":40.2397377,"longitude":-74.2761437},"accuracy":{"semiMajor":1.00,"semiMinor":1.00,"orientation":44.9951935489},"speed":0,"heading":8898},"dataType":"us.dot.its.jpo.ode.plugin.j2735.J2735PSM"}}
\ No newline at end of file
+{"metadata":{"logFileName":"","recordType":"psmTx","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdePsmPayload","serialId":{"streamId":"9219cf4d-66e3-4b65-8981-b56b50688023","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-10T17:33:49.421Z","schemaVersion":8,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"UNKNOWN","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"00201A0000021BD86891DE75F84DA101C13F042E2214141FFF00022C2000270000000163B2CC79860100","psmSource":"RSU","originIp":"172.18.0.1"},"payload":{"data":{"basicType":"aPEDESTRIAN","secMark":3564,"msgCnt":26,"id":"24779D7E","position":{"latitude":40.2397377,"longitude":-74.2761437},"accuracy":{"semiMajor":1.00,"semiMinor":1.00,"orientation":44.9951935489},"speed":0,"heading":8898},"dataType":"us.dot.its.jpo.ode.plugin.j2735.J2735PSM"}}
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-spat.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-spat.json
index 366dbb3c8..45f48c796 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-spat.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-spat.json
@@ -1 +1 @@
-{"metadata":{"logFileName":"","recordType":"spatTx","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeSpatPayload","serialId":{"streamId":"a80d7125-d548-4114-b435-ce890b8906d3","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-10T17:34:40.359Z","schemaVersion":7,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"RSU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"001338000817A780000089680500204642B342B34802021A15A955A940181190ACD0ACD20100868555C555C00104342AAE2AAE002821A15571557000","spatSource":"RSU","originIp":"172.18.0.1","isCertPresent":false},"payload":{"data":{"intersectionStateList":{"intersectionStatelist":[{"id":{"id":12111},"revision":0,"status":{"failureFlash":false,"noValidSPATisAvailableAtThisTime":false,"fixedTimeOperation":false,"standbyOperation":false,"trafficDependentOperation":false,"manualControlIsEnabled":false,"off":false,"stopTimeIsActivated":false,"recentChangeInMAPassignedLanesIDsUsed":false,"recentMAPmessageUpdate":false,"failureMode":false,"noValidMAPisAvailableAtThisTime":false,"signalPriorityIsActive":false,"preemptIsActive":false},"timeStamp":35176,"states":{"movementList":[{"signalGroup":2,"state_time_speed":{"movementEventList":[{"eventState":"PROTECTED_MOVEMENT_ALLOWED","timing":{"minEndTime":22120,"maxEndTime":22121}}]}},{"signalGroup":4,"state_time_speed":{"movementEventList":[{"eventState":"STOP_AND_REMAIN","timing":{"minEndTime":22181,"maxEndTime":22181}}]}},{"signalGroup":6,"state_time_speed":{"movementEventList":[{"eventState":"PROTECTED_MOVEMENT_ALLOWED","timing":{"minEndTime":22120,"maxEndTime":22121}}]}},{"signalGroup":8,"state_time_speed":{"movementEventList":[{"eventState":"STOP_AND_REMAIN","timing":{"minEndTime":21852,"maxEndTime":21852}}]}},{"signalGroup":1,"state_time_speed":{"movementEventList":[{"eventState":"STOP_AND_REMAIN","timing":{"minEndTime":21852,"maxEndTime":21852}}]}},{"signalGroup":5,"state_time_speed":{"movementEventList":[{"eventState":"STOP_AND_REMAIN","timing":{"minEndTime":21852,"maxEndTime":21852}}]}}]}}]}},"dataType":"us.dot.its.jpo.ode.plugin.j2735.J2735SPAT"}}
\ No newline at end of file
+{"metadata":{"logFileName":"","recordType":"spatTx","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeSpatPayload","serialId":{"streamId":"a80d7125-d548-4114-b435-ce890b8906d3","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-10T17:34:40.359Z","schemaVersion":8,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"RSU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"001338000817A780000089680500204642B342B34802021A15A955A940181190ACD0ACD20100868555C555C00104342AAE2AAE002821A15571557000","spatSource":"RSU","originIp":"172.18.0.1","isCertPresent":false},"payload":{"data":{"intersectionStateList":{"intersectionStatelist":[{"id":{"id":12111},"revision":0,"status":{"failureFlash":false,"noValidSPATisAvailableAtThisTime":false,"fixedTimeOperation":false,"standbyOperation":false,"trafficDependentOperation":false,"manualControlIsEnabled":false,"off":false,"stopTimeIsActivated":false,"recentChangeInMAPassignedLanesIDsUsed":false,"recentMAPmessageUpdate":false,"failureMode":false,"noValidMAPisAvailableAtThisTime":false,"signalPriorityIsActive":false,"preemptIsActive":false},"timeStamp":35176,"states":{"movementList":[{"signalGroup":2,"state_time_speed":{"movementEventList":[{"eventState":"PROTECTED_MOVEMENT_ALLOWED","timing":{"minEndTime":22120,"maxEndTime":22121}}]}},{"signalGroup":4,"state_time_speed":{"movementEventList":[{"eventState":"STOP_AND_REMAIN","timing":{"minEndTime":22181,"maxEndTime":22181}}]}},{"signalGroup":6,"state_time_speed":{"movementEventList":[{"eventState":"PROTECTED_MOVEMENT_ALLOWED","timing":{"minEndTime":22120,"maxEndTime":22121}}]}},{"signalGroup":8,"state_time_speed":{"movementEventList":[{"eventState":"STOP_AND_REMAIN","timing":{"minEndTime":21852,"maxEndTime":21852}}]}},{"signalGroup":1,"state_time_speed":{"movementEventList":[{"eventState":"STOP_AND_REMAIN","timing":{"minEndTime":21852,"maxEndTime":21852}}]}},{"signalGroup":5,"state_time_speed":{"movementEventList":[{"eventState":"STOP_AND_REMAIN","timing":{"minEndTime":21852,"maxEndTime":21852}}]}}]}}]}},"dataType":"us.dot.its.jpo.ode.plugin.j2735.J2735SPAT"}}
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-srm.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-srm.json
index 7cfa207c2..7717c67ab 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-srm.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-srm.json
@@ -1 +1 @@
-{"metadata":{"logFileName":"","recordType":"srmTx","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeSrmPayload","serialId":{"streamId":"48e23a19-c438-4e97-a54e-150cdf10afe1","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-10T17:35:36.923Z","schemaVersion":7,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"OBU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"001D2130000010090BD341080D00855C6C0C6899853000A534F7C24CB29897694759B7C000","originIp":"172.18.0.1","srmSource":"RSU"},"payload":{"data":{"second":0,"sequenceNumber":1,"requests":{"signalRequestPackage":[{"request":{"id":{"id":12109},"requestID":4,"requestType":"priorityRequest","inBoundLane":{"lane":13},"outBoundLane":{"lane":4}},"duration":10979}]},"requestor":{"id":{"stationID":2366845094},"type":{"role":"publicTransport"},"position":{"position":{"latitude":39.5904915,"longitude":-105.0913829,"elevation":1685.4},"heading":175.9000}}},"dataType":"us.dot.its.jpo.ode.plugin.j2735.J2735SRM"}}
\ No newline at end of file
+{"metadata":{"logFileName":"","recordType":"srmTx","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeSrmPayload","serialId":{"streamId":"48e23a19-c438-4e97-a54e-150cdf10afe1","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-10T17:35:36.923Z","schemaVersion":8,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"OBU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"001D2130000010090BD341080D00855C6C0C6899853000A534F7C24CB29897694759B7C000","originIp":"172.18.0.1","srmSource":"RSU"},"payload":{"data":{"second":0,"sequenceNumber":1,"requests":{"signalRequestPackage":[{"request":{"id":{"id":12109},"requestID":4,"requestType":"priorityRequest","inBoundLane":{"lane":13},"outBoundLane":{"lane":4}},"duration":10979}]},"requestor":{"id":{"stationID":2366845094},"type":{"role":"publicTransport"},"position":{"position":{"latitude":39.5904915,"longitude":-105.0913829,"elevation":1685.4},"heading":175.9000}}},"dataType":"us.dot.its.jpo.ode.plugin.j2735.J2735SRM"}}
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-ssm.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-ssm.json
index f8e77af81..47a5d9d6e 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-ssm.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-ssm.json
@@ -1 +1 @@
-{"metadata":{"logFileName":"","recordType":"ssmTx","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeSsmPayload","serialId":{"streamId":"b04f6d45-d1f2-4cfb-8a6c-f542bbd0aa51","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-10T17:36:31.804Z","schemaVersion":7,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"RSU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"001E120000000005E9C04071A26614C06000040BA000","originIp":"172.18.0.1","ssmSource":"RSU"},"payload":{"data":{"second":0,"status":{"signalStatus":[{"sequenceNumber":0,"id":{"id":12110},"sigStatus":{"signalStatusPackage":[{"requester":{"id":{"stationID":2366845094},"request":3,"sequenceNumber":0,"typeData":{"role":"publicTransport"}},"inboundOn":{"lane":23},"status":"granted"}]}}]}},"dataType":"us.dot.its.jpo.ode.plugin.j2735.J2735SSM"}}
\ No newline at end of file
+{"metadata":{"logFileName":"","recordType":"ssmTx","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeSsmPayload","serialId":{"streamId":"b04f6d45-d1f2-4cfb-8a6c-f542bbd0aa51","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-10T17:36:31.804Z","schemaVersion":8,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"RSU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"001E120000000005E9C04071A26614C06000040BA000","originIp":"172.18.0.1","ssmSource":"RSU"},"payload":{"data":{"second":0,"status":{"signalStatus":[{"sequenceNumber":0,"id":{"id":12110},"sigStatus":{"signalStatusPackage":[{"requester":{"id":{"stationID":2366845094},"request":3,"sequenceNumber":0,"typeData":{"role":"publicTransport"}},"inboundOn":{"lane":23},"status":"granted"}]}}]}},"dataType":"us.dot.its.jpo.ode.plugin.j2735.J2735SSM"}}
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-tim-specific.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-tim-specific.xml
index fadc9ccb2..f5adf6909 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-tim-specific.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-tim-specific.xml
@@ -21,7 +21,7 @@
0
2024-12-10T17:20:48.699Z
- 7
+ 8
0
RSU
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-tim.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-tim.json
index 192c901b5..0b8d8bc40 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-tim.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/services/asn1/expected-tim.json
@@ -1 +1 @@
-{"metadata":{"logFileName":"","recordType":"dnMsg","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeTimPayload","serialId":{"streamId":"d1475b66-9f6d-4a85-a4bd-bc54a825fb0f","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-10T17:20:48.699Z","schemaVersion":7,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"RSU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"03810040038081D4001F80D07016DA410000000000000BBC2B0F775D9B0309C271431FA166EE0A27FFF93F136B8205A0A107FB2EF979F4C5BFAEEC97E4AD70C2FB36CD9730BECDB355CC2FD2A7556B160B98B46AB98AE62C185FA55EFB468D5B4000000004E2863F42CDDC144FF7980040401262CDD7B809C509F5C62CDD35519C507B9062CDCEE129C505CF262CDCA5FF9C50432C62CDC5D3D9C502E3E62CDC13E79C501E9262CDBCA2D9C5013EE62CDB80359C500E6A62CDB36299C500BC862CDAEC1D9C50093C62CDAA2109C5006EA1080203091A859EEEBB36006001830001AAD27F4FF7580001AAD355E39B5880A30029D6585009EF808332D8D9F80C3855151B38C772F765007967EC1170BCB7937F5CB880A25A52863493BCB87570DBCB5ABC6BFB2FAEC606CFA34EB95A24790B2017366D3AABE7729E00","originIp":"172.18.0.1"},"payload":{"data":{"msgCnt":1,"timeStamp":449089,"packetID":"0000000000000BBC2B","urlB":"null","dataFrames":[{"doNotUse1":0,"frameType":"advisory","msgId":{"roadSignID":{"position":{"lat":411269876,"long":-1047269563},"viewAngle":{"from000-0to022-5degrees":true,"from022-5to045-0degrees":true,"from045-0to067-5degrees":true,"from067-5to090-0degrees":true,"from090-0to112-5degrees":true,"from112-5to135-0degrees":true,"from135-0to157-5degrees":true,"from157-5to180-0degrees":true,"from180-0to202-5degrees":true,"from202-5to225-0degrees":true,"from225-0to247-5degrees":true,"from247-5to270-0degrees":true,"from270-0to292-5degrees":true,"from292-5to315-0degrees":true,"from315-0to337-5degrees":true,"from337-5to360-0degrees":true},"mutcdCode":"warning"}},"startYear":2018,"startTime":448260,"durationTime":1440,"priority":5,"doNotUse2":0,"regions":[{"name":"westbound_I-80_366.0_365.0_RSU-10.145.1.100_RW_4456","id":{"region":0,"id":0},"anchor":{"lat":411269876,"long":-1047269563},"laneWidth":32700,"directionality":"both","closedPath":false,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":true,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"path":{"scale":0,"offset":{"xy":{"nodes":[{"delta":{"node-LatLon":{"lon":-1047287423,"lat":411264686}}},{"delta":{"node-LatLon":{"lon":-1047305390,"lat":411260104}}},{"delta":{"node-LatLon":{"lon":-1047323629,"lat":411256185}}},{"delta":{"node-LatLon":{"lon":-1047342080,"lat":411252886}}},{"delta":{"node-LatLon":{"lon":-1047360706,"lat":411250207}}},{"delta":{"node-LatLon":{"lon":-1047379480,"lat":411248201}}},{"delta":{"node-LatLon":{"lon":-1047398354,"lat":411246839}}},{"delta":{"node-LatLon":{"lon":-1047417290,"lat":411246133}}},{"delta":{"node-LatLon":{"lon":-1047436246,"lat":411245796}}},{"delta":{"node-LatLon":{"lon":-1047455202,"lat":411245470}}},{"delta":{"node-LatLon":{"lon":-1047474159,"lat":411245173}}}]}}}}}],"doNotUse3":0,"doNotUse4":0,"content":{"advisory":[{"item":{"itis":777}},{"item":{"itis":13579}}]},"url":"null"}]},"dataType":"us.dot.its.jpo.ode.plugin.j2735.travelerinformation.TravelerInformation"}}
\ No newline at end of file
+{"metadata":{"logFileName":"","recordType":"dnMsg","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeTimPayload","serialId":{"streamId":"d1475b66-9f6d-4a85-a4bd-bc54a825fb0f","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-10T17:20:48.699Z","schemaVersion":8,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"RSU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"03810040038081D4001F80D07016DA410000000000000BBC2B0F775D9B0309C271431FA166EE0A27FFF93F136B8205A0A107FB2EF979F4C5BFAEEC97E4AD70C2FB36CD9730BECDB355CC2FD2A7556B160B98B46AB98AE62C185FA55EFB468D5B4000000004E2863F42CDDC144FF7980040401262CDD7B809C509F5C62CDD35519C507B9062CDCEE129C505CF262CDCA5FF9C50432C62CDC5D3D9C502E3E62CDC13E79C501E9262CDBCA2D9C5013EE62CDB80359C500E6A62CDB36299C500BC862CDAEC1D9C50093C62CDAA2109C5006EA1080203091A859EEEBB36006001830001AAD27F4FF7580001AAD355E39B5880A30029D6585009EF808332D8D9F80C3855151B38C772F765007967EC1170BCB7937F5CB880A25A52863493BCB87570DBCB5ABC6BFB2FAEC606CFA34EB95A24790B2017366D3AABE7729E00","originIp":"172.18.0.1"},"payload":{"data":{"msgCnt":1,"timeStamp":449089,"packetID":"0000000000000BBC2B","urlB":"null","dataFrames":[{"doNotUse1":0,"frameType":"advisory","msgId":{"roadSignID":{"position":{"lat":411269876,"long":-1047269563},"viewAngle":{"from000-0to022-5degrees":true,"from022-5to045-0degrees":true,"from045-0to067-5degrees":true,"from067-5to090-0degrees":true,"from090-0to112-5degrees":true,"from112-5to135-0degrees":true,"from135-0to157-5degrees":true,"from157-5to180-0degrees":true,"from180-0to202-5degrees":true,"from202-5to225-0degrees":true,"from225-0to247-5degrees":true,"from247-5to270-0degrees":true,"from270-0to292-5degrees":true,"from292-5to315-0degrees":true,"from315-0to337-5degrees":true,"from337-5to360-0degrees":true},"mutcdCode":"warning"}},"startYear":2018,"startTime":448260,"durationTime":1440,"priority":5,"doNotUse2":0,"regions":[{"name":"westbound_I-80_366.0_365.0_RSU-10.145.1.100_RW_4456","id":{"region":0,"id":0},"anchor":{"lat":411269876,"long":-1047269563},"laneWidth":32700,"directionality":"both","closedPath":false,"direction":{"from000-0to022-5degrees":false,"from022-5to045-0degrees":false,"from045-0to067-5degrees":false,"from067-5to090-0degrees":false,"from090-0to112-5degrees":false,"from112-5to135-0degrees":false,"from135-0to157-5degrees":false,"from157-5to180-0degrees":false,"from180-0to202-5degrees":false,"from202-5to225-0degrees":false,"from225-0to247-5degrees":false,"from247-5to270-0degrees":true,"from270-0to292-5degrees":false,"from292-5to315-0degrees":false,"from315-0to337-5degrees":false,"from337-5to360-0degrees":false},"description":{"path":{"scale":0,"offset":{"xy":{"nodes":[{"delta":{"node-LatLon":{"lon":-1047287423,"lat":411264686}}},{"delta":{"node-LatLon":{"lon":-1047305390,"lat":411260104}}},{"delta":{"node-LatLon":{"lon":-1047323629,"lat":411256185}}},{"delta":{"node-LatLon":{"lon":-1047342080,"lat":411252886}}},{"delta":{"node-LatLon":{"lon":-1047360706,"lat":411250207}}},{"delta":{"node-LatLon":{"lon":-1047379480,"lat":411248201}}},{"delta":{"node-LatLon":{"lon":-1047398354,"lat":411246839}}},{"delta":{"node-LatLon":{"lon":-1047417290,"lat":411246133}}},{"delta":{"node-LatLon":{"lon":-1047436246,"lat":411245796}}},{"delta":{"node-LatLon":{"lon":-1047455202,"lat":411245470}}},{"delta":{"node-LatLon":{"lon":-1047474159,"lat":411245173}}}]}}}}}],"doNotUse3":0,"doNotUse4":0,"content":{"advisory":[{"item":{"itis":777}},{"item":{"itis":13579}}]},"url":"null"}]},"dataType":"us.dot.its.jpo.ode.plugin.j2735.travelerinformation.TravelerInformation"}}
\ No newline at end of file
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/traveler/aemInputContainingCircleGeometry.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/traveler/aemInputContainingCircleGeometry.xml
index 94ca66b8d..f0ed3ca7f 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/traveler/aemInputContainingCircleGeometry.xml
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/traveler/aemInputContainingCircleGeometry.xml
@@ -9,7 +9,7 @@
0
2024-11-05T16:51:14.473Z
- 7
+ 8
8640
2024-09-25T10:00:00.000Z
TMC
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/bsm/BsmReceiverTest_ValidBSM_expected.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/bsm/BsmReceiverTest_ValidBSM_expected.json
index 3b7345c27..d6e17f831 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/bsm/BsmReceiverTest_ValidBSM_expected.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/bsm/BsmReceiverTest_ValidBSM_expected.json
@@ -22,7 +22,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-26T23:53:21.120Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedBy": "OBU",
"sanitized": false,
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/map/MapReceiverTest_ValidMAP_expected.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/map/MapReceiverTest_ValidMAP_expected.json
index 36945c4eb..264f694d2 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/map/MapReceiverTest_ValidMAP_expected.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/map/MapReceiverTest_ValidMAP_expected.json
@@ -11,7 +11,7 @@
"serialNumber" : 0
},
"odeReceivedAt": "2024-11-26T23:53:21.120Z",
- "schemaVersion" : 7,
+ "schemaVersion" : 8,
"maxDurationTime" : 0,
"recordGeneratedBy" : "RSU",
"sanitized" : false,
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/psm/PsmReceiverTest_ValidPSM_expected.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/psm/PsmReceiverTest_ValidPSM_expected.json
index 4c53d160d..fcf052b44 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/psm/PsmReceiverTest_ValidPSM_expected.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/psm/PsmReceiverTest_ValidPSM_expected.json
@@ -11,7 +11,7 @@
"serialNumber" : 0
},
"odeReceivedAt" : "2024-11-26T23:53:21.120Z",
- "schemaVersion" : 7,
+ "schemaVersion" : 8,
"maxDurationTime" : 0,
"recordGeneratedBy" : "UNKNOWN",
"sanitized" : false,
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/spat/SpatReceiverTest_ValidSPAT_expected.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/spat/SpatReceiverTest_ValidSPAT_expected.json
index 5602460b0..0d4ccc0f0 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/spat/SpatReceiverTest_ValidSPAT_expected.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/spat/SpatReceiverTest_ValidSPAT_expected.json
@@ -11,7 +11,7 @@
"serialNumber" : 0
},
"odeReceivedAt" : "2024-11-26T23:53:21.120Z",
- "schemaVersion" : 7,
+ "schemaVersion" : 8,
"maxDurationTime" : 0,
"recordGeneratedBy" : "RSU",
"sanitized" : false,
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/srm/SrmReceiverTest_ExpectedOutput.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/srm/SrmReceiverTest_ExpectedOutput.json
index 17e87d5f6..b7b6d124e 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/srm/SrmReceiverTest_ExpectedOutput.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/srm/SrmReceiverTest_ExpectedOutput.json
@@ -2,7 +2,7 @@
"metadata" : {
"securityResultCode" : "success",
"recordGeneratedBy" : "OBU",
- "schemaVersion" : 7,
+ "schemaVersion" : 8,
"payloadType" : "us.dot.its.jpo.ode.model.OdeAsn1Payload",
"serialId" : {
"recordId" : 0,
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/ssm/SsmReceiverTest_ValidSSM_expected.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/ssm/SsmReceiverTest_ValidSSM_expected.json
index 32881d799..5d86e494b 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/ssm/SsmReceiverTest_ValidSSM_expected.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/ssm/SsmReceiverTest_ValidSSM_expected.json
@@ -11,7 +11,7 @@
"serialNumber": 0
},
"odeReceivedAt": "2024-11-26T23:53:21.120Z",
- "schemaVersion": 7,
+ "schemaVersion": 8,
"maxDurationTime": 0,
"recordGeneratedBy": "RSU",
"sanitized": false,
diff --git a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/tim/TimReceiverTest_ValidTIM_expected.json b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/tim/TimReceiverTest_ValidTIM_expected.json
index 51f34623f..78665f1f0 100644
--- a/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/tim/TimReceiverTest_ValidTIM_expected.json
+++ b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/udp/tim/TimReceiverTest_ValidTIM_expected.json
@@ -2,7 +2,7 @@
"metadata" : {
"securityResultCode" : "success",
"recordGeneratedBy" : "RSU",
- "schemaVersion" : 7,
+ "schemaVersion" : 8,
"payloadType" : "us.dot.its.jpo.ode.model.OdeAsn1Payload",
"serialId" : {
"recordId" : 0,