From 2e1c179dd207a5cc63e2cc1fb1019dadabaccce6 Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Thu, 21 Nov 2024 21:34:33 +0000 Subject: [PATCH 01/33] Add TIM POJO and builder --- .../dot/its/jpo/ode/model/OdeTimPayload.java | 6 + .../ode/plugin/j2735/J2735ComputedLane.java | 6 +- .../ode/plugin/j2735/J2735Description.java | 35 ++++ .../ode/plugin/j2735/J2735DirectionOfUse.java | 7 +- .../plugin/j2735/J2735GeographicalPath.java | 71 +++++++ .../j2735/J2735GeometricProjection.java | 45 +++++ .../ode/plugin/j2735/J2735HeadingSlice.java | 20 ++ .../plugin/j2735/J2735LaneDataAttribute.java | 30 +-- .../j2735/J2735LaneDataAttributeList.java | 23 --- .../its/jpo/ode/plugin/j2735/J2735MsgId.java | 26 +++ .../jpo/ode/plugin/j2735/J2735MutcdCode.java | 11 ++ .../plugin/j2735/J2735NodeAttributeSet.java | 63 ++++++ .../plugin/j2735/J2735NodeAttributeSetXY.java | 65 ------ .../plugin/j2735/J2735NodeAttributeXY.java | 20 -- .../j2735/J2735NodeAttributeXYList.java | 23 --- .../its/jpo/ode/plugin/j2735/J2735NodeLL.java | 27 +++ .../jpo/ode/plugin/j2735/J2735NodeListLL.java | 17 ++ .../jpo/ode/plugin/j2735/J2735NodeListXY.java | 17 +- .../plugin/j2735/J2735NodeOffsetPointLL.java | 72 +++++++ .../jpo/ode/plugin/j2735/J2735NodeSetXY.java | 25 --- .../its/jpo/ode/plugin/j2735/J2735NodeXY.java | 39 ++-- .../jpo/ode/plugin/j2735/J2735Node_LL.java | 53 +++++ .../its/jpo/ode/plugin/j2735/J2735Offset.java | 26 +++ .../ode/plugin/j2735/J2735OffsetSystem.java | 26 +++ .../jpo/ode/plugin/j2735/J2735RoadSignId.java | 42 ++++ ...buteXY.java => J2735SegmentAttribute.java} | 2 +- .../j2735/J2735SegmentAttributeXYList.java | 23 --- .../its/jpo/ode/plugin/j2735/J2735Tim.java | 53 +++++ .../plugin/j2735/J2735TravelerDataFrame.java | 126 ++++++++++++ .../plugin/j2735/J2735TravelerInfoType.java | 8 + .../j2735/builders/ComputedLaneBuilder.java | 55 ++++++ .../j2735/builders/GenericLaneBuilder.java | 2 +- .../builders/GeographicalPathBuilder.java | 89 +++++++++ .../builders/LaneDataAttributeBuilder.java | 47 +++++ .../plugin/j2735/builders/NodeBuilder.java | 89 --------- .../plugin/j2735/builders/NodeLLBuilder.java | 185 +++++++++++++++++ .../j2735/builders/NodeListBuilder.java | 40 ---- .../j2735/builders/NodeListLLBuilder.java | 41 ++++ .../j2735/builders/NodeListXYBuilder.java | 60 ++++++ .../plugin/j2735/builders/NodeXYBuilder.java | 187 ++++++++++++++++++ .../j2735/builders/OffsetSystemBuilder.java | 39 ++++ .../j2735/builders/Position3DBuilder.java | 5 +- .../j2735/builders/RoadSignIdBuilder.java | 41 ++++ .../ode/plugin/j2735/builders/TIMBuilder.java | 67 +++++++ .../builders/TravelerDataFrameBuilder.java | 126 ++++++++++++ .../plugin/j2735/J2735DirectionOfUseTest.java | 11 +- .../plugin/j2735/builders/TimBuilderTest.java | 29 +++ .../ode/coder/OdeTimDataCreatorHelper.java | 59 ++++++ .../services/asn1/Asn1DecodedDataRouter.java | 6 +- 49 files changed, 1818 insertions(+), 367 deletions(-) create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Description.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeographicalPath.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeometricProjection.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735HeadingSlice.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735LaneDataAttributeList.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735MsgId.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735MutcdCode.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeSet.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeSetXY.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeXY.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeXYList.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeLL.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListLL.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeOffsetPointLL.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeSetXY.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Node_LL.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Offset.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735OffsetSystem.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735RoadSignId.java rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{J2735SegmentAttributeXY.java => J2735SegmentAttribute.java} (97%) delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735SegmentAttributeXYList.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Tim.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerDataFrame.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerInfoType.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/ComputedLaneBuilder.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/GeographicalPathBuilder.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/LaneDataAttributeBuilder.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeBuilder.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeLLBuilder.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListBuilder.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListLLBuilder.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListXYBuilder.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeXYBuilder.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/OffsetSystemBuilder.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/RoadSignIdBuilder.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TIMBuilder.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TravelerDataFrameBuilder.java create mode 100644 jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/TimBuilderTest.java create mode 100644 jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java diff --git a/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java b/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java index b5e9e0e7b..235c9c0c9 100644 --- a/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java +++ b/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java @@ -15,6 +15,7 @@ ******************************************************************************/ package us.dot.its.jpo.ode.model; +import us.dot.its.jpo.ode.plugin.j2735.J2735Tim; import us.dot.its.jpo.ode.plugin.j2735.OdeTravelerInformationMessage; public class OdeTimPayload extends OdeMsgPayload { @@ -29,4 +30,9 @@ public OdeTimPayload(OdeTravelerInformationMessage tim) { super(tim); this.setData(tim); } + + public OdeTimPayload(J2735Tim tim) { + super(tim); + this.setData(tim); + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735ComputedLane.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735ComputedLane.java index 59f073f6f..b4d55ca59 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735ComputedLane.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735ComputedLane.java @@ -5,9 +5,9 @@ public class J2735ComputedLane extends Asn1Object { private static final long serialVersionUID = 1L; - private Integer referenceLaneId; - private Integer offsetXaxis; // could have an object with min and max inside of it - private Integer offsetYaxis; // could have an object with min and max inside of it + private Integer referenceLaneId; + private Integer offsetXaxis; + private Integer offsetYaxis; private Integer rotateXY; private Integer scaleXaxis; private Integer scaleYaxis; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Description.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Description.java new file mode 100644 index 000000000..c36022d89 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Description.java @@ -0,0 +1,35 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; + +public class J2735Description extends Asn1Object { + private static final long serialVersionUID = 1L; + + private J2735OffsetSystem path; + private J2735GeometricProjection geometry; + private String oldRegion; //TODO + + public J2735OffsetSystem getPath() { + return path; + } + + public void setPath(J2735OffsetSystem path) { + this.path = path; + } + + public J2735GeometricProjection getGeometry() { + return geometry; + } + + public void setGeometry(J2735GeometricProjection geometry) { + this.geometry = geometry; + } + + public String getOldRegion() { + return oldRegion; + } + + public void setOldRegion(String oldRegion) { + this.oldRegion = oldRegion; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUse.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUse.java index c343ca295..3a44d0349 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUse.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUse.java @@ -16,7 +16,8 @@ package us.dot.its.jpo.ode.plugin.j2735; public enum J2735DirectionOfUse { - FORWARD, - REVERSE, - BOTH + unavailable, + forward, + reverse, + both } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeographicalPath.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeographicalPath.java new file mode 100644 index 000000000..6f7ddcf64 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeographicalPath.java @@ -0,0 +1,71 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; + +public class J2735GeographicalPath extends Asn1Object { + private static final long serialVersionUID = 1L; + + private String name; + private J2735RoadSegmentReferenceID id; + private OdePosition3D anchor; + private int laneWidth; + private J2735DirectionOfUse directionality; + private boolean closedPath; + private J2735Description description; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public J2735RoadSegmentReferenceID getId() { + return id; + } + + public void setId(J2735RoadSegmentReferenceID id) { + this.id = id; + } + + public OdePosition3D getAnchor() { + return anchor; + } + + public void setAnchor(OdePosition3D anchor) { + this.anchor = anchor; + } + + public int getLaneWidth() { + return laneWidth; + } + + public void setLaneWidth(int laneWidth) { + this.laneWidth = laneWidth; + } + + public J2735DirectionOfUse getDirectionality() { + return directionality; + } + + public void setDirectionality(J2735DirectionOfUse directionality) { + this.directionality = directionality; + } + + public boolean getClosedPath() { + return closedPath; + } + + public void setClosedPath(boolean closedPath) { + this.closedPath = closedPath; + } + + public J2735Description getDescription() { + return description; + } + + public void setDescription(J2735Description description) { + this.description = description; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeometricProjection.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeometricProjection.java new file mode 100644 index 000000000..81a8bfe38 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeometricProjection.java @@ -0,0 +1,45 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; +import us.dot.its.jpo.ode.plugin.j2735.timstorage.Circle; + +public class J2735GeometricProjection extends Asn1Object { + private static final long serialVersionUID = 1L; + + private J2735HeadingSlice direction; + private J2735Extent extent; + private String laneWidth; + private Circle circle; + + public J2735HeadingSlice getDirection() { + return direction; + } + + public void setDirection(J2735HeadingSlice direction) { + this.direction = direction; + } + + public J2735Extent getExtent() { + return extent; + } + + public void setExtent(J2735Extent extent) { + this.extent = extent; + } + + public String getLaneWidth() { + return laneWidth; + } + + public void setLaneWidth(String laneWidth) { + this.laneWidth = laneWidth; + } + + public Circle getCircle() { + return circle; + } + + public void setCircle(Circle circle) { + this.circle = circle; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735HeadingSlice.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735HeadingSlice.java new file mode 100644 index 000000000..ad11b8a7b --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735HeadingSlice.java @@ -0,0 +1,20 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +public enum J2735HeadingSlice { + from000_0to022_5degrees, + from022_5to045_0degrees, + from045_0to067_5degrees, + from067_5to090_0degrees, + from090_0to112_5degrees, + from112_5to135_0degrees, + from135_0to157_5degrees, + from157_5to180_0degrees, + from180_0to202_5degrees, + from202_5to225_0degrees, + from225_0to247_5degrees, + from247_5to270_0degrees, + from270_0to292_5degrees, + from292_5to315_0degrees, + from315_0to337_5degrees, + from337_5to360_0degrees +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735LaneDataAttribute.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735LaneDataAttribute.java index 5a33a4440..f1614f7cc 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735LaneDataAttribute.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735LaneDataAttribute.java @@ -7,50 +7,50 @@ public class J2735LaneDataAttribute extends Asn1Object { * */ private static final long serialVersionUID = 1L; - private Integer pathEndPointAngle; - private Integer laneCrownPointCenter; - private Integer laneCrownPointLeft; - private Integer laneCrownPointRight; - private Integer laneAngle; + private int pathEndPointAngle; + private int laneCrownPointCenter; + private int laneCrownPointLeft; + private int laneCrownPointRight; + private int laneAngle; private J2735SpeedLimitList speedLimits; - public Integer getPathEndPointAngle() { + public int getPathEndPointAngle() { return pathEndPointAngle; } - public void setPathEndPointAngle(Integer pathEndPointAngle) { + public void setPathEndPointAngle(int pathEndPointAngle) { this.pathEndPointAngle = pathEndPointAngle; } - public Integer getLaneCrownPointCenter() { + public int getLaneCrownPointCenter() { return laneCrownPointCenter; } - public void setLaneCrownPointCenter(Integer laneCrownPointCenter) { + public void setLaneCrownPointCenter(int laneCrownPointCenter) { this.laneCrownPointCenter = laneCrownPointCenter; } - public Integer getLaneCrownPointLeft() { + public int getLaneCrownPointLeft() { return laneCrownPointLeft; } - public void setLaneCrownPointLeft(Integer laneCrownPointLeft) { + public void setLaneCrownPointLeft(int laneCrownPointLeft) { this.laneCrownPointLeft = laneCrownPointLeft; } - public Integer getLaneCrownPointRight() { + public int getLaneCrownPointRight() { return laneCrownPointRight; } - public void setLaneCrownPointRight(Integer laneCrownPointRight) { + public void setLaneCrownPointRight(int laneCrownPointRight) { this.laneCrownPointRight = laneCrownPointRight; } - public Integer getLaneAngle() { + public int getLaneAngle() { return laneAngle; } - public void setLaneAngle(Integer laneAngle) { + public void setLaneAngle(int laneAngle) { this.laneAngle = laneAngle; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735LaneDataAttributeList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735LaneDataAttributeList.java deleted file mode 100644 index 130ad4809..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735LaneDataAttributeList.java +++ /dev/null @@ -1,23 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import java.util.ArrayList; -import java.util.List; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735LaneDataAttributeList extends Asn1Object { - /** - * - */ - private static final long serialVersionUID = 1L; - private List localNode = new ArrayList<>(); - - public List getLocalNode() { - return localNode; - } - - public void setLocalNode(List localNode) { - this.localNode = localNode; - } - -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735MsgId.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735MsgId.java new file mode 100644 index 000000000..1b729cee5 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735MsgId.java @@ -0,0 +1,26 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; + +public class J2735MsgId extends Asn1Object { + private static final long serialVersionUID = 1L; + + private String furtherInfoID; + private J2735RoadSignId roadSignID; + + public String getFurtherInfoId() { + return furtherInfoID; + } + + public void setFurtherInfoId(String furtherInfoID) { + this.furtherInfoID = furtherInfoID; + } + + public J2735RoadSignId getRoadSignID() { + return roadSignID; + } + + public void setRoadSignID(J2735RoadSignId roadSignID) { + this.roadSignID = roadSignID; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735MutcdCode.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735MutcdCode.java new file mode 100644 index 000000000..744f1aa36 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735MutcdCode.java @@ -0,0 +1,11 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +public enum J2735MutcdCode { + none, + regulatory, + warning, + maintenance, + motoristService, + guide, + rec, +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeSet.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeSet.java new file mode 100644 index 000000000..3b0493ef8 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeSet.java @@ -0,0 +1,63 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; + +public class J2735NodeAttributeSet extends Asn1Object { + private static final long serialVersionUID = 1L; + + private J2735NodeAttribute[] localNode; + private J2735SegmentAttribute[] disabled; + private J2735SegmentAttribute[] enabled; + private J2735LaneDataAttribute[] data; + private Integer dWidth; + private Integer dElevation; + + public J2735NodeAttribute[] getLocalNode() { + return localNode; + } + + public void setLocalNode(J2735NodeAttribute[] localNode) { + this.localNode = localNode; + } + + public J2735SegmentAttribute[] getDisabled() { + return disabled; + } + + public void setDisabled(J2735SegmentAttribute[] disabled) { + this.disabled = disabled; + } + + public J2735SegmentAttribute[] getEnabled() { + return enabled; + } + + public void setEnabled(J2735SegmentAttribute[] enabled) { + this.enabled = enabled; + } + + public J2735LaneDataAttribute[] getData() { + return data; + } + + public void setData(J2735LaneDataAttribute[] data) { + this.data = data; + } + + public Integer getdWidth() { + return dWidth; + } + + public void setdWidth(Integer dWidth) { + this.dWidth = dWidth; + } + + public Integer getdElevation() { + return dElevation; + } + + public void setdElevation(Integer dElevation) { + this.dElevation = dElevation; + } + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeSetXY.java deleted file mode 100644 index 7c8ef06dd..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeSetXY.java +++ /dev/null @@ -1,65 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735NodeAttributeSetXY extends Asn1Object { - /** - * - */ - private static final long serialVersionUID = 1L; - private J2735NodeAttributeXYList localNode; - private J2735SegmentAttributeXYList disabled; - private J2735SegmentAttributeXYList enabled; - private J2735LaneDataAttributeList data; - private Integer dWidth; - private Integer dElevation; - - public J2735NodeAttributeXYList getLocalNode() { - return localNode; - } - - public void setLocalNode(J2735NodeAttributeXYList localNode) { - this.localNode = localNode; - } - - public J2735SegmentAttributeXYList getDisabled() { - return disabled; - } - - public void setDisabled(J2735SegmentAttributeXYList disabled) { - this.disabled = disabled; - } - - public J2735SegmentAttributeXYList getEnabled() { - return enabled; - } - - public void setEnabled(J2735SegmentAttributeXYList enabled) { - this.enabled = enabled; - } - - public J2735LaneDataAttributeList getData() { - return data; - } - - public void setData(J2735LaneDataAttributeList data) { - this.data = data; - } - - public Integer getdWidth() { - return dWidth; - } - - public void setdWidth(Integer dWidth) { - this.dWidth = dWidth; - } - - public Integer getdElevation() { - return dElevation; - } - - public void setdElevation(Integer dElevation) { - this.dElevation = dElevation; - } - -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeXY.java deleted file mode 100644 index f584e05a9..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeXY.java +++ /dev/null @@ -1,20 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735NodeAttributeXY extends Asn1Object { - /** - * - */ - private static final long serialVersionUID = 1L; - private J2735NodeAttribute nodeAttrList; - - public J2735NodeAttribute getNodeAttrList() { - return nodeAttrList; - } - - public void setNodeAttrList(J2735NodeAttribute nodeAttrList) { - this.nodeAttrList = nodeAttrList; - } - -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeXYList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeXYList.java deleted file mode 100644 index ab5e46e8f..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeAttributeXYList.java +++ /dev/null @@ -1,23 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import java.util.ArrayList; -import java.util.List; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735NodeAttributeXYList extends Asn1Object { - /** - * - */ - private static final long serialVersionUID = 1L; - private List localNode = new ArrayList<>(); - - public List getLocalNode() { - return localNode; - } - - public void setLocalNode(List localNode) { - this.localNode = localNode; - } - -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeLL.java new file mode 100644 index 000000000..4ac84417a --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeLL.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; + +public class J2735NodeLL extends Asn1Object { + private static final long serialVersionUID = 1L; + + private J2735NodeOffsetPointLL delta; + private J2735NodeAttributeSet attributes; + + public J2735NodeOffsetPointLL getDelta() { + return delta; + } + + public void setDelta(J2735NodeOffsetPointLL delta) { + this.delta = delta; + } + + public J2735NodeAttributeSet getAttributes() { + return attributes; + } + + public void setAttributes(J2735NodeAttributeSet attributes) { + this.attributes = attributes; + } + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListLL.java new file mode 100644 index 000000000..009650712 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListLL.java @@ -0,0 +1,17 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; + +public class J2735NodeListLL extends Asn1Object { + private static final long serialVersionUID = 1L; + + private J2735NodeLL[] nodes; + + public J2735NodeLL[] getNodes() { + return nodes; + } + + public void setNodes(J2735NodeLL[] nodes) { + this.nodes = nodes; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListXY.java index 9be72df3d..d0e2555c1 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListXY.java @@ -1,7 +1,5 @@ package us.dot.its.jpo.ode.plugin.j2735; -import com.fasterxml.jackson.annotation.JsonProperty; - import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; public class J2735NodeListXY extends Asn1Object { @@ -9,23 +7,22 @@ public class J2735NodeListXY extends Asn1Object { * */ private static final long serialVersionUID = 1L; - private J2735NodeSetXY nodes; - private J2735ComputedLane computed; + private J2735NodeXY[] nodes; + private J2735ComputedLane[] computed; - @JsonProperty("nodes") - public J2735NodeSetXY getNodes() { + public J2735NodeXY[] getNodes() { return nodes; } - public void setNodes(J2735NodeSetXY nodeList) { - this.nodes = nodeList; + public void setNodes(J2735NodeXY[] nodes) { + this.nodes = nodes; } - public J2735ComputedLane getComputed() { + public J2735ComputedLane[] getComputed() { return computed; } - public void setComputed(J2735ComputedLane computed) { + public void setComputed(J2735ComputedLane[] computed) { this.computed = computed; } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeOffsetPointLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeOffsetPointLL.java new file mode 100644 index 000000000..2465bbadb --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeOffsetPointLL.java @@ -0,0 +1,72 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; + +public class J2735NodeOffsetPointLL extends Asn1Object { + private static final long serialVersionUID = 1L; + + private J2735Node_LL nodeLL1; + private J2735Node_LL nodeLL2; + private J2735Node_LL nodeLL3; + private J2735Node_LL nodeLL4; + private J2735Node_LL nodeLL5; + private J2735Node_LL nodeLL6; + private J2735NodeLLmD64b nodeLatLon; + + public J2735Node_LL getNodeLL1() { + return nodeLL1; + } + + public void setNodeLL1(J2735Node_LL nodeLL1) { + this.nodeLL1 = nodeLL1; + } + + public J2735Node_LL getNodeLL2() { + return nodeLL2; + } + + public void setNodeLL2(J2735Node_LL nodeLL2) { + this.nodeLL2 = nodeLL2; + } + + public J2735Node_LL getNodeLL3() { + return nodeLL3; + } + + public void setNodeLL3(J2735Node_LL nodeLL3) { + this.nodeLL3 = nodeLL3; + } + + public J2735Node_LL getNodeLL4() { + return nodeLL4; + } + + public void setNodeLL4(J2735Node_LL nodeLL4) { + this.nodeLL4 = nodeLL4; + } + + public J2735Node_LL getNodeLL5() { + return nodeLL5; + } + + public void setNodeLL5(J2735Node_LL nodeLL5) { + this.nodeLL5 = nodeLL5; + } + + public J2735Node_LL getNodeLL6() { + return nodeLL6; + } + + public void setNodeLL6(J2735Node_LL nodeLL6) { + this.nodeLL6 = nodeLL6; + } + + public J2735NodeLLmD64b getNodeLatLon() { + return nodeLatLon; + } + + public void setNodeLatLon(J2735NodeLLmD64b nodeLatLon) { + this.nodeLatLon = nodeLatLon; + } + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeSetXY.java deleted file mode 100644 index 536814d54..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeSetXY.java +++ /dev/null @@ -1,25 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import java.util.ArrayList; -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonProperty; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735NodeSetXY extends Asn1Object { - /** - * - */ - private static final long serialVersionUID = 1L; - private List NodeXY = new ArrayList<>(); - - @JsonProperty("NodeXY") - public List getNodes() { - return NodeXY; - } - public void setNodes(List NodeXY) { - this.NodeXY = NodeXY; - } - -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeXY.java index 1de3ef308..4f03460ec 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeXY.java @@ -3,23 +3,24 @@ import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; public class J2735NodeXY extends Asn1Object { - /** - * - */ - private static final long serialVersionUID = 1L; - private J2735NodeOffsetPointXY delta ; - private J2735NodeAttributeSetXY attributes ; - public J2735NodeOffsetPointXY getDelta() { - return delta; - } - public void setDelta(J2735NodeOffsetPointXY delta) { - this.delta = delta; - } - public J2735NodeAttributeSetXY getAttributes() { - return attributes; - } - public void setAttributes(J2735NodeAttributeSetXY attributes) { - this.attributes = attributes; - } - + private static final long serialVersionUID = 1L; + + private J2735NodeOffsetPointXY delta; + private J2735NodeAttributeSet attributes; + + public J2735NodeOffsetPointXY getDelta() { + return delta; + } + + public void setDelta(J2735NodeOffsetPointXY delta) { + this.delta = delta; + } + + public J2735NodeAttributeSet getAttributes() { + return attributes; + } + + public void setAttributes(J2735NodeAttributeSet attributes) { + this.attributes = attributes; + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Node_LL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Node_LL.java new file mode 100644 index 000000000..fa3e18c36 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Node_LL.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright 2018 572682 + * + * 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 + * + * 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.plugin.j2735; + +import java.math.BigDecimal; + +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; + +public class J2735Node_LL extends Asn1Object { + private static final long serialVersionUID = 1L; + + private BigDecimal lon; + private BigDecimal lat; + + public J2735Node_LL() { + super(); + } + + public J2735Node_LL(BigDecimal lon, BigDecimal lat) { + super(); + this.lon = lon; + this.lat = lat; + } + + public BigDecimal getLon() { + return lon; + } + + public void setLon(BigDecimal lon) { + this.lon = lon; + } + + public BigDecimal getLat() { + return lat; + } + + public void setLat(BigDecimal lat) { + this.lat = lat; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Offset.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Offset.java new file mode 100644 index 000000000..788cdc71b --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Offset.java @@ -0,0 +1,26 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; + +public class J2735Offset extends Asn1Object { + private static final long serialVersionUID = 1L; + + private J2735NodeListXY xy; + private J2735NodeListLL ll; + + public J2735NodeListXY getXY() { + return xy; + } + + public void setXY(J2735NodeListXY xy) { + this.xy = xy; + } + + public J2735NodeListLL getLL() { + return ll; + } + + public void setLL(J2735NodeListLL ll) { + this.ll = ll; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735OffsetSystem.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735OffsetSystem.java new file mode 100644 index 000000000..186af2e1f --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735OffsetSystem.java @@ -0,0 +1,26 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; + +public class J2735OffsetSystem extends Asn1Object { + private static final long serialVersionUID = 1L; + + private int scale; + private J2735Offset offset; + + public int getScale() { + return scale; + } + + public void setScale(int scale) { + this.scale = scale; + } + + public J2735Offset getOffset() { + return offset; + } + + public void setOffset(J2735Offset offset) { + this.offset = offset; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735RoadSignId.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735RoadSignId.java new file mode 100644 index 000000000..c45059b70 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735RoadSignId.java @@ -0,0 +1,42 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; + +public class J2735RoadSignId extends Asn1Object { + private OdePosition3D position; + private String viewAngle; + private J2735MutcdCode mutcdCode; + private String crc; + + public OdePosition3D getPosition() { + return position; + } + + public void setPosition(OdePosition3D position) { + this.position = position; + } + + public String getViewAngle() { + return viewAngle; + } + + public void setViewAngle(String viewAngle) { + this.viewAngle = viewAngle; + } + + public J2735MutcdCode getMutcdCode() { + return mutcdCode; + } + + public void setMutcdCode(J2735MutcdCode mutcdCode) { + this.mutcdCode = mutcdCode; + } + + public String getCrc() { + return crc; + } + + public void setCrc(String crc) { + this.crc = crc; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735SegmentAttributeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735SegmentAttribute.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735SegmentAttributeXY.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735SegmentAttribute.java index dd8b41e92..6c6319f1f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735SegmentAttributeXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735SegmentAttribute.java @@ -1,6 +1,6 @@ package us.dot.its.jpo.ode.plugin.j2735; -public enum J2735SegmentAttributeXY { +public enum J2735SegmentAttribute { reserved , doNotBlock , whiteLine , diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735SegmentAttributeXYList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735SegmentAttributeXYList.java deleted file mode 100644 index eb4cbd207..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735SegmentAttributeXYList.java +++ /dev/null @@ -1,23 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import java.util.ArrayList; -import java.util.List; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735SegmentAttributeXYList extends Asn1Object { - /** - * - */ - private static final long serialVersionUID = 1L; - private List segAttrList = new ArrayList<>(); - - public List getSegAttrList() { - return segAttrList; - } - - public void setSegAttrList(List segAttrList) { - this.segAttrList = segAttrList; - } - -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Tim.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Tim.java new file mode 100644 index 000000000..3be7eb30d --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Tim.java @@ -0,0 +1,53 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; + +public class J2735Tim extends Asn1Object { + private static final long serialVersionUID = 1L; + + private String msgCnt; + private String timeStamp; + private String packetID; + private String urlB; + private J2735TravelerDataFrame[] dataFrames; + + public String getMsgCnt() { + return msgCnt; + } + + public void setMsgCnt(String msgCnt) { + this.msgCnt = msgCnt; + } + + public String getTimeStamp() { + return timeStamp; + } + + public void setTimeStamp(String timeStamp) { + this.timeStamp = timeStamp; + } + + public String getPacketID() { + return packetID; + } + + public void setPacketID(String packetID) { + this.packetID = packetID; + } + + public String getUrlB() { + return urlB; + } + + public void setUrlB(String urlB) { + this.urlB = urlB; + } + + public J2735TravelerDataFrame[] getDataFrames() { + return dataFrames; + } + + public void setDataFrames(J2735TravelerDataFrame[] dataFrames) { + this.dataFrames = dataFrames; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerDataFrame.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerDataFrame.java new file mode 100644 index 000000000..1093f1cc9 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerDataFrame.java @@ -0,0 +1,126 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; +import us.dot.its.jpo.ode.plugin.j2735.timstorage.Content; + +public class J2735TravelerDataFrame extends Asn1Object { + private static final long serialVersionUID = 1L; + + private String notUsed; + private J2735TravelerInfoType frameType; + private J2735MsgId msgId; + private String startYear; + private String startTime; + private String durationTime; + private String priority; + private String notUsed1; + private J2735GeographicalPath[] regions; + private String notUsed2; + private String notUsed3; + private Content content; + private String url; + + public String getNotUsed() { + return notUsed; + } + + public void setNotUsed(String notUsed) { + this.notUsed = notUsed; + } + + public J2735TravelerInfoType getFrameType() { + return frameType; + } + + public void setFrameType(J2735TravelerInfoType frameType) { + this.frameType = frameType; + } + + public J2735MsgId getMsgId() { + return msgId; + } + + public void setMsgId(J2735MsgId msgId) { + this.msgId = msgId; + } + + public String getStartYear() { + return startYear; + } + + public void setStartYear(String startYear) { + this.startYear = startYear; + } + + public String getStartTime() { + return startTime; + } + + public void setStartTime(String startTime) { + this.startTime = startTime; + } + + public String getDurationTime() { + return durationTime; + } + + public void setDurationTime(String durationTime) { + this.durationTime = durationTime; + } + + public String getPriority() { + return priority; + } + + public void setPriority(String priority) { + this.priority = priority; + } + + public String getNotUsed1() { + return notUsed1; + } + + public void setNotUsed1(String notUsed1) { + this.notUsed1 = notUsed1; + } + + public J2735GeographicalPath[] getRegions() { + return regions; + } + + public void setRegions(J2735GeographicalPath[] regions) { + this.regions = regions; + } + + public String getNotUsed2() { + return notUsed2; + } + + public void setNotUsed2(String notUsed2) { + this.notUsed2 = notUsed2; + } + + public String getNotUsed3() { + return notUsed3; + } + + public void setNotUsed3(String notUsed3) { + this.notUsed3 = notUsed3; + } + + public Content getContent() { + return content; + } + + public void setContent(Content content) { + this.content = content; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerInfoType.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerInfoType.java new file mode 100644 index 000000000..016f9b1d1 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerInfoType.java @@ -0,0 +1,8 @@ +package us.dot.its.jpo.ode.plugin.j2735; + +public enum J2735TravelerInfoType { + unknown, + advisory, + roadSignage, + commercialSignage, +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/ComputedLaneBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/ComputedLaneBuilder.java new file mode 100644 index 000000000..d143367f3 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/ComputedLaneBuilder.java @@ -0,0 +1,55 @@ +package us.dot.its.jpo.ode.plugin.j2735.builders; + +import com.fasterxml.jackson.databind.JsonNode; + +import us.dot.its.jpo.ode.plugin.j2735.J2735ComputedLane; + +public class ComputedLaneBuilder { + private ComputedLaneBuilder() { + throw new UnsupportedOperationException(); + } + + public static J2735ComputedLane genericComputedLane(JsonNode computed) { + J2735ComputedLane computedLane = new J2735ComputedLane(); + + JsonNode referenceLaneId = computed.get("referenceLaneId"); + if (referenceLaneId != null) { + computedLane.setReferenceLaneId(referenceLaneId.asInt()); + } + + JsonNode offsetXaxis = computed.get("offsetXaxis"); + if (offsetXaxis != null) { + if (offsetXaxis.get("small") != null) { + computedLane.setOffsetXaxis(offsetXaxis.get("small").asInt()); + } else if (offsetXaxis.get("large") != null) { + computedLane.setOffsetXaxis(offsetXaxis.get("large").asInt()); + } + } + + JsonNode offsetYaxis = computed.get("offsetYaxis"); + if (offsetYaxis != null) { + if (offsetYaxis.get("small") != null) { + computedLane.setOffsetYaxis(offsetYaxis.get("small").asInt()); + } else if (offsetYaxis.get("large") != null) { + computedLane.setOffsetYaxis(offsetYaxis.get("large").asInt()); + } + } + + JsonNode rotateXY = computed.get("rotateXY"); + if (rotateXY != null) { + computedLane.setRotateXY(rotateXY.asInt()); + } + + JsonNode scaleXaxis = computed.get("scaleXaxis"); + if (scaleXaxis != null) { + computedLane.setScaleXaxis(scaleXaxis.asInt()); + } + + JsonNode scaleYaxis = computed.get("scaleYaxis"); + if (scaleYaxis != null) { + computedLane.setScaleYaxis(scaleYaxis.asInt()); + } + + return computedLane; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/GenericLaneBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/GenericLaneBuilder.java index 30d6eaf59..d7dd7ec10 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/GenericLaneBuilder.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/GenericLaneBuilder.java @@ -106,7 +106,7 @@ public static J2735GenericLane genericGenericLane(JsonNode laneSetNode) { JsonNode nodeList = laneSetNode.get("nodeList"); if (nodeList != null) { - genericLane.setNodeList(NodeListBuilder.genericNodeList(nodeList)); + genericLane.setNodeList(NodeListXYBuilder.genericNodeListXY(nodeList)); } JsonNode connectsTo = laneSetNode.get("connectsTo"); diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/GeographicalPathBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/GeographicalPathBuilder.java new file mode 100644 index 000000000..b5e6045ba --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/GeographicalPathBuilder.java @@ -0,0 +1,89 @@ +package us.dot.its.jpo.ode.plugin.j2735.builders; + +import com.fasterxml.jackson.databind.JsonNode; + +import us.dot.its.jpo.ode.plugin.j2735.DsrcPosition3D; +import us.dot.its.jpo.ode.plugin.j2735.J2735Description; +import us.dot.its.jpo.ode.plugin.j2735.J2735DirectionOfUse; +import us.dot.its.jpo.ode.plugin.j2735.J2735GeographicalPath; +import us.dot.its.jpo.ode.plugin.j2735.J2735RoadSegmentReferenceID; + +public class GeographicalPathBuilder { + private GeographicalPathBuilder() { + throw new UnsupportedOperationException(); + } + + public static J2735GeographicalPath genericGeographicalPath(JsonNode geographicalPath) { + J2735GeographicalPath genericGeographicalPath = new J2735GeographicalPath(); + + JsonNode name = geographicalPath.get("name"); + if (name != null) { + genericGeographicalPath.setName(name.asText()); + } + + JsonNode id = geographicalPath.get("id"); + if (id != null) { + J2735RoadSegmentReferenceID idObj = new J2735RoadSegmentReferenceID(); + + JsonNode idRegion = id.get("region"); + if (idRegion != null) { + idObj.setRegion(idRegion.asInt()); + } + + JsonNode idId = id.get("id"); + if (idId != null) { + idObj.setId(idId.asInt()); + } + + genericGeographicalPath.setId(idObj); + } + + JsonNode anchor = geographicalPath.get("anchor"); + if (anchor != null) { + DsrcPosition3D dsrcPosition3d = Position3DBuilder.dsrcPosition3D(anchor); + genericGeographicalPath.setAnchor(Position3DBuilder.odePosition3D(dsrcPosition3d)); + } + + JsonNode laneWidth = geographicalPath.get("laneWidth"); + if (laneWidth != null) { + genericGeographicalPath.setLaneWidth(laneWidth.asInt()); + } + + JsonNode directionality = geographicalPath.get("directionality"); + if (directionality != null) { + String directionalityValue = directionality.fields().next().getKey(); + genericGeographicalPath.setDirectionality(J2735DirectionOfUse.valueOf(directionalityValue)); + } + + JsonNode closedPath = geographicalPath.get("closedPath"); + if (closedPath != null) { + boolean closedPathValue = "true".equals(closedPath.fields().next().getKey()); + genericGeographicalPath.setClosedPath(closedPathValue); + } + + JsonNode description = geographicalPath.get("description"); + if (description != null) { + J2735Description descriptionObj = new J2735Description(); + + JsonNode path = description.get("path"); + if (path != null) { + descriptionObj.setPath(OffsetSystemBuilder.genericOffsetSystem(path)); + } + + JsonNode geometry = description.get("geometry"); + if (geometry != null) { + // RoadSignIdBuilder.genericRoadSignId(roadSignID) + descriptionObj.setGeometry(null); + } + + JsonNode oldRegion = description.get("oldRegion"); + if (oldRegion != null) { + descriptionObj.setOldRegion(null); + } + + genericGeographicalPath.setDescription(descriptionObj); + } + + return genericGeographicalPath; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/LaneDataAttributeBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/LaneDataAttributeBuilder.java new file mode 100644 index 000000000..072f66bf8 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/LaneDataAttributeBuilder.java @@ -0,0 +1,47 @@ +package us.dot.its.jpo.ode.plugin.j2735.builders; + +import com.fasterxml.jackson.databind.JsonNode; + +import us.dot.its.jpo.ode.plugin.j2735.J2735LaneDataAttribute; + +public class LaneDataAttributeBuilder { + private LaneDataAttributeBuilder() { + throw new UnsupportedOperationException(); + } + + public static J2735LaneDataAttribute genericLaneDataAttribute(JsonNode data) { + J2735LaneDataAttribute laneDataAttribute = new J2735LaneDataAttribute(); + + JsonNode pathEndPointAngle = data.get("pathEndPointAngle"); + if (pathEndPointAngle != null) { + laneDataAttribute.setPathEndPointAngle(pathEndPointAngle.asInt()); + } + + JsonNode laneCrownPointCenter = data.get("laneCrownPointCenter"); + if (laneCrownPointCenter != null) { + laneDataAttribute.setLaneCrownPointCenter(laneCrownPointCenter.asInt()); + } + + JsonNode laneCrownPointLeft = data.get("laneCrownPointLeft"); + if (laneCrownPointLeft != null) { + laneDataAttribute.setLaneCrownPointLeft(laneCrownPointLeft.asInt()); + } + + JsonNode laneCrownPointRight = data.get("laneCrownPointRight"); + if (laneCrownPointRight != null) { + laneDataAttribute.setLaneCrownPointRight(laneCrownPointRight.asInt()); + } + + JsonNode laneAngle = data.get("laneAngle"); + if (laneAngle != null) { + laneDataAttribute.setLaneAngle(laneAngle.asInt()); + } + + JsonNode speedLimits = data.get("speedLimits"); + if (speedLimits != null) { + laneDataAttribute.setSpeedLimits(SpeedLimitListBuilder.genericSpeedLimitList(speedLimits)); + } + + return laneDataAttribute; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeBuilder.java deleted file mode 100644 index 2516205a4..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeBuilder.java +++ /dev/null @@ -1,89 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735.builders; - -import java.math.BigDecimal; - -import com.fasterxml.jackson.databind.JsonNode; - -import us.dot.its.jpo.ode.plugin.j2735.J2735NodeLLmD64b; -import us.dot.its.jpo.ode.plugin.j2735.J2735NodeOffsetPointXY; -import us.dot.its.jpo.ode.plugin.j2735.J2735NodeXY; -import us.dot.its.jpo.ode.plugin.j2735.J2735Node_XY; -import us.dot.its.jpo.ode.plugin.j2735.J2735NodeAttributeSetXY; - - -public class NodeBuilder { - - public static J2735NodeXY genericNode(JsonNode NodeJson) { - J2735NodeXY nodeXY = new J2735NodeXY(); - if (NodeJson.get("delta") != null) { - J2735NodeOffsetPointXY pointoffsetXY = new J2735NodeOffsetPointXY(); - JsonNode NodeOffsetNode = NodeJson.get("delta"); - if(NodeOffsetNode.get("node-XY1") != null) - { - BigDecimal x =BigDecimal.valueOf( NodeOffsetNode.get("node-XY1").get("x").asInt()); - BigDecimal y =BigDecimal.valueOf( NodeOffsetNode.get("node-XY1").get("y").asInt()); - J2735Node_XY point = new J2735Node_XY(x,y); - pointoffsetXY.setNodeXY1(point); - } - if(NodeOffsetNode.get("node-XY2") != null) - { - BigDecimal x =BigDecimal.valueOf( NodeOffsetNode.get("node-XY2").get("x").asInt()); - BigDecimal y =BigDecimal.valueOf( NodeOffsetNode.get("node-XY2").get("y").asInt()); - J2735Node_XY point = new J2735Node_XY(x,y); - pointoffsetXY.setNodeXY2(point); - } - if(NodeOffsetNode.get("node-XY3") != null) - { - BigDecimal x =BigDecimal.valueOf( NodeOffsetNode.get("node-XY3").get("x").asInt()); - BigDecimal y =BigDecimal.valueOf( NodeOffsetNode.get("node-XY3").get("y").asInt()); - J2735Node_XY point = new J2735Node_XY(x,y); - pointoffsetXY.setNodeXY3(point); - } - if(NodeOffsetNode.get("node-XY4") != null) - { - BigDecimal x =BigDecimal.valueOf( NodeOffsetNode.get("node-XY4").get("x").asInt()); - BigDecimal y =BigDecimal.valueOf( NodeOffsetNode.get("node-XY4").get("y").asInt()); - J2735Node_XY point = new J2735Node_XY(x,y); - pointoffsetXY.setNodeXY4(point); - } - if(NodeOffsetNode.get("node-XY5") != null) - { - BigDecimal x =BigDecimal.valueOf( NodeOffsetNode.get("node-XY5").get("x").asInt()); - BigDecimal y =BigDecimal.valueOf( NodeOffsetNode.get("node-XY5").get("y").asInt()); - J2735Node_XY point = new J2735Node_XY(x,y); - pointoffsetXY.setNodeXY5(point); - } - if(NodeOffsetNode.get("node-XY6") != null) - { - BigDecimal x =BigDecimal.valueOf( NodeOffsetNode.get("node-XY6").get("x").asInt()); - BigDecimal y =BigDecimal.valueOf( NodeOffsetNode.get("node-XY6").get("y").asInt()); - J2735Node_XY point = new J2735Node_XY(x,y); - pointoffsetXY.setNodeXY6(point); - } - if(NodeOffsetNode.get("node-LatLon") != null) - { - BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LatLon").get("lon").asInt()); - BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LatLon").get("lat").asInt()); - J2735NodeLLmD64b point = new J2735NodeLLmD64b(lon,lat); - pointoffsetXY.setNodeLatLon(point); - } - nodeXY.setDelta(pointoffsetXY); - } - - if (NodeJson.get("attributes") != null) { - J2735NodeAttributeSetXY attributeSetXY = new J2735NodeAttributeSetXY(); - JsonNode attributes = NodeJson.get("attributes"); - - // TODO: finish attributes with all of the lists - - if(attributes.get("dElevation") != null) - { - attributeSetXY.setdElevation(attributes.get("dElevation").asInt()); - } - - nodeXY.setAttributes(attributeSetXY); - } - return nodeXY; - } - -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeLLBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeLLBuilder.java new file mode 100644 index 000000000..3d96b68c2 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeLLBuilder.java @@ -0,0 +1,185 @@ +package us.dot.its.jpo.ode.plugin.j2735.builders; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import com.fasterxml.jackson.databind.JsonNode; + +import us.dot.its.jpo.ode.plugin.j2735.J2735LaneDataAttribute; +import us.dot.its.jpo.ode.plugin.j2735.J2735NodeAttribute; +import us.dot.its.jpo.ode.plugin.j2735.J2735NodeAttributeSet; +import us.dot.its.jpo.ode.plugin.j2735.J2735NodeLL; +import us.dot.its.jpo.ode.plugin.j2735.J2735NodeLLmD64b; +import us.dot.its.jpo.ode.plugin.j2735.J2735NodeOffsetPointLL; +import us.dot.its.jpo.ode.plugin.j2735.J2735Node_LL; +import us.dot.its.jpo.ode.plugin.j2735.J2735SegmentAttribute; + +public class NodeLLBuilder { + private NodeLLBuilder() { + throw new UnsupportedOperationException(); + } + + public static J2735NodeLL genericNodeLL(JsonNode NodeJson) { + J2735NodeLL nodeLL = new J2735NodeLL(); + if (NodeJson.get("delta") != null) { + J2735NodeOffsetPointLL pointoffsetLL = new J2735NodeOffsetPointLL(); + JsonNode NodeOffsetNode = NodeJson.get("delta"); + if(NodeOffsetNode.get("node-LL1") != null) + { + BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LL1").get("lon").asInt()); + BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LL1").get("lat").asInt()); + J2735Node_LL point = new J2735Node_LL(lon,lat); + pointoffsetLL.setNodeLL1(point); + } + if(NodeOffsetNode.get("node-LL2") != null) + { + BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LL2").get("lon").asInt()); + BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LL2").get("lat").asInt()); + J2735Node_LL point = new J2735Node_LL(lon,lat); + pointoffsetLL.setNodeLL2(point); + } + if(NodeOffsetNode.get("node-LL3") != null) + { + BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LL3").get("lon").asInt()); + BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LL3").get("lat").asInt()); + J2735Node_LL point = new J2735Node_LL(lon,lat); + pointoffsetLL.setNodeLL3(point); + } + if(NodeOffsetNode.get("node-LL4") != null) + { + BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LL4").get("lon").asInt()); + BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LL4").get("lat").asInt()); + J2735Node_LL point = new J2735Node_LL(lon,lat); + pointoffsetLL.setNodeLL4(point); + } + if(NodeOffsetNode.get("node-LL5") != null) + { + BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LL5").get("lon").asInt()); + BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LL5").get("lat").asInt()); + J2735Node_LL point = new J2735Node_LL(lon,lat); + pointoffsetLL.setNodeLL5(point); + } + if(NodeOffsetNode.get("node-LL6") != null) + { + BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LL6").get("lon").asInt()); + BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LL6").get("lat").asInt()); + J2735Node_LL point = new J2735Node_LL(lon,lat); + pointoffsetLL.setNodeLL6(point); + } + if(NodeOffsetNode.get("node-LatLon") != null) + { + BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LatLon").get("lon").asInt()); + BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LatLon").get("lat").asInt()); + J2735NodeLLmD64b point = new J2735NodeLLmD64b(lon,lat); + pointoffsetLL.setNodeLatLon(point); + } + nodeLL.setDelta(pointoffsetLL); + } + + if (NodeJson.get("attributes") != null) { + J2735NodeAttributeSet attributeSet = new J2735NodeAttributeSet(); + JsonNode attributes = NodeJson.get("attributes"); + + JsonNode localNode = attributes.get("localNode"); + if (localNode != null) { + JsonNode nodeAttributeLL = localNode.get("NodeAttributeLL"); + if (nodeAttributeLL != null) { + List naList = new ArrayList<>(); + + if (nodeAttributeLL.isArray()) { + Iterator elements = nodeAttributeLL.elements(); + + while (elements.hasNext()) { + String nodeAttributeValue = elements.next().fields().next().getKey(); + naList.add(J2735NodeAttribute.valueOf(nodeAttributeValue)); + } + } else { + String nodeAttributeValue = nodeAttributeLL.fields().next().getKey(); + naList.add(J2735NodeAttribute.valueOf(nodeAttributeValue)); + } + + attributeSet.setLocalNode(naList.toArray(new J2735NodeAttribute[0])); + } + } + + JsonNode disabled = attributes.get("disabled"); + if (disabled != null) { + JsonNode segmentAttributeLL = disabled.get("SegmentAttributeLL"); + if (segmentAttributeLL != null) { + List saList = new ArrayList<>(); + + if (segmentAttributeLL.isArray()) { + Iterator elements = segmentAttributeLL.elements(); + + while (elements.hasNext()) { + String segmentAttributeValue = elements.next().fields().next().getKey(); + saList.add(J2735SegmentAttribute.valueOf(segmentAttributeValue)); + } + } else { + String segmentAttributeValue = segmentAttributeLL.fields().next().getKey(); + saList.add(J2735SegmentAttribute.valueOf(segmentAttributeValue)); + } + + attributeSet.setDisabled(saList.toArray(new J2735SegmentAttribute[0])); + } + } + + JsonNode enabled = attributes.get("enabled"); + if (enabled != null) { + JsonNode segmentAttributeLL = enabled.get("SegmentAttributeLL"); + if (segmentAttributeLL != null) { + List saList = new ArrayList<>(); + + if (segmentAttributeLL.isArray()) { + Iterator elements = segmentAttributeLL.elements(); + + while (elements.hasNext()) { + String segmentAttributeValue = elements.next().fields().next().getKey(); + saList.add(J2735SegmentAttribute.valueOf(segmentAttributeValue)); + } + } else { + String segmentAttributeValue = segmentAttributeLL.fields().next().getKey(); + saList.add(J2735SegmentAttribute.valueOf(segmentAttributeValue)); + } + + attributeSet.setEnabled(saList.toArray(new J2735SegmentAttribute[0])); + } + } + + JsonNode data = attributes.get("data"); + if (data != null) { + JsonNode laneDataAttribute = data.get("LaneDataAttribute"); + if (laneDataAttribute != null) { + List ldaList = new ArrayList<>(); + + if (laneDataAttribute.isArray()) { + Iterator elements = laneDataAttribute.elements(); + + while (elements.hasNext()) { + ldaList.add(LaneDataAttributeBuilder.genericLaneDataAttribute(elements.next())); + } + } else { + ldaList.add(LaneDataAttributeBuilder.genericLaneDataAttribute(laneDataAttribute)); + } + + attributeSet.setData(ldaList.toArray(new J2735LaneDataAttribute[0])); + } + } + + if(attributes.get("dWidth") != null) + { + attributeSet.setdWidth(attributes.get("dWidth").asInt()); + } + + if(attributes.get("dElevation") != null) + { + attributeSet.setdElevation(attributes.get("dElevation").asInt()); + } + + nodeLL.setAttributes(attributeSet); + } + return nodeLL; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListBuilder.java deleted file mode 100644 index 264aa6f89..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListBuilder.java +++ /dev/null @@ -1,40 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735.builders; - -import java.util.Iterator; - -import com.fasterxml.jackson.databind.JsonNode; - -import us.dot.its.jpo.ode.plugin.j2735.J2735NodeListXY; -import us.dot.its.jpo.ode.plugin.j2735.J2735NodeSetXY; - -public class NodeListBuilder { - private NodeListBuilder() { - throw new UnsupportedOperationException(); - } - - public static J2735NodeListXY genericNodeList(JsonNode nodeListNode) { - J2735NodeListXY nodeList = new J2735NodeListXY(); - - if (nodeListNode.get("nodes") != null) { - J2735NodeSetXY nodeSet = new J2735NodeSetXY(); - - JsonNode nodeXY = nodeListNode.get("nodes").get("NodeXY"); - if (nodeXY != null && nodeXY.isArray()) { - Iterator elements = nodeXY.elements(); - - while (elements.hasNext()) { - nodeSet.getNodes().add(NodeBuilder.genericNode(elements.next())); - } - } else if (nodeXY != null) { - nodeSet.getNodes().add(NodeBuilder.genericNode(nodeXY)); - } - - nodeList.setNodes(nodeSet); - } else if (nodeListNode.get("computed") != null) { - // TODO - } - - return nodeList; - } - -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListLLBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListLLBuilder.java new file mode 100644 index 000000000..949266536 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListLLBuilder.java @@ -0,0 +1,41 @@ +package us.dot.its.jpo.ode.plugin.j2735.builders; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import com.fasterxml.jackson.databind.JsonNode; + +import us.dot.its.jpo.ode.plugin.j2735.J2735NodeLL; +import us.dot.its.jpo.ode.plugin.j2735.J2735NodeListLL; + +public class NodeListLLBuilder { + private NodeListLLBuilder() { + throw new UnsupportedOperationException(); + } + + public static J2735NodeListLL genericNodeListLL(JsonNode nodeListNode) { + J2735NodeListLL nodeList = new J2735NodeListLL(); + + if (nodeListNode.get("nodes") != null) { + JsonNode nodeLL = nodeListNode.get("nodes").get("NodeLL"); + if (nodeLL != null) { + List nllList = new ArrayList<>(); + + if (nodeLL.isArray()) { + Iterator elements = nodeLL.elements(); + + while (elements.hasNext()) { + nllList.add(NodeLLBuilder.genericNodeLL(elements.next())); + } + } else { + nllList.add(NodeLLBuilder.genericNodeLL(nodeLL)); + } + + nodeList.setNodes(nllList.toArray(new J2735NodeLL[0])); + } + } + + return nodeList; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListXYBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListXYBuilder.java new file mode 100644 index 000000000..fa981e56c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListXYBuilder.java @@ -0,0 +1,60 @@ +package us.dot.its.jpo.ode.plugin.j2735.builders; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import com.fasterxml.jackson.databind.JsonNode; + +import us.dot.its.jpo.ode.plugin.j2735.J2735ComputedLane; +import us.dot.its.jpo.ode.plugin.j2735.J2735NodeListXY; +import us.dot.its.jpo.ode.plugin.j2735.J2735NodeXY; + +public class NodeListXYBuilder { + private NodeListXYBuilder() { + throw new UnsupportedOperationException(); + } + + public static J2735NodeListXY genericNodeListXY(JsonNode nodeListNode) { + J2735NodeListXY nodeList = new J2735NodeListXY(); + + if (nodeListNode.get("nodes") != null) { + JsonNode nodeXY = nodeListNode.get("nodes").get("NodeXY"); + if (nodeXY != null) { + List nxyList = new ArrayList<>(); + + if (nodeXY.isArray()) { + Iterator elements = nodeXY.elements(); + + while (elements.hasNext()) { + nxyList.add(NodeXYBuilder.genericNodeXY(elements.next())); + } + } else { + nxyList.add(NodeXYBuilder.genericNodeXY(nodeXY)); + } + + nodeList.setNodes(nxyList.toArray(new J2735NodeXY[0])); + } + } else if (nodeListNode.get("computed") != null) { + JsonNode computedLane = nodeListNode.get("computed").get("ComputedLane"); + if (computedLane != null) { + List clList = new ArrayList<>(); + + if (computedLane.isArray()) { + Iterator elements = computedLane.elements(); + + while (elements.hasNext()) { + clList.add(ComputedLaneBuilder.genericComputedLane(elements.next())); + } + } else { + clList.add(ComputedLaneBuilder.genericComputedLane(computedLane)); + } + + nodeList.setComputed(clList.toArray(new J2735ComputedLane[0])); + } + } + + return nodeList; + } + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeXYBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeXYBuilder.java new file mode 100644 index 000000000..a17da3c71 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeXYBuilder.java @@ -0,0 +1,187 @@ +package us.dot.its.jpo.ode.plugin.j2735.builders; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import com.fasterxml.jackson.databind.JsonNode; + +import us.dot.its.jpo.ode.plugin.j2735.J2735NodeLLmD64b; +import us.dot.its.jpo.ode.plugin.j2735.J2735NodeOffsetPointXY; +import us.dot.its.jpo.ode.plugin.j2735.J2735NodeXY; +import us.dot.its.jpo.ode.plugin.j2735.J2735Node_XY; +import us.dot.its.jpo.ode.plugin.j2735.J2735SegmentAttribute; +import us.dot.its.jpo.ode.plugin.j2735.J2735LaneDataAttribute; +import us.dot.its.jpo.ode.plugin.j2735.J2735NodeAttribute; +import us.dot.its.jpo.ode.plugin.j2735.J2735NodeAttributeSet; + + +public class NodeXYBuilder { + private NodeXYBuilder() { + throw new UnsupportedOperationException(); + } + + public static J2735NodeXY genericNodeXY(JsonNode NodeJson) { + J2735NodeXY nodeXY = new J2735NodeXY(); + if (NodeJson.get("delta") != null) { + J2735NodeOffsetPointXY pointoffsetXY = new J2735NodeOffsetPointXY(); + JsonNode NodeOffsetNode = NodeJson.get("delta"); + if(NodeOffsetNode.get("node-XY1") != null) + { + BigDecimal x =BigDecimal.valueOf( NodeOffsetNode.get("node-XY1").get("x").asInt()); + BigDecimal y =BigDecimal.valueOf( NodeOffsetNode.get("node-XY1").get("y").asInt()); + J2735Node_XY point = new J2735Node_XY(x,y); + pointoffsetXY.setNodeXY1(point); + } + if(NodeOffsetNode.get("node-XY2") != null) + { + BigDecimal x =BigDecimal.valueOf( NodeOffsetNode.get("node-XY2").get("x").asInt()); + BigDecimal y =BigDecimal.valueOf( NodeOffsetNode.get("node-XY2").get("y").asInt()); + J2735Node_XY point = new J2735Node_XY(x,y); + pointoffsetXY.setNodeXY2(point); + } + if(NodeOffsetNode.get("node-XY3") != null) + { + BigDecimal x =BigDecimal.valueOf( NodeOffsetNode.get("node-XY3").get("x").asInt()); + BigDecimal y =BigDecimal.valueOf( NodeOffsetNode.get("node-XY3").get("y").asInt()); + J2735Node_XY point = new J2735Node_XY(x,y); + pointoffsetXY.setNodeXY3(point); + } + if(NodeOffsetNode.get("node-XY4") != null) + { + BigDecimal x =BigDecimal.valueOf( NodeOffsetNode.get("node-XY4").get("x").asInt()); + BigDecimal y =BigDecimal.valueOf( NodeOffsetNode.get("node-XY4").get("y").asInt()); + J2735Node_XY point = new J2735Node_XY(x,y); + pointoffsetXY.setNodeXY4(point); + } + if(NodeOffsetNode.get("node-XY5") != null) + { + BigDecimal x =BigDecimal.valueOf( NodeOffsetNode.get("node-XY5").get("x").asInt()); + BigDecimal y =BigDecimal.valueOf( NodeOffsetNode.get("node-XY5").get("y").asInt()); + J2735Node_XY point = new J2735Node_XY(x,y); + pointoffsetXY.setNodeXY5(point); + } + if(NodeOffsetNode.get("node-XY6") != null) + { + BigDecimal x =BigDecimal.valueOf( NodeOffsetNode.get("node-XY6").get("x").asInt()); + BigDecimal y =BigDecimal.valueOf( NodeOffsetNode.get("node-XY6").get("y").asInt()); + J2735Node_XY point = new J2735Node_XY(x,y); + pointoffsetXY.setNodeXY6(point); + } + if(NodeOffsetNode.get("node-LatLon") != null) + { + BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LatLon").get("lon").asInt()); + BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LatLon").get("lat").asInt()); + J2735NodeLLmD64b point = new J2735NodeLLmD64b(lon,lat); + pointoffsetXY.setNodeLatLon(point); + } + nodeXY.setDelta(pointoffsetXY); + } + + if (NodeJson.get("attributes") != null) { + J2735NodeAttributeSet attributeSet = new J2735NodeAttributeSet(); + JsonNode attributes = NodeJson.get("attributes"); + + JsonNode localNode = attributes.get("localNode"); + if (localNode != null) { + JsonNode nodeAttributeXY = localNode.get("NodeAttributeXY"); + if (nodeAttributeXY != null) { + List naList = new ArrayList<>(); + + if (nodeAttributeXY.isArray()) { + Iterator elements = nodeAttributeXY.elements(); + + while (elements.hasNext()) { + String nodeAttributeValue = elements.next().fields().next().getKey(); + naList.add(J2735NodeAttribute.valueOf(nodeAttributeValue)); + } + } else { + String nodeAttributeValue = nodeAttributeXY.fields().next().getKey(); + naList.add(J2735NodeAttribute.valueOf(nodeAttributeValue)); + } + + attributeSet.setLocalNode(naList.toArray(new J2735NodeAttribute[0])); + } + } + + JsonNode disabled = attributes.get("disabled"); + if (disabled != null) { + JsonNode segmentAttributeXY = disabled.get("SegmentAttributeXY"); + if (segmentAttributeXY != null) { + List saList = new ArrayList<>(); + + if (segmentAttributeXY.isArray()) { + Iterator elements = segmentAttributeXY.elements(); + + while (elements.hasNext()) { + String segmentAttributeValue = elements.next().fields().next().getKey(); + saList.add(J2735SegmentAttribute.valueOf(segmentAttributeValue)); + } + } else { + String segmentAttributeValue = segmentAttributeXY.fields().next().getKey(); + saList.add(J2735SegmentAttribute.valueOf(segmentAttributeValue)); + } + + attributeSet.setDisabled(saList.toArray(new J2735SegmentAttribute[0])); + } + } + + JsonNode enabled = attributes.get("enabled"); + if (enabled != null) { + JsonNode segmentAttributeXY = enabled.get("SegmentAttributeXY"); + if (segmentAttributeXY != null) { + List saList = new ArrayList<>(); + + if (segmentAttributeXY.isArray()) { + Iterator elements = segmentAttributeXY.elements(); + + while (elements.hasNext()) { + String segmentAttributeValue = elements.next().fields().next().getKey(); + saList.add(J2735SegmentAttribute.valueOf(segmentAttributeValue)); + } + } else { + String segmentAttributeValue = segmentAttributeXY.fields().next().getKey(); + saList.add(J2735SegmentAttribute.valueOf(segmentAttributeValue)); + } + + attributeSet.setEnabled(saList.toArray(new J2735SegmentAttribute[0])); + } + } + + JsonNode data = attributes.get("data"); + if (data != null) { + JsonNode laneDataAttribute = data.get("LaneDataAttribute"); + if (laneDataAttribute != null) { + List ldaList = new ArrayList<>(); + + if (laneDataAttribute.isArray()) { + Iterator elements = laneDataAttribute.elements(); + + while (elements.hasNext()) { + ldaList.add(LaneDataAttributeBuilder.genericLaneDataAttribute(elements.next())); + } + } else { + ldaList.add(LaneDataAttributeBuilder.genericLaneDataAttribute(laneDataAttribute)); + } + + attributeSet.setData(ldaList.toArray(new J2735LaneDataAttribute[0])); + } + } + + if(attributes.get("dWidth") != null) + { + attributeSet.setdWidth(attributes.get("dWidth").asInt()); + } + + if(attributes.get("dElevation") != null) + { + attributeSet.setdElevation(attributes.get("dElevation").asInt()); + } + + nodeXY.setAttributes(attributeSet); + } + return nodeXY; + } + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/OffsetSystemBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/OffsetSystemBuilder.java new file mode 100644 index 000000000..5fb86c895 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/OffsetSystemBuilder.java @@ -0,0 +1,39 @@ +package us.dot.its.jpo.ode.plugin.j2735.builders; + +import com.fasterxml.jackson.databind.JsonNode; + +import us.dot.its.jpo.ode.plugin.j2735.J2735Offset; +import us.dot.its.jpo.ode.plugin.j2735.J2735OffsetSystem; + +public class OffsetSystemBuilder { + private OffsetSystemBuilder() { + throw new UnsupportedOperationException(); + } + + public static J2735OffsetSystem genericOffsetSystem(JsonNode offsetSystem) { + J2735OffsetSystem genericOffsetSystem = new J2735OffsetSystem(); + + JsonNode scale = offsetSystem.get("scale"); + if (scale != null) { + genericOffsetSystem.setScale(scale.asInt()); + } + + JsonNode offset = offsetSystem.get("offset"); + if (offset != null) { + J2735Offset offsetObj = new J2735Offset(); + + JsonNode xy = offset.get("xy"); + JsonNode ll = offset.get("ll"); + + if (xy != null) { + offsetObj.setXY(NodeListXYBuilder.genericNodeListXY(xy)); + } else if (ll != null) { + offsetObj.setLL(NodeListLLBuilder.genericNodeListLL(ll)); + } + + genericOffsetSystem.setOffset(offsetObj); + } + + return genericOffsetSystem; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/Position3DBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/Position3DBuilder.java index 034bef985..7a9b2146b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/Position3DBuilder.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/Position3DBuilder.java @@ -36,7 +36,10 @@ private Position3DBuilder() { public static DsrcPosition3D dsrcPosition3D(JsonNode pos) { Long latitude = pos.get("lat").asLong(); Long longitude = pos.get("long").asLong(); - Long elevation = pos.get(ELEVATION).asLong(); + Long elevation = null; + if (pos.get(ELEVATION) != null) { + elevation = pos.get(ELEVATION).asLong(); + } return new DsrcPosition3D(latitude, longitude, elevation); diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/RoadSignIdBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/RoadSignIdBuilder.java new file mode 100644 index 000000000..0ec65cca6 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/RoadSignIdBuilder.java @@ -0,0 +1,41 @@ +package us.dot.its.jpo.ode.plugin.j2735.builders; + +import com.fasterxml.jackson.databind.JsonNode; + +import us.dot.its.jpo.ode.plugin.j2735.DsrcPosition3D; +import us.dot.its.jpo.ode.plugin.j2735.J2735MutcdCode; +import us.dot.its.jpo.ode.plugin.j2735.J2735RoadSignId; + +public class RoadSignIdBuilder { + private RoadSignIdBuilder() { + throw new UnsupportedOperationException(); + } + + public static J2735RoadSignId genericRoadSignId(JsonNode roadSignId) { + J2735RoadSignId genericRoadSignId = new J2735RoadSignId(); + + JsonNode position = roadSignId.get("position"); + if (position != null) { + DsrcPosition3D dsrcPosition3d = Position3DBuilder.dsrcPosition3D(position); + genericRoadSignId.setPosition(Position3DBuilder.odePosition3D(dsrcPosition3d)); + } + + JsonNode viewAngle = roadSignId.get("viewAngle"); + if (viewAngle != null) { + genericRoadSignId.setViewAngle(viewAngle.asText()); + } + + JsonNode mutcdCode = roadSignId.get("mutcdCode"); + if (mutcdCode != null) { + String mutcdCodeValue = mutcdCode.fields().next().getKey(); + genericRoadSignId.setMutcdCode(J2735MutcdCode.valueOf(mutcdCodeValue)); + } + + JsonNode crc = roadSignId.get("crc"); + if (crc != null) { + genericRoadSignId.setCrc(crc.asText()); + } + + return genericRoadSignId; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TIMBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TIMBuilder.java new file mode 100644 index 000000000..26bd1a627 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TIMBuilder.java @@ -0,0 +1,67 @@ +package us.dot.its.jpo.ode.plugin.j2735.builders; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import com.fasterxml.jackson.databind.JsonNode; + +import us.dot.its.jpo.ode.plugin.j2735.J2735Tim; +import us.dot.its.jpo.ode.plugin.j2735.J2735TravelerDataFrame; + +public class TIMBuilder { + private TIMBuilder() { + throw new UnsupportedOperationException(); + } + + public static J2735Tim genericTim(JsonNode TimMessage) { + J2735Tim genericTim = new J2735Tim(); + + JsonNode msgCnt = TimMessage.get("msgCnt"); + if (msgCnt != null) { + genericTim.setMsgCnt(msgCnt.asText()); + } + + JsonNode timeStamp = TimMessage.get("timeStamp"); + if (timeStamp != null) { + genericTim.setTimeStamp(timeStamp.asText()); + } + + JsonNode packetID = TimMessage.get("packetID"); + if (packetID != null) { + genericTim.setPacketID(packetID.asText()); + } + + // The decoder makes a null URL a literal string value of "null" when it is not specified + JsonNode urlB = TimMessage.get("urlB"); + if (urlB != null) { + String urlBValue = urlB.asText(); + if ("null".equals(urlBValue)) { + urlBValue = null; + } + genericTim.setUrlB(urlBValue); + } + + JsonNode dataFrames = TimMessage.get("dataFrames"); + if (dataFrames != null) { + JsonNode travelerDataFrame = dataFrames.get("TravelerDataFrame"); + if (travelerDataFrame != null) { + List dfList = new ArrayList<>(); + + if (travelerDataFrame.isArray()) { + Iterator elements = travelerDataFrame.elements(); + + while (elements.hasNext()) { + dfList.add(TravelerDataFrameBuilder.genericTravelerDataFrame(elements.next())); + } + } else { + dfList.add(TravelerDataFrameBuilder.genericTravelerDataFrame(travelerDataFrame)); + } + + genericTim.setDataFrames(dfList.toArray(new J2735TravelerDataFrame[0])); + } + } + + return genericTim; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TravelerDataFrameBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TravelerDataFrameBuilder.java new file mode 100644 index 000000000..4877874cb --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TravelerDataFrameBuilder.java @@ -0,0 +1,126 @@ +package us.dot.its.jpo.ode.plugin.j2735.builders; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; + +import us.dot.its.jpo.ode.plugin.j2735.J2735GeographicalPath; +import us.dot.its.jpo.ode.plugin.j2735.J2735MsgId; +import us.dot.its.jpo.ode.plugin.j2735.J2735TravelerDataFrame; +import us.dot.its.jpo.ode.plugin.j2735.J2735TravelerInfoType; +import us.dot.its.jpo.ode.plugin.j2735.timstorage.Content; + +public class TravelerDataFrameBuilder { + private TravelerDataFrameBuilder() { + throw new UnsupportedOperationException(); + } + + private final static ObjectMapper mapper = new ObjectMapper(); + + public static J2735TravelerDataFrame genericTravelerDataFrame(JsonNode travelerDataFrame) { + J2735TravelerDataFrame genericTravelerDataFrame = new J2735TravelerDataFrame(); + + JsonNode notUsed = travelerDataFrame.get("notUsed"); + if (notUsed != null) { + genericTravelerDataFrame.setNotUsed(notUsed.asText()); + } + + JsonNode frameType = travelerDataFrame.get("frameType"); + if (frameType != null) { + String frameTypeValue = frameType.fields().next().getKey(); + genericTravelerDataFrame.setFrameType(J2735TravelerInfoType.valueOf(frameTypeValue)); + } + + JsonNode msgId = travelerDataFrame.get("msgId"); + if (msgId != null) { + J2735MsgId msgIdObj = new J2735MsgId(); + + JsonNode furtherInfoID = msgId.get("furtherInfoID"); + if (furtherInfoID != null) { + msgIdObj.setFurtherInfoId(furtherInfoID.asText()); + } + + JsonNode roadSignID = msgId.get("roadSignID"); + if (roadSignID != null) { + msgIdObj.setRoadSignID(RoadSignIdBuilder.genericRoadSignId(roadSignID)); + } + + genericTravelerDataFrame.setMsgId(msgIdObj); + } + + JsonNode startYear = travelerDataFrame.get("startYear"); + if (startYear != null) { + genericTravelerDataFrame.setStartYear(startYear.asText()); + } + + JsonNode startTime = travelerDataFrame.get("startTime"); + if (startTime != null) { + genericTravelerDataFrame.setStartTime(startTime.asText()); + } + + JsonNode durationTime = travelerDataFrame.get("durationTime"); + if (durationTime != null) { + genericTravelerDataFrame.setDurationTime(durationTime.asText()); + } + + JsonNode priority = travelerDataFrame.get("priority"); + if (priority != null) { + genericTravelerDataFrame.setPriority(priority.asText()); + } + + JsonNode notUsed1 = travelerDataFrame.get("notUsed1"); + if (notUsed1 != null) { + genericTravelerDataFrame.setNotUsed1(notUsed1.asText()); + } + + JsonNode regions = travelerDataFrame.get("regions"); + if (regions != null) { + JsonNode geographicalPath = regions.get("GeographicalPath"); + if (geographicalPath != null) { + List gpList = new ArrayList<>(); + + if (geographicalPath.isArray()) { + Iterator elements = geographicalPath.elements(); + + while (elements.hasNext()) { + gpList.add(GeographicalPathBuilder.genericGeographicalPath(elements.next())); + } + } else { + gpList.add(GeographicalPathBuilder.genericGeographicalPath(geographicalPath)); + } + + genericTravelerDataFrame.setRegions(gpList.toArray(new J2735GeographicalPath[0])); + } + } + + JsonNode notUsed2 = travelerDataFrame.get("notUsed2"); + if (notUsed2 != null) { + genericTravelerDataFrame.setNotUsed2(notUsed2.asText()); + } + + JsonNode notUsed3 = travelerDataFrame.get("notUsed3"); + if (notUsed3 != null) { + genericTravelerDataFrame.setNotUsed3(notUsed3.asText()); + } + + JsonNode content = travelerDataFrame.get("content"); + if (content != null) { + genericTravelerDataFrame.setContent(mapper.convertValue(content, Content.class)); + } + + // The decoder makes a null URL a literal string value of "null" when it is not specified + JsonNode url = travelerDataFrame.get("url"); + if (url != null) { + String urlValue = url.asText(); + if ("null".equals(urlValue)) { + urlValue = null; + } + genericTravelerDataFrame.setUrl(urlValue); + } + + return genericTravelerDataFrame; + } +} diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUseTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUseTest.java index e9d81dfa3..04726b71e 100644 --- a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUseTest.java +++ b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUseTest.java @@ -20,18 +20,23 @@ import org.junit.jupiter.api.Test; public class J2735DirectionOfUseTest { + @Test + public void checkUnavailable() { + assertNotNull(J2735DirectionOfUse.unavailable); + } + @Test public void checkForward() { - assertNotNull(J2735DirectionOfUse.FORWARD); + assertNotNull(J2735DirectionOfUse.forward); } @Test public void checkReverse() { - assertNotNull(J2735DirectionOfUse.REVERSE); + assertNotNull(J2735DirectionOfUse.reverse); } @Test public void checkBoth() { - assertNotNull(J2735DirectionOfUse.BOTH); + assertNotNull(J2735DirectionOfUse.both); } } diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/TimBuilderTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/TimBuilderTest.java new file mode 100644 index 000000000..921b0422b --- /dev/null +++ b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/TimBuilderTest.java @@ -0,0 +1,29 @@ +package us.dot.its.jpo.ode.plugin.j2735.builders; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; + +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.databind.JsonNode; + +import us.dot.its.jpo.ode.plugin.j2735.J2735Tim; +import us.dot.its.jpo.ode.util.XmlUtils; +import us.dot.its.jpo.ode.util.XmlUtils.XmlUtilsException; + +public class TimBuilderTest { + @Test + public void shouldTranslateTim() { + + JsonNode jsonMap = null; + try { + jsonMap = XmlUtils.toObjectNode( + "timMsgsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload4d476fdf-9103-464d-88c5-5de24b9f3ef910002024-11-21T01:17:47.998Z70RSUfalse001F810A701607988D44FF260FFFD00C010F775D9B0B01C2715BDE59674A61AFFFF93F4310B021C0A007F91A54ED2088C10346A820F2C7A105164CE000000002715BDE59674A61A9388CE00021100CFA9460EE711C707B8C97B45536D12F62A75A8B8E0F329509879F9AF683B375AAC1B8AEAF70D60B3DA000C80218312D11081EEEBB36301C2715DFCC1673BB4FFFFF93F4310B021C0A007F99A54ED2088C10346A820E8CB8722083CB1E8CBC905164CE000000002715DFCC1673BB4F9388C7C0021160A5A4000E1D8955078014AA83CFCA84C1F47D5ED1521A3AF68AAD25DED055B4CF7B42AF9D7D5515A5DBFB40AE11A05EC559B908E42A8888555001A00430601C312D11080D404F775D9B00358C2614C511ABFC4ED8D5830858CC42A5B1B0023B5A84F612289408C096D7DFC084AA26FA6023C7D787B119AC3920090449C099FE4A4DF873D6B46EC2FC98916754931A4C5A500000000134E749ACB3149E209C46003C10B02211F450076888E5258B044869CC2E211098FF7108FC9E41897CCDC1704B9FCE4D42435E7023127413C78893C4DF7E848769083412036397111DCCC1B089CBA66C4435093DE2205BCA4D7089754160D73EF8A0E8441EB237825E3184501296941CB88E972102448D87064A3520F20A170A0350E408AABE263849C0B0D302157C8CC612CE3C3CA893FB247C420300172.18.0.1MessageFrame3113951608D44FF260FFFD00C01null0411472587-104651309811111111111111112024401760864050RSZ D0 45 Arch Q2300411472587-10465130985000011100000000000001274326594491070521517106782427100742958654825796649303457423414362728072821197200268125898720null0411489944-104663331211111111111111112024401760864050RSZ D0 45 Ahead Archer Q2300411489944-1046633312500000111110000000000602-10244332-34146145-34146649-30347455-25799268-257911081-212411686-106212189-68313499-15214406379114841138103761365002681230212589872013569null"); + } catch (XmlUtilsException e) { + fail("XML parsing error:" + e); + } + J2735Tim actualTim = TIMBuilder.genericTim(jsonMap.findValue("TravelerInformation")); + String expected ="{\"msgCnt\":\"1\",\"timeStamp\":\"395160\",\"packetID\":\"8D44FF260FFFD00C01\",\"dataFrames\":[{\"notUsed\":\"0\",\"frameType\":\"advisory\",\"msgId\":{\"roadSignID\":{\"position\":{\"latitude\":41.1472587,\"longitude\":-104.6513098},\"viewAngle\":\"1111111111111111\",\"mutcdCode\":\"warning\"}},\"startYear\":\"2024\",\"startTime\":\"401760\",\"durationTime\":\"8640\",\"priority\":\"5\",\"notUsed1\":\"0\",\"regions\":[{\"name\":\"RSZ D0 45 Arch Q23\",\"id\":{\"region\":0,\"id\":0},\"anchor\":{\"latitude\":41.1472587,\"longitude\":-104.6513098},\"laneWidth\":5000,\"directionality\":\"both\",\"closedPath\":true,\"description\":{\"path\":{\"scale\":0,\"offset\":{\"ll\":{\"nodes\":[{\"delta\":{\"nodeLL1\":{\"lon\":1274,\"lat\":326}}},{\"delta\":{\"nodeLL2\":{\"lon\":5944,\"lat\":910}}},{\"delta\":{\"nodeLL2\":{\"lon\":7052,\"lat\":1517}}},{\"delta\":{\"nodeLL3\":{\"lon\":10678,\"lat\":2427}}},{\"delta\":{\"nodeLL3\":{\"lon\":10074,\"lat\":2958}}},{\"delta\":{\"nodeLL2\":{\"lon\":6548,\"lat\":2579}}},{\"delta\":{\"nodeLL2\":{\"lon\":6649,\"lat\":3034}}},{\"delta\":{\"nodeLL2\":{\"lon\":5742,\"lat\":3414}}},{\"delta\":{\"nodeLL2\":{\"lon\":3627,\"lat\":2807}}},{\"delta\":{\"nodeLL2\":{\"lon\":2821,\"lat\":1972}}}]}}}}}],\"notUsed2\":\"0\",\"notUsed3\":\"0\",\"content\":{\"speedLimit\":{\"SEQUENCE\":[{\"item\":{\"itis\":\"268\"}},{\"item\":{\"itis\":\"12589\"}},{\"item\":{\"itis\":\"8720\"}}]}}},{\"notUsed\":\"0\",\"frameType\":\"advisory\",\"msgId\":{\"roadSignID\":{\"position\":{\"latitude\":41.1489944,\"longitude\":-104.6633312},\"viewAngle\":\"1111111111111111\",\"mutcdCode\":\"warning\"}},\"startYear\":\"2024\",\"startTime\":\"401760\",\"durationTime\":\"8640\",\"priority\":\"5\",\"notUsed1\":\"0\",\"regions\":[{\"name\":\"RSZ D0 45 Ahead Archer Q23\",\"id\":{\"region\":0,\"id\":0},\"anchor\":{\"latitude\":41.1489944,\"longitude\":-104.6633312},\"laneWidth\":5000,\"directionality\":\"both\",\"closedPath\":false,\"description\":{\"path\":{\"scale\":0,\"offset\":{\"ll\":{\"nodes\":[{\"delta\":{\"nodeLL1\":{\"lon\":602,\"lat\":-1024}}},{\"delta\":{\"nodeLL2\":{\"lon\":4332,\"lat\":-3414}}},{\"delta\":{\"nodeLL2\":{\"lon\":6145,\"lat\":-3414}}},{\"delta\":{\"nodeLL2\":{\"lon\":6649,\"lat\":-3034}}},{\"delta\":{\"nodeLL2\":{\"lon\":7455,\"lat\":-2579}}},{\"delta\":{\"nodeLL3\":{\"lon\":9268,\"lat\":-2579}}},{\"delta\":{\"nodeLL3\":{\"lon\":11081,\"lat\":-2124}}},{\"delta\":{\"nodeLL3\":{\"lon\":11686,\"lat\":-1062}}},{\"delta\":{\"nodeLL3\":{\"lon\":12189,\"lat\":-683}}},{\"delta\":{\"nodeLL3\":{\"lon\":13499,\"lat\":-152}}},{\"delta\":{\"nodeLL3\":{\"lon\":14406,\"lat\":379}}},{\"delta\":{\"nodeLL3\":{\"lon\":11484,\"lat\":1138}}},{\"delta\":{\"nodeLL3\":{\"lon\":10376,\"lat\":1365}}}]}}}}}],\"notUsed2\":\"0\",\"notUsed3\":\"0\",\"content\":{\"speedLimit\":{\"SEQUENCE\":[{\"item\":{\"itis\":\"268\"}},{\"item\":{\"itis\":\"12302\"}},{\"item\":{\"itis\":\"12589\"}},{\"item\":{\"itis\":\"8720\"}},{\"item\":{\"itis\":\"13569\"}}]}}}]}"; + assertEquals(expected, actualTim.toString()); + } +} diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java new file mode 100644 index 000000000..41ab2edae --- /dev/null +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java @@ -0,0 +1,59 @@ +package us.dot.its.jpo.ode.coder; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ObjectNode; + +import us.dot.its.jpo.ode.context.AppContext; +import us.dot.its.jpo.ode.model.OdeTimData; +import us.dot.its.jpo.ode.model.OdeTimMetadata; +import us.dot.its.jpo.ode.model.OdeTimPayload; +import us.dot.its.jpo.ode.model.ReceivedMessageDetails; +import us.dot.its.jpo.ode.model.RxSource; +import us.dot.its.jpo.ode.plugin.j2735.builders.TIMBuilder; +import us.dot.its.jpo.ode.util.JsonUtils; +import us.dot.its.jpo.ode.util.XmlUtils; +import us.dot.its.jpo.ode.util.XmlUtils.XmlUtilsException; + +public class OdeTimDataCreatorHelper { + + public OdeTimDataCreatorHelper() { + } + + public static OdeTimData createOdeTimData(String consumedData) throws XmlUtilsException { + ObjectNode consumed = XmlUtils.toObjectNode(consumedData); + + JsonNode metadataNode = consumed.findValue(AppContext.METADATA_STRING); + if (metadataNode instanceof ObjectNode) { + ObjectNode object = (ObjectNode) metadataNode; + object.remove(AppContext.ENCODINGS_STRING); + + // Map header file does not have a location and use predefined set required + // RxSource + ReceivedMessageDetails receivedMessageDetails = new ReceivedMessageDetails(); + receivedMessageDetails.setRxSource(RxSource.NA); + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode jsonNode; + try { + jsonNode = objectMapper.readTree(receivedMessageDetails.toJson()); + object.set(AppContext.RECEIVEDMSGDETAILS_STRING, jsonNode); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + OdeTimMetadata metadata = (OdeTimMetadata) JsonUtils.fromJson(metadataNode.toString(), OdeTimMetadata.class); + + if (metadata.getSchemaVersion() <= 4) { + metadata.setReceivedMessageDetails(null); + } + + OdeTimPayload payload = new OdeTimPayload(TIMBuilder.genericTim(consumed.findValue("TravelerInformation"))); + return new OdeTimData(metadata, payload); + } +} diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java index af8809864..d7e4aea35 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java @@ -91,7 +91,7 @@ public Object process(String consumedData) { switch (messageId) { case BasicSafetyMessage -> routeBSM(consumedData, recordType); - case TravelerInformation -> routeTIM(consumed, recordType); + case TravelerInformation -> routeTIM(consumedData, recordType); case SPATMessage -> routeSPAT(consumedData, recordType); case MAPMessage -> routeMAP(consumedData, recordType); case SSMMessage -> routeSSM(consumedData, recordType); @@ -158,8 +158,8 @@ private void routeSPAT(String consumedData, RecordType recordType) throws XmlUti log.debug("Submitted to SPAT Pojo topic {}", jsonTopics.getSpat()); } - private void routeTIM(JSONObject consumed, RecordType recordType) { - String odeTimData = TimTransmogrifier.createOdeTimData(consumed).toString(); + private void routeTIM(String consumedData, RecordType recordType) throws XmlUtils.XmlUtilsException { + String odeTimData = OdeTimDataCreatorHelper.createOdeTimData(consumedData).toString(); switch (recordType) { case dnMsg -> timProducer.send(jsonTopics.getDnMessage(), getRecord().key(), odeTimData); case rxMsg -> timProducer.send(jsonTopics.getRxTim(), getRecord().key(), odeTimData); From 5effd8aff539b3ac9a12a2d226860ae6d4bfcc6c Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Sun, 24 Nov 2024 23:54:23 -0700 Subject: [PATCH 02/33] Modify TimCreator to use the new creator. Add and update unit tests --- .../plugin/j2735/builders/ContentBuilder.java | 105 + .../builders/TravelerDataFrameBuilder.java | 6 +- .../plugin/j2735/builders/MAPBuilderTest.java | 27 +- .../plugin/j2735/builders/TimBuilderTest.java | 3 +- .../ode/coder/OdeTimDataCreatorHelper.java | 9 +- .../services/asn1/Asn1DecodedDataRouter.java | 3 +- .../ode/traveler/TimDepositController.java | 48 +- .../jpo/ode/traveler/TimTransmogrifier.java | 14 - .../services/asn1/Asn1CommandManagerTest.java | 1 - .../traveler/TimDepositControllerTest.java | 3 +- .../ode/traveler/TimTransmogrifierTest.java | 13 - ...coderRouter_ApprovalTestCases_MapJson.json | 8554 ++++++++-------- ...derRouter_ApprovalTestCases_MapTxPojo.json | 8566 ++++++++--------- 13 files changed, 8433 insertions(+), 8919 deletions(-) create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/ContentBuilder.java diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/ContentBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/ContentBuilder.java new file mode 100644 index 000000000..1c998705f --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/ContentBuilder.java @@ -0,0 +1,105 @@ +package us.dot.its.jpo.ode.plugin.j2735.builders; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import com.fasterxml.jackson.databind.JsonNode; + +import us.dot.its.jpo.ode.plugin.j2735.timstorage.Content; +import us.dot.its.jpo.ode.plugin.j2735.timstorage.ITIS_CodesAndText; +import us.dot.its.jpo.ode.plugin.j2735.timstorage.Items; +import us.dot.its.jpo.ode.plugin.j2735.timstorage.Item; + +public class ContentBuilder { + private ContentBuilder() { + throw new UnsupportedOperationException(); + } + + private static Items genericItems(JsonNode sequence) { + Items itemsObj = new Items(); + + JsonNode item = sequence.get("item"); + if (item != null) { + Item itemObj = new Item(); + + JsonNode itis = item.get("itis"); + if (itis != null) { + itemObj.setItis(itis.asText()); + } + + JsonNode text = item.get("text"); + if (text != null) { + itemObj.setText(text.asText()); + } + + itemsObj.setItem(itemObj); + } + + return itemsObj; + } + + private static Items[] genericSequence(JsonNode contentType) { + Items[] sequenceObj = null; + + JsonNode sequence = contentType.get("SEQUENCE"); + if (sequence != null) { + List iList = new ArrayList<>(); + + if (sequence.isArray()) { + Iterator elements = sequence.elements(); + + while (elements.hasNext()) { + iList.add(genericItems(elements.next())); + } + } else { + iList.add(genericItems(sequence)); + } + + sequenceObj = iList.toArray(new Items[0]); + } + + return sequenceObj; + } + + public static Content genericContent(JsonNode content) { + Content contentObj = new Content(); + + JsonNode advisory = content.get("advisory"); + if (advisory != null) { + ITIS_CodesAndText adivsoryObj = new ITIS_CodesAndText(); + adivsoryObj.setSEQUENCE(genericSequence(advisory)); + contentObj.setAdvisory(adivsoryObj); + } + + JsonNode workZone = content.get("workZone"); + if (workZone != null) { + ITIS_CodesAndText workZoneObj = new ITIS_CodesAndText(); + workZoneObj.setSEQUENCE(genericSequence(workZone)); + contentObj.setWorkZone(workZoneObj); + } + + JsonNode genericSign = content.get("genericSign"); + if (genericSign != null) { + ITIS_CodesAndText genericSignObj = new ITIS_CodesAndText(); + genericSignObj.setSEQUENCE(genericSequence(genericSign)); + contentObj.setGenericSign(genericSignObj); + } + + JsonNode speedLimit = content.get("speedLimit"); + if (speedLimit != null) { + ITIS_CodesAndText speedLimitObj = new ITIS_CodesAndText(); + speedLimitObj.setSEQUENCE(genericSequence(speedLimit)); + contentObj.setSpeedLimit(speedLimitObj); + } + + JsonNode exitService = content.get("exitService"); + if (exitService != null) { + ITIS_CodesAndText exitServiceObj = new ITIS_CodesAndText(); + exitServiceObj.setSEQUENCE(genericSequence(exitService)); + contentObj.setExitService(exitServiceObj); + } + + return contentObj; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TravelerDataFrameBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TravelerDataFrameBuilder.java index 4877874cb..290356b0e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TravelerDataFrameBuilder.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TravelerDataFrameBuilder.java @@ -5,21 +5,17 @@ import java.util.List; import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; import us.dot.its.jpo.ode.plugin.j2735.J2735GeographicalPath; import us.dot.its.jpo.ode.plugin.j2735.J2735MsgId; import us.dot.its.jpo.ode.plugin.j2735.J2735TravelerDataFrame; import us.dot.its.jpo.ode.plugin.j2735.J2735TravelerInfoType; -import us.dot.its.jpo.ode.plugin.j2735.timstorage.Content; public class TravelerDataFrameBuilder { private TravelerDataFrameBuilder() { throw new UnsupportedOperationException(); } - private final static ObjectMapper mapper = new ObjectMapper(); - public static J2735TravelerDataFrame genericTravelerDataFrame(JsonNode travelerDataFrame) { J2735TravelerDataFrame genericTravelerDataFrame = new J2735TravelerDataFrame(); @@ -108,7 +104,7 @@ public static J2735TravelerDataFrame genericTravelerDataFrame(JsonNode travelerD JsonNode content = travelerDataFrame.get("content"); if (content != null) { - genericTravelerDataFrame.setContent(mapper.convertValue(content, Content.class)); + genericTravelerDataFrame.setContent(ContentBuilder.genericContent(content)); } // The decoder makes a null URL a literal string value of "null" when it is not specified diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java index fd48970dc..3803a9bfc 100644 --- a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java +++ b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java @@ -12,19 +12,18 @@ import us.dot.its.jpo.ode.util.XmlUtils.XmlUtilsException; public class MAPBuilderTest { - @Test - public void shouldTranslateMap() { + @Test + public void shouldTranslateMap() { - JsonNode jsonMap = null; - try { - jsonMap = XmlUtils.toObjectNode( - "us.dot.its.jpo.ode.model.OdeAsn1Payloadd07badec-84f0-48d8-8d4c-898fceaf4ecc10002020-11-30T23:45:24.913657Z60falsemapTxsuccessunsecuredDataMessageFrameUPERV2XMessageFrame184121561389284111-77241071310000000000000000000043244324"); - } catch (XmlUtilsException e) { - fail("XML parsing error:" + e); - } - J2735MAP actualMap = MAPBuilder.genericMAP(jsonMap.findValue("MapData")); - String expected = "{\"msgIssueRevision\":4,\"layerType\":\"mixedContent\",\"layerID\":12,\"intersections\":{\"intersectionGeometry\":[{\"id\":{\"id\":156},\"revision\":1,\"refPoint\":{\"latitude\":38.9284111,\"longitude\":-77.2410713},\"laneSet\":{\"GenericLane\":[{\"laneID\":1,\"laneAttributes\":{\"directionalUse\":{\"ingressPath\":false,\"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}}},\"nodeList\":{\"nodes\":{\"NodeXY\":[{\"delta\":{\"nodeXY2\":{\"x\":43,\"y\":24}}},{\"delta\":{\"nodeXY2\":{\"x\":43,\"y\":24}}}]}}}]}}]}}"; - System.out.println(actualMap.toJson()); - assertEquals(expected, actualMap.toJson()); - } + JsonNode jsonMap = null; + try { + jsonMap = XmlUtils.toObjectNode( + "us.dot.its.jpo.ode.model.OdeAsn1Payloadd07badec-84f0-48d8-8d4c-898fceaf4ecc10002020-11-30T23:45:24.913657Z60falsemapTxsuccessunsecuredDataMessageFrameUPERV2XMessageFrame184121561389284111-77241071310000000000000000000043244324"); + } catch (XmlUtilsException e) { + fail("XML parsing error:" + e); + } + J2735MAP actualMap = MAPBuilder.genericMAP(jsonMap.findValue("MapData")); + String expected = "{\"msgIssueRevision\":4,\"layerType\":\"mixedContent\",\"layerID\":12,\"intersections\":{\"intersectionGeometry\":[{\"id\":{\"id\":156},\"revision\":1,\"refPoint\":{\"latitude\":38.9284111,\"longitude\":-77.2410713},\"laneSet\":{\"GenericLane\":[{\"laneID\":1,\"laneAttributes\":{\"directionalUse\":{\"ingressPath\":false,\"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}}},\"nodeList\":{\"nodes\":[{\"delta\":{\"nodeXY2\":{\"x\":43,\"y\":24}}},{\"delta\":{\"nodeXY2\":{\"x\":43,\"y\":24}}}]}}]}}]}}"; + assertEquals(expected, actualMap.toJson()); + } } diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/TimBuilderTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/TimBuilderTest.java index 921b0422b..d62061ee5 100644 --- a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/TimBuilderTest.java +++ b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/TimBuilderTest.java @@ -23,7 +23,8 @@ public void shouldTranslateTim() { fail("XML parsing error:" + e); } J2735Tim actualTim = TIMBuilder.genericTim(jsonMap.findValue("TravelerInformation")); + String actualTimString = actualTim.toString(); String expected ="{\"msgCnt\":\"1\",\"timeStamp\":\"395160\",\"packetID\":\"8D44FF260FFFD00C01\",\"dataFrames\":[{\"notUsed\":\"0\",\"frameType\":\"advisory\",\"msgId\":{\"roadSignID\":{\"position\":{\"latitude\":41.1472587,\"longitude\":-104.6513098},\"viewAngle\":\"1111111111111111\",\"mutcdCode\":\"warning\"}},\"startYear\":\"2024\",\"startTime\":\"401760\",\"durationTime\":\"8640\",\"priority\":\"5\",\"notUsed1\":\"0\",\"regions\":[{\"name\":\"RSZ D0 45 Arch Q23\",\"id\":{\"region\":0,\"id\":0},\"anchor\":{\"latitude\":41.1472587,\"longitude\":-104.6513098},\"laneWidth\":5000,\"directionality\":\"both\",\"closedPath\":true,\"description\":{\"path\":{\"scale\":0,\"offset\":{\"ll\":{\"nodes\":[{\"delta\":{\"nodeLL1\":{\"lon\":1274,\"lat\":326}}},{\"delta\":{\"nodeLL2\":{\"lon\":5944,\"lat\":910}}},{\"delta\":{\"nodeLL2\":{\"lon\":7052,\"lat\":1517}}},{\"delta\":{\"nodeLL3\":{\"lon\":10678,\"lat\":2427}}},{\"delta\":{\"nodeLL3\":{\"lon\":10074,\"lat\":2958}}},{\"delta\":{\"nodeLL2\":{\"lon\":6548,\"lat\":2579}}},{\"delta\":{\"nodeLL2\":{\"lon\":6649,\"lat\":3034}}},{\"delta\":{\"nodeLL2\":{\"lon\":5742,\"lat\":3414}}},{\"delta\":{\"nodeLL2\":{\"lon\":3627,\"lat\":2807}}},{\"delta\":{\"nodeLL2\":{\"lon\":2821,\"lat\":1972}}}]}}}}}],\"notUsed2\":\"0\",\"notUsed3\":\"0\",\"content\":{\"speedLimit\":{\"SEQUENCE\":[{\"item\":{\"itis\":\"268\"}},{\"item\":{\"itis\":\"12589\"}},{\"item\":{\"itis\":\"8720\"}}]}}},{\"notUsed\":\"0\",\"frameType\":\"advisory\",\"msgId\":{\"roadSignID\":{\"position\":{\"latitude\":41.1489944,\"longitude\":-104.6633312},\"viewAngle\":\"1111111111111111\",\"mutcdCode\":\"warning\"}},\"startYear\":\"2024\",\"startTime\":\"401760\",\"durationTime\":\"8640\",\"priority\":\"5\",\"notUsed1\":\"0\",\"regions\":[{\"name\":\"RSZ D0 45 Ahead Archer Q23\",\"id\":{\"region\":0,\"id\":0},\"anchor\":{\"latitude\":41.1489944,\"longitude\":-104.6633312},\"laneWidth\":5000,\"directionality\":\"both\",\"closedPath\":false,\"description\":{\"path\":{\"scale\":0,\"offset\":{\"ll\":{\"nodes\":[{\"delta\":{\"nodeLL1\":{\"lon\":602,\"lat\":-1024}}},{\"delta\":{\"nodeLL2\":{\"lon\":4332,\"lat\":-3414}}},{\"delta\":{\"nodeLL2\":{\"lon\":6145,\"lat\":-3414}}},{\"delta\":{\"nodeLL2\":{\"lon\":6649,\"lat\":-3034}}},{\"delta\":{\"nodeLL2\":{\"lon\":7455,\"lat\":-2579}}},{\"delta\":{\"nodeLL3\":{\"lon\":9268,\"lat\":-2579}}},{\"delta\":{\"nodeLL3\":{\"lon\":11081,\"lat\":-2124}}},{\"delta\":{\"nodeLL3\":{\"lon\":11686,\"lat\":-1062}}},{\"delta\":{\"nodeLL3\":{\"lon\":12189,\"lat\":-683}}},{\"delta\":{\"nodeLL3\":{\"lon\":13499,\"lat\":-152}}},{\"delta\":{\"nodeLL3\":{\"lon\":14406,\"lat\":379}}},{\"delta\":{\"nodeLL3\":{\"lon\":11484,\"lat\":1138}}},{\"delta\":{\"nodeLL3\":{\"lon\":10376,\"lat\":1365}}}]}}}}}],\"notUsed2\":\"0\",\"notUsed3\":\"0\",\"content\":{\"speedLimit\":{\"SEQUENCE\":[{\"item\":{\"itis\":\"268\"}},{\"item\":{\"itis\":\"12302\"}},{\"item\":{\"itis\":\"12589\"}},{\"item\":{\"itis\":\"8720\"}},{\"item\":{\"itis\":\"13569\"}}]}}}]}"; - assertEquals(expected, actualTim.toString()); + assertEquals(expected, actualTimString); } } diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java index 41ab2edae..b1ec808f9 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java @@ -8,6 +8,7 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import us.dot.its.jpo.ode.context.AppContext; +import us.dot.its.jpo.ode.model.OdeMsgMetadata; import us.dot.its.jpo.ode.model.OdeTimData; import us.dot.its.jpo.ode.model.OdeTimMetadata; import us.dot.its.jpo.ode.model.OdeTimPayload; @@ -23,7 +24,7 @@ public class OdeTimDataCreatorHelper { public OdeTimDataCreatorHelper() { } - public static OdeTimData createOdeTimData(String consumedData) throws XmlUtilsException { + public static OdeTimData createOdeTimDataFromDecoded(String consumedData) throws XmlUtilsException { ObjectNode consumed = XmlUtils.toObjectNode(consumedData); JsonNode metadataNode = consumed.findValue(AppContext.METADATA_STRING); @@ -56,4 +57,10 @@ public static OdeTimData createOdeTimData(String consumedData) throws XmlUtilsEx OdeTimPayload payload = new OdeTimPayload(TIMBuilder.genericTim(consumed.findValue("TravelerInformation"))); return new OdeTimData(metadata, payload); } + + public static OdeTimData createOdeTimDataFromCreator(String consumedData, OdeMsgMetadata metadata) throws XmlUtilsException { + ObjectNode consumed = XmlUtils.toObjectNode(consumedData); + OdeTimPayload payload = new OdeTimPayload(TIMBuilder.genericTim(consumed.findValue("TravelerInformation"))); + return new OdeTimData(metadata, payload); + } } diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java index d7e4aea35..977a33326 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java @@ -26,7 +26,6 @@ import us.dot.its.jpo.ode.model.OdeBsmData; import us.dot.its.jpo.ode.model.OdeLogMetadata.RecordType; import us.dot.its.jpo.ode.plugin.j2735.J2735DSRCmsgID; -import us.dot.its.jpo.ode.traveler.TimTransmogrifier; import us.dot.its.jpo.ode.util.XmlUtils; import us.dot.its.jpo.ode.wrapper.AbstractSubscriberProcessor; import us.dot.its.jpo.ode.wrapper.MessageProducer; @@ -159,7 +158,7 @@ private void routeSPAT(String consumedData, RecordType recordType) throws XmlUti } private void routeTIM(String consumedData, RecordType recordType) throws XmlUtils.XmlUtilsException { - String odeTimData = OdeTimDataCreatorHelper.createOdeTimData(consumedData).toString(); + String odeTimData = OdeTimDataCreatorHelper.createOdeTimDataFromDecoded(consumedData).toString(); switch (recordType) { case dnMsg -> timProducer.send(jsonTopics.getDnMessage(), getRecord().key(), odeTimData); case rxMsg -> timProducer.send(jsonTopics.getRxTim(), getRecord().key(), odeTimData); diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimDepositController.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimDepositController.java index 5062017cc..8291b1fee 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimDepositController.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimDepositController.java @@ -17,12 +17,12 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import lombok.extern.slf4j.Slf4j; -import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; -import us.dot.its.jpo.ode.context.AppContext; + +import us.dot.its.jpo.ode.coder.OdeTimDataCreatorHelper; import us.dot.its.jpo.ode.kafka.Asn1CoderTopics; import us.dot.its.jpo.ode.kafka.JsonTopics; import us.dot.its.jpo.ode.kafka.OdeKafkaProperties; @@ -44,7 +44,6 @@ import us.dot.its.jpo.ode.util.XmlUtils; import us.dot.its.jpo.ode.wrapper.MessageProducer; import us.dot.its.jpo.ode.wrapper.serdes.OdeTimSerializer; -import java.util.UUID; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -87,11 +86,11 @@ public TimDepositControllerException(String errMsg) { @Autowired public TimDepositController(OdeKafkaProperties odeKafkaProperties, - Asn1CoderTopics asn1CoderTopics, - PojoTopics pojoTopics, - JsonTopics jsonTopics, - TimIngestTrackerProperties ingestTrackerProperties, - SecurityServicesProperties securityServicesProperties) { + Asn1CoderTopics asn1CoderTopics, + PojoTopics pojoTopics, + JsonTopics jsonTopics, + TimIngestTrackerProperties ingestTrackerProperties, + SecurityServicesProperties securityServicesProperties) { super(); this.asn1CoderTopics = asn1CoderTopics; @@ -102,7 +101,8 @@ public TimDepositController(OdeKafkaProperties odeKafkaProperties, this.stringMsgProducer = MessageProducer.defaultStringMessageProducer(odeKafkaProperties.getBrokers(), odeKafkaProperties.getProducer().getType(), odeKafkaProperties.getDisabledTopics()); - this.timProducer = new MessageProducer<>(odeKafkaProperties.getBrokers(), odeKafkaProperties.getProducer().getType(), + this.timProducer = new MessageProducer<>(odeKafkaProperties.getBrokers(), + odeKafkaProperties.getProducer().getType(), null, OdeTimSerializer.class.getName(), odeKafkaProperties.getDisabledTopics()); this.dataSigningEnabledSDW = securityServicesProperties.getIsSdwSigningEnabled(); @@ -188,8 +188,8 @@ public synchronized ResponseEntity depositTim(String jsonString, Request try { latestStartDateTime = (latestStartDateTime == null || (latestStartDateTime != null && latestStartDateTime.before(dateFormat.parse(dataFrameItem.getStartDateTime()))) - ? dateFormat.parse(dataFrameItem.getStartDateTime()) - : latestStartDateTime); + ? dateFormat.parse(dataFrameItem.getStartDateTime()) + : latestStartDateTime); } catch (ParseException e) { log.error("Invalid dateTime parse: ", e); } @@ -217,7 +217,8 @@ public synchronized ResponseEntity depositTim(String jsonString, Request String obfuscatedTimData = TimTransmogrifier.obfuscateRsuPassword(odeTimData.toJson()); stringMsgProducer.send(jsonTopics.getTimBroadcast(), null, obfuscatedTimData); - // Now that the message has been published to OdeBroadcastTim topic, it should be + // Now that the message has been published to OdeBroadcastTim topic, it should + // be // changed to J2735BroadcastTim serialId timMetadata.setSerialId(serialIdJ2735); @@ -252,21 +253,22 @@ public synchronized ResponseEntity depositTim(String jsonString, Request asd = TimTransmogrifier.buildASD(odeTID.getRequest()); } xmlMsg = TimTransmogrifier.convertToXml(asd, encodableTid, timMetadata, serialIdJ2735); - log.debug("XML representation: {}", xmlMsg); - JSONObject jsonMsg = XmlUtils.toJSONObject(xmlMsg); + if (xmlMsg != null) { + log.debug("XML representation: {}", xmlMsg); + stringMsgProducer.send(asn1CoderTopics.getEncoderInput(), null, xmlMsg); - String j2735Tim = TimTransmogrifier.createOdeTimData(jsonMsg.getJSONObject(AppContext.ODE_ASN1_DATA)) - .toString(); + // Convert XML into ODE TIM JSON object and obfuscate RSU password + OdeTimData odeTimObj = OdeTimDataCreatorHelper.createOdeTimDataFromCreator(xmlMsg, timMetadata); + String j2735Tim = odeTimObj.toString(); + String obfuscatedJ2735Tim = TimTransmogrifier.obfuscateRsuPassword(j2735Tim); - stringMsgProducer.send(asn1CoderTopics.getEncoderInput(), null, xmlMsg); + // publish Broadcast TIM to a J2735 compliant topic. + stringMsgProducer.send(jsonTopics.getJ2735TimBroadcast(), null, obfuscatedJ2735Tim); - String obfuscatedJ2735Tim = TimTransmogrifier.obfuscateRsuPassword(j2735Tim); - // publish Broadcast TIM to a J2735 compliant topic. - stringMsgProducer.send(jsonTopics.getJ2735TimBroadcast(), null, obfuscatedJ2735Tim); - // publish J2735 TIM also to general un-filtered TIM topic - // with streamID as key - stringMsgProducer.send(jsonTopics.getTim(), serialIdJ2735.getStreamId(), obfuscatedJ2735Tim); + // publish J2735 TIM also to general un-filtered TIM topic with streamID as key + stringMsgProducer.send(jsonTopics.getTim(), serialIdJ2735.getStreamId(), obfuscatedJ2735Tim); + } serialIdOde.increment(); serialIdJ2735.increment(); diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimTransmogrifier.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimTransmogrifier.java index 5ab4561d0..dc7646717 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimTransmogrifier.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimTransmogrifier.java @@ -1,7 +1,5 @@ package us.dot.its.jpo.ode.traveler; -import org.json.JSONObject; - import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -235,16 +233,4 @@ public static JsonNode buildEncodingNode(String name, String type, EncodingRule Asn1Encoding mfEnc = new Asn1Encoding(name, type, rule); return JsonUtils.toObjectNode(mfEnc.toJson()); } - - public static JSONObject createOdeTimData(JSONObject timData) { - - JSONObject metadata = timData.getJSONObject(AppContext.METADATA_STRING); - metadata.put("payloadType", OdeTimPayload.class.getName()); - metadata.remove(AppContext.ENCODINGS_STRING); - - JSONObject payload = timData.getJSONObject(AppContext.PAYLOAD_STRING); - payload.put(AppContext.DATA_TYPE_STRING, TravelerMessageFromHumanToAsnConverter.TRAVELER_INFORMATION); - return timData; - } - } diff --git a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/services/asn1/Asn1CommandManagerTest.java b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/services/asn1/Asn1CommandManagerTest.java index 11b152d47..87fd588c9 100644 --- a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/services/asn1/Asn1CommandManagerTest.java +++ b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/services/asn1/Asn1CommandManagerTest.java @@ -27,7 +27,6 @@ import mockit.Tested; import us.dot.its.jpo.ode.kafka.OdeKafkaProperties; import us.dot.its.jpo.ode.kafka.SDXDepositorTopics; -import us.dot.its.jpo.ode.kafka.SDXDepositorTopics; import us.dot.its.jpo.ode.model.OdeTravelerInputData; import us.dot.its.jpo.ode.rsu.RsuProperties; import us.dot.its.jpo.ode.security.SecurityServicesProperties; diff --git a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/traveler/TimDepositControllerTest.java b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/traveler/TimDepositControllerTest.java index 5557dcd31..08a0e706e 100644 --- a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/traveler/TimDepositControllerTest.java +++ b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/traveler/TimDepositControllerTest.java @@ -195,8 +195,9 @@ public void testSuccessfulTimIngestIsTracked(@Capturing TimTransmogrifier captur assertEquals(priorIngestCount + 1, TimIngestTracker.getInstance().getTotalMessagesReceived()); } + // This serves as an integration test without mocking the TimTransmogrifier and XmlUtils @Test - public void testSuccessfulRsuMessageReturnsSuccessMessagePost(@Capturing TimTransmogrifier capturingTimTransmogrifier, @Capturing XmlUtils capturingXmlUtils) { + public void testSuccessfulRsuMessageReturnsSuccessMessagePost() { String timToSubmit = "{\"request\": {\"rsus\": [{\"latitude\": 30.123456, \"longitude\": -100.12345, \"rsuId\": 123, \"route\": \"myroute\", \"milepost\": 10, \"rsuTarget\": \"172.0.0.1\", \"rsuRetries\": 3, \"rsuTimeout\": 5000, \"rsuIndex\": 7, \"rsuUsername\": \"myusername\", \"rsuPassword\": \"mypassword\"}], \"snmp\": {\"rsuid\": \"83\", \"msgid\": 31, \"mode\": 1, \"channel\": 183, \"interval\": 2000, \"deliverystart\": \"2024-05-13T14:30:00Z\", \"deliverystop\": \"2024-05-13T22:30:00Z\", \"enable\": 1, \"status\": 4}}, \"tim\": {\"msgCnt\": \"1\", \"timeStamp\": \"2024-05-10T19:01:22Z\", \"packetID\": \"123451234512345123\", \"urlB\": \"null\", \"dataframes\": [{\"startDateTime\": \"2024-05-13T20:30:05.014Z\", \"durationTime\": \"30\", \"sspTimRights\": \"1\", \"frameType\": \"advisory\", \"msgId\": {\"roadSignID\": {\"mutcdCode\": \"warning\", \"viewAngle\": \"1111111111111111\", \"position\": {\"latitude\": 30.123456, \"longitude\": -100.12345}}}, \"priority\": \"5\", \"sspLocationRights\": \"1\", \"regions\": [{\"name\": \"I_myroute_RSU_172.0.0.1\", \"anchorPosition\": {\"latitude\": 30.123456, \"longitude\": -100.12345}, \"laneWidth\": \"50\", \"directionality\": \"3\", \"closedPath\": \"false\", \"description\": \"path\", \"path\": {\"scale\": 0, \"nodes\": [{\"delta\": \"node-LL\", \"nodeLat\": 0.0, \"nodeLong\": 0.0}, {\"delta\": \"node-LL\", \"nodeLat\": 0.0, \"nodeLong\": 0.0}], \"type\": \"ll\"}, \"direction\": \"0000000000010000\"}], \"sspMsgTypes\": \"1\", \"sspMsgContent\": \"1\", \"content\": \"workZone\", \"items\": [\"771\"], \"url\": \"null\"}]}}"; ResponseEntity actualResponse = testTimDepositController.postTim(timToSubmit); assertEquals("{\"success\":\"true\"}", actualResponse.getBody()); 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 acdc24ab1..dbb77beaf 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 @@ -2,7 +2,6 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; -import org.json.JSONObject; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -246,18 +245,6 @@ void testConvertToXMLMessageFrame() assertEquals(expected, actualXML); } - @Test - void testCreateOdeTimData() throws JsonUtilsException { - - JSONObject testObject = JsonUtils - .toJSONObject("{\"metadata\":{\"object\":\"value\"},\"payload\":{\"object\":\"value\"}}"); - JSONObject actualOdeTimData = TimTransmogrifier.createOdeTimData(testObject); - - assertEquals( - "{\"metadata\":{\"payloadType\":\"us.dot.its.jpo.ode.model.OdeTimPayload\",\"object\":\"value\"},\"payload\":{\"dataType\":\"TravelerInformation\",\"object\":\"value\"}}", - actualOdeTimData.toString()); - } - @Test void testConstructorIsPrivate() throws NoSuchMethodException { 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 b898afd59..7a1d7564c 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.OdeAsn1Payloadc2010d5f-9ee5-4fef-9242-640e8c17713910002024-11-08T22:01:13.148Z70RSUfalse001283B0380230002044C4094D3E99B42CC5EE1D542002DC36582D280000070001B6152DE2A00A0A6C18DBA4901414D80A776F202851AFEB2F114050535E9B183380A1425832000400A42E00020226400582F280000020002960FB1E175B0440F23605053604DDE30C0A146C03CBCF981414D7F5378AC02829AF820D4B4050A35F51DC7F809F60582A000180960C4A000000800065827078266C18DBA6601428D80CF777C02851AFD9EEB40050A15E7297D5016088000602582B080000010002362769E2E80A0A2BF423E15B60819D2480A146C011BD5281414D7F5F781D02829AFAB6E53C050500C5080004B0729000000200046BCBA39F101428D78FB8260027D9ADD9EFD3804F1356B81FFA40A0A2B1DD401395DE15FFE8063440002583748000001000035E84DD3E00A0A2BD3EC13300C64800044066C800000006B2B02B1E8141457F3C80A1101AB200000001ACC76AEDA050515FCC60298B00C5000000800042BEB43E70B5C8EDF6D809F62BB393F8FB5DB49FDD809F66AF94BFF70141455EBF80110588C00010096008A0000010000657DED7A216BB7D3F2E81414D71C27E52027B1AAEA4FEE2050535652E002809F60589C00010096010A0000010000657D557B672B9403EE735DA55FBF409F62AAD73FBB156D92009C162500004022022C40000000161809FB60B01FB007E2024C4000000016194DF58CB021300B82026C40000000161B75EF75B01FB00A0050508041100000000D77238659027B0AFD92FF8E200E44000000035DDA2143409EC2BF593FE088031100000000D77C48392027B0AFD1EFF8E200A44000000035DFE208D009EC2BF4ABFDD88021100000000D784980C5027B0AFD14FF605812680000010000B5E54A294409EC2BF30C3FD15FB9A081056104000802B0720004022C0A3400000080005AF557153604FB35F872204409F62BFB5410802C188001008402D0800000006BEDAC57E813EC57FBB80EB2C0C540000028000DB0411120C04FB162FE20A0DB2DA106F205051637FE0591B1A03019E05050AC220001804216400581AA8000004000136094E1EA009F62C91141BFB64D660B1C0A0A6CBF2C102014140B0780006012C0E5400000200015B05310CA804FB16382A0A95B1BF3047C05051625EE04D4B12A701EC5898A80AC6C25D4028014140B0680006012C0F540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.30MessageFrame182088022395948212-104883094617440366229100000000000000000001110000000001355-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.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", "expected": { "metadata": { "logFileName": "", @@ -13,13 +13,13 @@ }, "payloadType": "us.dot.its.jpo.ode.model.OdeMapPayload", "serialId": { - "streamId": "c2010d5f-9ee5-4fef-9242-640e8c177139", + "streamId": "85100a89-9411-4bc3-828c-9c398aa829a5", "bundleSize": 1, "bundleId": 0, "recordId": 0, "serialNumber": 0 }, - "odeReceivedAt": "2024-11-08T22:01:13.148Z", + "odeReceivedAt": "2024-11-08T21:38:24.144Z", "schemaVersion": 7, "maxDurationTime": 0, "recordGeneratedAt": "", @@ -46,7 +46,7 @@ "refPoint": { "latitude": 39.5948212, "longitude": -104.8830946, - "elevation": "1744.0" + "elevation": 1744.2 }, "laneWidth": 366, "laneSet": { @@ -99,65 +99,63 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1355, - "y": -1880 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": 795, - "y": -2926 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": 167, - "y": -2318 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -167, - "y": -1910 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -1428, - "y": -7986 - } - }, - "attributes": { - "dElevation": 20 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1355, + "y": -1880 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 795, + "y": -2926 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 167, + "y": -2318 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -167, + "y": -1910 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1428, + "y": -7986 + } + }, + "attributes": { + "dElevation": 20 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -272,84 +270,82 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1004, - "y": -1955 - } - } - }, - { - "delta": { - "nodeXY6": { - "x": 544, - "y": -1765 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": 311, - "y": -1853 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": 121, - "y": -1549 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -173, - "y": -1876 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -1008, - "y": -5542 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -697, - "y": -3586 - } - }, - "attributes": { - "dElevation": -10 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1004, + "y": -1955 + } + } + }, + { + "delta": { + "nodeXY6": { + "x": 544, + "y": -1765 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 311, + "y": -1853 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 121, + "y": -1549 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -173, + "y": -1876 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1008, + "y": -5542 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -697, + "y": -3586 + } + }, + "attributes": { + "dElevation": -10 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -425,59 +421,57 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 624, - "y": -2010 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 624, + "y": -2010 } - }, - { - "delta": { - "nodeXY6": { - "x": 795, - "y": -2868 - } - }, - "attributes": { - "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 795, + "y": -2868 } }, - { - "delta": { - "nodeXY6": { - "x": 207, - "y": -2180 - } - }, - "attributes": { - "dElevation": 20 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 207, + "y": -2180 } }, - { - "delta": { - "nodeXY6": { - "x": -305, - "y": -2656 - } - }, - "attributes": { - "dElevation": 20 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -305, + "y": -2656 } }, - { - "delta": { - "nodeXY6": { - "x": -1590, - "y": -8364 - } + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1590, + "y": -8364 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -553,73 +547,71 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2522, - "y": -1862 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -380, - "y": -981 - } - } - }, - { - "delta": { - "nodeXY6": { - "x": 518, - "y": -2926 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": 35, - "y": -1371 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -161, - "y": -2019 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -677, - "y": -3426 - } - }, - "attributes": { - "dElevation": 10 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2522, + "y": -1862 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -380, + "y": -981 + } + } + }, + { + "delta": { + "nodeXY6": { + "x": 518, + "y": -2926 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 35, + "y": -1371 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -161, + "y": -2019 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -677, + "y": -3426 + } + }, + "attributes": { + "dElevation": 10 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -694,70 +686,68 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1676, - "y": -3102 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1676, + "y": -3102 } }, - { - "delta": { - "nodeXY6": { - "x": -1797, - "y": 608 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1797, + "y": 608 } }, - { - "delta": { - "nodeXY6": { - "x": -4401, - "y": -356 - } - }, - "attributes": { - "dElevation": -30 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -4401, + "y": -356 } }, - { - "delta": { - "nodeXY6": { - "x": -9504, - "y": -23 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY6": { + "x": -9504, + "y": -23 } }, - { - "delta": { - "nodeXY6": { - "x": -7238, - "y": 39 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -7238, + "y": 39 } - }, - { - "delta": { - "nodeXY6": { - "x": -2171, - "y": -6 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -2171, + "y": -6 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -832,29 +822,27 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1517, - "y": -2824 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1517, + "y": -2824 } }, - { - "delta": { - "nodeXY6": { - "x": -1411, - "y": 614 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1411, + "y": 614 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -915,29 +903,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -6816, - "y": -10691 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -6816, + "y": -10691 } }, - { - "delta": { - "nodeXY6": { - "x": -196, - "y": 161 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -196, + "y": 161 } } - ] - } + } + ] } }, { @@ -974,29 +960,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -6597, - "y": -10387 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -6597, + "y": -10387 } }, - { - "delta": { - "nodeXY6": { - "x": -207, - "y": 166 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -207, + "y": 166 } } - ] - } + } + ] } }, { @@ -1047,67 +1031,65 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -664, - "y": -799 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -664, + "y": -799 } - }, - { - "delta": { - "nodeXY6": { - "x": -3525, - "y": -586 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -3525, + "y": -586 } }, - { - "delta": { - "nodeXY6": { - "x": -2446, - "y": -225 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -2446, + "y": -225 } - }, - { - "delta": { - "nodeXY6": { - "x": -2350, - "y": -138 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -2350, + "y": -138 } }, - { - "delta": { - "nodeXY6": { - "x": -8407, - "y": -18 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -8407, + "y": -18 } }, - { - "delta": { - "nodeXY6": { - "x": -8513, - "y": 17 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -8513, + "y": 17 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -1183,62 +1165,60 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -531, - "y": -1503 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -531, + "y": -1503 } - }, - { - "delta": { - "nodeXY6": { - "x": -2310, - "y": -419 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -2310, + "y": -419 } }, - { - "delta": { - "nodeXY6": { - "x": -3646, - "y": -430 - } - }, - "attributes": { - "dElevation": -20 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -3646, + "y": -430 } }, - { - "delta": { - "nodeXY6": { - "x": -10414, - "y": -143 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -10414, + "y": -143 } }, - { - "delta": { - "nodeXY6": { - "x": -9909, - "y": 10 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -9909, + "y": 10 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -1314,53 +1294,51 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -683, - "y": -1177 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -683, + "y": -1177 } - }, - { - "delta": { - "nodeXY6": { - "x": -3456, - "y": -562 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -3456, + "y": -562 } - }, - { - "delta": { - "nodeXY6": { - "x": -2411, - "y": -259 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -2411, + "y": -259 } }, - { - "delta": { - "nodeXY6": { - "x": -10834, - "y": -138 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -10834, + "y": -138 } - }, - { - "delta": { - "nodeXY6": { - "x": -9372, - "y": 39 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -9372, + "y": 39 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -1422,26 +1400,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1538, - "y": -296 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1538, + "y": -296 } - }, - { - "delta": { - "nodeXY6": { - "x": 253, - "y": 63 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 253, + "y": 63 } } - ] - } + } + ] } }, { @@ -1478,26 +1454,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1619, - "y": -669 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1619, + "y": -669 } - }, - { - "delta": { - "nodeXY6": { - "x": 265, - "y": 92 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 265, + "y": 92 } } - ] - } + } + ] } }, { @@ -1534,29 +1508,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1757, - "y": -1059 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1757, + "y": -1059 } - }, - { - "delta": { - "nodeXY6": { - "x": 253, - "y": 80 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 253, + "y": 80 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] } }, { @@ -1593,29 +1565,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2269, - "y": 1625 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2269, + "y": 1625 } }, - { - "delta": { - "nodeXY6": { - "x": -311, - "y": -57 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -311, + "y": -57 } } - ] - } + } + ] } }, { @@ -1652,29 +1622,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2200, - "y": 1293 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2200, + "y": 1293 } }, - { - "delta": { - "nodeXY6": { - "x": -334, - "y": -63 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -334, + "y": -63 } } - ] - } + } + ] } }, { @@ -1711,29 +1679,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2108, - "y": 914 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2108, + "y": 914 } }, - { - "delta": { - "nodeXY6": { - "x": -369, - "y": -57 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -369, + "y": -57 } } - ] - } + } + ] } }, { @@ -1770,29 +1736,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2056, - "y": 564 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2056, + "y": 564 } }, - { - "delta": { - "nodeXY6": { - "x": -363, - "y": -69 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -363, + "y": -69 } } - ] - } + } + ] } }, { @@ -1829,29 +1793,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1975, - "y": 197 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1975, + "y": 197 } }, - { - "delta": { - "nodeXY6": { - "x": -374, - "y": -80 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -374, + "y": -80 } } - ] - } + } + ] } }, { @@ -1902,37 +1864,35 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1710, - "y": 2641 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1710, + "y": 2641 } }, - { - "delta": { - "nodeXY6": { - "x": -415, - "y": 2042 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -415, + "y": 2042 } - }, - { - "delta": { - "nodeXY6": { - "x": -282, - "y": 516 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -282, + "y": 516 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -2029,40 +1989,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1365, - "y": 2715 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1365, + "y": 2715 } }, - { - "delta": { - "nodeXY6": { - "x": -484, - "y": 2065 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -484, + "y": 2065 } }, - { - "delta": { - "nodeXY6": { - "x": -150, - "y": 528 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -150, + "y": 528 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -2124,29 +2082,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -587, - "y": 2813 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -587, + "y": 2813 } }, - { - "delta": { - "nodeXY6": { - "x": -69, - "y": 235 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -69, + "y": 235 } } - ] - } + } + ] } }, { @@ -2197,59 +2153,57 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 520, - "y": 2310 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 520, + "y": 2310 } }, - { - "delta": { - "nodeXY6": { - "x": 3064, - "y": 643 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3064, + "y": 643 } - }, - { - "delta": { - "nodeXY6": { - "x": 5840, - "y": 889 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 5840, + "y": 889 } }, - { - "delta": { - "nodeXY6": { - "x": 3583, - "y": 356 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3583, + "y": 356 } - }, - { - "delta": { - "nodeXY6": { - "x": 3329, - "y": 207 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3329, + "y": 207 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -2344,51 +2298,49 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 595, - "y": 1960 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 595, + "y": 1960 } }, - { - "delta": { - "nodeXY6": { - "x": 4642, - "y": 895 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 4642, + "y": 895 } - }, - { - "delta": { - "nodeXY6": { - "x": 4953, - "y": 711 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 4953, + "y": 711 } }, - { - "delta": { - "nodeXY6": { - "x": 6117, - "y": 516 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 6117, + "y": 516 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -2464,75 +2416,73 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 664, - "y": 1620 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 664, + "y": 1620 } }, - { - "delta": { - "nodeXY6": { - "x": 3594, - "y": 677 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3594, + "y": 677 } - }, - { - "delta": { - "nodeXY6": { - "x": 3577, - "y": 574 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3577, + "y": 574 } }, - { - "delta": { - "nodeXY6": { - "x": 2427, - "y": 309 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 2427, + "y": 309 } - }, - { - "delta": { - "nodeXY6": { - "x": 2387, - "y": 246 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 2387, + "y": 246 } - }, - { - "delta": { - "nodeXY6": { - "x": 2442, - "y": 172 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 2442, + "y": 172 } - }, - { - "delta": { - "nodeXY6": { - "x": 1210, - "y": 80 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 1210, + "y": 80 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -2608,59 +2558,57 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 732, - "y": 1263 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 732, + "y": 1263 } }, - { - "delta": { - "nodeXY6": { - "x": 5921, - "y": 1073 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 5921, + "y": 1073 } }, - { - "delta": { - "nodeXY6": { - "x": 3617, - "y": 476 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3617, + "y": 476 } - }, - { - "delta": { - "nodeXY6": { - "x": 2422, - "y": 240 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 2422, + "y": 240 } - }, - { - "delta": { - "nodeXY6": { - "x": 3631, - "y": 251 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3631, + "y": 251 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -2736,53 +2684,51 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 800, - "y": 894 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 800, + "y": 894 } - }, - { - "delta": { - "nodeXY6": { - "x": 3583, - "y": 683 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 3583, + "y": 683 } - }, - { - "delta": { - "nodeXY6": { - "x": 4735, - "y": 723 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 4735, + "y": 723 } - }, - { - "delta": { - "nodeXY6": { - "x": 3617, - "y": 384 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 3617, + "y": 384 } - }, - { - "delta": { - "nodeXY6": { - "x": 3625, - "y": 249 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3625, + "y": 249 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -2844,29 +2790,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 8335, - "y": -222 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 8335, + "y": -222 } }, - { - "delta": { - "nodeXY6": { - "x": 242, - "y": 23 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 242, + "y": 23 } } - ] - } + } + ] } } ] @@ -2881,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-104866790817230366165100000000000000000001000000000001821120122824-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.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", "expected": { "metadata": { "logFileName": "", @@ -2925,7 +2869,7 @@ "refPoint": { "latitude": 39.5950548, "longitude": -104.8667908, - "elevation": "1723.0" + "elevation": 1723.2 }, "laneWidth": 366, "laneSet": { @@ -2978,40 +2922,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1821, - "y": 1201 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1821, + "y": 1201 } - }, - { - "delta": { - "nodeXY6": { - "x": 22824, - "y": -17 - } - }, - "attributes": { - "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22824, + "y": -17 } }, - { - "delta": { - "nodeXY6": { - "x": 22927, - "y": -23 - } - }, - "attributes": { - "dElevation": -40 + "attributes": { + "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22927, + "y": -23 } + }, + "attributes": { + "dElevation": -40 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -3087,40 +3029,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1831, - "y": 833 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1831, + "y": 833 } - }, - { - "delta": { - "nodeXY6": { - "x": 22791, - "y": -39 - } - }, - "attributes": { - "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22791, + "y": -39 } }, - { - "delta": { - "nodeXY6": { - "x": 22950, - "y": -6 - } - }, - "attributes": { - "dElevation": -40 + "attributes": { + "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22950, + "y": -6 } + }, + "attributes": { + "dElevation": -40 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -3196,40 +3136,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1839, - "y": 453 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1839, + "y": 453 } - }, - { - "delta": { - "nodeXY6": { - "x": 22869, - "y": 8 - } - }, - "attributes": { - "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22869, + "y": 8 } }, - { - "delta": { - "nodeXY6": { - "x": 22893, - "y": -12 - } - }, - "attributes": { - "dElevation": -40 + "attributes": { + "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22893, + "y": -12 } + }, + "attributes": { + "dElevation": -40 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -3305,32 +3243,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2608, - "y": 71 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2608, + "y": 71 } }, - { - "delta": { - "nodeXY6": { - "x": 10503, - "y": 0 - } - }, - "attributes": { - "dElevation": -60 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 10503, + "y": 0 } + }, + "attributes": { + "dElevation": -60 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -3406,32 +3342,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2596, - "y": -288 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2596, + "y": -288 } }, - { - "delta": { - "nodeXY6": { - "x": 9697, - "y": 6 - } - }, - "attributes": { - "dElevation": -60 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 9697, + "y": 6 } + }, + "attributes": { + "dElevation": -60 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -3507,32 +3441,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1815, - "y": 1527 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1815, + "y": 1527 } }, - { - "delta": { - "nodeXY6": { - "x": 16128, - "y": 38 - } - }, - "attributes": { - "dElevation": -90 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 16128, + "y": 38 } + }, + "attributes": { + "dElevation": -90 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -3613,29 +3545,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1916, - "y": -844 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1916, + "y": -844 } }, - { - "delta": { - "nodeXY6": { - "x": 461, - "y": -6 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 461, + "y": -6 } } - ] - } + } + ] } }, { @@ -3672,29 +3602,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1916, - "y": -1205 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1916, + "y": -1205 } }, - { - "delta": { - "nodeXY6": { - "x": 472, - "y": -6 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 472, + "y": -6 } } - ] - } + } + ] } }, { @@ -3731,29 +3659,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1875, - "y": -1595 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1875, + "y": -1595 } }, - { - "delta": { - "nodeXY6": { - "x": 507, - "y": 0 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 507, + "y": 0 } } - ] - } + } + ] } }, { @@ -3790,29 +3716,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -540, - "y": -2621 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -540, + "y": -2621 } }, - { - "delta": { - "nodeXY6": { - "x": 7, - "y": -283 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 7, + "y": -283 } } - ] - } + } + ] } }, { @@ -3849,29 +3773,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -888, - "y": -2635 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -888, + "y": -2635 } }, - { - "delta": { - "nodeXY6": { - "x": 0, - "y": -283 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 0, + "y": -283 } } - ] - } + } + ] } }, { @@ -3908,29 +3830,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1300, - "y": -2685 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1300, + "y": -2685 } }, - { - "delta": { - "nodeXY6": { - "x": 7, - "y": -248 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 7, + "y": -248 } } - ] - } + } + ] } }, { @@ -3981,32 +3901,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2089, - "y": -1980 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2089, + "y": -1980 } }, - { - "delta": { - "nodeXY6": { - "x": -11230, - "y": 22 - } - }, - "attributes": { - "dElevation": 70 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -11230, + "y": 22 } + }, + "attributes": { + "dElevation": 70 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -4101,40 +4019,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2066, - "y": -1614 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2066, + "y": -1614 } - }, - { - "delta": { - "nodeXY6": { - "x": -22451, - "y": -44 - } - }, - "attributes": { - "dElevation": 140 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22451, + "y": -44 } }, - { - "delta": { - "nodeXY6": { - "x": -22755, - "y": -14 - } - }, - "attributes": { - "dElevation": 70 + "attributes": { + "dElevation": 140 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22755, + "y": -14 } + }, + "attributes": { + "dElevation": 70 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -4210,40 +4126,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2041, - "y": -1320 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2041, + "y": -1320 } - }, - { - "delta": { - "nodeXY6": { - "x": -22637, - "y": 29 - } - }, - "attributes": { - "dElevation": 150 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22637, + "y": 29 } }, - { - "delta": { - "nodeXY6": { - "x": -22601, - "y": 46 - } - }, - "attributes": { - "dElevation": 60 + "attributes": { + "dElevation": 150 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22601, + "y": 46 } + }, + "attributes": { + "dElevation": 60 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -4319,43 +4233,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2030, - "y": -904 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2030, + "y": -904 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22671, + "y": 3 } }, - { - "delta": { - "nodeXY6": { - "x": -22671, - "y": 3 - } - }, - "attributes": { - "dElevation": 140 + "attributes": { + "dElevation": 140 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22527, + "y": 18 } }, - { - "delta": { - "nodeXY6": { - "x": -22527, - "y": 18 - } - }, - "attributes": { - "dElevation": 60 - } + "attributes": { + "dElevation": 60 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -4431,43 +4343,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2430, - "y": -107 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2430, + "y": -107 } }, - { - "delta": { - "nodeXY6": { - "x": -9878, - "y": -11 - } - }, - "attributes": { - "dElevation": 40 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -9878, + "y": -11 } }, - { - "delta": { - "nodeXY6": { - "x": -2258, - "y": -556 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 40 + } + }, + { + "delta": { + "nodeXY6": { + "x": -2258, + "y": -556 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -4550,29 +4460,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1939, - "y": 425 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1939, + "y": 425 } }, - { - "delta": { - "nodeXY6": { - "x": -271, - "y": 0 - } + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -271, + "y": 0 } } - ] - } + } + ] } }, { @@ -4609,29 +4517,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1916, - "y": 792 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1916, + "y": 792 } }, - { - "delta": { - "nodeXY6": { - "x": -300, - "y": -6 - } + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -300, + "y": -6 } } - ] - } + } + ] } }, { @@ -4668,29 +4574,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1910, - "y": 1154 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1910, + "y": 1154 } }, - { - "delta": { - "nodeXY6": { - "x": -282, - "y": 0 - } + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -282, + "y": 0 } } - ] - } + } + ] } }, { @@ -4727,29 +4631,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1899, - "y": 1504 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1899, + "y": 1504 } }, - { - "delta": { - "nodeXY6": { - "x": -288, - "y": 0 - } + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -288, + "y": 0 } } - ] - } + } + ] } }, { @@ -4800,95 +4702,93 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -594, - "y": 2467 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -23, - "y": 1503 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -52, - "y": 2249 - } - } - }, - { - "delta": { - "nodeXY6": { - "x": -156, - "y": 2008 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -472, - "y": 2163 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -778, - "y": 2323 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -1296, - "y": 2209 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -1100, - "y": 1549 - } - }, - "attributes": { - "dElevation": 10 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -594, + "y": 2467 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -23, + "y": 1503 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -52, + "y": 2249 + } + } + }, + { + "delta": { + "nodeXY6": { + "x": -156, + "y": 2008 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -472, + "y": 2163 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -778, + "y": 2323 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1296, + "y": 2209 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1100, + "y": 1549 + } + }, + "attributes": { + "dElevation": 10 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -4964,106 +4864,104 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -997, - "y": 2409 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -12, - "y": 1767 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -105, - "y": 2959 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -153, - "y": 1231 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -420, - "y": 2100 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -824, - "y": 2123 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -674, - "y": 1331 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -755, - "y": 1210 - } - } - }, - { - "delta": { - "nodeXY6": { - "x": -835, - "y": 1061 - } - }, - "attributes": { - "dElevation": 10 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -997, + "y": 2409 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -12, + "y": 1767 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -105, + "y": 2959 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -153, + "y": 1231 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -420, + "y": 2100 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -824, + "y": 2123 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -674, + "y": 1331 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -755, + "y": 1210 + } + } + }, + { + "delta": { + "nodeXY6": { + "x": -835, + "y": 1061 + } + }, + "attributes": { + "dElevation": 10 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -5179,54 +5077,52 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -288, - "y": 2486 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -288, + "y": 2486 } }, - { - "delta": { - "nodeXY6": { - "x": -29, - "y": 3976 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -29, + "y": 3976 } }, - { - "delta": { - "nodeXY6": { - "x": -196, - "y": 1922 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -196, + "y": 1922 } }, - { - "delta": { - "nodeXY6": { - "x": -599, - "y": 2473 - } - }, - "attributes": { - "dElevation": 20 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -599, + "y": 2473 } + }, + "attributes": { + "dElevation": 20 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -5302,62 +5198,60 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 23, - "y": 2509 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 23, + "y": 2509 } }, - { - "delta": { - "nodeXY6": { - "x": 23, - "y": 2467 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 23, + "y": 2467 } }, - { - "delta": { - "nodeXY6": { - "x": -58, - "y": 1979 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -58, + "y": 1979 } - }, - { - "delta": { - "nodeXY6": { - "x": -242, - "y": 1916 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -242, + "y": 1916 } }, - { - "delta": { - "nodeXY6": { - "x": -438, - "y": 1618 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -438, + "y": 1618 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -5419,29 +5313,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 442, - "y": 2545 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 442, + "y": 2545 } }, - { - "delta": { - "nodeXY6": { - "x": 0, - "y": 333 - } + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 0, + "y": 333 } } - ] - } + } + ] } }, { @@ -5478,32 +5370,30 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 851, - "y": 2533 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 851, + "y": 2533 } }, - { - "delta": { - "nodeXY6": { - "x": 0, - "y": 338 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 0, + "y": 338 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] } }, { @@ -5554,32 +5444,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 974, - "y": -2408 - } - }, - "attributes": { - "dElevation": -30 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 974, + "y": -2408 } }, - { - "delta": { - "nodeXY6": { - "x": -60, - "y": -15160 - } - }, - "attributes": { - "dElevation": 50 + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY6": { + "x": -60, + "y": -15160 } + }, + "attributes": { + "dElevation": 50 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -5655,32 +5543,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 564, - "y": -2467 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 564, + "y": -2467 } }, - { - "delta": { - "nodeXY6": { - "x": -8, - "y": -15094 - } - }, - "attributes": { - "dElevation": 40 + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -8, + "y": -15094 } + }, + "attributes": { + "dElevation": 40 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -5756,32 +5642,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 202, - "y": -2492 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 202, + "y": -2492 } }, - { - "delta": { - "nodeXY6": { - "x": 10, - "y": -15080 - } - }, - "attributes": { - "dElevation": 40 + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 10, + "y": -15080 } + }, + "attributes": { + "dElevation": 40 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -5857,32 +5741,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -148, - "y": -2541 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -148, + "y": -2541 } }, - { - "delta": { - "nodeXY6": { - "x": 7, - "y": -3031 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 7, + "y": -3031 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -5958,64 +5840,62 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2555, - "y": -2340 - } - }, - "attributes": { - "dElevation": -30 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2555, + "y": -2340 } }, - { - "delta": { - "nodeXY6": { - "x": -357, - "y": -252 - } + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY6": { + "x": -357, + "y": -252 } - }, - { - "delta": { - "nodeXY6": { - "x": -438, - "y": -459 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -438, + "y": -459 } - }, - { - "delta": { - "nodeXY6": { - "x": -288, - "y": -562 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -288, + "y": -562 } - }, - { - "delta": { - "nodeXY6": { - "x": -177, - "y": -601 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -177, + "y": -601 } - }, - { - "delta": { - "nodeXY6": { - "x": -13, - "y": -9030 - } - }, - "attributes": { - "dElevation": 30 + } + }, + { + "delta": { + "nodeXY6": { + "x": -13, + "y": -9030 } + }, + "attributes": { + "dElevation": 30 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -6054,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-1048404171171403663110000000000000000000100000000000-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.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", "expected": { "metadata": { "logFileName": "", @@ -6098,7 +5978,7 @@ "refPoint": { "latitude": 39.5950299, "longitude": -104.8404171, - "elevation": "1714.0" + "elevation": 1714.6 }, "laneWidth": 366, "laneSet": { @@ -6151,43 +6031,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2287, - "y": -615 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2287, + "y": -615 } }, - { - "delta": { - "nodeXY6": { - "x": -22396, - "y": -4 - } - }, - "attributes": { - "dElevation": 60 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22396, + "y": -4 } }, - { - "delta": { - "nodeXY6": { - "x": -22917, - "y": 155 - } - }, - "attributes": { - "dElevation": -30 + "attributes": { + "dElevation": 60 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22917, + "y": 155 } + }, + "attributes": { + "dElevation": -30 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -6263,43 +6141,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2229, - "y": -954 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2229, + "y": -954 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22527, + "y": 43 } }, - { - "delta": { - "nodeXY6": { - "x": -22527, - "y": 43 - } - }, - "attributes": { - "dElevation": 60 + "attributes": { + "dElevation": 60 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22850, + "y": 33 } }, - { - "delta": { - "nodeXY6": { - "x": -22850, - "y": 33 - } - }, - "attributes": { - "dElevation": -30 - } + "attributes": { + "dElevation": -30 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -6375,43 +6251,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2148, - "y": -1384 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2148, + "y": -1384 } }, - { - "delta": { - "nodeXY6": { - "x": -22900, - "y": 37 - } - }, - "attributes": { - "dElevation": 60 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22900, + "y": 37 } }, - { - "delta": { - "nodeXY6": { - "x": -22584, - "y": 82 - } - }, - "attributes": { - "dElevation": -30 + "attributes": { + "dElevation": 60 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22584, + "y": 82 } + }, + "attributes": { + "dElevation": -30 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -6527,40 +6401,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2431, - "y": 136 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2431, + "y": 136 } }, - { - "delta": { - "nodeXY6": { - "x": -21380, - "y": 63 - } - }, - "attributes": { - "dElevation": 60 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -21380, + "y": 63 } }, - { - "delta": { - "nodeXY6": { - "x": -1630, - "y": -321 - } + "attributes": { + "dElevation": 60 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1630, + "y": -321 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -6643,29 +6515,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2534, - "y": 670 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2534, + "y": 670 } }, - { - "delta": { - "nodeXY6": { - "x": -282, - "y": 0 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -282, + "y": 0 } } - ] - } + } + ] } }, { @@ -6702,32 +6572,30 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2569, - "y": 1043 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2569, + "y": 1043 } }, - { - "delta": { - "nodeXY6": { - "x": -276, - "y": 0 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -276, + "y": 0 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] } }, { @@ -6764,32 +6632,30 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2621, - "y": 1398 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2621, + "y": 1398 } }, - { - "delta": { - "nodeXY6": { - "x": -294, - "y": 11 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -294, + "y": 11 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] } }, { @@ -6840,32 +6706,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1486, - "y": 2087 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1486, + "y": 2087 } }, - { - "delta": { - "nodeXY6": { - "x": 35, - "y": 6379 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 35, + "y": 6379 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -6960,32 +6824,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1158, - "y": 2075 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1158, + "y": 2075 } }, - { - "delta": { - "nodeXY6": { - "x": 63, - "y": 6402 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 63, + "y": 6402 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -7061,32 +6923,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -824, - "y": 2052 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -824, + "y": 2052 } }, - { - "delta": { - "nodeXY6": { - "x": 69, - "y": 6425 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 69, + "y": 6425 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -7169,26 +7029,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 242, - "y": 2070 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 242, + "y": 2070 } - }, - { - "delta": { - "nodeXY6": { - "x": 0, - "y": 436 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 0, + "y": 436 } } - ] - } + } + ] } }, { @@ -7225,26 +7083,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 645, - "y": 2070 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 645, + "y": 2070 } - }, - { - "delta": { - "nodeXY6": { - "x": -12, - "y": 436 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -12, + "y": 436 } } - ] - } + } + ] } }, { @@ -7295,43 +7151,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1947, - "y": 1325 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1947, + "y": 1325 } }, - { - "delta": { - "nodeXY6": { - "x": 22150, - "y": -46 - } - }, - "attributes": { - "dElevation": 20 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22150, + "y": -46 } }, - { - "delta": { - "nodeXY6": { - "x": 22325, - "y": -85 - } - }, - "attributes": { - "dElevation": 80 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22325, + "y": -85 } + }, + "attributes": { + "dElevation": 80 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -7447,43 +7301,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2033, - "y": 1003 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2033, + "y": 1003 } }, - { - "delta": { - "nodeXY6": { - "x": 22028, - "y": -42 - } - }, - "attributes": { - "dElevation": 20 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22028, + "y": -42 } }, - { - "delta": { - "nodeXY6": { - "x": 22360, - "y": -105 - } - }, - "attributes": { - "dElevation": 80 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22360, + "y": -105 } + }, + "attributes": { + "dElevation": 80 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -7559,43 +7411,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2068, - "y": 624 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2068, + "y": 624 } }, - { - "delta": { - "nodeXY6": { - "x": 22029, - "y": -52 - } - }, - "attributes": { - "dElevation": 20 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22029, + "y": -52 } }, - { - "delta": { - "nodeXY6": { - "x": 22307, - "y": -72 - } - }, - "attributes": { - "dElevation": 80 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22307, + "y": -72 } + }, + "attributes": { + "dElevation": 80 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -7671,32 +7521,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2125, - "y": 314 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2125, + "y": 314 } }, - { - "delta": { - "nodeXY6": { - "x": 24076, - "y": -138 - } - }, - "attributes": { - "dElevation": 30 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 24076, + "y": -138 } + }, + "attributes": { + "dElevation": 30 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -7772,32 +7620,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2183, - "y": -87 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2183, + "y": -87 } }, - { - "delta": { - "nodeXY6": { - "x": 20228, - "y": -69 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 20228, + "y": -69 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -7859,29 +7705,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2275, - "y": -661 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2275, + "y": -661 } }, - { - "delta": { - "nodeXY6": { - "x": 282, - "y": -6 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 282, + "y": -6 } } - ] - } + } + ] } }, { @@ -7918,29 +7762,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2344, - "y": -1068 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2344, + "y": -1068 } }, - { - "delta": { - "nodeXY6": { - "x": 230, - "y": -6 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 230, + "y": -6 } } - ] - } + } + ] } }, { @@ -7977,29 +7819,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2385, - "y": -1395 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2385, + "y": -1395 } }, - { - "delta": { - "nodeXY6": { - "x": 230, - "y": 0 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 230, + "y": 0 } } - ] - } + } + ] } }, { @@ -8050,67 +7890,65 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 697, - "y": -2067 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 697, + "y": -2067 } - }, - { - "delta": { - "nodeXY6": { - "x": 6, - "y": -4044 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 6, + "y": -4044 } - }, - { - "delta": { - "nodeXY6": { - "x": -173, - "y": -2123 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -173, + "y": -2123 } }, - { - "delta": { - "nodeXY6": { - "x": -104, - "y": -929 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -104, + "y": -929 } - }, - { - "delta": { - "nodeXY6": { - "x": -518, - "y": -2708 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -518, + "y": -2708 } }, - { - "delta": { - "nodeXY6": { - "x": -1140, - "y": -4991 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1140, + "y": -4991 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -8186,75 +8024,73 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1089, - "y": -2072 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1089, + "y": -2072 } - }, - { - "delta": { - "nodeXY6": { - "x": -29, - "y": -1973 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -29, + "y": -1973 } - }, - { - "delta": { - "nodeXY6": { - "x": -17, - "y": -2593 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -17, + "y": -2593 } - }, - { - "delta": { - "nodeXY6": { - "x": -184, - "y": -1824 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -184, + "y": -1824 } }, - { - "delta": { - "nodeXY6": { - "x": -253, - "y": -1744 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -253, + "y": -1744 } - }, - { - "delta": { - "nodeXY6": { - "x": -363, - "y": -1847 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -363, + "y": -1847 } }, - { - "delta": { - "nodeXY6": { - "x": -1146, - "y": -4894 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1146, + "y": -4894 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -8349,29 +8185,27 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -12, - "y": -2095 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -12, + "y": -2095 } - }, - { - "delta": { - "nodeXY6": { - "x": -52, - "y": -4222 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -52, + "y": -4222 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -8447,67 +8281,65 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 334, - "y": -2101 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 334, + "y": -2101 } - }, - { - "delta": { - "nodeXY6": { - "x": -23, - "y": -4142 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -23, + "y": -4142 } - }, - { - "delta": { - "nodeXY6": { - "x": -81, - "y": -1411 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -81, + "y": -1411 } }, - { - "delta": { - "nodeXY6": { - "x": -236, - "y": -2042 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -236, + "y": -2042 } - }, - { - "delta": { - "nodeXY6": { - "x": -472, - "y": -2174 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -472, + "y": -2174 } }, - { - "delta": { - "nodeXY6": { - "x": -1112, - "y": -4871 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1112, + "y": -4871 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -8569,29 +8401,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -570, - "y": -2153 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -570, + "y": -2153 } }, - { - "delta": { - "nodeXY6": { - "x": -6, - "y": -293 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -6, + "y": -293 } } - ] - } + } + ] } }, { @@ -8628,29 +8458,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1043, - "y": -2153 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1043, + "y": -2153 } }, - { - "delta": { - "nodeXY6": { - "x": 0, - "y": -281 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 0, + "y": -281 } } - ] - } + } + ] } } ] @@ -8664,8 +8492,8 @@ } }, { - "description": "Test case 3 - MapJson", - "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadd71ab23d-0f89-4847-abef-ea6ffe43995b10002024-11-08T22:01:12.973Z70RSUfalse0012830538023000205EA2094D3A3E202CA7783451FA02DC385824E8000002000089D7FA3C8FF96D5837A9E7A4163680002025822E80000020000A97DFAB40A0A6C00BD21D013EC3792FAD4163880002025820E80000040001A92E3AA00A0A6BFE6538C813ECC7FD3303027D9B01B5AC0004E235FE3698CC09E2058240003009607BA00000100006A32EEB6028298FFA7E6A04FB31FFDFEA809F66C0276FE601374C7D7F795027B0160B0000C0220270400000000A7FF8A4108E8220290400000000AE7B8BC106654582F6800000400008BB12D889D763ED6CD4D1F3D027B01617000100258316800000400010BADA8407C8F7F7B37CB7C0C09F65EF01F8E04FB02C2A0002004B066D0000004000117754649317D7F1C5F5AF8E0B0540003012C1AB4000001000045D8EF044D741F7C5E72E30C04FB02C110000C04406F08000000017372C9833182C4073080000000172BA0F033D800B07B90000002000117BA05905140476BFCD2EDD813D8031D200012C03140000010000451D42D0C808C5E8027D97035116813EC2B0A4000501485A000296010A000001000062A421736408A2E5813ECD802B5DAA027B1B00507F4404E736005D134009B00589C00010096008A000001000082BB615E6407E1FA013ECB806072409F66405040A013ECD806744FF02739AFFA48A8604D802C520000804B024D000000400015070BFA01414C2F6E02E0282866DD75682C4D0001C04B020D000000400005073B5901414C18BE01D0282816288000E02580E680000040001283196680A0A610C6FF481414338842B0258DFD82C6E0001004B018D0000008000250602268141443771FB058F7A150050508C8E05C1639000080220148400000002836E6FC0A0A0229030805A100000000A104B5C0282806D400202B240000000161566915810BFF2400A48000000008D5480C0F18AE4008480000000093B88680F4880203BA40000000134E16A301C4422581CC800000100012CF576F9028283793BFB201DED0C09F6241B7BB408C3480004218400201AA4000000030CE28E000A0A01B50008062900000000C33B621C0282805EBF400002000144016C02C36DDFFF0282984ACC1EE05052C36F0AC02828669D82DA8F821480A0A10F140002C8E0001004B03190000008000519FD190C43B2E0066108B08401428C342A0CE02828258A0604A6BE959AEE0E6050502C920001004B02D90000008000459FA164404FB30A8580A00A14619C306701414C32CE10E02829659081F814141029030164B000080200RSU10.11.81.19MessageFrame1820121132395662624-10508272111689036618710000000000000000000010000000000-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", + "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", "expected": { "metadata": { "logFileName": "", @@ -8709,7 +8537,7 @@ "refPoint": { "latitude": 39.5662624, "longitude": -105.0827211, - "elevation": "1689.0" + "elevation": 1689.9 }, "laneWidth": 366, "laneSet": { @@ -8762,34 +8590,32 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -161, - "y": 1679 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -161, + "y": 1679 } - }, - { - "delta": { - "nodeXY5": { - "x": -14, - "y": 5804 - } + } + }, + { + "delta": { + "nodeXY5": { + "x": -14, + "y": 5804 } - }, - { - "delta": { - "nodeXY4": { - "x": -173, - "y": 2537 - } + } + }, + { + "delta": { + "nodeXY4": { + "x": -173, + "y": 2537 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -8865,40 +8691,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -521, - "y": 1709 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -521, + "y": 1709 } }, - { - "delta": { - "nodeXY6": { - "x": 23, - "y": 9274 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 23, + "y": 9274 } }, - { - "delta": { - "nodeXY4": { - "x": -219, - "y": 3765 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY4": { + "x": -219, + "y": 3765 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -8974,65 +8798,63 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -840, - "y": 1704 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -52, - "y": 10009 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY5": { - "x": -12, - "y": 4867 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY6": { - "x": 218, - "y": 22016 - } - }, - "attributes": { - "dElevation": -60 - } - }, - { - "delta": { - "nodeXY6": { - "x": -115, - "y": 9779 - } - }, - "attributes": { - "dElevation": -30 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -840, + "y": 1704 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -52, + "y": 10009 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -12, + "y": 4867 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 218, + "y": 22016 + } + }, + "attributes": { + "dElevation": -60 + } + }, + { + "delta": { + "nodeXY6": { + "x": -115, + "y": 9779 + } + }, + "attributes": { + "dElevation": -30 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -9108,65 +8930,63 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1234, - "y": 1718 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY5": { - "x": -12, - "y": 7989 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY5": { - "x": -3, - "y": 8106 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY6": { - "x": 78, - "y": 24524 - } - }, - "attributes": { - "dElevation": -70 - } - }, - { - "delta": { - "nodeXY5": { - "x": -161, - "y": 6037 - } - }, - "attributes": { - "dElevation": -20 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1234, + "y": 1718 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -12, + "y": 7989 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -3, + "y": 8106 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 78, + "y": 24524 + } + }, + "attributes": { + "dElevation": -70 + } + }, + { + "delta": { + "nodeXY5": { + "x": -161, + "y": 6037 + } + }, + "attributes": { + "dElevation": -20 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -9228,26 +9048,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 511, - "y": 1577 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 511, + "y": 1577 } - }, - { - "delta": { - "nodeXY1": { - "x": 17, - "y": 321 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 17, + "y": 321 } } - ] - } + } + ] } }, { @@ -9284,26 +9102,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 926, - "y": 1583 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 926, + "y": 1583 } - }, - { - "delta": { - "nodeXY1": { - "x": 12, - "y": 298 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 12, + "y": 298 } } - ] - } + } + ] } }, { @@ -9354,37 +9170,35 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1732, - "y": 866 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1732, + "y": 866 } - }, - { - "delta": { - "nodeXY5": { - "x": 6892, - "y": -149 - } + } + }, + { + "delta": { + "nodeXY5": { + "x": 6892, + "y": -149 } - }, - { - "delta": { - "nodeXY5": { - "x": 5428, - "y": -195 - } - }, - "attributes": { - "dElevation": -20 + } + }, + { + "delta": { + "nodeXY5": { + "x": 5428, + "y": -195 } + }, + "attributes": { + "dElevation": -20 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -9460,48 +9274,46 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1718, - "y": 528 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1718, + "y": 528 } - }, - { - "delta": { - "nodeXY4": { - "x": 3215, - "y": -17 - } + } + }, + { + "delta": { + "nodeXY4": { + "x": 3215, + "y": -17 } - }, - { - "delta": { - "nodeXY5": { - "x": 6091, - "y": -253 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 6091, + "y": -253 } }, - { - "delta": { - "nodeXY4": { - "x": 3008, - "y": -57 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY4": { + "x": 3008, + "y": -57 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -9577,34 +9389,32 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1770, - "y": 201 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1770, + "y": 201 } - }, - { - "delta": { - "nodeXY5": { - "x": 4477, - "y": -57 - } + } + }, + { + "delta": { + "nodeXY5": { + "x": 4477, + "y": -57 } - }, - { - "delta": { - "nodeXY3": { - "x": 1965, - "y": -57 - } + } + }, + { + "delta": { + "nodeXY3": { + "x": 1965, + "y": -57 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -9680,37 +9490,35 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1735, - "y": -126 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1735, + "y": -126 } - }, - { - "delta": { - "nodeXY5": { - "x": 5584, - "y": -132 - } + } + }, + { + "delta": { + "nodeXY5": { + "x": 5584, + "y": -132 } - }, - { - "delta": { - "nodeXY4": { - "x": 2507, - "y": 390 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY4": { + "x": 2507, + "y": 390 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -9772,26 +9580,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1646, - "y": -621 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1646, + "y": -621 } - }, - { - "delta": { - "nodeXY1": { - "x": 305, - "y": 11 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 305, + "y": 11 } } - ] - } + } + ] } }, { @@ -9828,26 +9634,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1623, - "y": -994 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1623, + "y": -994 } - }, - { - "delta": { - "nodeXY1": { - "x": 317, - "y": 0 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 317, + "y": 0 } } - ] - } + } + ] } }, { @@ -9898,37 +9702,35 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1908, - "y": -1870 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1908, + "y": -1870 } - }, - { - "delta": { - "nodeXY2": { - "x": -472, - "y": -953 - } + } + }, + { + "delta": { + "nodeXY2": { + "x": -472, + "y": -953 } - }, - { - "delta": { - "nodeXY6": { - "x": -102, - "y": -8773 - } - }, - "attributes": { - "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -102, + "y": -8773 } + }, + "attributes": { + "dElevation": -20 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10003,40 +9805,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 234, - "y": -1688 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 234, + "y": -1688 } - }, - { - "delta": { - "nodeXY5": { - "x": 35, - "y": -6680 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 35, + "y": -6680 } }, - { - "delta": { - "nodeXY4": { - "x": 53, - "y": -3539 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY4": { + "x": 53, + "y": -3539 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10132,62 +9932,60 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 578, - "y": -1677 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 578, + "y": -1677 } - }, - { - "delta": { - "nodeXY5": { - "x": 69, - "y": -6709 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 69, + "y": -6709 } }, - { - "delta": { - "nodeXY6": { - "x": 43, - "y": -8790 - } - }, - "attributes": { - "dElevation": -20 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 43, + "y": -8790 } }, - { - "delta": { - "nodeXY6": { - "x": 40, - "y": -16478 - } - }, - "attributes": { - "dElevation": -50 + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 40, + "y": -16478 } }, - { - "delta": { - "nodeXY6": { - "x": 23, - "y": -15152 - } - }, - "attributes": { - "dElevation": -80 + "attributes": { + "dElevation": -50 + } + }, + { + "delta": { + "nodeXY6": { + "x": 23, + "y": -15152 } + }, + "attributes": { + "dElevation": -80 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10263,73 +10061,71 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 950, - "y": -1698 - } - } - }, - { - "delta": { - "nodeXY5": { - "x": 63, - "y": -7180 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY4": { - "x": 12, - "y": -3639 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 40, - "y": -6124 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY6": { - "x": 103, - "y": -15105 - } - }, - "attributes": { - "dElevation": -50 - } - }, - { - "delta": { - "nodeXY6": { - "x": -46, - "y": -15037 - } - }, - "attributes": { - "dElevation": -80 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 950, + "y": -1698 + } + } + }, + { + "delta": { + "nodeXY5": { + "x": 63, + "y": -7180 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY4": { + "x": 12, + "y": -3639 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 40, + "y": -6124 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 103, + "y": -15105 + } + }, + "attributes": { + "dElevation": -50 + } + }, + { + "delta": { + "nodeXY6": { + "x": -46, + "y": -15037 + } + }, + "attributes": { + "dElevation": -80 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10405,40 +10201,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1823, - "y": -12 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1823, + "y": -12 } }, - { - "delta": { - "nodeXY5": { - "x": -5157, - "y": 46 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -5157, + "y": 46 } }, - { - "delta": { - "nodeXY4": { - "x": -2339, - "y": -339 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY4": { + "x": -2339, + "y": -339 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10514,32 +10308,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1817, - "y": -334 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1817, + "y": -334 } }, - { - "delta": { - "nodeXY5": { - "x": -6609, - "y": 29 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -6609, + "y": 29 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10615,48 +10407,46 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1850, - "y": -614 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1850, + "y": -614 } }, - { - "delta": { - "nodeXY5": { - "x": -6045, - "y": -23 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -6045, + "y": -23 } }, - { - "delta": { - "nodeXY4": { - "x": -2288, - "y": 172 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY4": { + "x": -2288, + "y": 172 } - }, - { - "delta": { - "nodeXY2": { - "x": -669, - "y": -5 - } + } + }, + { + "delta": { + "nodeXY2": { + "x": -669, + "y": -5 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10732,48 +10522,46 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1856, - "y": -947 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1856, + "y": -947 } }, - { - "delta": { - "nodeXY5": { - "x": -4644, - "y": -80 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -4644, + "y": -80 } - }, - { - "delta": { - "nodeXY4": { - "x": -3106, - "y": 168 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY4": { + "x": -3106, + "y": 168 } }, - { - "delta": { - "nodeXY3": { - "x": -1245, - "y": 23 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY3": { + "x": -1245, + "y": 23 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10835,29 +10623,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1829, - "y": 447 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1829, + "y": 447 } }, - { - "delta": { - "nodeXY1": { - "x": -236, - "y": 6 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -236, + "y": 6 } } - ] - } + } + ] } }, { @@ -10894,29 +10680,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1788, - "y": 860 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1788, + "y": 860 } }, - { - "delta": { - "nodeXY1": { - "x": -294, - "y": 0 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -294, + "y": 0 } } - ] - } + } + ] } }, { @@ -10953,26 +10737,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1369, - "y": 9302 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1369, + "y": 9302 } - }, - { - "delta": { - "nodeXY1": { - "x": 23, - "y": 505 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 23, + "y": 505 } } - ] - } + } + ] } }, { @@ -11009,26 +10791,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1195, - "y": -1533 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1195, + "y": -1533 } - }, - { - "delta": { - "nodeXY1": { - "x": -29, - "y": -425 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": -29, + "y": -425 } } - ] - } + } + ] } }, { @@ -11065,26 +10845,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -786, - "y": -1510 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -786, + "y": -1510 } - }, - { - "delta": { - "nodeXY1": { - "x": -23, - "y": -448 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": -23, + "y": -448 } } - ] - } + } + ] } }, { @@ -11121,26 +10899,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY5": { - "x": 5345, - "y": -1396 - } + "nodes": [ + { + "delta": { + "nodeXY5": { + "x": 5345, + "y": -1396 } - }, - { - "delta": { - "nodeXY1": { - "x": 392, - "y": 17 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 392, + "y": 17 } } - ] - } + } + ] } }, { @@ -11191,48 +10967,46 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": -2133, - "y": 1785 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": -2133, + "y": 1785 } }, - { - "delta": { - "nodeXY2": { - "x": 484, - "y": 895 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY2": { + "x": 484, + "y": 895 } - }, - { - "delta": { - "nodeXY5": { - "x": 29, - "y": 6979 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 29, + "y": 6979 } }, - { - "delta": { - "nodeXY5": { - "x": 219, - "y": 5992 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 219, + "y": 5992 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -11312,29 +11086,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY5": { - "x": -4894, - "y": 896 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY5": { + "x": -4894, + "y": 896 } }, - { - "delta": { - "nodeXY1": { - "x": -294, - "y": 0 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -294, + "y": 0 } } - ] - } + } + ] } }, { @@ -11371,29 +11143,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY5": { - "x": -4883, - "y": 540 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY5": { + "x": -4883, + "y": 540 } }, - { - "delta": { - "nodeXY1": { - "x": -323, - "y": -6 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -323, + "y": -6 } } - ] - } + } + ] } } ] @@ -11407,8 +11177,8 @@ } }, { - "description": "Test case 4 - MapJson", - "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload2c91e8d6-f917-4c82-96e4-9de0da3ddca710002024-11-08T22:01:11.319Z70RSUfalse0012834538023000205EA0094D3C71C12CA6CE5D527C02DC3458244800000400028CF6F61F62355F9101464B5AAE70C0A0A631B181A81428D6F27A48302829ADDE94A56050F35BD42952C09C4058340003009609920000010000A2128E4162EAD9980143CC566B6AF028798AF5EB7C050F11349EE19ADCEF4CCA050A35B9E29BE009CE0582C000300960A120000008000222DFE5B6303588D0143CB5AB683C0A0A058F2000080960A920000008000424D3E7162ECF8AF8143CC4C9F8D6028A16876F54814140B1D4000101101632000000014E83CC805050181D34405CC80000000546A74C01414061F5E101832000000015559DAE05050181CA8B06910000008000557F359801414BCCB40000A0A5F6BDEA8050533D307B6C0A1E27EA6FE0AFA9B073027D99945C26C04FB02C360002004B06D1000000800045E50A3E40505331437DAC0A0A6D098BF540143CBEE5BF780A0A67F5501A013ECCC9BA13C027D8161900010025822280000010401AC5437B1027D933B3360141495F5F840A0A62FEF8C581428B624E1CC0A142187100008C3C80008220400203AA400000000F926E6B066F00080F29000000003E45B0481CCC0C583EC800000100012F552960027D9500E77E04FB32AB0218809CE0D89092231E2000118E900011601B200000080002ABF4179027D9958E8EE004E20AE20254561A8000A02B0C40005022C0264000002000115B2C2BC04FB32ACF1F7809C4658F42A6813C4CAEB868F02761B281EA9E004DD364E2D53CC09C4058B40001009600B200000100008AF30177027D9967B06AA04E232A272BEC09E2652CE518813B0D953152C1026E9B2A82A47E04E202C5E0000804401DC8000000051E38FE013EC89FCCA027D84019C8000000052BB904013EC89A097027D84015C80000000538B109813EC0988B31004720000000151DC3EE04FB225C22C09F62C0A840000020000965B0781813D8D599C7FEF02789AB155007204F1356711FFBC09EC058EC0002009604C200000100002B336362809EC6A2FE40170139CD452D7FF502788163D0000802201B2400000002C80D40A027D8067C0020192400000002C825284027D905EC0004FB08085100000000C1AD65AC02788033C00201F4400000003068D912009E2011F0008075100000000C1A1E2F00278804ABF47A7C8195028280540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.20MessageFrame1820121122395806913-10508706901702036618210000000000000000000100000000000-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", + "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", "expected": { "metadata": { "logFileName": "", @@ -11451,8 +11221,8 @@ "revision": 2, "refPoint": { "latitude": 39.5806913, - "longitude": "-105.0870690", - "elevation": "1702.0" + "longitude": -105.0870692, + "elevation": 1702.5 }, "laneWidth": 366, "laneSet": { @@ -11505,84 +11275,82 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": -2121, - "y": 1567 - } - } - }, - { - "delta": { - "nodeXY5": { - "x": -3670, - "y": 7970 - } - }, - "attributes": { - "dElevation": 50 - } - }, - { - "delta": { - "nodeXY4": { - "x": -1195, - "y": 2499 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY5": { - "x": -1832, - "y": 4149 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -4313, - "y": 9347 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -4364, - "y": 9515 - } - }, - "attributes": { - "dElevation": 30 - } - }, - { - "delta": { - "nodeXY6": { - "x": -4272, - "y": 9547 - } - }, - "attributes": { - "dElevation": -60 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": -2121, + "y": 1567 + } + } + }, + { + "delta": { + "nodeXY5": { + "x": -3670, + "y": 7970 + } + }, + "attributes": { + "dElevation": 50 + } + }, + { + "delta": { + "nodeXY4": { + "x": -1195, + "y": 2499 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -1832, + "y": 4149 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -4313, + "y": 9347 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -4364, + "y": 9515 + } + }, + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY6": { + "x": -4272, + "y": 9547 + } + }, + "attributes": { + "dElevation": -60 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -11658,81 +11426,79 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1752, - "y": 1601 - } - } - }, - { - "delta": { - "nodeXY5": { - "x": -2218, - "y": 4912 - } - }, - "attributes": { - "dElevation": 30 - } - }, - { - "delta": { - "nodeXY5": { - "x": -2662, - "y": 5807 - } - }, - "attributes": { - "dElevation": 30 - } - }, - { - "delta": { - "nodeXY5": { - "x": -2581, - "y": 5566 - } - }, - "attributes": { - "dElevation": 30 - } - }, - { - "delta": { - "nodeXY5": { - "x": -3255, - "y": 7046 - } - } - }, - { - "delta": { - "nodeXY6": { - "x": -4489, - "y": 9829 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -4488, - "y": 9976 - } - }, - "attributes": { - "dElevation": -50 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1752, + "y": 1601 + } + } + }, + { + "delta": { + "nodeXY5": { + "x": -2218, + "y": 4912 + } + }, + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY5": { + "x": -2662, + "y": 5807 + } + }, + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY5": { + "x": -2581, + "y": 5566 + } + }, + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY5": { + "x": -3255, + "y": 7046 + } + } + }, + { + "delta": { + "nodeXY6": { + "x": -4489, + "y": 9829 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -4488, + "y": 9976 + } + }, + "attributes": { + "dElevation": -50 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -11808,40 +11574,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1313, - "y": 1627 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1313, + "y": 1627 } - }, - { - "delta": { - "nodeXY5": { - "x": -2022, - "y": 4378 - } - }, - "attributes": { - "dElevation": 30 + } + }, + { + "delta": { + "nodeXY5": { + "x": -2022, + "y": 4378 } }, - { - "delta": { - "nodeXY4": { - "x": -1194, - "y": 2575 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY4": { + "x": -1194, + "y": 2575 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -11917,51 +11681,49 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -813, - "y": 1649 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -813, + "y": 1649 } - }, - { - "delta": { - "nodeXY5": { - "x": -2201, - "y": 4447 - } - }, - "attributes": { - "dElevation": 30 + } + }, + { + "delta": { + "nodeXY5": { + "x": -2201, + "y": 4447 } }, - { - "delta": { - "nodeXY5": { - "x": -3289, - "y": 6358 - } - }, - "attributes": { - "dElevation": 40 + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY5": { + "x": -3289, + "y": 6358 } }, - { - "delta": { - "nodeXY4": { - "x": -1930, - "y": 3753 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 40 + } + }, + { + "delta": { + "nodeXY4": { + "x": -1930, + "y": 3753 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -12023,29 +11785,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -191, - "y": 1636 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -191, + "y": 1636 } }, - { - "delta": { - "nodeXY1": { - "x": -127, - "y": 333 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -127, + "y": 333 } } - ] - } + } + ] } }, { @@ -12082,29 +11842,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 212, - "y": 1688 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 212, + "y": 1688 } }, - { - "delta": { - "nodeXY1": { - "x": -121, - "y": 350 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -121, + "y": 350 } } - ] - } + } + ] } }, { @@ -12141,29 +11899,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 684, - "y": 1751 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 684, + "y": 1751 } }, - { - "delta": { - "nodeXY1": { - "x": -127, - "y": 298 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -127, + "y": 298 } } - ] - } + } + ] } }, { @@ -12214,84 +11970,82 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 2022, - "y": 816 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY4": { - "x": 2454, - "y": 0 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY4": { - "x": 3503, - "y": -172 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 7472, - "y": -293 - } - }, - "attributes": { - "dElevation": 30 - } - }, - { - "delta": { - "nodeXY5": { - "x": 8019, - "y": -63 - } - } - }, - { - "delta": { - "nodeXY4": { - "x": 3405, - "y": 115 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 4747, - "y": 310 - } - }, - "attributes": { - "dElevation": -10 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 2022, + "y": 816 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY4": { + "x": 2454, + "y": 0 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY4": { + "x": 3503, + "y": -172 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 7472, + "y": -293 + } + }, + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY5": { + "x": 8019, + "y": -63 + } + } + }, + { + "delta": { + "nodeXY4": { + "x": 3405, + "y": 115 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 4747, + "y": 310 + } + }, + "attributes": { + "dElevation": -10 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -12367,76 +12121,74 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": 2370, - "y": 498 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 4419, - "y": -149 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": 8497, - "y": -344 - } - }, - "attributes": { - "dElevation": 30 - } - }, - { - "delta": { - "nodeXY4": { - "x": 3531, - "y": -34 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 8106, - "y": 52 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 4718, - "y": 316 - } - }, - "attributes": { - "dElevation": -10 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": 2370, + "y": 498 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 4419, + "y": -149 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 8497, + "y": -344 + } + }, + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY4": { + "x": 3531, + "y": -34 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 8106, + "y": 52 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 4718, + "y": 316 + } + }, + "attributes": { + "dElevation": -10 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -12512,65 +12264,63 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": -3423, - "y": 1969 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY2": { - "x": 236, - "y": 620 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY2": { - "x": -262, - "y": 993 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY5": { - "x": -2057, - "y": 4491 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY4": { - "x": -951, - "y": 2163 - } - }, - "attributes": { - "dElevation": 20 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": -3423, + "y": 1969 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY2": { + "x": 236, + "y": 620 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY2": { + "x": -262, + "y": 993 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -2057, + "y": 4491 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY4": { + "x": -951, + "y": 2163 + } + }, + "attributes": { + "dElevation": 20 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -12670,26 +12420,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": 3219, - "y": -405 - } + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": 3219, + "y": -405 } - }, - { - "delta": { - "nodeXY1": { - "x": 311, - "y": 0 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 311, + "y": 0 } } - ] - } + } + ] } }, { @@ -12726,26 +12474,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": 3211, - "y": -1006 - } + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": 3211, + "y": -1006 } - }, - { - "delta": { - "nodeXY1": { - "x": 409, - "y": 6 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 409, + "y": 6 } } - ] - } + } + ] } }, { @@ -12796,51 +12542,49 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": 2729, - "y": -1696 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": 2729, + "y": -1696 } }, - { - "delta": { - "nodeXY3": { - "x": 7, - "y": -1089 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY3": { + "x": 7, + "y": -1089 } }, - { - "delta": { - "nodeXY5": { - "x": 2736, - "y": -6046 - } - }, - "attributes": { - "dElevation": -50 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 2736, + "y": -6046 } }, - { - "delta": { - "nodeXY2": { - "x": 393, - "y": -951 - } + "attributes": { + "dElevation": -50 + } + }, + { + "delta": { + "nodeXY2": { + "x": 393, + "y": -951 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -12935,40 +12679,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1012, - "y": -1671 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1012, + "y": -1671 } }, - { - "delta": { - "nodeXY5": { - "x": 2845, - "y": -6288 - } - }, - "attributes": { - "dElevation": -60 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 2845, + "y": -6288 } }, - { - "delta": { - "nodeXY3": { - "x": 904, - "y": -1899 - } + "attributes": { + "dElevation": -60 + } + }, + { + "delta": { + "nodeXY3": { + "x": 904, + "y": -1899 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -13065,76 +12807,74 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1430, - "y": -1698 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 2767, - "y": -6178 - } - }, - "attributes": { - "dElevation": -60 - } - }, - { - "delta": { - "nodeXY5": { - "x": 3194, - "y": -6835 - } - }, - "attributes": { - "dElevation": -30 - } - }, - { - "delta": { - "nodeXY5": { - "x": 2990, - "y": -6513 - } - }, - "attributes": { - "dElevation": -40 - } - }, - { - "delta": { - "nodeXY6": { - "x": 5135, - "y": -11024 - } - }, - "attributes": { - "dElevation": -70 - } - }, - { - "delta": { - "nodeXY6": { - "x": 5003, - "y": -11021 - } - }, - "attributes": { - "dElevation": -60 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1430, + "y": -1698 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 2767, + "y": -6178 + } + }, + "attributes": { + "dElevation": -60 + } + }, + { + "delta": { + "nodeXY5": { + "x": 3194, + "y": -6835 + } + }, + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY5": { + "x": 2990, + "y": -6513 + } + }, + "attributes": { + "dElevation": -40 + } + }, + { + "delta": { + "nodeXY6": { + "x": 5135, + "y": -11024 + } + }, + "attributes": { + "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 5003, + "y": -11021 + } + }, + "attributes": { + "dElevation": -60 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -13210,76 +12950,74 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1840, - "y": -1673 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 3318, - "y": -7339 - } - }, - "attributes": { - "dElevation": -60 - } - }, - { - "delta": { - "nodeXY5": { - "x": 2599, - "y": -5381 - } - }, - "attributes": { - "dElevation": -30 - } - }, - { - "delta": { - "nodeXY5": { - "x": 2407, - "y": -5583 - } - }, - "attributes": { - "dElevation": -40 - } - }, - { - "delta": { - "nodeXY6": { - "x": 5425, - "y": -11583 - } - }, - "attributes": { - "dElevation": -70 - } - }, - { - "delta": { - "nodeXY6": { - "x": 5441, - "y": -11713 - } - }, - "attributes": { - "dElevation": -60 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1840, + "y": -1673 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 3318, + "y": -7339 + } + }, + "attributes": { + "dElevation": -60 + } + }, + { + "delta": { + "nodeXY5": { + "x": 2599, + "y": -5381 + } + }, + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY5": { + "x": 2407, + "y": -5583 + } + }, + "attributes": { + "dElevation": -40 + } + }, + { + "delta": { + "nodeXY6": { + "x": 5425, + "y": -11583 + } + }, + "attributes": { + "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 5441, + "y": -11713 + } + }, + "attributes": { + "dElevation": -60 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -13341,32 +13079,30 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1081, - "y": -1540 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1081, + "y": -1540 } }, - { - "delta": { - "nodeXY1": { - "x": 127, - "y": -310 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY1": { + "x": 127, + "y": -310 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] } }, { @@ -13403,32 +13139,30 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -649, - "y": -1528 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -649, + "y": -1528 } }, - { - "delta": { - "nodeXY1": { - "x": 104, - "y": -361 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY1": { + "x": 104, + "y": -361 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] } }, { @@ -13465,29 +13199,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -234, - "y": -1517 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -234, + "y": -1517 } }, - { - "delta": { - "nodeXY1": { - "x": 98, - "y": -333 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY1": { + "x": 98, + "y": -333 } } - ] - } + } + ] } }, { @@ -13524,32 +13256,30 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 238, - "y": -1545 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 238, + "y": -1545 } }, - { - "delta": { - "nodeXY1": { - "x": 92, - "y": -373 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY1": { + "x": 92, + "y": -373 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] } }, { @@ -13600,54 +13330,52 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": -2640, - "y": -253 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": -2640, + "y": -253 } }, - { - "delta": { - "nodeXY6": { - "x": -9828, - "y": -17 - } - }, - "attributes": { - "dElevation": -30 + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -9828, + "y": -17 } }, - { - "delta": { - "nodeXY6": { - "x": -10070, - "y": 57 - } - }, - "attributes": { - "dElevation": -30 + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY6": { + "x": -10070, + "y": 57 } }, - { - "delta": { - "nodeXY6": { - "x": -9788, - "y": -17 - } - }, - "attributes": { - "dElevation": -20 + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY6": { + "x": -9788, + "y": -17 } + }, + "attributes": { + "dElevation": -20 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -13723,43 +13451,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": -2452, - "y": -630 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": -2452, + "y": -630 } }, - { - "delta": { - "nodeXY6": { - "x": -14852, - "y": 46 - } - }, - "attributes": { - "dElevation": -50 + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -14852, + "y": 46 } }, - { - "delta": { - "nodeXY6": { - "x": -15059, - "y": -11 - } - }, - "attributes": { - "dElevation": -30 + "attributes": { + "dElevation": -50 + } + }, + { + "delta": { + "nodeXY6": { + "x": -15059, + "y": -11 } + }, + "attributes": { + "dElevation": -30 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -13821,29 +13547,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": -3066, - "y": 1034 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": -3066, + "y": 1034 } }, - { - "delta": { - "nodeXY1": { - "x": -305, - "y": 0 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -305, + "y": 0 } } - ] - } + } + ] } }, { @@ -13880,32 +13604,30 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": -3054, - "y": 644 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": -3054, + "y": 644 } }, - { - "delta": { - "nodeXY1": { - "x": -323, - "y": 0 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -323, + "y": 0 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] } }, { @@ -13942,29 +13664,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY5": { - "x": -6475, - "y": 1452 - } - }, - "attributes": { - "dElevation": -30 + "nodes": [ + { + "delta": { + "nodeXY5": { + "x": -6475, + "y": 1452 } }, - { - "delta": { - "nodeXY1": { - "x": -409, - "y": 0 - } + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY1": { + "x": -409, + "y": 0 } } - ] - } + } + ] } }, { @@ -14001,29 +13721,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY5": { - "x": -6515, - "y": 1096 - } - }, - "attributes": { - "dElevation": -30 + "nodes": [ + { + "delta": { + "nodeXY5": { + "x": -6515, + "y": 1096 } }, - { - "delta": { - "nodeXY1": { - "x": -369, - "y": 0 - } + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY1": { + "x": -369, + "y": 0 } } - ] - } + } + ] } }, { @@ -14060,29 +13778,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY5": { - "x": -6521, - "y": 752 - } - }, - "attributes": { - "dElevation": -30 + "nodes": [ + { + "delta": { + "nodeXY5": { + "x": -6521, + "y": 752 } }, - { - "delta": { - "nodeXY1": { - "x": -363, - "y": -6 - } + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY1": { + "x": -363, + "y": -6 } } - ] - } + } + ] } } ] 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 73ea4019f..e2e47cf4c 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-104883094617440366229100000000000000000001110000000001355-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.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", "expected": { "metadata": { "logFileName": "", @@ -46,7 +46,7 @@ "refPoint": { "latitude": 39.5948212, "longitude": -104.8830946, - "elevation": "1744.0" + "elevation": 1744.2 }, "laneWidth": 366, "laneSet": { @@ -99,65 +99,63 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1355, - "y": -1880 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": 795, - "y": -2926 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": 167, - "y": -2318 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -167, - "y": -1910 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -1428, - "y": -7986 - } - }, - "attributes": { - "dElevation": 20 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1355, + "y": -1880 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 795, + "y": -2926 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 167, + "y": -2318 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -167, + "y": -1910 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1428, + "y": -7986 + } + }, + "attributes": { + "dElevation": 20 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -272,84 +270,82 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1004, - "y": -1955 - } - } - }, - { - "delta": { - "nodeXY6": { - "x": 544, - "y": -1765 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": 311, - "y": -1853 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": 121, - "y": -1549 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -173, - "y": -1876 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -1008, - "y": -5542 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -697, - "y": -3586 - } - }, - "attributes": { - "dElevation": -10 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1004, + "y": -1955 + } + } + }, + { + "delta": { + "nodeXY6": { + "x": 544, + "y": -1765 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 311, + "y": -1853 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 121, + "y": -1549 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -173, + "y": -1876 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1008, + "y": -5542 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -697, + "y": -3586 + } + }, + "attributes": { + "dElevation": -10 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -425,59 +421,57 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 624, - "y": -2010 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 624, + "y": -2010 } - }, - { - "delta": { - "nodeXY6": { - "x": 795, - "y": -2868 - } - }, - "attributes": { - "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 795, + "y": -2868 } }, - { - "delta": { - "nodeXY6": { - "x": 207, - "y": -2180 - } - }, - "attributes": { - "dElevation": 20 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 207, + "y": -2180 } }, - { - "delta": { - "nodeXY6": { - "x": -305, - "y": -2656 - } - }, - "attributes": { - "dElevation": 20 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -305, + "y": -2656 } }, - { - "delta": { - "nodeXY6": { - "x": -1590, - "y": -8364 - } + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1590, + "y": -8364 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -553,73 +547,71 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2522, - "y": -1862 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -380, - "y": -981 - } - } - }, - { - "delta": { - "nodeXY6": { - "x": 518, - "y": -2926 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": 35, - "y": -1371 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -161, - "y": -2019 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -677, - "y": -3426 - } - }, - "attributes": { - "dElevation": 10 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2522, + "y": -1862 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -380, + "y": -981 + } + } + }, + { + "delta": { + "nodeXY6": { + "x": 518, + "y": -2926 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 35, + "y": -1371 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -161, + "y": -2019 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -677, + "y": -3426 + } + }, + "attributes": { + "dElevation": 10 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -694,70 +686,68 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1676, - "y": -3102 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1676, + "y": -3102 } }, - { - "delta": { - "nodeXY6": { - "x": -1797, - "y": 608 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1797, + "y": 608 } }, - { - "delta": { - "nodeXY6": { - "x": -4401, - "y": -356 - } - }, - "attributes": { - "dElevation": -30 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -4401, + "y": -356 } }, - { - "delta": { - "nodeXY6": { - "x": -9504, - "y": -23 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY6": { + "x": -9504, + "y": -23 } }, - { - "delta": { - "nodeXY6": { - "x": -7238, - "y": 39 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -7238, + "y": 39 } - }, - { - "delta": { - "nodeXY6": { - "x": -2171, - "y": -6 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -2171, + "y": -6 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -832,29 +822,27 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1517, - "y": -2824 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1517, + "y": -2824 } }, - { - "delta": { - "nodeXY6": { - "x": -1411, - "y": 614 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1411, + "y": 614 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -915,29 +903,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -6816, - "y": -10691 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -6816, + "y": -10691 } }, - { - "delta": { - "nodeXY6": { - "x": -196, - "y": 161 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -196, + "y": 161 } } - ] - } + } + ] } }, { @@ -974,29 +960,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -6597, - "y": -10387 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -6597, + "y": -10387 } }, - { - "delta": { - "nodeXY6": { - "x": -207, - "y": 166 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -207, + "y": 166 } } - ] - } + } + ] } }, { @@ -1047,67 +1031,65 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -664, - "y": -799 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -664, + "y": -799 } - }, - { - "delta": { - "nodeXY6": { - "x": -3525, - "y": -586 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -3525, + "y": -586 } }, - { - "delta": { - "nodeXY6": { - "x": -2446, - "y": -225 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -2446, + "y": -225 } - }, - { - "delta": { - "nodeXY6": { - "x": -2350, - "y": -138 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -2350, + "y": -138 } }, - { - "delta": { - "nodeXY6": { - "x": -8407, - "y": -18 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -8407, + "y": -18 } }, - { - "delta": { - "nodeXY6": { - "x": -8513, - "y": 17 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -8513, + "y": 17 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -1183,62 +1165,60 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -531, - "y": -1503 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -531, + "y": -1503 } - }, - { - "delta": { - "nodeXY6": { - "x": -2310, - "y": -419 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -2310, + "y": -419 } }, - { - "delta": { - "nodeXY6": { - "x": -3646, - "y": -430 - } - }, - "attributes": { - "dElevation": -20 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -3646, + "y": -430 } }, - { - "delta": { - "nodeXY6": { - "x": -10414, - "y": -143 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -10414, + "y": -143 } }, - { - "delta": { - "nodeXY6": { - "x": -9909, - "y": 10 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -9909, + "y": 10 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -1314,53 +1294,51 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -683, - "y": -1177 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -683, + "y": -1177 } - }, - { - "delta": { - "nodeXY6": { - "x": -3456, - "y": -562 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -3456, + "y": -562 } - }, - { - "delta": { - "nodeXY6": { - "x": -2411, - "y": -259 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -2411, + "y": -259 } }, - { - "delta": { - "nodeXY6": { - "x": -10834, - "y": -138 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -10834, + "y": -138 } - }, - { - "delta": { - "nodeXY6": { - "x": -9372, - "y": 39 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -9372, + "y": 39 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -1422,26 +1400,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1538, - "y": -296 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1538, + "y": -296 } - }, - { - "delta": { - "nodeXY6": { - "x": 253, - "y": 63 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 253, + "y": 63 } } - ] - } + } + ] } }, { @@ -1478,26 +1454,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1619, - "y": -669 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1619, + "y": -669 } - }, - { - "delta": { - "nodeXY6": { - "x": 265, - "y": 92 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 265, + "y": 92 } } - ] - } + } + ] } }, { @@ -1534,29 +1508,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1757, - "y": -1059 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1757, + "y": -1059 } - }, - { - "delta": { - "nodeXY6": { - "x": 253, - "y": 80 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 253, + "y": 80 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] } }, { @@ -1593,29 +1565,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2269, - "y": 1625 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2269, + "y": 1625 } }, - { - "delta": { - "nodeXY6": { - "x": -311, - "y": -57 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -311, + "y": -57 } } - ] - } + } + ] } }, { @@ -1652,29 +1622,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2200, - "y": 1293 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2200, + "y": 1293 } }, - { - "delta": { - "nodeXY6": { - "x": -334, - "y": -63 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -334, + "y": -63 } } - ] - } + } + ] } }, { @@ -1711,29 +1679,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2108, - "y": 914 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2108, + "y": 914 } }, - { - "delta": { - "nodeXY6": { - "x": -369, - "y": -57 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -369, + "y": -57 } } - ] - } + } + ] } }, { @@ -1770,29 +1736,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2056, - "y": 564 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2056, + "y": 564 } }, - { - "delta": { - "nodeXY6": { - "x": -363, - "y": -69 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -363, + "y": -69 } } - ] - } + } + ] } }, { @@ -1829,29 +1793,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1975, - "y": 197 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1975, + "y": 197 } }, - { - "delta": { - "nodeXY6": { - "x": -374, - "y": -80 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -374, + "y": -80 } } - ] - } + } + ] } }, { @@ -1902,37 +1864,35 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1710, - "y": 2641 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1710, + "y": 2641 } }, - { - "delta": { - "nodeXY6": { - "x": -415, - "y": 2042 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -415, + "y": 2042 } - }, - { - "delta": { - "nodeXY6": { - "x": -282, - "y": 516 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -282, + "y": 516 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -2029,40 +1989,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1365, - "y": 2715 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1365, + "y": 2715 } }, - { - "delta": { - "nodeXY6": { - "x": -484, - "y": 2065 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -484, + "y": 2065 } }, - { - "delta": { - "nodeXY6": { - "x": -150, - "y": 528 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -150, + "y": 528 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -2124,29 +2082,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -587, - "y": 2813 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -587, + "y": 2813 } }, - { - "delta": { - "nodeXY6": { - "x": -69, - "y": 235 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -69, + "y": 235 } } - ] - } + } + ] } }, { @@ -2197,59 +2153,57 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 520, - "y": 2310 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 520, + "y": 2310 } }, - { - "delta": { - "nodeXY6": { - "x": 3064, - "y": 643 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3064, + "y": 643 } - }, - { - "delta": { - "nodeXY6": { - "x": 5840, - "y": 889 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 5840, + "y": 889 } }, - { - "delta": { - "nodeXY6": { - "x": 3583, - "y": 356 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3583, + "y": 356 } - }, - { - "delta": { - "nodeXY6": { - "x": 3329, - "y": 207 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3329, + "y": 207 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -2344,51 +2298,49 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 595, - "y": 1960 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 595, + "y": 1960 } }, - { - "delta": { - "nodeXY6": { - "x": 4642, - "y": 895 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 4642, + "y": 895 } - }, - { - "delta": { - "nodeXY6": { - "x": 4953, - "y": 711 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 4953, + "y": 711 } }, - { - "delta": { - "nodeXY6": { - "x": 6117, - "y": 516 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 6117, + "y": 516 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -2464,75 +2416,73 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 664, - "y": 1620 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 664, + "y": 1620 } }, - { - "delta": { - "nodeXY6": { - "x": 3594, - "y": 677 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3594, + "y": 677 } - }, - { - "delta": { - "nodeXY6": { - "x": 3577, - "y": 574 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3577, + "y": 574 } }, - { - "delta": { - "nodeXY6": { - "x": 2427, - "y": 309 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 2427, + "y": 309 } - }, - { - "delta": { - "nodeXY6": { - "x": 2387, - "y": 246 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 2387, + "y": 246 } - }, - { - "delta": { - "nodeXY6": { - "x": 2442, - "y": 172 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 2442, + "y": 172 } - }, - { - "delta": { - "nodeXY6": { - "x": 1210, - "y": 80 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 1210, + "y": 80 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -2608,59 +2558,57 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 732, - "y": 1263 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 732, + "y": 1263 } }, - { - "delta": { - "nodeXY6": { - "x": 5921, - "y": 1073 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 5921, + "y": 1073 } }, - { - "delta": { - "nodeXY6": { - "x": 3617, - "y": 476 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3617, + "y": 476 } - }, - { - "delta": { - "nodeXY6": { - "x": 2422, - "y": 240 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 2422, + "y": 240 } - }, - { - "delta": { - "nodeXY6": { - "x": 3631, - "y": 251 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3631, + "y": 251 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -2736,53 +2684,51 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 800, - "y": 894 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 800, + "y": 894 } - }, - { - "delta": { - "nodeXY6": { - "x": 3583, - "y": 683 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 3583, + "y": 683 } - }, - { - "delta": { - "nodeXY6": { - "x": 4735, - "y": 723 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 4735, + "y": 723 } - }, - { - "delta": { - "nodeXY6": { - "x": 3617, - "y": 384 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 3617, + "y": 384 } - }, - { - "delta": { - "nodeXY6": { - "x": 3625, - "y": 249 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 3625, + "y": 249 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -2844,29 +2790,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 8335, - "y": -222 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 8335, + "y": -222 } }, - { - "delta": { - "nodeXY6": { - "x": 242, - "y": 23 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 242, + "y": 23 } } - ] - } + } + ] } } ] @@ -2881,7 +2825,7 @@ }, { "description": "Test Case 2 - MapTxPojo", - "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payloadffadc418-5fcd-43b7-b931-024edc375fae10002024-11-08T22:00:01.224Z70RSUfalse001283DA380330002044CA0D4D3EA2D42CC86AFB534E02DC3E5820A80000040000961C7612C5BB250FFDE04DD37663DFFA409D80583C0003009608AA000001000025872783416EC83BFEC81374DD9A67FFA02760160D0000C025824A80000040000961CBE0715BB2AB001004DD3765B5FFD009D80582C0003009609AA00000080000D8A308047027D9B520F000004E202C790000404B0515000000400006C5123F70013ECDA5E1800602710163A8000202581EA80000010000361C5E17DC0A0A6DF8040130134C230E2400118690001080AB100000000D877C7CB4027D8B039AFFF4202CC40000000361DF1ED2C09EC2C0EC3FFD080BB100000000D875379C5027B0B03F70000203B04000000035F791D70C09EC2C003BF72880F4100000000D7C8875B5027B0B0000FDCA203F04000000035EBB1D60C09EC2C003BF8416100A00000040000D77D77844027D9AA845002C052308C7C9000463C40004580228000004000095DFB9E6C9A509AFFA80546349C75FFC80A46058BC00010096010A00000100002578077AD8693C9C00E8152CD27B7802E028F0162D00004025806280000040000B5E049F1E00A0A693B8C00181518D28018012028F0162B00004025808280000020000B5DA09FE540A0A6ACB53FFA81450D772E7DD402828561AA000A02B0E400050210052200000001AF0DB0352050A15FBC6000040188800000006BC42418C0142857ED47FFA10072200000001AF1150904050A15FB9A000040208800000006BC4AC2F00142857EE080002C0A3400000200019AFB5D1346050A35FFA6177C0A0A2BFE64464B5FD921F600A0A6BF14443981428D7CF6891302851AF5E11142050A35EED218340A0A058EC00020096049A0000004000ED7C1B896902851AFFE90DCE050535FE5E2E3C0A0A6BFB3C26781414D7E5C883402829AF9911096050A35F57A14CC0A142BE86C25D35F2F610940A0A218412000AC7A000100C60E40004581668000002000135FB8226D80A146BFF1C7C401414D7F3C878202829AFB531352050A02C590001C04B030D000000400036C00BC4E681428D801789A302828AFF8D0F76D7F0E877C02829AFC950CA4050502C554001C0440350800000006C0DD44F88142858000814D100E4200000001B06A713CA050536000205480A0A2C197400000200001B079CED3004F135FF1113200A3205874000400960D3A00000100000D8234765D027B1AFFF08A14051402C360002004B06DD000000400006C0653B22013D8D800A4518028A0160C80006025838E8000002000035FDB1D84C09EC6C003BA14814140B0540003012C187400000080011B13F6EDB804F115FA6DFC10AFC94FC6A57EE07DCE2BFA7BED3B5FFCD72E80A1E018C90000800RSU10.11.81.33MessageFrame183088053395950548-104866790817230366165100000000000000000001000000000001821120122824-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.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", "expected": { "metadata": { "logFileName": "", @@ -2892,13 +2836,13 @@ }, "payloadType": "us.dot.its.jpo.ode.model.OdeMapPayload", "serialId": { - "streamId": "ffadc418-5fcd-43b7-b931-024edc375fae", + "streamId": "cfc309e0-bcf6-4834-9178-4600d4998b37", "bundleSize": 1, "bundleId": 0, "recordId": 0, "serialNumber": 0 }, - "odeReceivedAt": "2024-11-08T22:00:01.224Z", + "odeReceivedAt": "2024-11-08T22:01:11.230Z", "schemaVersion": 7, "maxDurationTime": 0, "recordGeneratedAt": "", @@ -2925,7 +2869,7 @@ "refPoint": { "latitude": 39.5950548, "longitude": -104.8667908, - "elevation": "1723.0" + "elevation": 1723.2 }, "laneWidth": 366, "laneSet": { @@ -2978,40 +2922,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1821, - "y": 1201 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1821, + "y": 1201 } - }, - { - "delta": { - "nodeXY6": { - "x": 22824, - "y": -17 - } - }, - "attributes": { - "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22824, + "y": -17 } }, - { - "delta": { - "nodeXY6": { - "x": 22927, - "y": -23 - } - }, - "attributes": { - "dElevation": -40 + "attributes": { + "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22927, + "y": -23 } + }, + "attributes": { + "dElevation": -40 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -3087,40 +3029,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1831, - "y": 833 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1831, + "y": 833 } - }, - { - "delta": { - "nodeXY6": { - "x": 22791, - "y": -39 - } - }, - "attributes": { - "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22791, + "y": -39 } }, - { - "delta": { - "nodeXY6": { - "x": 22950, - "y": -6 - } - }, - "attributes": { - "dElevation": -40 + "attributes": { + "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22950, + "y": -6 } + }, + "attributes": { + "dElevation": -40 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -3196,40 +3136,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1839, - "y": 453 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1839, + "y": 453 } - }, - { - "delta": { - "nodeXY6": { - "x": 22869, - "y": 8 - } - }, - "attributes": { - "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22869, + "y": 8 } }, - { - "delta": { - "nodeXY6": { - "x": 22893, - "y": -12 - } - }, - "attributes": { - "dElevation": -40 + "attributes": { + "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22893, + "y": -12 } + }, + "attributes": { + "dElevation": -40 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -3305,32 +3243,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2608, - "y": 71 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2608, + "y": 71 } }, - { - "delta": { - "nodeXY6": { - "x": 10503, - "y": 0 - } - }, - "attributes": { - "dElevation": -60 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 10503, + "y": 0 } + }, + "attributes": { + "dElevation": -60 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -3406,32 +3342,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2596, - "y": -288 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2596, + "y": -288 } }, - { - "delta": { - "nodeXY6": { - "x": 9697, - "y": 6 - } - }, - "attributes": { - "dElevation": -60 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 9697, + "y": 6 } + }, + "attributes": { + "dElevation": -60 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -3507,32 +3441,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1815, - "y": 1527 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1815, + "y": 1527 } }, - { - "delta": { - "nodeXY6": { - "x": 16128, - "y": 38 - } - }, - "attributes": { - "dElevation": -90 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 16128, + "y": 38 } + }, + "attributes": { + "dElevation": -90 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -3613,29 +3545,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1916, - "y": -844 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1916, + "y": -844 } }, - { - "delta": { - "nodeXY6": { - "x": 461, - "y": -6 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 461, + "y": -6 } } - ] - } + } + ] } }, { @@ -3672,29 +3602,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1916, - "y": -1205 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1916, + "y": -1205 } }, - { - "delta": { - "nodeXY6": { - "x": 472, - "y": -6 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 472, + "y": -6 } } - ] - } + } + ] } }, { @@ -3731,29 +3659,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1875, - "y": -1595 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1875, + "y": -1595 } }, - { - "delta": { - "nodeXY6": { - "x": 507, - "y": 0 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 507, + "y": 0 } } - ] - } + } + ] } }, { @@ -3790,29 +3716,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -540, - "y": -2621 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -540, + "y": -2621 } }, - { - "delta": { - "nodeXY6": { - "x": 7, - "y": -283 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 7, + "y": -283 } } - ] - } + } + ] } }, { @@ -3849,29 +3773,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -888, - "y": -2635 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -888, + "y": -2635 } }, - { - "delta": { - "nodeXY6": { - "x": 0, - "y": -283 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 0, + "y": -283 } } - ] - } + } + ] } }, { @@ -3908,29 +3830,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1300, - "y": -2685 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1300, + "y": -2685 } }, - { - "delta": { - "nodeXY6": { - "x": 7, - "y": -248 - } + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 7, + "y": -248 } } - ] - } + } + ] } }, { @@ -3981,32 +3901,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2089, - "y": -1980 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2089, + "y": -1980 } }, - { - "delta": { - "nodeXY6": { - "x": -11230, - "y": 22 - } - }, - "attributes": { - "dElevation": 70 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -11230, + "y": 22 } + }, + "attributes": { + "dElevation": 70 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -4101,40 +4019,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2066, - "y": -1614 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2066, + "y": -1614 } - }, - { - "delta": { - "nodeXY6": { - "x": -22451, - "y": -44 - } - }, - "attributes": { - "dElevation": 140 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22451, + "y": -44 } }, - { - "delta": { - "nodeXY6": { - "x": -22755, - "y": -14 - } - }, - "attributes": { - "dElevation": 70 + "attributes": { + "dElevation": 140 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22755, + "y": -14 } + }, + "attributes": { + "dElevation": 70 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -4210,40 +4126,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2041, - "y": -1320 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2041, + "y": -1320 } - }, - { - "delta": { - "nodeXY6": { - "x": -22637, - "y": 29 - } - }, - "attributes": { - "dElevation": 150 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22637, + "y": 29 } }, - { - "delta": { - "nodeXY6": { - "x": -22601, - "y": 46 - } - }, - "attributes": { - "dElevation": 60 + "attributes": { + "dElevation": 150 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22601, + "y": 46 } + }, + "attributes": { + "dElevation": 60 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -4319,43 +4233,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2030, - "y": -904 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2030, + "y": -904 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22671, + "y": 3 } }, - { - "delta": { - "nodeXY6": { - "x": -22671, - "y": 3 - } - }, - "attributes": { - "dElevation": 140 + "attributes": { + "dElevation": 140 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22527, + "y": 18 } }, - { - "delta": { - "nodeXY6": { - "x": -22527, - "y": 18 - } - }, - "attributes": { - "dElevation": 60 - } + "attributes": { + "dElevation": 60 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -4431,43 +4343,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2430, - "y": -107 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2430, + "y": -107 } }, - { - "delta": { - "nodeXY6": { - "x": -9878, - "y": -11 - } - }, - "attributes": { - "dElevation": 40 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -9878, + "y": -11 } }, - { - "delta": { - "nodeXY6": { - "x": -2258, - "y": -556 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 40 + } + }, + { + "delta": { + "nodeXY6": { + "x": -2258, + "y": -556 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -4550,29 +4460,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1939, - "y": 425 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1939, + "y": 425 } }, - { - "delta": { - "nodeXY6": { - "x": -271, - "y": 0 - } + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -271, + "y": 0 } } - ] - } + } + ] } }, { @@ -4609,29 +4517,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1916, - "y": 792 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1916, + "y": 792 } }, - { - "delta": { - "nodeXY6": { - "x": -300, - "y": -6 - } + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -300, + "y": -6 } } - ] - } + } + ] } }, { @@ -4668,29 +4574,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1910, - "y": 1154 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1910, + "y": 1154 } }, - { - "delta": { - "nodeXY6": { - "x": -282, - "y": 0 - } + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -282, + "y": 0 } } - ] - } + } + ] } }, { @@ -4727,29 +4631,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1899, - "y": 1504 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1899, + "y": 1504 } }, - { - "delta": { - "nodeXY6": { - "x": -288, - "y": 0 - } + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -288, + "y": 0 } } - ] - } + } + ] } }, { @@ -4800,95 +4702,93 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -594, - "y": 2467 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -23, - "y": 1503 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -52, - "y": 2249 - } - } - }, - { - "delta": { - "nodeXY6": { - "x": -156, - "y": 2008 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -472, - "y": 2163 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -778, - "y": 2323 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -1296, - "y": 2209 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -1100, - "y": 1549 - } - }, - "attributes": { - "dElevation": 10 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -594, + "y": 2467 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -23, + "y": 1503 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -52, + "y": 2249 + } + } + }, + { + "delta": { + "nodeXY6": { + "x": -156, + "y": 2008 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -472, + "y": 2163 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -778, + "y": 2323 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1296, + "y": 2209 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1100, + "y": 1549 + } + }, + "attributes": { + "dElevation": 10 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -4964,106 +4864,104 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -997, - "y": 2409 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -12, - "y": 1767 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -105, - "y": 2959 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -153, - "y": 1231 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -420, - "y": 2100 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -824, - "y": 2123 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -674, - "y": 1331 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -755, - "y": 1210 - } - } - }, - { - "delta": { - "nodeXY6": { - "x": -835, - "y": 1061 - } - }, - "attributes": { - "dElevation": 10 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -997, + "y": 2409 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -12, + "y": 1767 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -105, + "y": 2959 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -153, + "y": 1231 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -420, + "y": 2100 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -824, + "y": 2123 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -674, + "y": 1331 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -755, + "y": 1210 + } + } + }, + { + "delta": { + "nodeXY6": { + "x": -835, + "y": 1061 + } + }, + "attributes": { + "dElevation": 10 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -5179,54 +5077,52 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -288, - "y": 2486 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -288, + "y": 2486 } }, - { - "delta": { - "nodeXY6": { - "x": -29, - "y": 3976 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -29, + "y": 3976 } }, - { - "delta": { - "nodeXY6": { - "x": -196, - "y": 1922 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -196, + "y": 1922 } }, - { - "delta": { - "nodeXY6": { - "x": -599, - "y": 2473 - } - }, - "attributes": { - "dElevation": 20 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -599, + "y": 2473 } + }, + "attributes": { + "dElevation": 20 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -5302,62 +5198,60 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 23, - "y": 2509 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 23, + "y": 2509 } }, - { - "delta": { - "nodeXY6": { - "x": 23, - "y": 2467 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 23, + "y": 2467 } }, - { - "delta": { - "nodeXY6": { - "x": -58, - "y": 1979 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -58, + "y": 1979 } - }, - { - "delta": { - "nodeXY6": { - "x": -242, - "y": 1916 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -242, + "y": 1916 } }, - { - "delta": { - "nodeXY6": { - "x": -438, - "y": 1618 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -438, + "y": 1618 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -5419,29 +5313,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 442, - "y": 2545 - } - }, - "attributes": { - "dElevation": 20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 442, + "y": 2545 } }, - { - "delta": { - "nodeXY6": { - "x": 0, - "y": 333 - } + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 0, + "y": 333 } } - ] - } + } + ] } }, { @@ -5478,32 +5370,30 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 851, - "y": 2533 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 851, + "y": 2533 } }, - { - "delta": { - "nodeXY6": { - "x": 0, - "y": 338 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 0, + "y": 338 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] } }, { @@ -5554,32 +5444,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 974, - "y": -2408 - } - }, - "attributes": { - "dElevation": -30 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 974, + "y": -2408 } }, - { - "delta": { - "nodeXY6": { - "x": -60, - "y": -15160 - } - }, - "attributes": { - "dElevation": 50 + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY6": { + "x": -60, + "y": -15160 } + }, + "attributes": { + "dElevation": 50 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -5655,32 +5543,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 564, - "y": -2467 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 564, + "y": -2467 } }, - { - "delta": { - "nodeXY6": { - "x": -8, - "y": -15094 - } - }, - "attributes": { - "dElevation": 40 + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -8, + "y": -15094 } + }, + "attributes": { + "dElevation": 40 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -5756,32 +5642,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 202, - "y": -2492 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 202, + "y": -2492 } }, - { - "delta": { - "nodeXY6": { - "x": 10, - "y": -15080 - } - }, - "attributes": { - "dElevation": 40 + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 10, + "y": -15080 } + }, + "attributes": { + "dElevation": 40 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -5857,32 +5741,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -148, - "y": -2541 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -148, + "y": -2541 } }, - { - "delta": { - "nodeXY6": { - "x": 7, - "y": -3031 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 7, + "y": -3031 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -5958,64 +5840,62 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2555, - "y": -2340 - } - }, - "attributes": { - "dElevation": -30 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2555, + "y": -2340 } }, - { - "delta": { - "nodeXY6": { - "x": -357, - "y": -252 - } + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY6": { + "x": -357, + "y": -252 } - }, - { - "delta": { - "nodeXY6": { - "x": -438, - "y": -459 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -438, + "y": -459 } - }, - { - "delta": { - "nodeXY6": { - "x": -288, - "y": -562 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -288, + "y": -562 } - }, - { - "delta": { - "nodeXY6": { - "x": -177, - "y": -601 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -177, + "y": -601 } - }, - { - "delta": { - "nodeXY6": { - "x": -13, - "y": -9030 - } - }, - "attributes": { - "dElevation": 30 + } + }, + { + "delta": { + "nodeXY6": { + "x": -13, + "y": -9030 } + }, + "attributes": { + "dElevation": 30 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -6054,7 +5934,7 @@ }, { "description": "Test case 3 - MapTxPojo", - "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload6ef718b4-ad04-4260-a9f2-f8c596f0019310002024-11-08T21:52:36.968Z70RSUfalse00128315380230002044D0094D3EA1DB2CCC713452F402DC325806280000040000B5DC45F6640A0A694423FFE01478D267B809B02788162500004025804280000040000B5DD2DF1180A0A69400C01581478D26BE802102788162700004025802280000050000B5DE71EA600A0A69346401281478D27C88052027889629000040231A2400218C9000196020A00000080002D7681808802829A58F9007E051E15E689FAFC5616A000A02B0C400050210052200000001AEC35053C050515FB9A000040188800000006BAFBC20981414D7EEC800002828401C8800000006BAE1C2BB01414D7EDA800B02828B020D000000200006BD19441381414D802398EB027D8460E48002306200022C093400000200001AF6F5103605053600FE640809F6058D400020096051A00000080000D7CC8880402829B008B323204FB0AC494001C056268000E0420168400000001603CA2058B000103682018840000000160A162058AFFE90368581AA80000050000B61E6E14B409F66EB433FE901428DD7357FAB0294086184800230B20002583C00030196072A00000100002D87F183EB027D9BAC18FFAC050A375D61FE5C0A50058340003009607AA00000100002D88148270027D9BAC1AFF98050A375C8DFEE00A500582C00030096082A00000080000D884D813A027D9BBC18FEEC050F02C690000404B0455000000400006C443BFD4813ECDCF047FBB028281632A0002022024C4000000036238DF5AC09F62C08D3FFD0809B100000000D89287BD4027D8B01CCFFF42028C40000000362545EA3409F62C0734000160B3A00000100008582B977ED2C003381A35FD4DDED40A0A2BFCC3E2FB5F7E9D5B00A0A6BDC63640814140B0C80008012C157400000080014B0882EFD057FE3784B2BFF7BAEFB5FD21E3800A0A2BF81BC9835FA55E3240A0A6BDC336710141423142400118990001160C3A0000008000057FF477D16BFE637C1014140B0550003012C177400000100010B029CEF9657FE96FD26BFD7BD3E8141457F1478066BF143BC101414D7BA86CF902828160C8000602203304000000035F719DE5C0A0A2BFFD3F6D880D4100000000D7BED779702828B0000FDCE813ECCEB0E00B027D858D0FEA2D0476B169636B0200800161F00010022041A400000000BE456B81904002043A400000000BE01114184C00013C457FD24A52058C40001008037263DFF780A146E023C005813EC0A0806012C1554000002000045FE580ADC92E801402829B81AEFFC804FB0281C1804B05950000008000117FBD42371E39FF980A0A6E132C01E813EC0A0606012C18540000010000C780E7B5B3CEA805C0A0A1F0122C8BDCBC0000A0A5F07223204FB028800404B05D5000000400001E02A202DA50180060282814420202000RSU10.11.81.36MessageFrame182088082395950299-1048404171171403663110000000000000000000100000000000-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.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", "expected": { "metadata": { "logFileName": "", @@ -6065,13 +5945,13 @@ }, "payloadType": "us.dot.its.jpo.ode.model.OdeMapPayload", "serialId": { - "streamId": "6ef718b4-ad04-4260-a9f2-f8c596f00193", + "streamId": "894cf226-1c88-4e93-8a44-4e2e619593e3", "bundleSize": 1, "bundleId": 0, "recordId": 0, "serialNumber": 0 }, - "odeReceivedAt": "2024-11-08T21:52:36.968Z", + "odeReceivedAt": "2024-11-08T22:01:11.974Z", "schemaVersion": 7, "maxDurationTime": 0, "recordGeneratedAt": "", @@ -6098,7 +5978,7 @@ "refPoint": { "latitude": 39.5950299, "longitude": -104.8404171, - "elevation": "1714.0" + "elevation": 1714.6 }, "laneWidth": 366, "laneSet": { @@ -6151,43 +6031,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2287, - "y": -615 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2287, + "y": -615 } }, - { - "delta": { - "nodeXY6": { - "x": -22396, - "y": -4 - } - }, - "attributes": { - "dElevation": 60 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22396, + "y": -4 } }, - { - "delta": { - "nodeXY6": { - "x": -22917, - "y": 155 - } - }, - "attributes": { - "dElevation": -30 + "attributes": { + "dElevation": 60 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22917, + "y": 155 } + }, + "attributes": { + "dElevation": -30 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -6263,43 +6141,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2229, - "y": -954 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2229, + "y": -954 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22527, + "y": 43 } }, - { - "delta": { - "nodeXY6": { - "x": -22527, - "y": 43 - } - }, - "attributes": { - "dElevation": 60 + "attributes": { + "dElevation": 60 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22850, + "y": 33 } }, - { - "delta": { - "nodeXY6": { - "x": -22850, - "y": 33 - } - }, - "attributes": { - "dElevation": -30 - } + "attributes": { + "dElevation": -30 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -6375,43 +6251,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2148, - "y": -1384 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2148, + "y": -1384 } }, - { - "delta": { - "nodeXY6": { - "x": -22900, - "y": 37 - } - }, - "attributes": { - "dElevation": 60 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22900, + "y": 37 } }, - { - "delta": { - "nodeXY6": { - "x": -22584, - "y": 82 - } - }, - "attributes": { - "dElevation": -30 + "attributes": { + "dElevation": 60 + } + }, + { + "delta": { + "nodeXY6": { + "x": -22584, + "y": 82 } + }, + "attributes": { + "dElevation": -30 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -6527,40 +6401,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2431, - "y": 136 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2431, + "y": 136 } }, - { - "delta": { - "nodeXY6": { - "x": -21380, - "y": 63 - } - }, - "attributes": { - "dElevation": 60 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -21380, + "y": 63 } }, - { - "delta": { - "nodeXY6": { - "x": -1630, - "y": -321 - } + "attributes": { + "dElevation": 60 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1630, + "y": -321 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -6643,29 +6515,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2534, - "y": 670 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2534, + "y": 670 } }, - { - "delta": { - "nodeXY6": { - "x": -282, - "y": 0 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -282, + "y": 0 } } - ] - } + } + ] } }, { @@ -6702,32 +6572,30 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2569, - "y": 1043 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2569, + "y": 1043 } }, - { - "delta": { - "nodeXY6": { - "x": -276, - "y": 0 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -276, + "y": 0 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] } }, { @@ -6764,32 +6632,30 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -2621, - "y": 1398 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -2621, + "y": 1398 } }, - { - "delta": { - "nodeXY6": { - "x": -294, - "y": 11 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -294, + "y": 11 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] } }, { @@ -6840,32 +6706,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1486, - "y": 2087 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1486, + "y": 2087 } }, - { - "delta": { - "nodeXY6": { - "x": 35, - "y": 6379 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 35, + "y": 6379 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -6960,32 +6824,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1158, - "y": 2075 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1158, + "y": 2075 } }, - { - "delta": { - "nodeXY6": { - "x": 63, - "y": 6402 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 63, + "y": 6402 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -7061,32 +6923,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -824, - "y": 2052 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -824, + "y": 2052 } }, - { - "delta": { - "nodeXY6": { - "x": 69, - "y": 6425 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 69, + "y": 6425 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -7169,26 +7029,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 242, - "y": 2070 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 242, + "y": 2070 } - }, - { - "delta": { - "nodeXY6": { - "x": 0, - "y": 436 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 0, + "y": 436 } } - ] - } + } + ] } }, { @@ -7225,26 +7083,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 645, - "y": 2070 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 645, + "y": 2070 } - }, - { - "delta": { - "nodeXY6": { - "x": -12, - "y": 436 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -12, + "y": 436 } } - ] - } + } + ] } }, { @@ -7295,43 +7151,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1947, - "y": 1325 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1947, + "y": 1325 } }, - { - "delta": { - "nodeXY6": { - "x": 22150, - "y": -46 - } - }, - "attributes": { - "dElevation": 20 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22150, + "y": -46 } }, - { - "delta": { - "nodeXY6": { - "x": 22325, - "y": -85 - } - }, - "attributes": { - "dElevation": 80 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22325, + "y": -85 } + }, + "attributes": { + "dElevation": 80 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -7447,43 +7301,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2033, - "y": 1003 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2033, + "y": 1003 } }, - { - "delta": { - "nodeXY6": { - "x": 22028, - "y": -42 - } - }, - "attributes": { - "dElevation": 20 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22028, + "y": -42 } }, - { - "delta": { - "nodeXY6": { - "x": 22360, - "y": -105 - } - }, - "attributes": { - "dElevation": 80 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22360, + "y": -105 } + }, + "attributes": { + "dElevation": 80 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -7559,43 +7411,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2068, - "y": 624 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2068, + "y": 624 } }, - { - "delta": { - "nodeXY6": { - "x": 22029, - "y": -52 - } - }, - "attributes": { - "dElevation": 20 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22029, + "y": -52 } }, - { - "delta": { - "nodeXY6": { - "x": 22307, - "y": -72 - } - }, - "attributes": { - "dElevation": 80 + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 22307, + "y": -72 } + }, + "attributes": { + "dElevation": 80 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -7671,32 +7521,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2125, - "y": 314 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2125, + "y": 314 } }, - { - "delta": { - "nodeXY6": { - "x": 24076, - "y": -138 - } - }, - "attributes": { - "dElevation": 30 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 24076, + "y": -138 } + }, + "attributes": { + "dElevation": 30 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -7772,32 +7620,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2183, - "y": -87 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2183, + "y": -87 } }, - { - "delta": { - "nodeXY6": { - "x": 20228, - "y": -69 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 20228, + "y": -69 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -7859,29 +7705,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2275, - "y": -661 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2275, + "y": -661 } }, - { - "delta": { - "nodeXY6": { - "x": 282, - "y": -6 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 282, + "y": -6 } } - ] - } + } + ] } }, { @@ -7918,29 +7762,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2344, - "y": -1068 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2344, + "y": -1068 } }, - { - "delta": { - "nodeXY6": { - "x": 230, - "y": -6 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 230, + "y": -6 } } - ] - } + } + ] } }, { @@ -7977,29 +7819,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 2385, - "y": -1395 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 2385, + "y": -1395 } }, - { - "delta": { - "nodeXY6": { - "x": 230, - "y": 0 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 230, + "y": 0 } } - ] - } + } + ] } }, { @@ -8050,67 +7890,65 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 697, - "y": -2067 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 697, + "y": -2067 } - }, - { - "delta": { - "nodeXY6": { - "x": 6, - "y": -4044 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": 6, + "y": -4044 } - }, - { - "delta": { - "nodeXY6": { - "x": -173, - "y": -2123 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -173, + "y": -2123 } }, - { - "delta": { - "nodeXY6": { - "x": -104, - "y": -929 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -104, + "y": -929 } - }, - { - "delta": { - "nodeXY6": { - "x": -518, - "y": -2708 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -518, + "y": -2708 } }, - { - "delta": { - "nodeXY6": { - "x": -1140, - "y": -4991 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1140, + "y": -4991 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -8186,75 +8024,73 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1089, - "y": -2072 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1089, + "y": -2072 } - }, - { - "delta": { - "nodeXY6": { - "x": -29, - "y": -1973 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -29, + "y": -1973 } - }, - { - "delta": { - "nodeXY6": { - "x": -17, - "y": -2593 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -17, + "y": -2593 } - }, - { - "delta": { - "nodeXY6": { - "x": -184, - "y": -1824 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -184, + "y": -1824 } }, - { - "delta": { - "nodeXY6": { - "x": -253, - "y": -1744 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -253, + "y": -1744 } - }, - { - "delta": { - "nodeXY6": { - "x": -363, - "y": -1847 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -363, + "y": -1847 } }, - { - "delta": { - "nodeXY6": { - "x": -1146, - "y": -4894 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1146, + "y": -4894 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -8349,29 +8185,27 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -12, - "y": -2095 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -12, + "y": -2095 } - }, - { - "delta": { - "nodeXY6": { - "x": -52, - "y": -4222 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -52, + "y": -4222 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -8447,67 +8281,65 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 334, - "y": -2101 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 334, + "y": -2101 } - }, - { - "delta": { - "nodeXY6": { - "x": -23, - "y": -4142 - } + } + }, + { + "delta": { + "nodeXY6": { + "x": -23, + "y": -4142 } - }, - { - "delta": { - "nodeXY6": { - "x": -81, - "y": -1411 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -81, + "y": -1411 } }, - { - "delta": { - "nodeXY6": { - "x": -236, - "y": -2042 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -236, + "y": -2042 } - }, - { - "delta": { - "nodeXY6": { - "x": -472, - "y": -2174 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -472, + "y": -2174 } }, - { - "delta": { - "nodeXY6": { - "x": -1112, - "y": -4871 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -1112, + "y": -4871 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -8569,29 +8401,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -570, - "y": -2153 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -570, + "y": -2153 } }, - { - "delta": { - "nodeXY6": { - "x": -6, - "y": -293 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -6, + "y": -293 } } - ] - } + } + ] } }, { @@ -8628,29 +8458,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": -1043, - "y": -2153 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": -1043, + "y": -2153 } }, - { - "delta": { - "nodeXY6": { - "x": 0, - "y": -281 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 0, + "y": -281 } } - ] - } + } + ] } } ] @@ -8664,8 +8492,8 @@ } }, { - "description": "Test case 3 - MapTxPojo", - "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload3cfe36c5-8cbc-43f3-af8f-a148520df6d910002024-11-08T21:52:39.971Z70RSUfalse0012830538023000205EA2094D3A3E202CA7783451FA02DC385824E8000002000089D7FA3C8FF96D5837A9E7A4163680002025822E80000020000A97DFAB40A0A6C00BD21D013EC3792FAD4163880002025820E80000040001A92E3AA00A0A6BFE6538C813ECC7FD3303027D9B01B5AC0004E235FE3698CC09E2058240003009607BA00000100006A32EEB6028298FFA7E6A04FB31FFDFEA809F66C0276FE601374C7D7F795027B0160B0000C0220270400000000A7FF8A4108E8220290400000000AE7B8BC106654582F6800000400008BB12D889D763ED6CD4D1F3D027B01617000100258316800000400010BADA8407C8F7F7B37CB7C0C09F65EF01F8E04FB02C2A0002004B066D0000004000117754649317D7F1C5F5AF8E0B0540003012C1AB4000001000045D8EF044D741F7C5E72E30C04FB02C110000C04406F08000000017372C9833182C4073080000000172BA0F033D800B07B90000002000117BA05905140476BFCD2EDD813D8031D200012C03140000010000451D42D0C808C5E8027D97035116813EC2B0A4000501485A000296010A000001000062A421736408A2E5813ECD802B5DAA027B1B00507F4404E736005D134009B00589C00010096008A000001000082BB615E6407E1FA013ECB806072409F66405040A013ECD806744FF02739AFFA48A8604D802C520000804B024D000000400015070BFA01414C2F6E02E0282866DD75682C4D0001C04B020D000000400005073B5901414C18BE01D0282816288000E02580E680000040001283196680A0A610C6FF481414338842B0258DFD82C6E0001004B018D0000008000250602268141443771FB058F7A150050508C8E05C1639000080220148400000002836E6FC0A0A0229030805A100000000A104B5C0282806D400202B240000000161566915810BFF2400A48000000008D5480C0F18AE4008480000000093B88680F4880203BA40000000134E16A301C4422581CC800000100012CF576F9028283793BFB201DED0C09F6241B7BB408C3480004218400201AA4000000030CE28E000A0A01B50008062900000000C33B621C0282805EBF400002000144016C02C36DDFFF0282984ACC1EE05052C36F0AC02828669D82DA8F821480A0A10F140002C8E0001004B03190000008000519FD190C43B2E0066108B08401428C342A0CE02828258A0604A6BE959AEE0E6050502C920001004B02D90000008000459FA164404FB30A8580A00A14619C306701414C32CE10E02829659081F814141029030164B000080200RSU10.11.81.19MessageFrame1820121132395662624-10508272111689036618710000000000000000000010000000000-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", + "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", "expected": { "metadata": { "logFileName": "", @@ -8676,13 +8504,13 @@ }, "payloadType": "us.dot.its.jpo.ode.model.OdeMapPayload", "serialId": { - "streamId": "3cfe36c5-8cbc-43f3-af8f-a148520df6d9", + "streamId": "d71ab23d-0f89-4847-abef-ea6ffe43995b", "bundleSize": 1, "bundleId": 0, "recordId": 0, "serialNumber": 0 }, - "odeReceivedAt": "2024-11-08T21:52:39.971Z", + "odeReceivedAt": "2024-11-08T22:01:12.973Z", "schemaVersion": 7, "maxDurationTime": 0, "recordGeneratedAt": "", @@ -8709,7 +8537,7 @@ "refPoint": { "latitude": 39.5662624, "longitude": -105.0827211, - "elevation": "1689.0" + "elevation": 1689.9 }, "laneWidth": 366, "laneSet": { @@ -8762,34 +8590,32 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -161, - "y": 1679 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -161, + "y": 1679 } - }, - { - "delta": { - "nodeXY5": { - "x": -14, - "y": 5804 - } + } + }, + { + "delta": { + "nodeXY5": { + "x": -14, + "y": 5804 } - }, - { - "delta": { - "nodeXY4": { - "x": -173, - "y": 2537 - } + } + }, + { + "delta": { + "nodeXY4": { + "x": -173, + "y": 2537 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -8865,40 +8691,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -521, - "y": 1709 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -521, + "y": 1709 } }, - { - "delta": { - "nodeXY6": { - "x": 23, - "y": 9274 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 23, + "y": 9274 } }, - { - "delta": { - "nodeXY4": { - "x": -219, - "y": 3765 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY4": { + "x": -219, + "y": 3765 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -8974,65 +8798,63 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -840, - "y": 1704 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -52, - "y": 10009 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY5": { - "x": -12, - "y": 4867 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY6": { - "x": 218, - "y": 22016 - } - }, - "attributes": { - "dElevation": -60 - } - }, - { - "delta": { - "nodeXY6": { - "x": -115, - "y": 9779 - } - }, - "attributes": { - "dElevation": -30 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -840, + "y": 1704 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -52, + "y": 10009 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -12, + "y": 4867 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 218, + "y": 22016 + } + }, + "attributes": { + "dElevation": -60 + } + }, + { + "delta": { + "nodeXY6": { + "x": -115, + "y": 9779 + } + }, + "attributes": { + "dElevation": -30 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -9108,65 +8930,63 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1234, - "y": 1718 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY5": { - "x": -12, - "y": 7989 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY5": { - "x": -3, - "y": 8106 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY6": { - "x": 78, - "y": 24524 - } - }, - "attributes": { - "dElevation": -70 - } - }, - { - "delta": { - "nodeXY5": { - "x": -161, - "y": 6037 - } - }, - "attributes": { - "dElevation": -20 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1234, + "y": 1718 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -12, + "y": 7989 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -3, + "y": 8106 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 78, + "y": 24524 + } + }, + "attributes": { + "dElevation": -70 + } + }, + { + "delta": { + "nodeXY5": { + "x": -161, + "y": 6037 + } + }, + "attributes": { + "dElevation": -20 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -9228,26 +9048,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 511, - "y": 1577 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 511, + "y": 1577 } - }, - { - "delta": { - "nodeXY1": { - "x": 17, - "y": 321 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 17, + "y": 321 } } - ] - } + } + ] } }, { @@ -9284,26 +9102,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 926, - "y": 1583 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 926, + "y": 1583 } - }, - { - "delta": { - "nodeXY1": { - "x": 12, - "y": 298 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 12, + "y": 298 } } - ] - } + } + ] } }, { @@ -9354,37 +9170,35 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1732, - "y": 866 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1732, + "y": 866 } - }, - { - "delta": { - "nodeXY5": { - "x": 6892, - "y": -149 - } + } + }, + { + "delta": { + "nodeXY5": { + "x": 6892, + "y": -149 } - }, - { - "delta": { - "nodeXY5": { - "x": 5428, - "y": -195 - } - }, - "attributes": { - "dElevation": -20 + } + }, + { + "delta": { + "nodeXY5": { + "x": 5428, + "y": -195 } + }, + "attributes": { + "dElevation": -20 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -9460,48 +9274,46 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1718, - "y": 528 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1718, + "y": 528 } - }, - { - "delta": { - "nodeXY4": { - "x": 3215, - "y": -17 - } + } + }, + { + "delta": { + "nodeXY4": { + "x": 3215, + "y": -17 } - }, - { - "delta": { - "nodeXY5": { - "x": 6091, - "y": -253 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 6091, + "y": -253 } }, - { - "delta": { - "nodeXY4": { - "x": 3008, - "y": -57 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY4": { + "x": 3008, + "y": -57 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -9577,34 +9389,32 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1770, - "y": 201 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1770, + "y": 201 } - }, - { - "delta": { - "nodeXY5": { - "x": 4477, - "y": -57 - } + } + }, + { + "delta": { + "nodeXY5": { + "x": 4477, + "y": -57 } - }, - { - "delta": { - "nodeXY3": { - "x": 1965, - "y": -57 - } + } + }, + { + "delta": { + "nodeXY3": { + "x": 1965, + "y": -57 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -9680,37 +9490,35 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1735, - "y": -126 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1735, + "y": -126 } - }, - { - "delta": { - "nodeXY5": { - "x": 5584, - "y": -132 - } + } + }, + { + "delta": { + "nodeXY5": { + "x": 5584, + "y": -132 } - }, - { - "delta": { - "nodeXY4": { - "x": 2507, - "y": 390 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY4": { + "x": 2507, + "y": 390 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -9772,26 +9580,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1646, - "y": -621 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1646, + "y": -621 } - }, - { - "delta": { - "nodeXY1": { - "x": 305, - "y": 11 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 305, + "y": 11 } } - ] - } + } + ] } }, { @@ -9828,26 +9634,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1623, - "y": -994 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1623, + "y": -994 } - }, - { - "delta": { - "nodeXY1": { - "x": 317, - "y": 0 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 317, + "y": 0 } } - ] - } + } + ] } }, { @@ -9898,37 +9702,35 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1908, - "y": -1870 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1908, + "y": -1870 } - }, - { - "delta": { - "nodeXY2": { - "x": -472, - "y": -953 - } + } + }, + { + "delta": { + "nodeXY2": { + "x": -472, + "y": -953 } - }, - { - "delta": { - "nodeXY6": { - "x": -102, - "y": -8773 - } - }, - "attributes": { - "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -102, + "y": -8773 } + }, + "attributes": { + "dElevation": -20 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10003,40 +9805,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 234, - "y": -1688 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 234, + "y": -1688 } - }, - { - "delta": { - "nodeXY5": { - "x": 35, - "y": -6680 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 35, + "y": -6680 } }, - { - "delta": { - "nodeXY4": { - "x": 53, - "y": -3539 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY4": { + "x": 53, + "y": -3539 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10132,62 +9932,60 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 578, - "y": -1677 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 578, + "y": -1677 } - }, - { - "delta": { - "nodeXY5": { - "x": 69, - "y": -6709 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 69, + "y": -6709 } }, - { - "delta": { - "nodeXY6": { - "x": 43, - "y": -8790 - } - }, - "attributes": { - "dElevation": -20 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 43, + "y": -8790 } }, - { - "delta": { - "nodeXY6": { - "x": 40, - "y": -16478 - } - }, - "attributes": { - "dElevation": -50 + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": 40, + "y": -16478 } }, - { - "delta": { - "nodeXY6": { - "x": 23, - "y": -15152 - } - }, - "attributes": { - "dElevation": -80 + "attributes": { + "dElevation": -50 + } + }, + { + "delta": { + "nodeXY6": { + "x": 23, + "y": -15152 } + }, + "attributes": { + "dElevation": -80 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10263,73 +10061,71 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 950, - "y": -1698 - } - } - }, - { - "delta": { - "nodeXY5": { - "x": 63, - "y": -7180 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY4": { - "x": 12, - "y": -3639 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 40, - "y": -6124 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY6": { - "x": 103, - "y": -15105 - } - }, - "attributes": { - "dElevation": -50 - } - }, - { - "delta": { - "nodeXY6": { - "x": -46, - "y": -15037 - } - }, - "attributes": { - "dElevation": -80 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 950, + "y": -1698 + } + } + }, + { + "delta": { + "nodeXY5": { + "x": 63, + "y": -7180 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY4": { + "x": 12, + "y": -3639 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 40, + "y": -6124 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 103, + "y": -15105 + } + }, + "attributes": { + "dElevation": -50 + } + }, + { + "delta": { + "nodeXY6": { + "x": -46, + "y": -15037 + } + }, + "attributes": { + "dElevation": -80 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10405,40 +10201,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1823, - "y": -12 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1823, + "y": -12 } }, - { - "delta": { - "nodeXY5": { - "x": -5157, - "y": 46 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -5157, + "y": 46 } }, - { - "delta": { - "nodeXY4": { - "x": -2339, - "y": -339 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY4": { + "x": -2339, + "y": -339 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10514,32 +10308,30 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1817, - "y": -334 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1817, + "y": -334 } }, - { - "delta": { - "nodeXY5": { - "x": -6609, - "y": 29 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -6609, + "y": 29 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10615,48 +10407,46 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1850, - "y": -614 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1850, + "y": -614 } }, - { - "delta": { - "nodeXY5": { - "x": -6045, - "y": -23 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -6045, + "y": -23 } }, - { - "delta": { - "nodeXY4": { - "x": -2288, - "y": 172 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY4": { + "x": -2288, + "y": 172 } - }, - { - "delta": { - "nodeXY2": { - "x": -669, - "y": -5 - } + } + }, + { + "delta": { + "nodeXY2": { + "x": -669, + "y": -5 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10732,48 +10522,46 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1856, - "y": -947 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1856, + "y": -947 } }, - { - "delta": { - "nodeXY5": { - "x": -4644, - "y": -80 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -4644, + "y": -80 } - }, - { - "delta": { - "nodeXY4": { - "x": -3106, - "y": 168 - } - }, - "attributes": { - "dElevation": 10 + } + }, + { + "delta": { + "nodeXY4": { + "x": -3106, + "y": 168 } }, - { - "delta": { - "nodeXY3": { - "x": -1245, - "y": 23 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY3": { + "x": -1245, + "y": 23 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -10835,29 +10623,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1829, - "y": 447 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1829, + "y": 447 } }, - { - "delta": { - "nodeXY1": { - "x": -236, - "y": 6 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -236, + "y": 6 } } - ] - } + } + ] } }, { @@ -10894,29 +10680,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1788, - "y": 860 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1788, + "y": 860 } }, - { - "delta": { - "nodeXY1": { - "x": -294, - "y": 0 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -294, + "y": 0 } } - ] - } + } + ] } }, { @@ -10953,26 +10737,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY6": { - "x": 1369, - "y": 9302 - } + "nodes": [ + { + "delta": { + "nodeXY6": { + "x": 1369, + "y": 9302 } - }, - { - "delta": { - "nodeXY1": { - "x": 23, - "y": 505 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 23, + "y": 505 } } - ] - } + } + ] } }, { @@ -11009,26 +10791,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1195, - "y": -1533 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1195, + "y": -1533 } - }, - { - "delta": { - "nodeXY1": { - "x": -29, - "y": -425 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": -29, + "y": -425 } } - ] - } + } + ] } }, { @@ -11065,26 +10845,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -786, - "y": -1510 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -786, + "y": -1510 } - }, - { - "delta": { - "nodeXY1": { - "x": -23, - "y": -448 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": -23, + "y": -448 } } - ] - } + } + ] } }, { @@ -11121,26 +10899,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY5": { - "x": 5345, - "y": -1396 - } + "nodes": [ + { + "delta": { + "nodeXY5": { + "x": 5345, + "y": -1396 } - }, - { - "delta": { - "nodeXY1": { - "x": 392, - "y": 17 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 392, + "y": 17 } } - ] - } + } + ] } }, { @@ -11191,48 +10967,46 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": -2133, - "y": 1785 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": -2133, + "y": 1785 } }, - { - "delta": { - "nodeXY2": { - "x": 484, - "y": 895 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY2": { + "x": 484, + "y": 895 } - }, - { - "delta": { - "nodeXY5": { - "x": 29, - "y": 6979 - } - }, - "attributes": { - "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 29, + "y": 6979 } }, - { - "delta": { - "nodeXY5": { - "x": 219, - "y": 5992 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 219, + "y": 5992 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -11312,29 +11086,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY5": { - "x": -4894, - "y": 896 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY5": { + "x": -4894, + "y": 896 } }, - { - "delta": { - "nodeXY1": { - "x": -294, - "y": 0 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -294, + "y": 0 } } - ] - } + } + ] } }, { @@ -11371,29 +11143,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY5": { - "x": -4883, - "y": 540 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY5": { + "x": -4883, + "y": 540 } }, - { - "delta": { - "nodeXY1": { - "x": -323, - "y": -6 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -323, + "y": -6 } } - ] - } + } + ] } } ] @@ -11407,8 +11177,8 @@ } }, { - "description": "Test case 4 - MapTxPojo", - "input": "mapTxsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload2af41559-45b0-48e8-95b4-a2d1368e2bf710002024-11-08T21:52:39.315Z70RSUfalse0012834538023000205EA0094D3C71C12CA6CE5D527C02DC3458244800000400028CF6F61F62355F9101464B5AAE70C0A0A631B181A81428D6F27A48302829ADDE94A56050F35BD42952C09C4058340003009609920000010000A2128E4162EAD9980143CC566B6AF028798AF5EB7C050F11349EE19ADCEF4CCA050A35B9E29BE009CE0582C000300960A120000008000222DFE5B6303588D0143CB5AB683C0A0A058F2000080960A920000008000424D3E7162ECF8AF8143CC4C9F8D6028A16876F54814140B1D4000101101632000000014E83CC805050181D34405CC80000000546A74C01414061F5E101832000000015559DAE05050181CA8B06910000008000557F359801414BCCB40000A0A5F6BDEA8050533D307B6C0A1E27EA6FE0AFA9B073027D99945C26C04FB02C360002004B06D1000000800045E50A3E40505331437DAC0A0A6D098BF540143CBEE5BF780A0A67F5501A013ECCC9BA13C027D8161900010025822280000010401AC5437B1027D933B3360141495F5F840A0A62FEF8C581428B624E1CC0A142187100008C3C80008220400203AA400000000F926E6B066F00080F29000000003E45B0481CCC0C583EC800000100012F552960027D9500E77E04FB32AB0218809CE0D89092231E2000118E900011601B200000080002ABF4179027D9958E8EE004E20AE20254561A8000A02B0C40005022C0264000002000115B2C2BC04FB32ACF1F7809C4658F42A6813C4CAEB868F02761B281EA9E004DD364E2D53CC09C4058B40001009600B200000100008AF30177027D9967B06AA04E232A272BEC09E2652CE518813B0D953152C1026E9B2A82A47E04E202C5E0000804401DC8000000051E38FE013EC89FCCA027D84019C8000000052BB904013EC89A097027D84015C80000000538B109813EC0988B31004720000000151DC3EE04FB225C22C09F62C0A840000020000965B0781813D8D599C7FEF02789AB155007204F1356711FFBC09EC058EC0002009604C200000100002B336362809EC6A2FE40170139CD452D7FF502788163D0000802201B2400000002C80D40A027D8067C0020192400000002C825284027D905EC0004FB08085100000000C1AD65AC02788033C00201F4400000003068D912009E2011F0008075100000000C1A1E2F00278804ABF47A7C8195028280540000020000DB05B909DE04FB365C8610C40A0A2C710C0EE1625DA03C1B1C5F01F6050502C160001804B0415000000800032C19041BF1637FE0AACB24FF05A658E2181806C714C07C814140B04800060110147200000001B411EFE4405051603CA005C000RSU10.11.81.20MessageFrame1820121122395806913-10508706901702036618210000000000000000000100000000000-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", + "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", "expected": { "metadata": { "logFileName": "", @@ -11419,13 +11189,13 @@ }, "payloadType": "us.dot.its.jpo.ode.model.OdeMapPayload", "serialId": { - "streamId": "2af41559-45b0-48e8-95b4-a2d1368e2bf7", + "streamId": "2c91e8d6-f917-4c82-96e4-9de0da3ddca7", "bundleSize": 1, "bundleId": 0, "recordId": 0, "serialNumber": 0 }, - "odeReceivedAt": "2024-11-08T21:52:39.315Z", + "odeReceivedAt": "2024-11-08T22:01:11.319Z", "schemaVersion": 7, "maxDurationTime": 0, "recordGeneratedAt": "", @@ -11451,8 +11221,8 @@ "revision": 2, "refPoint": { "latitude": 39.5806913, - "longitude": "-105.0870690", - "elevation": "1702.0" + "longitude": -105.0870692, + "elevation": 1702.5 }, "laneWidth": 366, "laneSet": { @@ -11505,84 +11275,82 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": -2121, - "y": 1567 - } - } - }, - { - "delta": { - "nodeXY5": { - "x": -3670, - "y": 7970 - } - }, - "attributes": { - "dElevation": 50 - } - }, - { - "delta": { - "nodeXY4": { - "x": -1195, - "y": 2499 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY5": { - "x": -1832, - "y": 4149 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -4313, - "y": 9347 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": -4364, - "y": 9515 - } - }, - "attributes": { - "dElevation": 30 - } - }, - { - "delta": { - "nodeXY6": { - "x": -4272, - "y": 9547 - } - }, - "attributes": { - "dElevation": -60 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": -2121, + "y": 1567 + } + } + }, + { + "delta": { + "nodeXY5": { + "x": -3670, + "y": 7970 + } + }, + "attributes": { + "dElevation": 50 + } + }, + { + "delta": { + "nodeXY4": { + "x": -1195, + "y": 2499 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -1832, + "y": 4149 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -4313, + "y": 9347 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": -4364, + "y": 9515 + } + }, + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY6": { + "x": -4272, + "y": 9547 + } + }, + "attributes": { + "dElevation": -60 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -11658,81 +11426,79 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1752, - "y": 1601 - } - } - }, - { - "delta": { - "nodeXY5": { - "x": -2218, - "y": 4912 - } - }, - "attributes": { - "dElevation": 30 - } - }, - { - "delta": { - "nodeXY5": { - "x": -2662, - "y": 5807 - } - }, - "attributes": { - "dElevation": 30 - } - }, - { - "delta": { - "nodeXY5": { - "x": -2581, - "y": 5566 - } - }, - "attributes": { - "dElevation": 30 - } - }, - { - "delta": { - "nodeXY5": { - "x": -3255, - "y": 7046 - } - } - }, - { - "delta": { - "nodeXY6": { - "x": -4489, - "y": 9829 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY6": { - "x": -4488, - "y": 9976 - } - }, - "attributes": { - "dElevation": -50 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1752, + "y": 1601 + } + } + }, + { + "delta": { + "nodeXY5": { + "x": -2218, + "y": 4912 + } + }, + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY5": { + "x": -2662, + "y": 5807 + } + }, + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY5": { + "x": -2581, + "y": 5566 + } + }, + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY5": { + "x": -3255, + "y": 7046 + } + } + }, + { + "delta": { + "nodeXY6": { + "x": -4489, + "y": 9829 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -4488, + "y": 9976 + } + }, + "attributes": { + "dElevation": -50 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -11808,40 +11574,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1313, - "y": 1627 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1313, + "y": 1627 } - }, - { - "delta": { - "nodeXY5": { - "x": -2022, - "y": 4378 - } - }, - "attributes": { - "dElevation": 30 + } + }, + { + "delta": { + "nodeXY5": { + "x": -2022, + "y": 4378 } }, - { - "delta": { - "nodeXY4": { - "x": -1194, - "y": 2575 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY4": { + "x": -1194, + "y": 2575 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -11917,51 +11681,49 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -813, - "y": 1649 - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -813, + "y": 1649 } - }, - { - "delta": { - "nodeXY5": { - "x": -2201, - "y": 4447 - } - }, - "attributes": { - "dElevation": 30 + } + }, + { + "delta": { + "nodeXY5": { + "x": -2201, + "y": 4447 } }, - { - "delta": { - "nodeXY5": { - "x": -3289, - "y": 6358 - } - }, - "attributes": { - "dElevation": 40 + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY5": { + "x": -3289, + "y": 6358 } }, - { - "delta": { - "nodeXY4": { - "x": -1930, - "y": 3753 - } - }, - "attributes": { - "dElevation": 10 + "attributes": { + "dElevation": 40 + } + }, + { + "delta": { + "nodeXY4": { + "x": -1930, + "y": 3753 } + }, + "attributes": { + "dElevation": 10 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -12023,29 +11785,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -191, - "y": 1636 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -191, + "y": 1636 } }, - { - "delta": { - "nodeXY1": { - "x": -127, - "y": 333 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -127, + "y": 333 } } - ] - } + } + ] } }, { @@ -12082,29 +11842,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 212, - "y": 1688 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 212, + "y": 1688 } }, - { - "delta": { - "nodeXY1": { - "x": -121, - "y": 350 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -121, + "y": 350 } } - ] - } + } + ] } }, { @@ -12141,29 +11899,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 684, - "y": 1751 - } - }, - "attributes": { - "dElevation": 10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 684, + "y": 1751 } }, - { - "delta": { - "nodeXY1": { - "x": -127, - "y": 298 - } + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -127, + "y": 298 } } - ] - } + } + ] } }, { @@ -12214,84 +11970,82 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 2022, - "y": 816 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY4": { - "x": 2454, - "y": 0 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY4": { - "x": 3503, - "y": -172 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 7472, - "y": -293 - } - }, - "attributes": { - "dElevation": 30 - } - }, - { - "delta": { - "nodeXY5": { - "x": 8019, - "y": -63 - } - } - }, - { - "delta": { - "nodeXY4": { - "x": 3405, - "y": 115 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 4747, - "y": 310 - } - }, - "attributes": { - "dElevation": -10 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 2022, + "y": 816 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY4": { + "x": 2454, + "y": 0 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY4": { + "x": 3503, + "y": -172 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 7472, + "y": -293 + } + }, + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY5": { + "x": 8019, + "y": -63 + } + } + }, + { + "delta": { + "nodeXY4": { + "x": 3405, + "y": 115 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 4747, + "y": 310 + } + }, + "attributes": { + "dElevation": -10 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -12367,76 +12121,74 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": 2370, - "y": 498 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 4419, - "y": -149 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY6": { - "x": 8497, - "y": -344 - } - }, - "attributes": { - "dElevation": 30 - } - }, - { - "delta": { - "nodeXY4": { - "x": 3531, - "y": -34 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 8106, - "y": 52 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 4718, - "y": 316 - } - }, - "attributes": { - "dElevation": -10 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": 2370, + "y": 498 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 4419, + "y": -149 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY6": { + "x": 8497, + "y": -344 + } + }, + "attributes": { + "dElevation": 30 + } + }, + { + "delta": { + "nodeXY4": { + "x": 3531, + "y": -34 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 8106, + "y": 52 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 4718, + "y": 316 + } + }, + "attributes": { + "dElevation": -10 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -12512,65 +12264,63 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": -3423, - "y": 1969 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY2": { - "x": 236, - "y": 620 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY2": { - "x": -262, - "y": 993 - } - }, - "attributes": { - "dElevation": 10 - } - }, - { - "delta": { - "nodeXY5": { - "x": -2057, - "y": 4491 - } - }, - "attributes": { - "dElevation": 20 - } - }, - { - "delta": { - "nodeXY4": { - "x": -951, - "y": 2163 - } - }, - "attributes": { - "dElevation": 20 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": -3423, + "y": 1969 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY2": { + "x": 236, + "y": 620 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY2": { + "x": -262, + "y": 993 + } + }, + "attributes": { + "dElevation": 10 + } + }, + { + "delta": { + "nodeXY5": { + "x": -2057, + "y": 4491 + } + }, + "attributes": { + "dElevation": 20 + } + }, + { + "delta": { + "nodeXY4": { + "x": -951, + "y": 2163 + } + }, + "attributes": { + "dElevation": 20 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -12670,26 +12420,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": 3219, - "y": -405 - } + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": 3219, + "y": -405 } - }, - { - "delta": { - "nodeXY1": { - "x": 311, - "y": 0 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 311, + "y": 0 } } - ] - } + } + ] } }, { @@ -12726,26 +12474,24 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": 3211, - "y": -1006 - } + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": 3211, + "y": -1006 } - }, - { - "delta": { - "nodeXY1": { - "x": 409, - "y": 6 - } + } + }, + { + "delta": { + "nodeXY1": { + "x": 409, + "y": 6 } } - ] - } + } + ] } }, { @@ -12796,51 +12542,49 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": 2729, - "y": -1696 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": 2729, + "y": -1696 } }, - { - "delta": { - "nodeXY3": { - "x": 7, - "y": -1089 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY3": { + "x": 7, + "y": -1089 } }, - { - "delta": { - "nodeXY5": { - "x": 2736, - "y": -6046 - } - }, - "attributes": { - "dElevation": -50 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 2736, + "y": -6046 } }, - { - "delta": { - "nodeXY2": { - "x": 393, - "y": -951 - } + "attributes": { + "dElevation": -50 + } + }, + { + "delta": { + "nodeXY2": { + "x": 393, + "y": -951 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -12935,40 +12679,38 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1012, - "y": -1671 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1012, + "y": -1671 } }, - { - "delta": { - "nodeXY5": { - "x": 2845, - "y": -6288 - } - }, - "attributes": { - "dElevation": -60 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 2845, + "y": -6288 } }, - { - "delta": { - "nodeXY3": { - "x": 904, - "y": -1899 - } + "attributes": { + "dElevation": -60 + } + }, + { + "delta": { + "nodeXY3": { + "x": 904, + "y": -1899 } } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -13065,76 +12807,74 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1430, - "y": -1698 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 2767, - "y": -6178 - } - }, - "attributes": { - "dElevation": -60 - } - }, - { - "delta": { - "nodeXY5": { - "x": 3194, - "y": -6835 - } - }, - "attributes": { - "dElevation": -30 - } - }, - { - "delta": { - "nodeXY5": { - "x": 2990, - "y": -6513 - } - }, - "attributes": { - "dElevation": -40 - } - }, - { - "delta": { - "nodeXY6": { - "x": 5135, - "y": -11024 - } - }, - "attributes": { - "dElevation": -70 - } - }, - { - "delta": { - "nodeXY6": { - "x": 5003, - "y": -11021 - } - }, - "attributes": { - "dElevation": -60 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1430, + "y": -1698 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 2767, + "y": -6178 + } + }, + "attributes": { + "dElevation": -60 + } + }, + { + "delta": { + "nodeXY5": { + "x": 3194, + "y": -6835 + } + }, + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY5": { + "x": 2990, + "y": -6513 + } + }, + "attributes": { + "dElevation": -40 + } + }, + { + "delta": { + "nodeXY6": { + "x": 5135, + "y": -11024 + } + }, + "attributes": { + "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 5003, + "y": -11021 + } + }, + "attributes": { + "dElevation": -60 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -13210,76 +12950,74 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 1840, - "y": -1673 - } - }, - "attributes": { - "dElevation": -10 - } - }, - { - "delta": { - "nodeXY5": { - "x": 3318, - "y": -7339 - } - }, - "attributes": { - "dElevation": -60 - } - }, - { - "delta": { - "nodeXY5": { - "x": 2599, - "y": -5381 - } - }, - "attributes": { - "dElevation": -30 - } - }, - { - "delta": { - "nodeXY5": { - "x": 2407, - "y": -5583 - } - }, - "attributes": { - "dElevation": -40 - } - }, - { - "delta": { - "nodeXY6": { - "x": 5425, - "y": -11583 - } - }, - "attributes": { - "dElevation": -70 - } - }, - { - "delta": { - "nodeXY6": { - "x": 5441, - "y": -11713 - } - }, - "attributes": { - "dElevation": -60 - } - } - ] - } + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 1840, + "y": -1673 + } + }, + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY5": { + "x": 3318, + "y": -7339 + } + }, + "attributes": { + "dElevation": -60 + } + }, + { + "delta": { + "nodeXY5": { + "x": 2599, + "y": -5381 + } + }, + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY5": { + "x": 2407, + "y": -5583 + } + }, + "attributes": { + "dElevation": -40 + } + }, + { + "delta": { + "nodeXY6": { + "x": 5425, + "y": -11583 + } + }, + "attributes": { + "dElevation": -70 + } + }, + { + "delta": { + "nodeXY6": { + "x": 5441, + "y": -11713 + } + }, + "attributes": { + "dElevation": -60 + } + } + ] }, "connectsTo": { "connectsTo": [ @@ -13341,32 +13079,30 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -1081, - "y": -1540 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -1081, + "y": -1540 } }, - { - "delta": { - "nodeXY1": { - "x": 127, - "y": -310 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY1": { + "x": 127, + "y": -310 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] } }, { @@ -13403,32 +13139,30 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -649, - "y": -1528 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -649, + "y": -1528 } }, - { - "delta": { - "nodeXY1": { - "x": 104, - "y": -361 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY1": { + "x": 104, + "y": -361 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] } }, { @@ -13465,29 +13199,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": -234, - "y": -1517 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": -234, + "y": -1517 } }, - { - "delta": { - "nodeXY1": { - "x": 98, - "y": -333 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY1": { + "x": 98, + "y": -333 } } - ] - } + } + ] } }, { @@ -13524,32 +13256,30 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY3": { - "x": 238, - "y": -1545 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY3": { + "x": 238, + "y": -1545 } }, - { - "delta": { - "nodeXY1": { - "x": 92, - "y": -373 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY1": { + "x": 92, + "y": -373 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] } }, { @@ -13600,54 +13330,52 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": -2640, - "y": -253 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": -2640, + "y": -253 } }, - { - "delta": { - "nodeXY6": { - "x": -9828, - "y": -17 - } - }, - "attributes": { - "dElevation": -30 + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -9828, + "y": -17 } }, - { - "delta": { - "nodeXY6": { - "x": -10070, - "y": 57 - } - }, - "attributes": { - "dElevation": -30 + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY6": { + "x": -10070, + "y": 57 } }, - { - "delta": { - "nodeXY6": { - "x": -9788, - "y": -17 - } - }, - "attributes": { - "dElevation": -20 + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY6": { + "x": -9788, + "y": -17 } + }, + "attributes": { + "dElevation": -20 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -13723,43 +13451,41 @@ "caution": false }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": -2452, - "y": -630 - } - }, - "attributes": { - "dElevation": -20 + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": -2452, + "y": -630 } }, - { - "delta": { - "nodeXY6": { - "x": -14852, - "y": 46 - } - }, - "attributes": { - "dElevation": -50 + "attributes": { + "dElevation": -20 + } + }, + { + "delta": { + "nodeXY6": { + "x": -14852, + "y": 46 } }, - { - "delta": { - "nodeXY6": { - "x": -15059, - "y": -11 - } - }, - "attributes": { - "dElevation": -30 + "attributes": { + "dElevation": -50 + } + }, + { + "delta": { + "nodeXY6": { + "x": -15059, + "y": -11 } + }, + "attributes": { + "dElevation": -30 } - ] - } + } + ] }, "connectsTo": { "connectsTo": [ @@ -13821,29 +13547,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": -3066, - "y": 1034 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": -3066, + "y": 1034 } }, - { - "delta": { - "nodeXY1": { - "x": -305, - "y": 0 - } + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -305, + "y": 0 } } - ] - } + } + ] } }, { @@ -13880,32 +13604,30 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY4": { - "x": -3054, - "y": 644 - } - }, - "attributes": { - "dElevation": -10 + "nodes": [ + { + "delta": { + "nodeXY4": { + "x": -3054, + "y": 644 } }, - { - "delta": { - "nodeXY1": { - "x": -323, - "y": 0 - } - }, - "attributes": { - "dElevation": -10 + "attributes": { + "dElevation": -10 + } + }, + { + "delta": { + "nodeXY1": { + "x": -323, + "y": 0 } + }, + "attributes": { + "dElevation": -10 } - ] - } + } + ] } }, { @@ -13942,29 +13664,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY5": { - "x": -6475, - "y": 1452 - } - }, - "attributes": { - "dElevation": -30 + "nodes": [ + { + "delta": { + "nodeXY5": { + "x": -6475, + "y": 1452 } }, - { - "delta": { - "nodeXY1": { - "x": -409, - "y": 0 - } + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY1": { + "x": -409, + "y": 0 } } - ] - } + } + ] } }, { @@ -14001,29 +13721,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY5": { - "x": -6515, - "y": 1096 - } - }, - "attributes": { - "dElevation": -30 + "nodes": [ + { + "delta": { + "nodeXY5": { + "x": -6515, + "y": 1096 } }, - { - "delta": { - "nodeXY1": { - "x": -369, - "y": 0 - } + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY1": { + "x": -369, + "y": 0 } } - ] - } + } + ] } }, { @@ -14060,29 +13778,27 @@ } }, "nodeList": { - "nodes": { - "NodeXY": [ - { - "delta": { - "nodeXY5": { - "x": -6521, - "y": 752 - } - }, - "attributes": { - "dElevation": -30 + "nodes": [ + { + "delta": { + "nodeXY5": { + "x": -6521, + "y": 752 } }, - { - "delta": { - "nodeXY1": { - "x": -363, - "y": -6 - } + "attributes": { + "dElevation": -30 + } + }, + { + "delta": { + "nodeXY1": { + "x": -363, + "y": -6 } } - ] - } + } + ] } } ] From d93e6ec05e77920990eef1704ca99efc7c6a2593 Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Mon, 25 Nov 2024 02:31:22 -0700 Subject: [PATCH 03/33] Update schemas --- .../main/resources/schemas/schema-map.json | 590 +++++++++--------- .../main/resources/schemas/schema-tim.json | 500 +++------------ 2 files changed, 380 insertions(+), 710 deletions(-) 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 85495546a..89c102e49 100644 --- a/jpo-ode-core/src/main/resources/schemas/schema-map.json +++ b/jpo-ode-core/src/main/resources/schemas/schema-map.json @@ -1,4 +1,4 @@ -{ +{ "$schema": "http://json-schema.org/draft-04/schema#", "properties": { "metadata": { @@ -791,185 +791,177 @@ "nodeList": { "properties": { "nodes": { - "properties": { - "NodeXY": { - "items": [ - { + "type": "array", + "items": [ + { + "properties": { + "attributes": { + "properties": { + "dElevation": { + "type": "number" + }, + "dWidth": { + "type": "null" + }, + "data": { + "type": "null" + }, + "disabled": { + "type": "null" + }, + "enabled": { + "type": "null" + }, + "localNode": { + "type": "null" + } + }, + "required": [ + "dElevation" + ], + "type": [ + "object", + "null" + ] + }, + "delta": { "properties": { - "attributes": { + "nodeLatLon": { "properties": { - "dElevation": { + "lat": { "type": "number" }, - "dWidth": { - "type": "null" - }, - "data": { - "type": "null" - }, - "disabled": { - "type": "null" - }, - "enabled": { - "type": "null" - }, - "localNode": { - "type": "null" + "lon": { + "type": "number" } }, "required": [ - "dElevation" + "lon", + "lat" ], "type": [ "object", "null" ] }, - "delta": { + "nodeXY1": { "properties": { - "nodeLatLon": { - "properties": { - "lat": { - "type": "number" - }, - "lon": { - "type": "number" - } - }, - "required": [ - "lon", - "lat" - ], - "type": [ - "object", - "null" - ] + "x": { + "type": "number" }, - "nodeXY1": { - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": [ - "object", - "null" - ] + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": [ + "object", + "null" + ] + }, + "nodeXY2": { + "properties": { + "x": { + "type": "number" }, - "nodeXY2": { - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": [ - "object", - "null" - ] + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": [ + "object", + "null" + ] + }, + "nodeXY3": { + "properties": { + "x": { + "type": "number" }, - "nodeXY3": { - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": [ - "object", - "null" - ] + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": [ + "object", + "null" + ] + }, + "nodeXY4": { + "properties": { + "x": { + "type": "number" }, - "nodeXY4": { - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": [ - "object", - "null" - ] + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": [ + "object", + "null" + ] + }, + "nodeXY5": { + "properties": { + "x": { + "type": "number" }, - "nodeXY5": { - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": [ - "object", - "null" - ] + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": [ + "object", + "null" + ] + }, + "nodeXY6": { + "properties": { + "x": { + "type": "number" }, - "nodeXY6": { - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": [ - "object", - "null" - ] + "y": { + "type": "number" } }, - "type": "object" + "required": [ + "x", + "y" + ], + "type": [ + "object", + "null" + ] } }, - "required": [ - "delta" - ], "type": "object" } + }, + "required": [ + "delta" ], - "type": "array" + "type": "object" } - }, - "required": [ - "NodeXY" - ], - "type": "object" + ] } }, "required": [ @@ -1821,185 +1813,177 @@ "nodeList": { "properties": { "nodes": { - "properties": { - "NodeXY": { - "items": [ - { + "type": "array", + "items": [ + { + "properties": { + "attributes": { + "properties": { + "dElevation": { + "type": "number" + }, + "dWidth": { + "type": "null" + }, + "data": { + "type": "null" + }, + "disabled": { + "type": "null" + }, + "enabled": { + "type": "null" + }, + "localNode": { + "type": "null" + } + }, + "required": [ + "dElevation" + ], + "type": [ + "object", + "null" + ] + }, + "delta": { "properties": { - "attributes": { + "nodeLatLon": { "properties": { - "dElevation": { + "lat": { "type": "number" }, - "dWidth": { - "type": "null" - }, - "data": { - "type": "null" - }, - "disabled": { - "type": "null" - }, - "enabled": { - "type": "null" - }, - "localNode": { - "type": "null" + "lon": { + "type": "number" } }, "required": [ - "dElevation" + "lon", + "lat" ], "type": [ "object", "null" ] }, - "delta": { + "nodeXY1": { "properties": { - "nodeLatLon": { - "properties": { - "lat": { - "type": "number" - }, - "lon": { - "type": "number" - } - }, - "required": [ - "lon", - "lat" - ], - "type": [ - "object", - "null" - ] + "x": { + "type": "number" }, - "nodeXY1": { - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": [ - "object", - "null" - ] + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": [ + "object", + "null" + ] + }, + "nodeXY2": { + "properties": { + "x": { + "type": "number" }, - "nodeXY2": { - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": [ - "object", - "null" - ] + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": [ + "object", + "null" + ] + }, + "nodeXY3": { + "properties": { + "x": { + "type": "number" }, - "nodeXY3": { - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": [ - "object", - "null" - ] + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": [ + "object", + "null" + ] + }, + "nodeXY4": { + "properties": { + "x": { + "type": "number" }, - "nodeXY4": { - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": [ - "object", - "null" - ] + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": [ + "object", + "null" + ] + }, + "nodeXY5": { + "properties": { + "x": { + "type": "number" }, - "nodeXY5": { - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": [ - "object", - "null" - ] + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": [ + "object", + "null" + ] + }, + "nodeXY6": { + "properties": { + "x": { + "type": "number" }, - "nodeXY6": { - "properties": { - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": [ - "object", - "null" - ] + "y": { + "type": "number" } }, - "type": "object" + "required": [ + "x", + "y" + ], + "type": [ + "object", + "null" + ] } }, - "required": [ - "delta" - ], "type": "object" } + }, + "required": [ + "delta" ], - "type": "array" + "type": "object" } - }, - "required": [ - "NodeXY" - ], - "type": "object" + ] } }, "required": [ 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 14ccfb46e..d539c00e9 100644 --- a/jpo-ode-core/src/main/resources/schemas/schema-tim.json +++ b/jpo-ode-core/src/main/resources/schemas/schema-tim.json @@ -22,7 +22,7 @@ "type": "string" }, "maxDurationTime": { - "type": "string" + "type": "number" }, "odePacketID": { "type": "string" @@ -40,7 +40,12 @@ "type": "string" }, "receivedMessageDetails": { - "type": "string" + "type": "object", + "properties": { + "rxSource": { + "type": "string" + } + } }, "recordGeneratedAt": { "type": "string" @@ -52,10 +57,10 @@ "type": "string" }, "sanitized": { - "type": "string" + "type": "boolean" }, "schemaVersion": { - "type": "string" + "type": "number" }, "securityResultCode": { "type": "string" @@ -285,16 +290,16 @@ "type": "object", "properties": { "bundleId": { - "type": "string" + "type": "number" }, "bundleSize": { - "type": "string" + "type": "number" }, "recordId": { - "type": "string" + "type": "number" }, "serialNumber": { - "type": "string" + "type": "number" }, "streamId": { "type": "string" @@ -312,15 +317,7 @@ "type": "object", "properties": { "data": { - "type": "object", - "properties": { - "MessageFrame": { - "$ref": "#/$defs/OdeTimMessageFrame" - } - }, - "required": [ - "MessageFrame" - ] + "$ref": "#/$defs/J2735Tim" }, "dataType": { "type": "string" @@ -331,29 +328,6 @@ "dataType" ] }, - "OdeTimMessageFrame": { - "type": "object", - "properties": { - "messageId": { - "type": "string" - }, - "value": { - "type": "object", - "properties": { - "TravelerInformation": { - "$ref": "#/$defs/J2735Tim" - } - }, - "required": [ - "TravelerInformation" - ] - } - }, - "required": [ - "messageId", - "value" - ] - }, "J2735Tim": { "type": "object", "properties": { @@ -367,17 +341,10 @@ "type": "string" }, "dataFrames": { - "oneOf": [ - { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/OdeTimDataFrame" - } - ] - }, + "type": "array", + "prefixItems": [ { - "$ref": "#/$defs/OdeTimDataFrame" + "$ref": "#/$defs/J2735TravelerDataFrame" } ] }, @@ -390,29 +357,6 @@ "msgCnt" ] }, - "OdeTimDataFrame": { - "type": "object", - "properties": { - "TravelerDataFrame": { - "oneOf": [ - { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/J2735TravelerDataFrame" - } - ] - }, - { - "$ref": "#/$defs/J2735TravelerDataFrame" - } - ] - } - }, - "required": [ - "TravelerDataFrame" - ] - }, "J2735TravelerDataFrame": { "type": "object", "properties": { @@ -420,7 +364,12 @@ "type": "string" }, "frameType": { - "$ref": "#/$defs/J2735DF_FrameType" + "enum": [ + "unknown", + "advisory", + "roadSignage", + "commercialSignage" + ] }, "msgId": { "oneOf": [ @@ -456,17 +405,10 @@ "type": "string" }, "regions": { - "oneOf": [ - { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/J2735DF_Regions" - } - ] - }, + "type": "array", + "prefixItems": [ { - "$ref": "#/$defs/J2735DF_Regions" + "$ref": "#/$defs/J2735DF_GeographicalPath" } ] }, @@ -497,54 +439,6 @@ "content" ] }, - "J2735DF_FrameType": { - "oneOf": [ - { - "type": "object", - "properties": { - "unknown": { - "type": "string" - } - }, - "required": [ - "unknown" - ] - }, - { - "type": "object", - "properties": { - "advisory": { - "type": "string" - } - }, - "required": [ - "advisory" - ] - }, - { - "type": "object", - "properties": { - "roadSignage": { - "type": "string" - } - }, - "required": [ - "roadSignage" - ] - }, - { - "type": "object", - "properties": { - "commercialSignage": { - "type": "string" - } - }, - "required": [ - "commercialSignage" - ] - } - ] - }, "J2735DF_MsgId_RoadSignId": { "type": "object", "properties": { @@ -552,13 +446,21 @@ "type": "object", "properties": { "position": { - "$ref": "#/$defs/J2735Position3D" + "$ref": "#/$defs/OdePosition3D" }, "viewAngle": { "type": "string" }, "mutcdCode": { - "$ref": "#/$defs/J2735MUTCDCode" + "enum": [ + "none", + "regulatory", + "warning", + "maintenance", + "motoristService", + "guide", + "rec" + ] } }, "required": [ @@ -571,29 +473,6 @@ "roadSignID" ] }, - "J2735DF_Regions": { - "type": "object", - "properties": { - "GeographicalPath": { - "oneOf": [ - { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/J2735DF_GeographicalPath" - } - ] - }, - { - "$ref": "#/$defs/J2735DF_GeographicalPath" - } - ] - } - }, - "required": [ - "GeographicalPath" - ] - }, "J2735DF_GeographicalPath": { "type": "object", "properties": { @@ -604,16 +483,21 @@ "$ref": "#/$defs/J2735RoadSegmentReferenceID" }, "anchor": { - "$ref": "#/$defs/J2735Position3D" + "$ref": "#/$defs/OdePosition3D" }, "laneWidth": { - "type": "string" + "type": "number" }, "directionality": { - "$ref": "#/$defs/J2735DirectionOfUse" + "enum": [ + "unavailable", + "forward", + "reverse", + "both" + ] }, "closedPath": { - "$ref": "#/$defs/BooleanObject" + "type": "boolean" }, "direction": { "type": "string" @@ -626,73 +510,13 @@ "description" ] }, - "J2735DirectionOfUse": { - "oneOf": [ - { - "type": "object", - "properties": { - "unavailable": { - "type": "string" - } - }, - "required": [ - "unavailable" - ] - }, - { - "type": "object", - "properties": { - "forward": { - "type": "string" - } - }, - "required": [ - "forward" - ] - }, - { - "type": "object", - "properties": { - "reverse": { - "type": "string" - } - }, - "required": [ - "reverse" - ] - }, - { - "type": "object", - "properties": { - "both": { - "type": "string" - } - }, - "required": [ - "both" - ] - } - ] - }, "J2735DF_Regions_Description": { "oneOf": [ { "type": "object", "properties": { "path": { - "oneOf": [ - { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/J2735OffsetSystem" - } - ] - }, - { - "$ref": "#/$defs/J2735OffsetSystem" - } - ] + "$ref": "#/$defs/J2735OffsetSystem" } }, "required": [ @@ -703,19 +527,7 @@ "type": "object", "properties": { "geometry": { - "oneOf": [ - { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/J2735GeometricProjection" - } - ] - }, - { - "$ref": "#/$defs/J2735GeometricProjection" - } - ] + "$ref": "#/$defs/J2735GeometricProjection" } }, "required": [ @@ -728,7 +540,7 @@ "type": "object", "properties": { "scale": { - "type": "string" + "type": "number" }, "offset": { "oneOf": [ @@ -765,19 +577,11 @@ "type": "object", "properties": { "nodes": { - "type": "object", - "properties": { - "NodeXY": { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/J2735NodeXY" - } - ] + "type": "array", + "prefixItems": [ + { + "$ref": "#/$defs/J2735NodeXY" } - }, - "required": [ - "NodeXY" ] } }, @@ -789,19 +593,11 @@ "type": "object", "properties": { "nodes": { - "type": "object", - "properties": { - "NodeLL": { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/J2735NodeLL" - } - ] + "type": "array", + "prefixItems": [ + { + "$ref": "#/$defs/J2735NodeLL" } - }, - "required": [ - "NodeLL" ] } }, @@ -817,78 +613,78 @@ { "type": "object", "properties": { - "node-XY1": { + "nodeXY1": { "$ref": "#/$defs/J2735NodeXYDelta" } }, "required": [ - "node-XY1" + "nodeXY1" ] }, { "type": "object", "properties": { - "node-XY2": { + "nodeXY2": { "$ref": "#/$defs/J2735NodeXYDelta" } }, "required": [ - "node-XY2" + "nodeXY2" ] }, { "type": "object", "properties": { - "node-XY3": { + "nodeXY3": { "$ref": "#/$defs/J2735NodeXYDelta" } }, "required": [ - "node-XY3" + "nodeXY3" ] }, { "type": "object", "properties": { - "node-XY4": { + "nodeXY4": { "$ref": "#/$defs/J2735NodeXYDelta" } }, "required": [ - "node-XY4" + "nodeXY4" ] }, { "type": "object", "properties": { - "node-XY5": { + "nodeXY5": { "$ref": "#/$defs/J2735NodeXYDelta" } }, "required": [ - "node-XY5" + "nodeXY5" ] }, { "type": "object", "properties": { - "node-XY6": { + "nodeXY6": { "$ref": "#/$defs/J2735NodeXYDelta" } }, "required": [ - "node-XY6" + "nodeXY6" ] }, { "type": "object", "properties": { - "node-LatLon": { + "nodeLatLon": { "$ref": "#/$defs/J2735NodeLLDelta" } }, "required": [ - "node-LatLon" + "nodeLatLon" ] } ] @@ -906,78 +702,78 @@ { "type": "object", "properties": { - "node-LL1": { + "nodeLL1": { "$ref": "#/$defs/J2735NodeLLDelta" } }, "required": [ - "node-LL1" + "nodeLL1" ] }, { "type": "object", "properties": { - "node-LL2": { + "nodeLL2": { "$ref": "#/$defs/J2735NodeLLDelta" } }, "required": [ - "node-LL2" + "nodeLL2" ] }, { "type": "object", "properties": { - "node-LL3": { + "nodeLL3": { "$ref": "#/$defs/J2735NodeLLDelta" } }, "required": [ - "node-LL3" + "nodeLL3" ] }, { "type": "object", "properties": { - "node-LL4": { + "nodeLL4": { "$ref": "#/$defs/J2735NodeLLDelta" } }, "required": [ - "node-LL4" + "nodeLL4" ] }, { "type": "object", "properties": { - "node-LL5": { + "nodeLL5": { "$ref": "#/$defs/J2735NodeLLDelta" } }, "required": [ - "node-LL5" + "nodeLL5" ] }, { "type": "object", "properties": { - "node-LL6": { + "nodeLL6": { "$ref": "#/$defs/J2735NodeLLDelta" } }, "required": [ - "node-LL6" + "nodeLL6" ] }, { "type": "object", "properties": { - "node-LatLon": { + "nodeLatLon": { "$ref": "#/$defs/J2735NodeLLDelta" } }, "required": [ - "node-LatLon" + "nodeLatLon" ] } ] @@ -991,10 +787,10 @@ "type": "object", "properties": { "x": { - "type": "string" + "type": "number" }, "y": { - "type": "string" + "type": "number" } }, "required": [ @@ -1006,10 +802,10 @@ "type": "object", "properties": { "lat": { - "type": "string" + "type": "number" }, "lon": { - "type": "string" + "type": "number" } }, "required": [ @@ -1188,16 +984,13 @@ "type": "object", "properties": { "latitude": { - "type": "string" + "type": "number" }, "longitude": { - "type": "string" + "type": "number" }, "elevation": { - "type": [ - "string", - "null" - ] + "type": "number" } }, "required": [ @@ -1205,95 +998,14 @@ "longitude" ] }, - "J2735MUTCDCode": { - "oneOf": [ - { - "type": "object", - "properties": { - "none": { - "type": "string" - } - }, - "required": [ - "none" - ] - }, - { - "type": "object", - "properties": { - "regulatory": { - "type": "string" - } - }, - "required": [ - "regulatory" - ] - }, - { - "type": "object", - "properties": { - "warning": { - "type": "string" - } - }, - "required": [ - "warning" - ] - }, - { - "type": "object", - "properties": { - "maintenance": { - "type": "string" - } - }, - "required": [ - "maintenance" - ] - }, - { - "type": "object", - "properties": { - "motoristService": { - "type": "string" - } - }, - "required": [ - "motoristService" - ] - }, - { - "type": "object", - "properties": { - "guide": { - "type": "string" - } - }, - "required": [ - "guide" - ] - }, - { - "type": "object", - "properties": { - "rec": { - "type": "string" - } - }, - "required": [ - "rec" - ] - } - ] - }, "J2735RoadSegmentReferenceID": { "type": "object", "properties": { "id": { - "type": "string" + "type": "number" }, "region": { - "type": "string" + "type": "number" } }, "required": [ @@ -1391,32 +1103,6 @@ ] } ] - }, - "BooleanObject": { - "oneOf": [ - { - "type": "object", - "properties": { - "true": { - "type": "string" - } - }, - "required": [ - "true" - ] - }, - { - "type": "object", - "properties": { - "false": { - "type": "string" - } - }, - "required": [ - "false" - ] - } - ] } } } \ No newline at end of file From 6848ede5f788bcb23884d63a43ee03b5f6aa6bff Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Mon, 25 Nov 2024 14:13:09 -0700 Subject: [PATCH 04/33] Add support for unsigned TIMs to go to the TMC filtered topic --- .../dot/its/jpo/ode/services/asn1/Asn1EncodedDataRouter.java | 4 ++++ .../us/dot/its/jpo/ode/traveler/TimDepositController.java | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1EncodedDataRouter.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1EncodedDataRouter.java index e12831bfe..59a0bd15c 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1EncodedDataRouter.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1EncodedDataRouter.java @@ -273,6 +273,7 @@ public void processEncodedTim(ServiceRequest request, JSONObject consumedObj) { public void processEncodedTimUnsecured(ServiceRequest request, JSONObject consumedObj) { // Send TIMs and record results HashMap responseList = new HashMap<>(); + JSONObject metadataObj = consumedObj.getJSONObject(AppContext.METADATA_STRING); JSONObject dataObj = consumedObj .getJSONObject(AppContext.PAYLOAD_STRING) @@ -312,6 +313,9 @@ public void processEncodedTimUnsecured(ServiceRequest request, JSONObject consum JSONObject mfObj = dataObj.getJSONObject(MESSAGE_FRAME); String encodedTim = mfObj.getString(BYTES); + // Deposit encoded TIM to TMC-filtered topic if TMC-generated + depositToFilteredTopic(metadataObj, encodedTim); + // if header is present, strip it if (isHeaderPresent(encodedTim)) { String header = encodedTim.substring(0, encodedTim.indexOf("001F") + 4); diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimDepositController.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimDepositController.java index 8291b1fee..daa5b8372 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimDepositController.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimDepositController.java @@ -256,7 +256,6 @@ public synchronized ResponseEntity depositTim(String jsonString, Request if (xmlMsg != null) { log.debug("XML representation: {}", xmlMsg); - stringMsgProducer.send(asn1CoderTopics.getEncoderInput(), null, xmlMsg); // Convert XML into ODE TIM JSON object and obfuscate RSU password OdeTimData odeTimObj = OdeTimDataCreatorHelper.createOdeTimDataFromCreator(xmlMsg, timMetadata); @@ -268,6 +267,10 @@ public synchronized ResponseEntity depositTim(String jsonString, Request // publish J2735 TIM also to general un-filtered TIM topic with streamID as key stringMsgProducer.send(jsonTopics.getTim(), serialIdJ2735.getStreamId(), obfuscatedJ2735Tim); + + // Write XML to the encoder input topic at the end to ensure the correct order of operations to pair + // each message to an OdeTimJson streamId key + stringMsgProducer.send(asn1CoderTopics.getEncoderInput(), null, xmlMsg); } serialIdOde.increment(); From 8b8de0c751dea77cef0467d4776dea7aef475d7c Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Tue, 26 Nov 2024 01:05:25 -0700 Subject: [PATCH 05/33] Update unit tests to address recent changes --- .../test/java/us/dot/its/jpo/ode/model/OdeTimDataTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeTimDataTest.java b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeTimDataTest.java index 9a626ccff..5a1b0debb 100644 --- a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeTimDataTest.java +++ b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeTimDataTest.java @@ -16,9 +16,9 @@ public class OdeTimDataTest { private static final String SCHEMA_VERSION = "7"; - private static final String ASN1_STRING = "005f498718cca69ec1a04600000100105d9b46ec5be401003a0103810040038081d4001f80d07016da410000000000000bbc2b0f775d9b0309c271431fa166ee0a27fff93f136b8205a0a107fb2ef979f4c5bfaeec97e4ad70c2fb36cd9730becdb355cc2fd2a7556b160b98b46ab98ae62c185fa55efb468d5b4000000004e2863f42cddc144ff7980040401262cdd7b809c509f5c62cdd35519c507b9062cdcee129c505cf262cdca5ff9c50432c62cdc5d3d9c502e3e62cdc13e79c501e9262cdbca2d9c5013ee62cdb80359c500e6a62cdb36299c500bc862cdaec1d9c50093c62cdaa2109c5006ea1080203091a859eeebb36006001830001aad27f4ff7580001aad355e39b5880a30029d6585009ef808332d8d9f80c3855151b38c772f765007967ec1170bcb7937f5cb880a25a52863493bcb87570dbcb5abc6bfb2faec606cfa34eb95a24790b2017366d3aabe7729e"; + private static final String ASN1_STRING = "001F80AE70165E87AD5DB73EE53601D49C0F775D9B0B01C266509C496663068FFFF93F43448C001EA007F95937EAD35AC9A5FA54EADF62C17316CB99385CDA00000000266509C4966630689388C200021000EBE86F264E051097630004008027BBAECD8C070999427125998C1A3FFFE4FD0D1230007A801FE564DFAB4D6B2697E953AB7D8B05CC5B2E64E1736800000000999427125998C1A24E230800084003AFA1BC993814425D8C0000003023DDD766C0913189880FB96879A18B9BEE7183450F963D09BEACCD8A5B06FB639381F59F27808066C418702727350EEAB14E752EA27C0AF0540260F9187757E2192FECE54EF4F0032D653EFB5938AE340F6D3122636E7F61F9BD3A1CB5B4695B634BFFADD4018543C5862B4D608430EA9F2FCE99599935425B5DD64F77EC1495571FB50D0B03FF442529D80EA12704C08088E30204E84B3BD03B6001002009EEEBB360A4000801004F775D9B00C1265E25E2A8F3809BC14F804485CC84244966B611857569128444CB48453B9DC84ACCB06E225C6B7C36122F9B9E008F85DC55C42092CD4611CE5A3B107BFB25F0864A19C5049086E7A024071790208BE4FAF8D63F87FC1027B83FF235FF8DFFC6116EAC028093B920DF0468311194237188767113D84037081D31FE2C6B3443FED434C4F1FF3311F183E46892F5DE8D049958EF3E21B27675C100"; - private static final String json = String.format("{\"metadata\":{\"securityResultCode\":\"\",\"recordGeneratedBy\":\"RSU\",\"schemaVersion\":\"%s\",\"odePacketID\":\"\",\"sanitized\":\"false\",\"asn1\":\"%s\",\"recordType\":\"timMsg\",\"recordGeneratedAt\":\"\",\"maxDurationTime\":\"0\",\"odeTimStartDateTime\":\"\",\"receivedMessageDetails\":\"\",\"payloadType\":\"us.dot.its.jpo.ode.model.OdeTimPayload\",\"serialId\":{\"recordId\":\"0\",\"serialNumber\":\"0\",\"streamId\":\"11ad5323-ec81-4694-8cd0-eb88ca08728e\",\"bundleSize\":\"1\",\"bundleId\":\"0\"},\"logFileName\":\"\",\"odeReceivedAt\":\"2022-12-24T02:24:38.248417Z\",\"originIp\":\"172.18.0.1\"},\"payload\":{\"data\":{\"MessageFrame\":{\"messageId\":\"31\",\"value\":{\"TravelerInformation\":{\"timeStamp\":\"449089\",\"packetID\":\"0000000000000BBC2B\",\"urlB\":\"null\",\"dataFrames\":{\"TravelerDataFrame\":{\"regions\":{\"GeographicalPath\":{\"closedPath\":{\"false\":\"\"},\"anchor\":{\"lat\":\"411269876\",\"long\":\"-1047269563\"},\"name\":\"westbound_I-80_366.0_365.0_RSU-10.145.1.100_RW_4456\",\"laneWidth\":\"32700\",\"directionality\":{\"both\":\"\"},\"description\":{\"path\":{\"offset\":{\"xy\":{\"nodes\":{\"NodeXY\":[{\"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\"}}}]}}},\"scale\":\"0\"}},\"id\":{\"id\":\"0\",\"region\":\"0\"},\"direction\":\"0000000000010000\"}},\"durationTime\":\"1440\",\"notUsed2\":\"0\",\"notUsed3\":\"0\",\"startYear\":\"2018\",\"msgId\":{\"roadSignID\":{\"viewAngle\":\"1111111111111111\",\"mutcdCode\":{\"warning\":\"\"},\"position\":{\"lat\":\"411269876\",\"long\":\"-1047269563\"}}},\"priority\":\"5\",\"content\":{\"advisory\":{\"SEQUENCE\":[{\"item\":{\"itis\":\"777\"}},{\"item\":{\"itis\":\"13579\"}}]}},\"url\":\"null\",\"notUsed\":\"0\",\"notUsed1\":\"0\",\"frameType\":{\"advisory\":\"\"},\"startTime\":\"448260\"}},\"msgCnt\":\"1\"}}}},\"dataType\":\"TravelerInformation\"}}", SCHEMA_VERSION, ASN1_STRING); + private static final String json = String.format("{\"metadata\":{\"logFileName\":\"\",\"recordType\":\"timMsg\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"rxSource\":\"NA\"},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeTimPayload\",\"serialId\":{\"streamId\":\"89b9de68-7e91-4491-886f-d95276b67907\",\"bundleSize\":1,\"bundleId\":0,\"recordId\":0,\"serialNumber\":0},\"odeReceivedAt\":\"2024-11-26T07:29:12.257Z\",\"schemaVersion\":7,\"maxDurationTime\":0,\"recordGeneratedAt\":\"\",\"recordGeneratedBy\":\"RSU\",\"sanitized\":false,\"odePacketID\":\"\",\"odeTimStartDateTime\":\"\",\"asn1\":\"001F80AE70165E87AD5DB73EE53601D49C0F775D9B0B01C266509C496663068FFFF93F43448C001EA007F95937EAD35AC9A5FA54EADF62C17316CB99385CDA00000000266509C4966630689388C200021000EBE86F264E051097630004008027BBAECD8C070999427125998C1A3FFFE4FD0D1230007A801FE564DFAB4D6B2697E953AB7D8B05CC5B2E64E1736800000000999427125998C1A24E230800084003AFA1BC993814425D8C0000003023DDD766C0913189880FB96879A18B9BEE7183450F963D09BEACCD8A5B06FB639381F59F27808066C418702727350EEAB14E752EA27C0AF0540260F9187757E2192FECE54EF4F0032D653EFB5938AE340F6D3122636E7F61F9BD3A1CB5B4695B634BFFADD4018543C5862B4D608430EA9F2FCE99599935425B5DD64F77EC1495571FB50D0B03FF442529D80EA12704C08088E30204E84B3BD03B6001002009EEEBB360A4000801004F775D9B00C1265E25E2A8F3809BC14F804485CC84244966B611857569128444CB48453B9DC84ACCB06E225C6B7C36122F9B9E008F85DC55C42092CD4611CE5A3B107BFB25F0864A19C5049086E7A024071790208BE4FAF8D63F87FC1027B83FF235FF8DFFC6116EAC028093B920DF0468311194237188767113D84037081D31FE2C6B3443FED434C4F1FF3311F183E46892F5DE8D049958EF3E21B27675C100\",\"originIp\":\"172.18.0.1\"},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.plugin.j2735.J2735Tim\",\"data\":{\"msgCnt\":\"1\",\"timeStamp\":\"417415\",\"packetID\":\"AD5DB73EE53601D49C\",\"dataFrames\":[{\"notUsed\":\"0\",\"frameType\":\"advisory\",\"msgId\":{\"roadSignID\":{\"position\":{\"latitude\":38.8311689,\"longitude\":-104.8408366},\"viewAngle\":\"1111111111111111\",\"mutcdCode\":\"warning\"}},\"startYear\":\"2024\",\"startTime\":\"428312\",\"durationTime\":\"30\",\"priority\":\"5\",\"notUsed1\":\"0\",\"regions\":[{\"name\":\"I_US-24_RSU_10.16.28.6\",\"id\":{\"region\":0,\"id\":0},\"anchor\":{\"latitude\":38.8311689,\"longitude\":-104.8408366},\"laneWidth\":5000,\"directionality\":\"both\",\"closedPath\":false,\"description\":{\"path\":{\"scale\":0,\"offset\":{\"ll\":{\"nodes\":[{\"delta\":{\"nodeLL1\":{\"lon\":1726,\"lat\":111}}},{\"delta\":{\"nodeLL5\":{\"lon\":1208360,\"lat\":77510}}}]}}}}}],\"notUsed2\":\"0\",\"notUsed3\":\"0\",\"content\":{\"workZone\":{\"SEQUENCE\":[{\"item\":{\"itis\":\"1025\"}}]}}},{\"notUsed\":\"0\",\"frameType\":\"advisory\",\"msgId\":{\"roadSignID\":{\"position\":{\"latitude\":38.8311689,\"longitude\":-104.8408366},\"viewAngle\":\"1111111111111111\",\"mutcdCode\":\"warning\"}},\"startYear\":\"2024\",\"startTime\":\"428312\",\"durationTime\":\"30\",\"priority\":\"5\",\"notUsed1\":\"0\",\"regions\":[{\"name\":\"I_US-24_RSU_10.16.28.6\",\"id\":{\"region\":0,\"id\":0},\"anchor\":{\"latitude\":38.8311689,\"longitude\":-104.8408366},\"laneWidth\":5000,\"directionality\":\"both\",\"closedPath\":false,\"description\":{\"path\":{\"scale\":0,\"offset\":{\"ll\":{\"nodes\":[{\"delta\":{\"nodeLL1\":{\"lon\":1726,\"lat\":111}}},{\"delta\":{\"nodeLL5\":{\"lon\":1208360,\"lat\":77510}}}]}}}}}],\"notUsed2\":\"0\",\"notUsed3\":\"0\",\"content\":{\"advisory\":{\"SEQUENCE\":[{\"item\":{\"itis\":\"770\"}}]}}}]}}}", SCHEMA_VERSION, ASN1_STRING); // // Note that OdeTimData does not have annotations to support deserialization, so serialization/deserialization is not tested here. From 595f47c1890f07f26da86400b3e2e615c682fff0 Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Mon, 2 Dec 2024 16:54:10 -0700 Subject: [PATCH 06/33] Remove the array from the computed lane --- .../jpo/ode/plugin/j2735/J2735NodeListXY.java | 6 ++-- .../dot/its/jpo/ode/OdeTimJsonTopology.java | 34 +++++++++++-------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListXY.java index d0e2555c1..5d3d493d0 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListXY.java @@ -8,7 +8,7 @@ public class J2735NodeListXY extends Asn1Object { */ private static final long serialVersionUID = 1L; private J2735NodeXY[] nodes; - private J2735ComputedLane[] computed; + private J2735ComputedLane computed; public J2735NodeXY[] getNodes() { return nodes; @@ -18,11 +18,11 @@ public void setNodes(J2735NodeXY[] nodes) { this.nodes = nodes; } - public J2735ComputedLane[] getComputed() { + public J2735ComputedLane getComputed() { return computed; } - public void setComputed(J2735ComputedLane[] computed) { + public void setComputed(J2735ComputedLane computed) { this.computed = computed; } } diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/OdeTimJsonTopology.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/OdeTimJsonTopology.java index 76ebb2197..937ddf8b1 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/OdeTimJsonTopology.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/OdeTimJsonTopology.java @@ -11,19 +11,18 @@ import org.apache.kafka.streams.state.QueryableStoreTypes; import org.apache.kafka.streams.state.Stores; import us.dot.its.jpo.ode.kafka.OdeKafkaProperties; - import java.util.Properties; - /** * The OdeTimJsonTopology class sets up and manages a Kafka Streams topology - * for processing TIM (Traveler Information Message) JSON data from the OdeTimJson Kafka topic. - * This class creates a K-Table that houses TMC-generated TIMs which can be queried by UUID. + * for processing TIM (Traveler Information Message) JSON data from the + * OdeTimJson Kafka topic. + * This class creates a K-Table that houses TMC-generated TIMs which can be + * queried by UUID. **/ @Slf4j public class OdeTimJsonTopology { - private final Properties streamsProperties = new Properties(); static KafkaStreams streams; @@ -33,12 +32,12 @@ public OdeTimJsonTopology(OdeKafkaProperties odeKafkaProps) { this.streamsProperties.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, odeKafkaProps.getBrokers()); this.streamsProperties.put(StreamsConfig.DEFAULT_KEY_SERDE_CLASS_CONFIG, Serdes.String().getClass()); this.streamsProperties.put(StreamsConfig.DEFAULT_VALUE_SERDE_CLASS_CONFIG, Serdes.String().getClass()); - + String kafkaType = System.getenv("KAFKA_TYPE"); if (kafkaType != null && kafkaType.equals("CONFLUENT")) { addConfluentProperties(this.streamsProperties); - } - } else { + } + } else { log.error("Kafka Brokers not set in OdeProperties"); } } @@ -68,12 +67,17 @@ public boolean isRunning() { public Topology buildTopology() { StreamsBuilder builder = new StreamsBuilder(); - builder.table("topic.OdeTimJson", Materialized.as(Stores.inMemoryKeyValueStore("timjson-store"))); + builder.table("topic.OdeTimJson", + Materialized.as(Stores.inMemoryKeyValueStore("timjson-store"))); return builder.build(); } public String query(String uuid) { - return (String) streams.store(StoreQueryParameters.fromNameAndType("timjson-store", QueryableStoreTypes.keyValueStore())).get(uuid); + return (String) streams.store( + StoreQueryParameters.fromNameAndType( + "timjson-store", + QueryableStoreTypes.keyValueStore())) + .get(uuid); } private void addConfluentProperties(Properties properties) { @@ -82,12 +86,12 @@ private void addConfluentProperties(Properties properties) { if (username != null && password != null) { String auth = "org.apache.kafka.common.security.plain.PlainLoginModule required " + - "username=\"" + username + "\" " + - "password=\"" + password + "\";"; + "username=\"" + username + "\" " + + "password=\"" + password + "\";"; this.streamsProperties.put("sasl.jaas.config", auth); - } - else { - log.error("Environment variables CONFLUENT_KEY and CONFLUENT_SECRET are not set. Set these in the .env file to use Confluent Cloud"); + } else { + log.error( + "Environment variables CONFLUENT_KEY and CONFLUENT_SECRET are not set. Set these in the .env file to use Confluent Cloud"); } } } From f3d5cf6d2acfe93a3c7ede0dda7747385b3a6601 Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Tue, 3 Dec 2024 03:14:44 -0700 Subject: [PATCH 07/33] Add dynamic serializing and deserializing of TIM messages with new dynamically created POJOs --- .../us/dot/its/jpo/ode/util/XmlUtils.java | 25 ++ .../dot/its/jpo/ode/model/OdeTimPayload.java | 4 +- .../annotations/Asn1ParameterizedTypes.java | 65 ++++ .../ode/plugin/annotations/Asn1Property.java | 47 +++ .../ode/plugin/annotations/package-info.java | 4 + .../ode/plugin/j2735/AddGrpB/DegreesLat.java | 46 +++ .../ode/plugin/j2735/AddGrpB/DegreesLong.java | 46 +++ .../ode/plugin/j2735/AddGrpB/Elevation.java | 46 +++ .../AddGrpB/LaneDataAttribute_addGrpB.java | 32 ++ ...ttribute_addGrpBReg_LaneDataAttribute.java | 43 +++ ...eg_LaneDataAttributeValueDeserializer.java | 29 ++ ...BReg_LaneDataAttributeValueSerializer.java | 29 ++ .../ode/plugin/j2735/AddGrpB/LatitudeDMS.java | 46 +++ .../plugin/j2735/AddGrpB/LatitudeDMS2.java | 68 ++++ .../plugin/j2735/AddGrpB/LongitudeDMS.java | 46 +++ .../plugin/j2735/AddGrpB/LongitudeDMS2.java | 68 ++++ .../plugin/j2735/AddGrpB/MinutesAngle.java | 46 +++ .../AddGrpB/NodeOffsetPointXY_addGrpB.java | 60 +++ ...tPointXY_addGrpBReg_NodeOffsetPointXY.java | 43 +++ ...eg_NodeOffsetPointXYValueDeserializer.java | 29 ++ ...BReg_NodeOffsetPointXYValueSerializer.java | 29 ++ .../plugin/j2735/AddGrpB/Node_LLdms_48b.java | 57 +++ .../plugin/j2735/AddGrpB/Node_LLdms_80b.java | 54 +++ .../j2735/AddGrpB/Position3D_addGrpB.java | 66 ++++ .../Position3D_addGrpBReg_Position3D.java | 43 +++ ...ddGrpBReg_Position3DValueDeserializer.java | 27 ++ ..._addGrpBReg_Position3DValueSerializer.java | 27 ++ .../plugin/j2735/AddGrpB/SecondsAngle.java | 46 +++ .../ode/plugin/j2735/AddGrpC/Altitude.java | 56 +++ .../j2735/AddGrpC/AltitudeConfidence.java | 57 +++ .../AltitudeConfidenceDeserializer.java | 32 ++ .../AddGrpC/AltitudeConfidenceSerializer.java | 27 ++ .../plugin/j2735/AddGrpC/AltitudeValue.java | 46 +++ .../j2735/AddGrpC/Position3D_addGrpC.java | 44 +++ .../Position3D_addGrpCReg_Position3D.java | 43 +++ ...ddGrpCReg_Position3DValueDeserializer.java | 27 ++ ..._addGrpCReg_Position3DValueSerializer.java | 27 ++ .../its/jpo/ode/plugin/j2735/DSRC/Angle.java | 46 +++ .../its/jpo/ode/plugin/j2735/DSRC/Circle.java | 66 ++++ .../ode/plugin/j2735/DSRC/ComputedLane.java | 192 ++++++++++ .../its/jpo/ode/plugin/j2735/DSRC/DYear.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/DeltaAngle.java | 46 +++ .../plugin/j2735/DSRC/DescriptiveName.java | 34 ++ .../ode/plugin/j2735/DSRC/DirectionOfUse.java | 52 +++ .../DSRC/DirectionOfUseDeserializer.java | 32 ++ .../j2735/DSRC/DirectionOfUseSerializer.java | 27 ++ .../ode/plugin/j2735/DSRC/DistanceUnits.java | 53 +++ .../j2735/DSRC/DistanceUnitsDeserializer.java | 32 ++ .../j2735/DSRC/DistanceUnitsSerializer.java | 27 ++ .../plugin/j2735/DSRC/DrivenLineOffsetLg.java | 46 +++ .../plugin/j2735/DSRC/DrivenLineOffsetSm.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/Elevation.java | 46 +++ .../ode/plugin/j2735/DSRC/ExitService.java | 30 ++ .../j2735/DSRC/ExitServiceSequence.java | 84 +++++ .../its/jpo/ode/plugin/j2735/DSRC/Extent.java | 62 +++ .../plugin/j2735/DSRC/ExtentDeserializer.java | 32 ++ .../plugin/j2735/DSRC/ExtentSerializer.java | 27 ++ .../ode/plugin/j2735/DSRC/FurtherInfoID.java | 49 +++ .../ode/plugin/j2735/DSRC/GenericSignage.java | 30 ++ .../j2735/DSRC/GenericSignageSequence.java | 84 +++++ .../plugin/j2735/DSRC/GeographicalPath.java | 183 +++++++++ .../j2735/DSRC/GeometricProjection.java | 95 +++++ .../ode/plugin/j2735/DSRC/HeadingSlice.java | 163 ++++++++ .../j2735/DSRC/HeadingSliceDeserializer.java | 32 ++ .../ode/plugin/j2735/DSRC/ITIStextPhrase.java | 34 ++ .../plugin/j2735/DSRC/LaneDataAttribute.java | 129 +++++++ .../j2735/DSRC/LaneDataAttributeList.java | 30 ++ .../its/jpo/ode/plugin/j2735/DSRC/LaneID.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/LaneWidth.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/Latitude.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/Longitude.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/MUTCDCode.java | 53 +++ .../j2735/DSRC/MUTCDCodeDeserializer.java | 32 ++ .../j2735/DSRC/MUTCDCodeSerializer.java | 27 ++ .../j2735/DSRC/MergeDivergeNodeAngle.java | 46 +++ .../plugin/j2735/DSRC/MinuteOfTheYear.java | 46 +++ .../plugin/j2735/DSRC/MinutesDuration.java | 46 +++ .../its/jpo/ode/plugin/j2735/DSRC/MsgCRC.java | 49 +++ .../jpo/ode/plugin/j2735/DSRC/MsgCount.java | 46 +++ .../plugin/j2735/DSRC/NodeAttributeLL.java | 56 +++ .../DSRC/NodeAttributeLLDeserializer.java | 32 ++ .../j2735/DSRC/NodeAttributeLLList.java | 49 +++ .../j2735/DSRC/NodeAttributeLLSerializer.java | 27 ++ .../plugin/j2735/DSRC/NodeAttributeSetLL.java | 121 ++++++ .../plugin/j2735/DSRC/NodeAttributeSetXY.java | 121 ++++++ .../plugin/j2735/DSRC/NodeAttributeXY.java | 56 +++ .../DSRC/NodeAttributeXYDeserializer.java | 32 ++ .../j2735/DSRC/NodeAttributeXYList.java | 49 +++ .../j2735/DSRC/NodeAttributeXYSerializer.java | 27 ++ .../its/jpo/ode/plugin/j2735/DSRC/NodeLL.java | 54 +++ .../jpo/ode/plugin/j2735/DSRC/NodeListLL.java | 54 +++ .../jpo/ode/plugin/j2735/DSRC/NodeListXY.java | 64 ++++ .../plugin/j2735/DSRC/NodeOffsetPointLL.java | 129 +++++++ .../plugin/j2735/DSRC/NodeOffsetPointXY.java | 129 +++++++ .../jpo/ode/plugin/j2735/DSRC/NodeSetLL.java | 30 ++ .../jpo/ode/plugin/j2735/DSRC/NodeSetXY.java | 30 ++ .../its/jpo/ode/plugin/j2735/DSRC/NodeXY.java | 54 +++ .../ode/plugin/j2735/DSRC/Node_LL_24B.java | 57 +++ .../ode/plugin/j2735/DSRC/Node_LL_28B.java | 57 +++ .../ode/plugin/j2735/DSRC/Node_LL_32B.java | 57 +++ .../ode/plugin/j2735/DSRC/Node_LL_36B.java | 57 +++ .../ode/plugin/j2735/DSRC/Node_LL_44B.java | 57 +++ .../ode/plugin/j2735/DSRC/Node_LL_48B.java | 57 +++ .../ode/plugin/j2735/DSRC/Node_LLmD_64b.java | 57 +++ .../ode/plugin/j2735/DSRC/Node_XY_20b.java | 57 +++ .../ode/plugin/j2735/DSRC/Node_XY_22b.java | 57 +++ .../ode/plugin/j2735/DSRC/Node_XY_24b.java | 57 +++ .../ode/plugin/j2735/DSRC/Node_XY_26b.java | 57 +++ .../ode/plugin/j2735/DSRC/Node_XY_28b.java | 57 +++ .../ode/plugin/j2735/DSRC/Node_XY_32b.java | 57 +++ .../ode/plugin/j2735/DSRC/OffsetLL_B12.java | 46 +++ .../ode/plugin/j2735/DSRC/OffsetLL_B14.java | 46 +++ .../ode/plugin/j2735/DSRC/OffsetLL_B16.java | 46 +++ .../ode/plugin/j2735/DSRC/OffsetLL_B18.java | 46 +++ .../ode/plugin/j2735/DSRC/OffsetLL_B22.java | 46 +++ .../ode/plugin/j2735/DSRC/OffsetLL_B24.java | 46 +++ .../ode/plugin/j2735/DSRC/OffsetSystem.java | 93 +++++ .../jpo/ode/plugin/j2735/DSRC/Offset_B10.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/Offset_B11.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/Offset_B12.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/Offset_B13.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/Offset_B14.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/Offset_B16.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/Position3D.java | 89 +++++ .../jpo/ode/plugin/j2735/DSRC/Radius_B12.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/RegionId.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/RegionList.java | 30 ++ .../ode/plugin/j2735/DSRC/RegionOffsets.java | 68 ++++ .../ode/plugin/j2735/DSRC/RegionPointSet.java | 70 ++++ .../plugin/j2735/DSRC/RegionalExtension.java | 63 ++++ .../j2735/DSRC/RegulatorySpeedLimit.java | 56 +++ .../plugin/j2735/DSRC/RoadRegulatorID.java | 46 +++ .../ode/plugin/j2735/DSRC/RoadSegmentID.java | 46 +++ .../j2735/DSRC/RoadSegmentReferenceID.java | 57 +++ .../jpo/ode/plugin/j2735/DSRC/RoadSignID.java | 74 ++++ .../plugin/j2735/DSRC/RoadwayCrownAngle.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/SSPindex.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/Scale_B12.java | 46 +++ .../plugin/j2735/DSRC/SegmentAttributeLL.java | 104 +++++ .../DSRC/SegmentAttributeLLDeserializer.java | 32 ++ .../j2735/DSRC/SegmentAttributeLLList.java | 49 +++ .../DSRC/SegmentAttributeLLSerializer.java | 27 ++ .../plugin/j2735/DSRC/SegmentAttributeXY.java | 104 +++++ .../DSRC/SegmentAttributeXYDeserializer.java | 32 ++ .../j2735/DSRC/SegmentAttributeXYList.java | 49 +++ .../DSRC/SegmentAttributeXYSerializer.java | 27 ++ .../ode/plugin/j2735/DSRC/ShapePointSet.java | 76 ++++ .../ode/plugin/j2735/DSRC/SignPrority.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/SpeedLimit.java | 30 ++ .../ode/plugin/j2735/DSRC/SpeedLimitList.java | 30 ++ .../plugin/j2735/DSRC/SpeedLimitSequence.java | 84 +++++ .../ode/plugin/j2735/DSRC/SpeedLimitType.java | 60 +++ .../DSRC/SpeedLimitTypeDeserializer.java | 32 ++ .../j2735/DSRC/SpeedLimitTypeSerializer.java | 27 ++ .../plugin/j2735/DSRC/TravelerDataFrame.java | 355 ++++++++++++++++++ .../j2735/DSRC/TravelerDataFrameList.java | 30 ++ .../plugin/j2735/DSRC/TravelerInfoType.java | 53 +++ .../DSRC/TravelerInfoTypeDeserializer.java | 32 ++ .../DSRC/TravelerInfoTypeSerializer.java | 27 ++ .../j2735/DSRC/TravelerInformation.java | 111 ++++++ .../jpo/ode/plugin/j2735/DSRC/URL_Base.java | 34 ++ .../jpo/ode/plugin/j2735/DSRC/URL_Short.java | 34 ++ .../ode/plugin/j2735/DSRC/UniqueMSGID.java | 49 +++ .../ode/plugin/j2735/DSRC/ValidRegion.java | 111 ++++++ .../jpo/ode/plugin/j2735/DSRC/Velocity.java | 46 +++ .../jpo/ode/plugin/j2735/DSRC/WorkZone.java | 30 ++ .../plugin/j2735/DSRC/WorkZoneSequence.java | 84 +++++ .../its/jpo/ode/plugin/j2735/DSRC/Zoom.java | 46 +++ .../jpo/ode/plugin/j2735/ITIS/ITIScodes.java | 46 +++ .../plugin/j2735/ITIS/ITIScodesAndText.java | 30 ++ .../j2735/ITIS/ITIScodesAndTextSequence.java | 83 ++++ .../jpo/ode/plugin/j2735/ITIS/ITIStext.java | 34 ++ .../plugin/j2735/REGION/Reg_ComputedLane.java | 30 ++ .../j2735/REGION/Reg_GeographicalPath.java | 30 ++ .../j2735/REGION/Reg_GeometricProjection.java | 30 ++ .../j2735/REGION/Reg_LaneDataAttribute.java | 41 ++ .../j2735/REGION/Reg_NodeAttributeSetLL.java | 30 ++ .../j2735/REGION/Reg_NodeAttributeSetXY.java | 30 ++ .../j2735/REGION/Reg_NodeOffsetPointLL.java | 30 ++ .../j2735/REGION/Reg_NodeOffsetPointXY.java | 41 ++ .../plugin/j2735/REGION/Reg_Position3D.java | 42 +++ .../j2735/REGION/Reg_TravelerInformation.java | 30 ++ .../j2735/builders/NodeListXYBuilder.java | 16 +- .../serialization/BitStringDeserializer.java | 39 ++ .../serialization/BitstringSerializer.java | 31 ++ .../serialization/BooleanDeserializer.java | 45 +++ .../serialization/BooleanSerializer.java | 29 ++ .../CharacterStringSerializer.java | 20 + .../serialization/EnumeratedDeserializer.java | 48 +++ .../serialization/EnumeratedSerializer.java | 53 +++ .../serialization/IntegerDeserializer.java | 47 +++ .../NestedSequenceOfDeserializer.java | 60 +++ .../NestedSequenceOfSerializer.java | 55 +++ .../serialization/OpenTypeDeserializer.java | 54 +++ .../serialization/OpenTypeSerializer.java | 76 ++++ .../ParameterizedTypeDeserializer.java | 68 ++++ .../SequenceOfEnumeratedDeserializer.java | 53 +++ .../serialization/SerializationUtil.java | 18 + .../plugin/serialization/package-info.java | 4 + .../jpo/ode/plugin/types/Asn1Bitstring.java | 113 ++++++ .../its/jpo/ode/plugin/types/Asn1Boolean.java | 55 +++ .../ode/plugin/types/Asn1CharacterString.java | 41 ++ .../its/jpo/ode/plugin/types/Asn1Choice.java | 58 +++ .../jpo/ode/plugin/types/Asn1Enumerated.java | 10 + .../its/jpo/ode/plugin/types/Asn1Field.java | 5 + .../its/jpo/ode/plugin/types/Asn1Integer.java | 68 ++++ .../jpo/ode/plugin/types/Asn1OctetString.java | 11 + .../jpo/ode/plugin/types/Asn1Sequence.java | 31 ++ .../jpo/ode/plugin/types/Asn1SequenceOf.java | 41 ++ .../its/jpo/ode/plugin/types/Asn1Type.java | 8 + .../its/jpo/ode/plugin/types/IA5String.java | 15 + .../its/jpo/ode/plugin/types/UnknownType.java | 9 + .../jpo/ode/plugin/types/package-info.java | 4 + .../its/jpo/ode/plugin/utils/BitUtils.java | 22 ++ .../ode/coder/OdeTimDataCreatorHelper.java | 11 +- 215 files changed, 10819 insertions(+), 20 deletions(-) create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/package-info.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLat.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLong.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Elevation.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpB.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS2.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS2.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/MinutesAngle.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpB.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_48b.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_80b.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpB.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3D.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/SecondsAngle.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Altitude.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidence.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeValue.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpC.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3D.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Angle.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Circle.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ComputedLane.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DYear.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DeltaAngle.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DescriptiveName.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUse.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnits.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetLg.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetSm.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Elevation.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitService.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitServiceSequence.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Extent.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/FurtherInfoID.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignage.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignageSequence.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeographicalPath.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeometricProjection.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSlice.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ITIStextPhrase.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttribute.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttributeList.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneID.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneWidth.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Latitude.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Longitude.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCode.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MergeDivergeNodeAngle.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinuteOfTheYear.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinutesDuration.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCRC.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCount.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLL.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLList.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetLL.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetXY.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXY.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYList.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeLL.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListLL.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListXY.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointLL.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointXY.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetLL.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetXY.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeXY.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_24B.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_28B.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_32B.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_36B.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_44B.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_48B.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LLmD_64b.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_20b.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_22b.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_24b.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_26b.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_28b.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_32b.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B12.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B14.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B16.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B18.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B22.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B24.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetSystem.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B10.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B11.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B12.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B13.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B14.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B16.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Position3D.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Radius_B12.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionId.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionList.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionOffsets.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionPointSet.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionalExtension.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegulatorySpeedLimit.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadRegulatorID.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentID.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentReferenceID.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSignID.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadwayCrownAngle.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SSPindex.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Scale_B12.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLL.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLList.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXY.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYList.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ShapePointSet.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SignPrority.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimit.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitList.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitSequence.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitType.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrameList.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoType.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Base.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Short.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/UniqueMSGID.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ValidRegion.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Velocity.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZone.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZoneSequence.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Zoom.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodes.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndText.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndTextSequence.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIStext.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_ComputedLane.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeographicalPath.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeometricProjection.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_LaneDataAttribute.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetLL.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetXY.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointLL.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointXY.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_Position3D.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_TravelerInformation.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitStringDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/CharacterStringSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/ParameterizedTypeDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfEnumeratedDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SerializationUtil.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/package-info.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Boolean.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1CharacterString.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Enumerated.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Field.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1OctetString.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1SequenceOf.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Type.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/IA5String.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/UnknownType.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/package-info.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java diff --git a/jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java b/jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java index ca1a469ac..5e0341fd9 100644 --- a/jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java +++ b/jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java @@ -104,6 +104,31 @@ public static ObjectNode createEmbeddedJsonArrayForXmlConversion(String childKey return childNode; } + public static String findXmlContentString(String xml, String tagName) { + // Construct the start and end tag strings + String startTag = "<" + tagName + ">"; + String endTag = ""; + + // Find the start index of the start tag + int startIndex = xml.indexOf(startTag); + if (startIndex == -1) { + // Tag not found + return null; + } + + // Find the end index of the end tag, after the start tag + int endIndex = xml.indexOf(endTag, startIndex); + if (endIndex == -1) { + // End tag not found + return null; + } + + // Add the length of the end tag to get the complete end index + endIndex += endTag.length(); + + return xml.substring(startIndex, endIndex); + } + public static String toXmlStatic(Object o) throws XmlUtilsException { String xml; try { diff --git a/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java b/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java index 235c9c0c9..37cea2c0a 100644 --- a/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java +++ b/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java @@ -15,8 +15,8 @@ ******************************************************************************/ package us.dot.its.jpo.ode.model; -import us.dot.its.jpo.ode.plugin.j2735.J2735Tim; import us.dot.its.jpo.ode.plugin.j2735.OdeTravelerInformationMessage; +import us.dot.its.jpo.ode.plugin.j2735.DSRC.TravelerInformation; public class OdeTimPayload extends OdeMsgPayload { @@ -31,7 +31,7 @@ public OdeTimPayload(OdeTravelerInformationMessage tim) { this.setData(tim); } - public OdeTimPayload(J2735Tim tim) { + public OdeTimPayload(TravelerInformation tim) { super(tim); this.setData(tim); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java new file mode 100644 index 000000000..0777c6dd2 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java @@ -0,0 +1,65 @@ +package us.dot.its.jpo.ode.plugin.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Annotation to specify how to deserialize an ASN1 parameterized type, which + * is represented by an abstract generic class in Java. Modeled after the JsonTypeInfo and + * JsonSubTypes annotations in Jackson, but adding the ability to specify that the + * id field is an integer, not restricted to being a string like in Jackson. + * @author Ivan Yourshaw + */ +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +public @interface Asn1ParameterizedTypes { + + /** + * @return Name of the property used to determine which type to deserialize + */ + String idProperty(); + + /** + * @return Type of the id property, which may be integer or string + */ + IdType idType(); + + /** + * @return Name of the value property containing the payload which can be various types + * depending on the generic type parameters. + */ + String valueProperty(); + + /** + * @return Array of value types mapped to ids. + */ + Type[] value(); + + enum IdType { + INTEGER, + STRING + } + + /** + * Annotation to specify the type corresponding to an id. + */ + @interface Type { + /** + * @return The id if it is an integer + */ + int intId() default -1; + + /** + * @return The id if it is a string + */ + String stringId() default ""; + + /** + * @return The specific class to deserialize to + */ + Class value(); + } + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java new file mode 100644 index 000000000..2b5f58954 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java @@ -0,0 +1,47 @@ +package us.dot.its.jpo.ode.plugin.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Provides metadata for a property of an Asn.1 class: components of Asn1Sequence, or alternatives of Asn1Choice. + * @author Ivan Yourshaw + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +public @interface Asn1Property { + /** + * @return Tag number indicating the canonical order of serialization + */ + int tag(); + + /** + * @return Name of the original non-normalized property. Not required if the Java property name is the same as + * the ASN.1 name. + */ + String name() default ""; + + /** + * @return True if the property is an extension, false if part of the root + */ + boolean extension() default false; + + /** + * @return True if the ASN.1 OPTIONAL marker is present + */ + boolean optional() default false; + + /** + * @return Default value specified by the ASN.1 DEFAULT marker. String can be converted to an integer for int types. + */ + String defaultValue() default ""; + + /** + * @return Indicates that the property is an ASN1 Open Type, so UPER encoding needs to use a length determinant + * as described in T-REC-X.691 (2021/2) section 11.2. + */ + boolean openType() default false; + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/package-info.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/package-info.java new file mode 100644 index 000000000..00f66faaa --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/package-info.java @@ -0,0 +1,4 @@ +/** + * Annotations needed for ASN.1 UPER encoding + */ +package us.dot.its.jpo.ode.plugin.annotations; \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLat.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLat.java new file mode 100644 index 000000000..3971504a9 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLat.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class DegreesLat extends Asn1Integer { + + public DegreesLat() { + super(-90L, 90L); + } + + @JsonCreator + public DegreesLat(long value) { + this(); + this.value = value; + } + + public static class DegreesLatDeserializer extends IntegerDeserializer { + public DegreesLatDeserializer() { + super(DegreesLat.class); + } + + @Override + protected DegreesLat construct() { + return new DegreesLat(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLong.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLong.java new file mode 100644 index 000000000..dbfb480d2 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLong.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class DegreesLong extends Asn1Integer { + + public DegreesLong() { + super(-180L, 180L); + } + + @JsonCreator + public DegreesLong(long value) { + this(); + this.value = value; + } + + public static class DegreesLongDeserializer extends IntegerDeserializer { + public DegreesLongDeserializer() { + super(DegreesLong.class); + } + + @Override + protected DegreesLong construct() { + return new DegreesLong(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Elevation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Elevation.java new file mode 100644 index 000000000..98ba42c38 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Elevation.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Elevation extends Asn1Integer { + + public Elevation() { + super(-32768L, 32767L); + } + + @JsonCreator + public Elevation(long value) { + this(); + this.value = value; + } + + public static class ElevationDeserializer extends IntegerDeserializer { + public ElevationDeserializer() { + super(Elevation.class); + } + + @Override + protected Elevation construct() { + return new Elevation(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpB.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpB.java new file mode 100644 index 000000000..ad02e6cf9 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpB.java @@ -0,0 +1,32 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class LaneDataAttribute_addGrpB extends Asn1Sequence { + + LaneDataAttribute_addGrpB() { + super(true); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java new file mode 100644 index 000000000..7485ccd38 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java @@ -0,0 +1,43 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import com.fasterxml.jackson.annotation.JsonRootName; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_LaneDataAttribute; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonRootName("Reg_LaneDataAttribute") +public class LaneDataAttribute_addGrpBReg_LaneDataAttribute extends Reg_LaneDataAttribute { + + public LaneDataAttribute_addGrpBReg_LaneDataAttribute() { + super(2, "LaneDataAttribute_addGrpB"); + } + + @Override + @JsonSerialize(using = LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.class) + public LaneDataAttribute_addGrpB getRegExtValue() { + return super.getRegExtValue(); + } + + @Override + @JsonDeserialize(using = LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.class) + public void setRegExtValue(LaneDataAttribute_addGrpB value) { + super.setRegExtValue(value); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java new file mode 100644 index 000000000..528ea1d43 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java @@ -0,0 +1,29 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer + extends + OpenTypeDeserializer { + + public LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer() { + super(LaneDataAttribute_addGrpB.class, "LaneDataAttribute_addGrpB"); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java new file mode 100644 index 000000000..f33420c9e --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java @@ -0,0 +1,29 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer + extends + OpenTypeSerializer { + + public LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer() { + super(LaneDataAttribute_addGrpB.class, "regExtValue", "LaneDataAttribute_addGrpB"); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS.java new file mode 100644 index 000000000..e1a7a2791 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class LatitudeDMS extends Asn1Integer { + + public LatitudeDMS() { + super(-32400000L, 32400000L); + } + + @JsonCreator + public LatitudeDMS(long value) { + this(); + this.value = value; + } + + public static class LatitudeDMSDeserializer extends IntegerDeserializer { + public LatitudeDMSDeserializer() { + super(LatitudeDMS.class); + } + + @Override + protected LatitudeDMS construct() { + return new LatitudeDMS(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS2.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS2.java new file mode 100644 index 000000000..3102137cb --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS2.java @@ -0,0 +1,68 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class LatitudeDMS2 extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = DegreesLat.DegreesLatDeserializer.class) + private DegreesLat d; + @Asn1Property(tag = 1) + @JsonDeserialize(using = MinutesAngle.MinutesAngleDeserializer.class) + private MinutesAngle m; + @Asn1Property(tag = 2) + @JsonDeserialize(using = SecondsAngle.SecondsAngleDeserializer.class) + private SecondsAngle s; + + public DegreesLat getD() { + return d; + } + + public void setD(DegreesLat d) { + this.d = d; + } + + public MinutesAngle getM() { + return m; + } + + public void setM(MinutesAngle m) { + this.m = m; + } + + public SecondsAngle getS() { + return s; + } + + public void setS(SecondsAngle s) { + this.s = s; + } + + LatitudeDMS2() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS.java new file mode 100644 index 000000000..29d2c87b5 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class LongitudeDMS extends Asn1Integer { + + public LongitudeDMS() { + super(-64800000L, 64800000L); + } + + @JsonCreator + public LongitudeDMS(long value) { + this(); + this.value = value; + } + + public static class LongitudeDMSDeserializer extends IntegerDeserializer { + public LongitudeDMSDeserializer() { + super(LongitudeDMS.class); + } + + @Override + protected LongitudeDMS construct() { + return new LongitudeDMS(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS2.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS2.java new file mode 100644 index 000000000..91d0b02f2 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS2.java @@ -0,0 +1,68 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class LongitudeDMS2 extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = DegreesLong.DegreesLongDeserializer.class) + private DegreesLong d; + @Asn1Property(tag = 1) + @JsonDeserialize(using = MinutesAngle.MinutesAngleDeserializer.class) + private MinutesAngle m; + @Asn1Property(tag = 2) + @JsonDeserialize(using = SecondsAngle.SecondsAngleDeserializer.class) + private SecondsAngle s; + + public DegreesLong getD() { + return d; + } + + public void setD(DegreesLong d) { + this.d = d; + } + + public MinutesAngle getM() { + return m; + } + + public void setM(MinutesAngle m) { + this.m = m; + } + + public SecondsAngle getS() { + return s; + } + + public void setS(SecondsAngle s) { + this.s = s; + } + + LongitudeDMS2() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/MinutesAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/MinutesAngle.java new file mode 100644 index 000000000..1a559c930 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/MinutesAngle.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class MinutesAngle extends Asn1Integer { + + public MinutesAngle() { + super(0L, 59L); + } + + @JsonCreator + public MinutesAngle(long value) { + this(); + this.value = value; + } + + public static class MinutesAngleDeserializer extends IntegerDeserializer { + public MinutesAngleDeserializer() { + super(MinutesAngle.class); + } + + @Override + protected MinutesAngle construct() { + return new MinutesAngle(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpB.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpB.java new file mode 100644 index 000000000..fcbcbad4d --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpB.java @@ -0,0 +1,60 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import java.util.Optional; +import java.util.List; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class NodeOffsetPointXY_addGrpB extends Asn1Choice { + + @Asn1Property(tag = 0) + private Node_LLdms_48b posA; + @Asn1Property(tag = 1) + private Node_LLdms_80b posB; + + NodeOffsetPointXY_addGrpB() { + super(true); + } + + public Node_LLdms_48b getPosA() { + return posA; + } + + public void setPosA(Node_LLdms_48b posA) { + this.posA = posA; + } + + public Node_LLdms_80b getPosB() { + return posB; + } + + public void setPosB(Node_LLdms_80b posB) { + this.posB = posB; + } + + @Override + protected List> listTypes() { + return null; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java new file mode 100644 index 000000000..7df4a3a50 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java @@ -0,0 +1,43 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import com.fasterxml.jackson.annotation.JsonRootName; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeOffsetPointXY; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonRootName("Reg_NodeOffsetPointXY") +public class NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY extends Reg_NodeOffsetPointXY { + + public NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY() { + super(2, "NodeOffsetPointXY_addGrpB"); + } + + @Override + @JsonSerialize(using = NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.class) + public NodeOffsetPointXY_addGrpB getRegExtValue() { + return super.getRegExtValue(); + } + + @Override + @JsonDeserialize(using = NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.class) + public void setRegExtValue(NodeOffsetPointXY_addGrpB value) { + super.setRegExtValue(value); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java new file mode 100644 index 000000000..58a329960 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java @@ -0,0 +1,29 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer + extends + OpenTypeDeserializer { + + public NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer() { + super(NodeOffsetPointXY_addGrpB.class, "NodeOffsetPointXY_addGrpB"); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java new file mode 100644 index 000000000..5e37e5770 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java @@ -0,0 +1,29 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer + extends + OpenTypeSerializer { + + public NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer() { + super(NodeOffsetPointXY_addGrpB.class, "regExtValue", "NodeOffsetPointXY_addGrpB"); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_48b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_48b.java new file mode 100644 index 000000000..1ee2af7f2 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_48b.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_LLdms_48b extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = LongitudeDMS.LongitudeDMSDeserializer.class) + private LongitudeDMS lon; + @Asn1Property(tag = 1) + @JsonDeserialize(using = LatitudeDMS.LatitudeDMSDeserializer.class) + private LatitudeDMS lat; + + public LongitudeDMS getLon() { + return lon; + } + + public void setLon(LongitudeDMS lon) { + this.lon = lon; + } + + public LatitudeDMS getLat() { + return lat; + } + + public void setLat(LatitudeDMS lat) { + this.lat = lat; + } + + Node_LLdms_48b() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_80b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_80b.java new file mode 100644 index 000000000..8547424b0 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_80b.java @@ -0,0 +1,54 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_LLdms_80b extends Asn1Sequence { + + @Asn1Property(tag = 0) + private LongitudeDMS2 lon; + @Asn1Property(tag = 1) + private LatitudeDMS2 lat; + + public LongitudeDMS2 getLon() { + return lon; + } + + public void setLon(LongitudeDMS2 lon) { + this.lon = lon; + } + + public LatitudeDMS2 getLat() { + return lat; + } + + public void setLat(LatitudeDMS2 lat) { + this.lat = lat; + } + + Node_LLdms_80b() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpB.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpB.java new file mode 100644 index 000000000..95b97876b --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpB.java @@ -0,0 +1,66 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Position3D_addGrpB extends Asn1Sequence { + + @Asn1Property(tag = 0) + private LatitudeDMS2 latitude; + @Asn1Property(tag = 1) + private LongitudeDMS2 longitude; + @Asn1Property(tag = 2) + @JsonDeserialize(using = Elevation.ElevationDeserializer.class) + private Elevation elevation; + + public LatitudeDMS2 getLatitude() { + return latitude; + } + + public void setLatitude(LatitudeDMS2 latitude) { + this.latitude = latitude; + } + + public LongitudeDMS2 getLongitude() { + return longitude; + } + + public void setLongitude(LongitudeDMS2 longitude) { + this.longitude = longitude; + } + + public Elevation getElevation() { + return elevation; + } + + public void setElevation(Elevation elevation) { + this.elevation = elevation; + } + + Position3D_addGrpB() { + super(true); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3D.java new file mode 100644 index 000000000..5b0f3bc27 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3D.java @@ -0,0 +1,43 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import com.fasterxml.jackson.annotation.JsonRootName; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_Position3D; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonRootName("Reg_Position3D") +public class Position3D_addGrpBReg_Position3D extends Reg_Position3D { + + public Position3D_addGrpBReg_Position3D() { + super(2, "Position3D_addGrpB"); + } + + @Override + @JsonSerialize(using = Position3D_addGrpBReg_Position3DValueSerializer.class) + public Position3D_addGrpB getRegExtValue() { + return super.getRegExtValue(); + } + + @Override + @JsonDeserialize(using = Position3D_addGrpBReg_Position3DValueDeserializer.class) + public void setRegExtValue(Position3D_addGrpB value) { + super.setRegExtValue(value); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueDeserializer.java new file mode 100644 index 000000000..84496f548 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueDeserializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Position3D_addGrpBReg_Position3DValueDeserializer extends OpenTypeDeserializer { + + public Position3D_addGrpBReg_Position3DValueDeserializer() { + super(Position3D_addGrpB.class, "Position3D_addGrpB"); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueSerializer.java new file mode 100644 index 000000000..91fa1c891 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueSerializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Position3D_addGrpBReg_Position3DValueSerializer extends OpenTypeSerializer { + + public Position3D_addGrpBReg_Position3DValueSerializer() { + super(Position3D_addGrpB.class, "regExtValue", "Position3D_addGrpB"); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/SecondsAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/SecondsAngle.java new file mode 100644 index 000000000..b59a9329c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/SecondsAngle.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class SecondsAngle extends Asn1Integer { + + public SecondsAngle() { + super(0L, 5999L); + } + + @JsonCreator + public SecondsAngle(long value) { + this(); + this.value = value; + } + + public static class SecondsAngleDeserializer extends IntegerDeserializer { + public SecondsAngleDeserializer() { + super(SecondsAngle.class); + } + + @Override + protected SecondsAngle construct() { + return new SecondsAngle(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Altitude.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Altitude.java new file mode 100644 index 000000000..c73c8af2b --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Altitude.java @@ -0,0 +1,56 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Altitude extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = AltitudeValue.AltitudeValueDeserializer.class) + private AltitudeValue value; + @Asn1Property(tag = 1) + private AltitudeConfidence confidence; + + public AltitudeValue getValue() { + return value; + } + + public void setValue(AltitudeValue value) { + this.value = value; + } + + public AltitudeConfidence getConfidence() { + return confidence; + } + + public void setConfidence(AltitudeConfidence confidence) { + this.confidence = confidence; + } + + Altitude() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidence.java new file mode 100644 index 000000000..8c9bb01e5 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidence.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonSerialize(using = AltitudeConfidenceSerializer.class) +@JsonDeserialize(using = AltitudeConfidenceDeserializer.class) +public enum AltitudeConfidence implements Asn1Enumerated { + alt_000_01(0, "alt-000-01"), alt_000_02(1, "alt-000-02"), alt_000_05(2, "alt-000-05"), alt_000_10(3, + "alt-000-10"), alt_000_20(4, "alt-000-20"), alt_000_50(5, "alt-000-50"), alt_001_00(6, + "alt-001-00"), alt_002_00(7, "alt-002-00"), alt_005_00(8, "alt-005-00"), alt_010_00(9, + "alt-010-00"), alt_020_00(10, "alt-020-00"), alt_050_00(11, "alt-050-00"), alt_100_00(12, + "alt-100-00"), alt_200_00(13, + "alt-200-00"), outOfRange(14, "outOfRange"), unavailable(15, "unavailable"); + + private final int index; + private final String name; + + public int getIndex() { + return index; + } + + public String getName() { + return name; + } + + public boolean hasExtensionMarker() { + return false; + } + + private AltitudeConfidence(int index, String name) { + this.index = index; + this.name = name; + } + + public int maxIndex() { + return 15; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceDeserializer.java new file mode 100644 index 000000000..39232d747 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceDeserializer.java @@ -0,0 +1,32 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class AltitudeConfidenceDeserializer extends EnumeratedDeserializer { + + AltitudeConfidenceDeserializer() { + super(AltitudeConfidence.class); + } + + @Override + protected AltitudeConfidence[] listEnumValues() { + return AltitudeConfidence.values(); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceSerializer.java new file mode 100644 index 000000000..1f1722c19 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceSerializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class AltitudeConfidenceSerializer extends EnumeratedSerializer { + + AltitudeConfidenceSerializer() { + super(AltitudeConfidence.class); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeValue.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeValue.java new file mode 100644 index 000000000..77a6295c1 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeValue.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class AltitudeValue extends Asn1Integer { + + public AltitudeValue() { + super(-100000L, 800001L); + } + + @JsonCreator + public AltitudeValue(long value) { + this(); + this.value = value; + } + + public static class AltitudeValueDeserializer extends IntegerDeserializer { + public AltitudeValueDeserializer() { + super(AltitudeValue.class); + } + + @Override + protected AltitudeValue construct() { + return new AltitudeValue(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpC.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpC.java new file mode 100644 index 000000000..3d01b1604 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpC.java @@ -0,0 +1,44 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Position3D_addGrpC extends Asn1Sequence { + + @Asn1Property(tag = 0) + private Altitude altitude; + + public Altitude getAltitude() { + return altitude; + } + + public void setAltitude(Altitude altitude) { + this.altitude = altitude; + } + + Position3D_addGrpC() { + super(true); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3D.java new file mode 100644 index 000000000..8dd2054ca --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3D.java @@ -0,0 +1,43 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; + +import com.fasterxml.jackson.annotation.JsonRootName; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_Position3D; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonRootName("Reg_Position3D") +public class Position3D_addGrpCReg_Position3D extends Reg_Position3D { + + public Position3D_addGrpCReg_Position3D() { + super(3, "Position3D_addGrpC"); + } + + @Override + @JsonSerialize(using = Position3D_addGrpCReg_Position3DValueSerializer.class) + public Position3D_addGrpC getRegExtValue() { + return super.getRegExtValue(); + } + + @Override + @JsonDeserialize(using = Position3D_addGrpCReg_Position3DValueDeserializer.class) + public void setRegExtValue(Position3D_addGrpC value) { + super.setRegExtValue(value); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueDeserializer.java new file mode 100644 index 000000000..9d9d8995c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueDeserializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Position3D_addGrpCReg_Position3DValueDeserializer extends OpenTypeDeserializer { + + public Position3D_addGrpCReg_Position3DValueDeserializer() { + super(Position3D_addGrpC.class, "Position3D_addGrpC"); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueSerializer.java new file mode 100644 index 000000000..0345169aa --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueSerializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Position3D_addGrpCReg_Position3DValueSerializer extends OpenTypeSerializer { + + public Position3D_addGrpCReg_Position3DValueSerializer() { + super(Position3D_addGrpC.class, "regExtValue", "Position3D_addGrpC"); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Angle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Angle.java new file mode 100644 index 000000000..747b3c136 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Angle.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Angle extends Asn1Integer { + + public Angle() { + super(0L, 28800L); + } + + @JsonCreator + public Angle(long value) { + this(); + this.value = value; + } + + public static class AngleDeserializer extends IntegerDeserializer { + public AngleDeserializer() { + super(Angle.class); + } + + @Override + protected Angle construct() { + return new Angle(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Circle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Circle.java new file mode 100644 index 000000000..e90e05107 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Circle.java @@ -0,0 +1,66 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Circle extends Asn1Sequence { + + @Asn1Property(tag = 0) + private Position3D center; + @Asn1Property(tag = 1) + @JsonDeserialize(using = Radius_B12.Radius_B12Deserializer.class) + private Radius_B12 radius; + @Asn1Property(tag = 2) + private DistanceUnits units; + + public Position3D getCenter() { + return center; + } + + public void setCenter(Position3D center) { + this.center = center; + } + + public Radius_B12 getRadius() { + return radius; + } + + public void setRadius(Radius_B12 radius) { + this.radius = radius; + } + + public DistanceUnits getUnits() { + return units; + } + + public void setUnits(DistanceUnits units) { + this.units = units; + } + + Circle() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ComputedLane.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ComputedLane.java new file mode 100644 index 000000000..fa9decec4 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ComputedLane.java @@ -0,0 +1,192 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import java.util.List; +import java.util.Optional; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_ComputedLane; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class ComputedLane extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = LaneID.LaneIDDeserializer.class) + private LaneID referenceLaneId; + @Asn1Property(tag = 1) + private OffsetXaxisChoice offsetXaxis; + @Asn1Property(tag = 2) + private OffsetYaxisChoice offsetYaxis; + @Asn1Property(tag = 3, optional = true) + @JsonDeserialize(using = Angle.AngleDeserializer.class) + private Angle rotateXY; + @Asn1Property(tag = 4, optional = true) + @JsonDeserialize(using = Scale_B12.Scale_B12Deserializer.class) + private Scale_B12 scaleXaxis; + @Asn1Property(tag = 5, optional = true) + @JsonDeserialize(using = Scale_B12.Scale_B12Deserializer.class) + private Scale_B12 scaleYaxis; + @Asn1Property(tag = 6, optional = true) + private SequenceOfRegional regional; + + public LaneID getReferenceLaneId() { + return referenceLaneId; + } + + public void setReferenceLaneId(LaneID referenceLaneId) { + this.referenceLaneId = referenceLaneId; + } + + @JsonInclude(Include.NON_NULL) + public static class OffsetXaxisChoice extends Asn1Choice { + @Asn1Property(tag = 0) + @JsonDeserialize(using = DrivenLineOffsetSm.DrivenLineOffsetSmDeserializer.class) + private DrivenLineOffsetSm small; + @Asn1Property(tag = 1) + @JsonDeserialize(using = DrivenLineOffsetLg.DrivenLineOffsetLgDeserializer.class) + private DrivenLineOffsetLg large; + + OffsetXaxisChoice() { + super(false); + } + + public DrivenLineOffsetSm getSmall() { + return small; + } + + public void setSmall(DrivenLineOffsetSm small) { + this.small = small; + } + + public DrivenLineOffsetLg getLarge() { + return large; + } + + public void setLarge(DrivenLineOffsetLg large) { + this.large = large; + } + + @Override + protected List> listTypes() { + return null; + } + } + + public OffsetXaxisChoice getOffsetXaxis() { + return offsetXaxis; + } + + public void setOffsetXaxis(OffsetXaxisChoice offsetXaxis) { + this.offsetXaxis = offsetXaxis; + } + + @JsonInclude(Include.NON_NULL) + public static class OffsetYaxisChoice extends Asn1Choice { + @Asn1Property(tag = 0) + @JsonDeserialize(using = DrivenLineOffsetSm.DrivenLineOffsetSmDeserializer.class) + private DrivenLineOffsetSm small; + @Asn1Property(tag = 1) + @JsonDeserialize(using = DrivenLineOffsetLg.DrivenLineOffsetLgDeserializer.class) + private DrivenLineOffsetLg large; + + OffsetYaxisChoice() { + super(false); + } + + public DrivenLineOffsetSm getSmall() { + return small; + } + + public void setSmall(DrivenLineOffsetSm small) { + this.small = small; + } + + public DrivenLineOffsetLg getLarge() { + return large; + } + + public void setLarge(DrivenLineOffsetLg large) { + this.large = large; + } + + @Override + protected List> listTypes() { + return null; + } + } + + public OffsetYaxisChoice getOffsetYaxis() { + return offsetYaxis; + } + + public void setOffsetYaxis(OffsetYaxisChoice offsetYaxis) { + this.offsetYaxis = offsetYaxis; + } + + public Angle getRotateXY() { + return rotateXY; + } + + public void setRotateXY(Angle rotateXY) { + this.rotateXY = rotateXY; + } + + public Scale_B12 getScaleXaxis() { + return scaleXaxis; + } + + public void setScaleXaxis(Scale_B12 scaleXaxis) { + this.scaleXaxis = scaleXaxis; + } + + public Scale_B12 getScaleYaxis() { + return scaleYaxis; + } + + public void setScaleYaxis(Scale_B12 scaleYaxis) { + this.scaleYaxis = scaleYaxis; + } + + @JsonInclude(Include.NON_NULL) + public static class SequenceOfRegional extends Asn1SequenceOf { + SequenceOfRegional() { + super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_ComputedLane.class, 1L, 4L); + } + } + + public SequenceOfRegional getRegional() { + return regional; + } + + public void setRegional(SequenceOfRegional regional) { + this.regional = regional; + } + + ComputedLane() { + super(true); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DYear.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DYear.java new file mode 100644 index 000000000..f5194d6d0 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DYear.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class DYear extends Asn1Integer { + + public DYear() { + super(0L, 4095L); + } + + @JsonCreator + public DYear(long value) { + this(); + this.value = value; + } + + public static class DYearDeserializer extends IntegerDeserializer { + public DYearDeserializer() { + super(DYear.class); + } + + @Override + protected DYear construct() { + return new DYear(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DeltaAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DeltaAngle.java new file mode 100644 index 000000000..ad7b4d24d --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DeltaAngle.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class DeltaAngle extends Asn1Integer { + + public DeltaAngle() { + super(-150L, 150L); + } + + @JsonCreator + public DeltaAngle(long value) { + this(); + this.value = value; + } + + public static class DeltaAngleDeserializer extends IntegerDeserializer { + public DeltaAngleDeserializer() { + super(DeltaAngle.class); + } + + @Override + protected DeltaAngle construct() { + return new DeltaAngle(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DescriptiveName.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DescriptiveName.java new file mode 100644 index 000000000..3816bb79f --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DescriptiveName.java @@ -0,0 +1,34 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.IA5String; +import com.fasterxml.jackson.annotation.JsonCreator; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class DescriptiveName extends IA5String { + + public DescriptiveName() { + super(1, 63); + } + + @JsonCreator + public DescriptiveName(String value) { + this(); + this.value = value; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUse.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUse.java new file mode 100644 index 000000000..87d53e48d --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUse.java @@ -0,0 +1,52 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonSerialize(using = DirectionOfUseSerializer.class) +@JsonDeserialize(using = DirectionOfUseDeserializer.class) +public enum DirectionOfUse implements Asn1Enumerated { + unavailable(0, "unavailable"), forward(1, "forward"), reverse(2, "reverse"), both(3, "both"); + + private final int index; + private final String name; + + public int getIndex() { + return index; + } + + public String getName() { + return name; + } + + public boolean hasExtensionMarker() { + return false; + } + + private DirectionOfUse(int index, String name) { + this.index = index; + this.name = name; + } + + public int maxIndex() { + return 3; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseDeserializer.java new file mode 100644 index 000000000..22e4c7c3d --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseDeserializer.java @@ -0,0 +1,32 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class DirectionOfUseDeserializer extends EnumeratedDeserializer { + + DirectionOfUseDeserializer() { + super(DirectionOfUse.class); + } + + @Override + protected DirectionOfUse[] listEnumValues() { + return DirectionOfUse.values(); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseSerializer.java new file mode 100644 index 000000000..ddf1dde5b --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseSerializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class DirectionOfUseSerializer extends EnumeratedSerializer { + + DirectionOfUseSerializer() { + super(DirectionOfUse.class); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnits.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnits.java new file mode 100644 index 000000000..07ab86509 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnits.java @@ -0,0 +1,53 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonSerialize(using = DistanceUnitsSerializer.class) +@JsonDeserialize(using = DistanceUnitsDeserializer.class) +public enum DistanceUnits implements Asn1Enumerated { + centimeter(0, "centimeter"), cm2_5(1, "cm2-5"), decimeter(2, "decimeter"), meter(3, "meter"), kilometer(4, + "kilometer"), foot(5, "foot"), yard(6, "yard"), mile(7, "mile"); + + private final int index; + private final String name; + + public int getIndex() { + return index; + } + + public String getName() { + return name; + } + + public boolean hasExtensionMarker() { + return false; + } + + private DistanceUnits(int index, String name) { + this.index = index; + this.name = name; + } + + public int maxIndex() { + return 7; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsDeserializer.java new file mode 100644 index 000000000..75b2923fa --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsDeserializer.java @@ -0,0 +1,32 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class DistanceUnitsDeserializer extends EnumeratedDeserializer { + + DistanceUnitsDeserializer() { + super(DistanceUnits.class); + } + + @Override + protected DistanceUnits[] listEnumValues() { + return DistanceUnits.values(); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsSerializer.java new file mode 100644 index 000000000..e9cd7bad2 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsSerializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class DistanceUnitsSerializer extends EnumeratedSerializer { + + DistanceUnitsSerializer() { + super(DistanceUnits.class); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetLg.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetLg.java new file mode 100644 index 000000000..0f8447119 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetLg.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class DrivenLineOffsetLg extends Asn1Integer { + + public DrivenLineOffsetLg() { + super(-32767L, 32767L); + } + + @JsonCreator + public DrivenLineOffsetLg(long value) { + this(); + this.value = value; + } + + public static class DrivenLineOffsetLgDeserializer extends IntegerDeserializer { + public DrivenLineOffsetLgDeserializer() { + super(DrivenLineOffsetLg.class); + } + + @Override + protected DrivenLineOffsetLg construct() { + return new DrivenLineOffsetLg(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetSm.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetSm.java new file mode 100644 index 000000000..ff8e342c0 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetSm.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class DrivenLineOffsetSm extends Asn1Integer { + + public DrivenLineOffsetSm() { + super(-2047L, 2047L); + } + + @JsonCreator + public DrivenLineOffsetSm(long value) { + this(); + this.value = value; + } + + public static class DrivenLineOffsetSmDeserializer extends IntegerDeserializer { + public DrivenLineOffsetSmDeserializer() { + super(DrivenLineOffsetSm.class); + } + + @Override + protected DrivenLineOffsetSm construct() { + return new DrivenLineOffsetSm(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Elevation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Elevation.java new file mode 100644 index 000000000..64d9b20f3 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Elevation.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Elevation extends Asn1Integer { + + public Elevation() { + super(-4096L, 61439L); + } + + @JsonCreator + public Elevation(long value) { + this(); + this.value = value; + } + + public static class ElevationDeserializer extends IntegerDeserializer { + public ElevationDeserializer() { + super(Elevation.class); + } + + @Override + protected Elevation construct() { + return new Elevation(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitService.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitService.java new file mode 100644 index 000000000..99e2e3637 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitService.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class ExitService extends Asn1SequenceOf { + + ExitService() { + super(ExitServiceSequence.class, 1L, 16L); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitServiceSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitServiceSequence.java new file mode 100644 index 000000000..0c2987237 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitServiceSequence.java @@ -0,0 +1,84 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.j2735.ITIS.ITIScodes; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import java.util.List; +import java.util.Optional; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class ExitServiceSequence extends Asn1Sequence { + + @Asn1Property(tag = 0) + private ItemChoice item; + + @JsonInclude(Include.NON_NULL) + public static class ItemChoice extends Asn1Choice { + @Asn1Property(tag = 0) + @JsonDeserialize(using = ITIScodes.ITIScodesDeserializer.class) + private ITIScodes itis; + @Asn1Property(tag = 1) + private ITIStextPhrase text; + + ItemChoice() { + super(false); + } + + public ITIScodes getItis() { + return itis; + } + + public void setItis(ITIScodes itis) { + this.itis = itis; + } + + public ITIStextPhrase getText() { + return text; + } + + public void setText(ITIStextPhrase text) { + this.text = text; + } + + @Override + protected List> listTypes() { + return null; + } + } + + public ItemChoice getItem() { + return item; + } + + public void setItem(ItemChoice item) { + this.item = item; + } + + ExitServiceSequence() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Extent.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Extent.java new file mode 100644 index 000000000..2c57b326a --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Extent.java @@ -0,0 +1,62 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonSerialize(using = ExtentSerializer.class) +@JsonDeserialize(using = ExtentDeserializer.class) +public enum Extent implements Asn1Enumerated { + useInstantlyOnly(0, "useInstantlyOnly"), useFor3meters(1, "useFor3meters"), useFor10meters(2, + "useFor10meters"), useFor50meters(3, "useFor50meters"), useFor100meters(4, + "useFor100meters"), useFor500meters(5, "useFor500meters"), useFor1000meters(6, + "useFor1000meters"), useFor5000meters(7, "useFor5000meters"), useFor10000meters(8, + "useFor10000meters"), useFor50000meters(9, "useFor50000meters"), useFor100000meters( + 10, "useFor100000meters"), useFor500000meters(11, + "useFor500000meters"), useFor1000000meters(12, + "useFor1000000meters"), useFor5000000meters(13, + "useFor5000000meters"), useFor10000000meters(14, + "useFor10000000meters"), forever(15, + "forever"); + + private final int index; + private final String name; + + public int getIndex() { + return index; + } + + public String getName() { + return name; + } + + public boolean hasExtensionMarker() { + return false; + } + + private Extent(int index, String name) { + this.index = index; + this.name = name; + } + + public int maxIndex() { + return 15; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentDeserializer.java new file mode 100644 index 000000000..dd18b82e4 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentDeserializer.java @@ -0,0 +1,32 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class ExtentDeserializer extends EnumeratedDeserializer { + + ExtentDeserializer() { + super(Extent.class); + } + + @Override + protected Extent[] listEnumValues() { + return Extent.values(); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentSerializer.java new file mode 100644 index 000000000..955baaf1f --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentSerializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class ExtentSerializer extends EnumeratedSerializer { + + ExtentSerializer() { + super(Extent.class); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/FurtherInfoID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/FurtherInfoID.java new file mode 100644 index 000000000..f9c733971 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/FurtherInfoID.java @@ -0,0 +1,49 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1OctetString; +import com.fasterxml.jackson.annotation.JsonCreator; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class FurtherInfoID extends Asn1OctetString { + + private String value; + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + @Override + public String toString() { + return value; + } + + public FurtherInfoID() { + super(2, 2); + } + + @JsonCreator + public FurtherInfoID(String value) { + this(); + this.value = value; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignage.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignage.java new file mode 100644 index 000000000..bc5b22371 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignage.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class GenericSignage extends Asn1SequenceOf { + + GenericSignage() { + super(GenericSignageSequence.class, 1L, 16L); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignageSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignageSequence.java new file mode 100644 index 000000000..4dda92563 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignageSequence.java @@ -0,0 +1,84 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.j2735.ITIS.ITIScodes; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import java.util.List; +import java.util.Optional; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class GenericSignageSequence extends Asn1Sequence { + + @Asn1Property(tag = 0) + private ItemChoice item; + + @JsonInclude(Include.NON_NULL) + public static class ItemChoice extends Asn1Choice { + @Asn1Property(tag = 0) + @JsonDeserialize(using = ITIScodes.ITIScodesDeserializer.class) + private ITIScodes itis; + @Asn1Property(tag = 1) + private ITIStextPhrase text; + + ItemChoice() { + super(false); + } + + public ITIScodes getItis() { + return itis; + } + + public void setItis(ITIScodes itis) { + this.itis = itis; + } + + public ITIStextPhrase getText() { + return text; + } + + public void setText(ITIStextPhrase text) { + this.text = text; + } + + @Override + protected List> listTypes() { + return null; + } + } + + public ItemChoice getItem() { + return item; + } + + public void setItem(ItemChoice item) { + this.item = item; + } + + GenericSignageSequence() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeographicalPath.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeographicalPath.java new file mode 100644 index 000000000..8cbee9e51 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeographicalPath.java @@ -0,0 +1,183 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Boolean; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import java.util.List; +import java.util.Optional; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_GeographicalPath; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class GeographicalPath extends Asn1Sequence { + + @Asn1Property(tag = 0, optional = true) + private DescriptiveName name; + @Asn1Property(tag = 1, optional = true) + private RoadSegmentReferenceID id; + @Asn1Property(tag = 2, optional = true) + private Position3D anchor; + @Asn1Property(tag = 3, optional = true) + @JsonDeserialize(using = LaneWidth.LaneWidthDeserializer.class) + private LaneWidth laneWidth; + @Asn1Property(tag = 4, optional = true) + private DirectionOfUse directionality; + @Asn1Property(tag = 5, optional = true) + private Asn1Boolean closedPath; + @Asn1Property(tag = 6, optional = true) + private HeadingSlice direction; + @Asn1Property(tag = 7, optional = true) + private DescriptionChoice description; + @Asn1Property(tag = 8, optional = true) + private SequenceOfRegional regional; + + public DescriptiveName getName() { + return name; + } + + public void setName(DescriptiveName name) { + this.name = name; + } + + public RoadSegmentReferenceID getId() { + return id; + } + + public void setId(RoadSegmentReferenceID id) { + this.id = id; + } + + public Position3D getAnchor() { + return anchor; + } + + public void setAnchor(Position3D anchor) { + this.anchor = anchor; + } + + public LaneWidth getLaneWidth() { + return laneWidth; + } + + public void setLaneWidth(LaneWidth laneWidth) { + this.laneWidth = laneWidth; + } + + public DirectionOfUse getDirectionality() { + return directionality; + } + + public void setDirectionality(DirectionOfUse directionality) { + this.directionality = directionality; + } + + public Asn1Boolean getClosedPath() { + return closedPath; + } + + public void setClosedPath(Asn1Boolean closedPath) { + this.closedPath = closedPath; + } + + public HeadingSlice getDirection() { + return direction; + } + + public void setDirection(HeadingSlice direction) { + this.direction = direction; + } + + @JsonInclude(Include.NON_NULL) + public static class DescriptionChoice extends Asn1Choice { + @Asn1Property(tag = 0) + private OffsetSystem path; + @Asn1Property(tag = 1) + private GeometricProjection geometry; + @Asn1Property(tag = 2) + private ValidRegion oldRegion; + + DescriptionChoice() { + super(true); + } + + public OffsetSystem getPath() { + return path; + } + + public void setPath(OffsetSystem path) { + this.path = path; + } + + public GeometricProjection getGeometry() { + return geometry; + } + + public void setGeometry(GeometricProjection geometry) { + this.geometry = geometry; + } + + public ValidRegion getOldRegion() { + return oldRegion; + } + + public void setOldRegion(ValidRegion oldRegion) { + this.oldRegion = oldRegion; + } + + @Override + protected List> listTypes() { + return null; + } + } + + public DescriptionChoice getDescription() { + return description; + } + + public void setDescription(DescriptionChoice description) { + this.description = description; + } + + @JsonInclude(Include.NON_NULL) + public static class SequenceOfRegional extends Asn1SequenceOf { + SequenceOfRegional() { + super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_GeographicalPath.class, 1L, 4L); + } + } + + public SequenceOfRegional getRegional() { + return regional; + } + + public void setRegional(SequenceOfRegional regional) { + this.regional = regional; + } + + GeographicalPath() { + super(true); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeometricProjection.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeometricProjection.java new file mode 100644 index 000000000..63805fcda --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeometricProjection.java @@ -0,0 +1,95 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_GeometricProjection; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class GeometricProjection extends Asn1Sequence { + + @Asn1Property(tag = 0) + private HeadingSlice direction; + @Asn1Property(tag = 1, optional = true) + private Extent extent; + @Asn1Property(tag = 2, optional = true) + @JsonDeserialize(using = LaneWidth.LaneWidthDeserializer.class) + private LaneWidth laneWidth; + @Asn1Property(tag = 3) + private Circle circle; + @Asn1Property(tag = 4, optional = true) + private SequenceOfRegional regional; + + public HeadingSlice getDirection() { + return direction; + } + + public void setDirection(HeadingSlice direction) { + this.direction = direction; + } + + public Extent getExtent() { + return extent; + } + + public void setExtent(Extent extent) { + this.extent = extent; + } + + public LaneWidth getLaneWidth() { + return laneWidth; + } + + public void setLaneWidth(LaneWidth laneWidth) { + this.laneWidth = laneWidth; + } + + public Circle getCircle() { + return circle; + } + + public void setCircle(Circle circle) { + this.circle = circle; + } + + @JsonInclude(Include.NON_NULL) + public static class SequenceOfRegional extends Asn1SequenceOf { + SequenceOfRegional() { + super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_GeometricProjection.class, 1L, 4L); + } + } + + public SequenceOfRegional getRegional() { + return regional; + } + + public void setRegional(SequenceOfRegional regional) { + this.regional = regional; + } + + GeometricProjection() { + super(true); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSlice.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSlice.java new file mode 100644 index 000000000..bc4993ac9 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSlice.java @@ -0,0 +1,163 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Bitstring; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonDeserialize(using = HeadingSliceDeserializer.class) +public class HeadingSlice extends Asn1Bitstring { + + public boolean isFrom000_0to022_5degrees() { + return get(0); + } + + public void setFrom000_0to022_5degrees(boolean from000_0to022_5degrees) { + set(0, from000_0to022_5degrees); + } + + public boolean isFrom022_5to045_0degrees() { + return get(1); + } + + public void setFrom022_5to045_0degrees(boolean from022_5to045_0degrees) { + set(1, from022_5to045_0degrees); + } + + public boolean isFrom045_0to067_5degrees() { + return get(2); + } + + public void setFrom045_0to067_5degrees(boolean from045_0to067_5degrees) { + set(2, from045_0to067_5degrees); + } + + public boolean isFrom067_5to090_0degrees() { + return get(3); + } + + public void setFrom067_5to090_0degrees(boolean from067_5to090_0degrees) { + set(3, from067_5to090_0degrees); + } + + public boolean isFrom090_0to112_5degrees() { + return get(4); + } + + public void setFrom090_0to112_5degrees(boolean from090_0to112_5degrees) { + set(4, from090_0to112_5degrees); + } + + public boolean isFrom112_5to135_0degrees() { + return get(5); + } + + public void setFrom112_5to135_0degrees(boolean from112_5to135_0degrees) { + set(5, from112_5to135_0degrees); + } + + public boolean isFrom135_0to157_5degrees() { + return get(6); + } + + public void setFrom135_0to157_5degrees(boolean from135_0to157_5degrees) { + set(6, from135_0to157_5degrees); + } + + public boolean isFrom157_5to180_0degrees() { + return get(7); + } + + public void setFrom157_5to180_0degrees(boolean from157_5to180_0degrees) { + set(7, from157_5to180_0degrees); + } + + public boolean isFrom180_0to202_5degrees() { + return get(8); + } + + public void setFrom180_0to202_5degrees(boolean from180_0to202_5degrees) { + set(8, from180_0to202_5degrees); + } + + public boolean isFrom202_5to225_0degrees() { + return get(9); + } + + public void setFrom202_5to225_0degrees(boolean from202_5to225_0degrees) { + set(9, from202_5to225_0degrees); + } + + public boolean isFrom225_0to247_5degrees() { + return get(10); + } + + public void setFrom225_0to247_5degrees(boolean from225_0to247_5degrees) { + set(10, from225_0to247_5degrees); + } + + public boolean isFrom247_5to270_0degrees() { + return get(11); + } + + public void setFrom247_5to270_0degrees(boolean from247_5to270_0degrees) { + set(11, from247_5to270_0degrees); + } + + public boolean isFrom270_0to292_5degrees() { + return get(12); + } + + public void setFrom270_0to292_5degrees(boolean from270_0to292_5degrees) { + set(12, from270_0to292_5degrees); + } + + public boolean isFrom292_5to315_0degrees() { + return get(13); + } + + public void setFrom292_5to315_0degrees(boolean from292_5to315_0degrees) { + set(13, from292_5to315_0degrees); + } + + public boolean isFrom315_0to337_5degrees() { + return get(14); + } + + public void setFrom315_0to337_5degrees(boolean from315_0to337_5degrees) { + set(14, from315_0to337_5degrees); + } + + public boolean isFrom337_5to360_0degrees() { + return get(15); + } + + public void setFrom337_5to360_0degrees(boolean from337_5to360_0degrees) { + set(15, from337_5to360_0degrees); + } + + public HeadingSlice() { + super(16, false, + new String[]{"from000-0to022-5degrees", "from022-5to045-0degrees", "from045-0to067-5degrees", + "from067-5to090-0degrees", "from090-0to112-5degrees", "from112-5to135-0degrees", + "from135-0to157-5degrees", "from157-5to180-0degrees", "from180-0to202-5degrees", + "from202-5to225-0degrees", "from225-0to247-5degrees", "from247-5to270-0degrees", + "from270-0to292-5degrees", "from292-5to315-0degrees", "from315-0to337-5degrees", + "from337-5to360-0degrees"}); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceDeserializer.java new file mode 100644 index 000000000..f34c946c5 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceDeserializer.java @@ -0,0 +1,32 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.BitStringDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class HeadingSliceDeserializer extends BitStringDeserializer { + + HeadingSliceDeserializer() { + super(HeadingSlice.class); + } + + @Override + protected HeadingSlice construct() { + return new HeadingSlice(); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ITIStextPhrase.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ITIStextPhrase.java new file mode 100644 index 000000000..ffff1a3a1 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ITIStextPhrase.java @@ -0,0 +1,34 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.IA5String; +import com.fasterxml.jackson.annotation.JsonCreator; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class ITIStextPhrase extends IA5String { + + public ITIStextPhrase() { + super(1, 16); + } + + @JsonCreator + public ITIStextPhrase(String value) { + this(); + this.value = value; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttribute.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttribute.java new file mode 100644 index 000000000..72f01b53e --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttribute.java @@ -0,0 +1,129 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_LaneDataAttribute; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import java.util.Optional; +import java.util.List; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class LaneDataAttribute extends Asn1Choice { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = DeltaAngle.DeltaAngleDeserializer.class) + private DeltaAngle pathEndPointAngle; + @Asn1Property(tag = 1) + @JsonDeserialize(using = RoadwayCrownAngle.RoadwayCrownAngleDeserializer.class) + private RoadwayCrownAngle laneCrownPointCenter; + @Asn1Property(tag = 2) + @JsonDeserialize(using = RoadwayCrownAngle.RoadwayCrownAngleDeserializer.class) + private RoadwayCrownAngle laneCrownPointLeft; + @Asn1Property(tag = 3) + @JsonDeserialize(using = RoadwayCrownAngle.RoadwayCrownAngleDeserializer.class) + private RoadwayCrownAngle laneCrownPointRight; + @Asn1Property(tag = 4) + @JsonDeserialize(using = MergeDivergeNodeAngle.MergeDivergeNodeAngleDeserializer.class) + private MergeDivergeNodeAngle laneAngle; + @Asn1Property(tag = 5) + @JacksonXmlElementWrapper(localName = "speedLimits") + @JacksonXmlProperty(localName = "RegulatorySpeedLimit") + private SpeedLimitList speedLimits; + @Asn1Property(tag = 6) + private SequenceOfRegional regional; + + LaneDataAttribute() { + super(true); + } + + public DeltaAngle getPathEndPointAngle() { + return pathEndPointAngle; + } + + public void setPathEndPointAngle(DeltaAngle pathEndPointAngle) { + this.pathEndPointAngle = pathEndPointAngle; + } + + public RoadwayCrownAngle getLaneCrownPointCenter() { + return laneCrownPointCenter; + } + + public void setLaneCrownPointCenter(RoadwayCrownAngle laneCrownPointCenter) { + this.laneCrownPointCenter = laneCrownPointCenter; + } + + public RoadwayCrownAngle getLaneCrownPointLeft() { + return laneCrownPointLeft; + } + + public void setLaneCrownPointLeft(RoadwayCrownAngle laneCrownPointLeft) { + this.laneCrownPointLeft = laneCrownPointLeft; + } + + public RoadwayCrownAngle getLaneCrownPointRight() { + return laneCrownPointRight; + } + + public void setLaneCrownPointRight(RoadwayCrownAngle laneCrownPointRight) { + this.laneCrownPointRight = laneCrownPointRight; + } + + public MergeDivergeNodeAngle getLaneAngle() { + return laneAngle; + } + + public void setLaneAngle(MergeDivergeNodeAngle laneAngle) { + this.laneAngle = laneAngle; + } + + public SpeedLimitList getSpeedLimits() { + return speedLimits; + } + + public void setSpeedLimits(SpeedLimitList speedLimits) { + this.speedLimits = speedLimits; + } + + @JsonInclude(Include.NON_NULL) + public static class SequenceOfRegional extends Asn1SequenceOf { + SequenceOfRegional() { + super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_LaneDataAttribute.class, 1L, 4L); + } + } + + public SequenceOfRegional getRegional() { + return regional; + } + + public void setRegional(SequenceOfRegional regional) { + this.regional = regional; + } + + @Override + protected List> listTypes() { + return null; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttributeList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttributeList.java new file mode 100644 index 000000000..b9511ad3c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttributeList.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class LaneDataAttributeList extends Asn1SequenceOf { + + LaneDataAttributeList() { + super(LaneDataAttribute.class, 1L, 8L); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneID.java new file mode 100644 index 000000000..fe1570546 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneID.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class LaneID extends Asn1Integer { + + public LaneID() { + super(0L, 255L); + } + + @JsonCreator + public LaneID(long value) { + this(); + this.value = value; + } + + public static class LaneIDDeserializer extends IntegerDeserializer { + public LaneIDDeserializer() { + super(LaneID.class); + } + + @Override + protected LaneID construct() { + return new LaneID(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneWidth.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneWidth.java new file mode 100644 index 000000000..ea4f92b16 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneWidth.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class LaneWidth extends Asn1Integer { + + public LaneWidth() { + super(0L, 32767L); + } + + @JsonCreator + public LaneWidth(long value) { + this(); + this.value = value; + } + + public static class LaneWidthDeserializer extends IntegerDeserializer { + public LaneWidthDeserializer() { + super(LaneWidth.class); + } + + @Override + protected LaneWidth construct() { + return new LaneWidth(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Latitude.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Latitude.java new file mode 100644 index 000000000..412c4005c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Latitude.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Latitude extends Asn1Integer { + + public Latitude() { + super(-900000000L, 900000001L); + } + + @JsonCreator + public Latitude(long value) { + this(); + this.value = value; + } + + public static class LatitudeDeserializer extends IntegerDeserializer { + public LatitudeDeserializer() { + super(Latitude.class); + } + + @Override + protected Latitude construct() { + return new Latitude(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Longitude.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Longitude.java new file mode 100644 index 000000000..a0edc9d62 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Longitude.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Longitude extends Asn1Integer { + + public Longitude() { + super(-1799999999L, 1800000001L); + } + + @JsonCreator + public Longitude(long value) { + this(); + this.value = value; + } + + public static class LongitudeDeserializer extends IntegerDeserializer { + public LongitudeDeserializer() { + super(Longitude.class); + } + + @Override + protected Longitude construct() { + return new Longitude(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCode.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCode.java new file mode 100644 index 000000000..6fcac726b --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCode.java @@ -0,0 +1,53 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonSerialize(using = MUTCDCodeSerializer.class) +@JsonDeserialize(using = MUTCDCodeDeserializer.class) +public enum MUTCDCode implements Asn1Enumerated { + none(0, "none"), regulatory(1, "regulatory"), warning(2, "warning"), maintenance(3, + "maintenance"), motoristService(4, "motoristService"), guide(5, "guide"), rec(6, "rec"); + + private final int index; + private final String name; + + public int getIndex() { + return index; + } + + public String getName() { + return name; + } + + public boolean hasExtensionMarker() { + return false; + } + + private MUTCDCode(int index, String name) { + this.index = index; + this.name = name; + } + + public int maxIndex() { + return 6; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeDeserializer.java new file mode 100644 index 000000000..0ab54e0aa --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeDeserializer.java @@ -0,0 +1,32 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class MUTCDCodeDeserializer extends EnumeratedDeserializer { + + MUTCDCodeDeserializer() { + super(MUTCDCode.class); + } + + @Override + protected MUTCDCode[] listEnumValues() { + return MUTCDCode.values(); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeSerializer.java new file mode 100644 index 000000000..25d9dc376 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeSerializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class MUTCDCodeSerializer extends EnumeratedSerializer { + + MUTCDCodeSerializer() { + super(MUTCDCode.class); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MergeDivergeNodeAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MergeDivergeNodeAngle.java new file mode 100644 index 000000000..3f3f60175 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MergeDivergeNodeAngle.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class MergeDivergeNodeAngle extends Asn1Integer { + + public MergeDivergeNodeAngle() { + super(-180L, 180L); + } + + @JsonCreator + public MergeDivergeNodeAngle(long value) { + this(); + this.value = value; + } + + public static class MergeDivergeNodeAngleDeserializer extends IntegerDeserializer { + public MergeDivergeNodeAngleDeserializer() { + super(MergeDivergeNodeAngle.class); + } + + @Override + protected MergeDivergeNodeAngle construct() { + return new MergeDivergeNodeAngle(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinuteOfTheYear.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinuteOfTheYear.java new file mode 100644 index 000000000..acad5bdda --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinuteOfTheYear.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class MinuteOfTheYear extends Asn1Integer { + + public MinuteOfTheYear() { + super(0L, 527040L); + } + + @JsonCreator + public MinuteOfTheYear(long value) { + this(); + this.value = value; + } + + public static class MinuteOfTheYearDeserializer extends IntegerDeserializer { + public MinuteOfTheYearDeserializer() { + super(MinuteOfTheYear.class); + } + + @Override + protected MinuteOfTheYear construct() { + return new MinuteOfTheYear(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinutesDuration.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinutesDuration.java new file mode 100644 index 000000000..5a09cc75c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinutesDuration.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class MinutesDuration extends Asn1Integer { + + public MinutesDuration() { + super(0L, 32000L); + } + + @JsonCreator + public MinutesDuration(long value) { + this(); + this.value = value; + } + + public static class MinutesDurationDeserializer extends IntegerDeserializer { + public MinutesDurationDeserializer() { + super(MinutesDuration.class); + } + + @Override + protected MinutesDuration construct() { + return new MinutesDuration(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCRC.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCRC.java new file mode 100644 index 000000000..292d0400e --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCRC.java @@ -0,0 +1,49 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1OctetString; +import com.fasterxml.jackson.annotation.JsonCreator; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class MsgCRC extends Asn1OctetString { + + private String value; + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + @Override + public String toString() { + return value; + } + + public MsgCRC() { + super(2, 2); + } + + @JsonCreator + public MsgCRC(String value) { + this(); + this.value = value; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCount.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCount.java new file mode 100644 index 000000000..d10c6c481 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCount.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class MsgCount extends Asn1Integer { + + public MsgCount() { + super(0L, 127L); + } + + @JsonCreator + public MsgCount(long value) { + this(); + this.value = value; + } + + public static class MsgCountDeserializer extends IntegerDeserializer { + public MsgCountDeserializer() { + super(MsgCount.class); + } + + @Override + protected MsgCount construct() { + return new MsgCount(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLL.java new file mode 100644 index 000000000..88cc1d2b1 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLL.java @@ -0,0 +1,56 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonSerialize(using = NodeAttributeLLSerializer.class) +@JsonDeserialize(using = NodeAttributeLLDeserializer.class) +public enum NodeAttributeLL implements Asn1Enumerated { + reserved(0, "reserved"), stopLine(1, "stopLine"), roundedCapStyleA(2, "roundedCapStyleA"), roundedCapStyleB(3, + "roundedCapStyleB"), mergePoint(4, "mergePoint"), divergePoint(5, "divergePoint"), downstreamStopLine(6, + "downstreamStopLine"), downstreamStartNode(7, "downstreamStartNode"), closedToTraffic(8, + "closedToTraffic"), safeIsland(9, "safeIsland"), curbPresentAtStepOff(10, + "curbPresentAtStepOff"), hydrantPresent(11, "hydrantPresent"); + + private final int index; + private final String name; + + public int getIndex() { + return index; + } + + public String getName() { + return name; + } + + public boolean hasExtensionMarker() { + return false; + } + + private NodeAttributeLL(int index, String name) { + this.index = index; + this.name = name; + } + + public int maxIndex() { + return 11; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLDeserializer.java new file mode 100644 index 000000000..f1a7211b2 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLDeserializer.java @@ -0,0 +1,32 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class NodeAttributeLLDeserializer extends EnumeratedDeserializer { + + NodeAttributeLLDeserializer() { + super(NodeAttributeLL.class); + } + + @Override + protected NodeAttributeLL[] listEnumValues() { + return NodeAttributeLL.values(); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLList.java new file mode 100644 index 000000000..6fc8d6a7e --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLList.java @@ -0,0 +1,49 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.serialization.SequenceOfEnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class NodeAttributeLLList extends Asn1SequenceOf { + + NodeAttributeLLList() { + super(NodeAttributeLL.class, 1L, 8L); + } + + public static class NodeAttributeLLListDeserializer + extends + SequenceOfEnumeratedDeserializer { + public NodeAttributeLLListDeserializer() { + super(NodeAttributeLLList.class, NodeAttributeLL.class); + } + + @Override + protected NodeAttributeLL[] listEnumValues() { + return NodeAttributeLL.values(); + } + + @Override + protected NodeAttributeLLList construct() { + return new NodeAttributeLLList(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLSerializer.java new file mode 100644 index 000000000..c1248cb00 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLSerializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class NodeAttributeLLSerializer extends EnumeratedSerializer { + + NodeAttributeLLSerializer() { + super(NodeAttributeLL.class); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetLL.java new file mode 100644 index 000000000..1225b6c2b --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetLL.java @@ -0,0 +1,121 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeAttributeSetLL; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class NodeAttributeSetLL extends Asn1Sequence { + + @Asn1Property(tag = 0, optional = true) + @JsonDeserialize(using = NodeAttributeLLList.NodeAttributeLLListDeserializer.class) + private NodeAttributeLLList localNode; + @Asn1Property(tag = 1, optional = true) + @JsonDeserialize(using = SegmentAttributeLLList.SegmentAttributeLLListDeserializer.class) + private SegmentAttributeLLList disabled; + @Asn1Property(tag = 2, optional = true) + @JsonDeserialize(using = SegmentAttributeLLList.SegmentAttributeLLListDeserializer.class) + private SegmentAttributeLLList enabled; + @Asn1Property(tag = 3, optional = true) + @JacksonXmlElementWrapper(useWrapping = false) + private LaneDataAttributeList data; + @Asn1Property(tag = 4, optional = true) + @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + private Offset_B10 dWidth; + @Asn1Property(tag = 5, optional = true) + @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + private Offset_B10 dElevation; + @Asn1Property(tag = 6, optional = true) + private SequenceOfRegional regional; + + public NodeAttributeLLList getLocalNode() { + return localNode; + } + + public void setLocalNode(NodeAttributeLLList localNode) { + this.localNode = localNode; + } + + public SegmentAttributeLLList getDisabled() { + return disabled; + } + + public void setDisabled(SegmentAttributeLLList disabled) { + this.disabled = disabled; + } + + public SegmentAttributeLLList getEnabled() { + return enabled; + } + + public void setEnabled(SegmentAttributeLLList enabled) { + this.enabled = enabled; + } + + public LaneDataAttributeList getData() { + return data; + } + + public void setData(LaneDataAttributeList data) { + this.data = data; + } + + public Offset_B10 getDWidth() { + return dWidth; + } + + public void setDWidth(Offset_B10 dWidth) { + this.dWidth = dWidth; + } + + public Offset_B10 getDElevation() { + return dElevation; + } + + public void setDElevation(Offset_B10 dElevation) { + this.dElevation = dElevation; + } + + @JsonInclude(Include.NON_NULL) + public static class SequenceOfRegional extends Asn1SequenceOf { + SequenceOfRegional() { + super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeAttributeSetLL.class, 1L, 4L); + } + } + + public SequenceOfRegional getRegional() { + return regional; + } + + public void setRegional(SequenceOfRegional regional) { + this.regional = regional; + } + + NodeAttributeSetLL() { + super(true); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetXY.java new file mode 100644 index 000000000..90d7fdf5f --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetXY.java @@ -0,0 +1,121 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeAttributeSetXY; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class NodeAttributeSetXY extends Asn1Sequence { + + @Asn1Property(tag = 0, optional = true) + @JsonDeserialize(using = NodeAttributeXYList.NodeAttributeXYListDeserializer.class) + private NodeAttributeXYList localNode; + @Asn1Property(tag = 1, optional = true) + @JsonDeserialize(using = SegmentAttributeXYList.SegmentAttributeXYListDeserializer.class) + private SegmentAttributeXYList disabled; + @Asn1Property(tag = 2, optional = true) + @JsonDeserialize(using = SegmentAttributeXYList.SegmentAttributeXYListDeserializer.class) + private SegmentAttributeXYList enabled; + @Asn1Property(tag = 3, optional = true) + @JacksonXmlElementWrapper(useWrapping = false) + private LaneDataAttributeList data; + @Asn1Property(tag = 4, optional = true) + @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + private Offset_B10 dWidth; + @Asn1Property(tag = 5, optional = true) + @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + private Offset_B10 dElevation; + @Asn1Property(tag = 6, optional = true) + private SequenceOfRegional regional; + + public NodeAttributeXYList getLocalNode() { + return localNode; + } + + public void setLocalNode(NodeAttributeXYList localNode) { + this.localNode = localNode; + } + + public SegmentAttributeXYList getDisabled() { + return disabled; + } + + public void setDisabled(SegmentAttributeXYList disabled) { + this.disabled = disabled; + } + + public SegmentAttributeXYList getEnabled() { + return enabled; + } + + public void setEnabled(SegmentAttributeXYList enabled) { + this.enabled = enabled; + } + + public LaneDataAttributeList getData() { + return data; + } + + public void setData(LaneDataAttributeList data) { + this.data = data; + } + + public Offset_B10 getDWidth() { + return dWidth; + } + + public void setDWidth(Offset_B10 dWidth) { + this.dWidth = dWidth; + } + + public Offset_B10 getDElevation() { + return dElevation; + } + + public void setDElevation(Offset_B10 dElevation) { + this.dElevation = dElevation; + } + + @JsonInclude(Include.NON_NULL) + public static class SequenceOfRegional extends Asn1SequenceOf { + SequenceOfRegional() { + super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeAttributeSetXY.class, 1L, 4L); + } + } + + public SequenceOfRegional getRegional() { + return regional; + } + + public void setRegional(SequenceOfRegional regional) { + this.regional = regional; + } + + NodeAttributeSetXY() { + super(true); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXY.java new file mode 100644 index 000000000..b404926b1 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXY.java @@ -0,0 +1,56 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonSerialize(using = NodeAttributeXYSerializer.class) +@JsonDeserialize(using = NodeAttributeXYDeserializer.class) +public enum NodeAttributeXY implements Asn1Enumerated { + reserved(0, "reserved"), stopLine(1, "stopLine"), roundedCapStyleA(2, "roundedCapStyleA"), roundedCapStyleB(3, + "roundedCapStyleB"), mergePoint(4, "mergePoint"), divergePoint(5, "divergePoint"), downstreamStopLine(6, + "downstreamStopLine"), downstreamStartNode(7, "downstreamStartNode"), closedToTraffic(8, + "closedToTraffic"), safeIsland(9, "safeIsland"), curbPresentAtStepOff(10, + "curbPresentAtStepOff"), hydrantPresent(11, "hydrantPresent"); + + private final int index; + private final String name; + + public int getIndex() { + return index; + } + + public String getName() { + return name; + } + + public boolean hasExtensionMarker() { + return false; + } + + private NodeAttributeXY(int index, String name) { + this.index = index; + this.name = name; + } + + public int maxIndex() { + return 11; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYDeserializer.java new file mode 100644 index 000000000..e4e7cde86 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYDeserializer.java @@ -0,0 +1,32 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class NodeAttributeXYDeserializer extends EnumeratedDeserializer { + + NodeAttributeXYDeserializer() { + super(NodeAttributeXY.class); + } + + @Override + protected NodeAttributeXY[] listEnumValues() { + return NodeAttributeXY.values(); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYList.java new file mode 100644 index 000000000..311899d28 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYList.java @@ -0,0 +1,49 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.serialization.SequenceOfEnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class NodeAttributeXYList extends Asn1SequenceOf { + + NodeAttributeXYList() { + super(NodeAttributeXY.class, 1L, 8L); + } + + public static class NodeAttributeXYListDeserializer + extends + SequenceOfEnumeratedDeserializer { + public NodeAttributeXYListDeserializer() { + super(NodeAttributeXYList.class, NodeAttributeXY.class); + } + + @Override + protected NodeAttributeXY[] listEnumValues() { + return NodeAttributeXY.values(); + } + + @Override + protected NodeAttributeXYList construct() { + return new NodeAttributeXYList(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYSerializer.java new file mode 100644 index 000000000..35d331c1c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYSerializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class NodeAttributeXYSerializer extends EnumeratedSerializer { + + NodeAttributeXYSerializer() { + super(NodeAttributeXY.class); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeLL.java new file mode 100644 index 000000000..be8451ddf --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeLL.java @@ -0,0 +1,54 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class NodeLL extends Asn1Sequence { + + @Asn1Property(tag = 0) + private NodeOffsetPointLL delta; + @Asn1Property(tag = 1, optional = true) + private NodeAttributeSetLL attributes; + + public NodeOffsetPointLL getDelta() { + return delta; + } + + public void setDelta(NodeOffsetPointLL delta) { + this.delta = delta; + } + + public NodeAttributeSetLL getAttributes() { + return attributes; + } + + public void setAttributes(NodeAttributeSetLL attributes) { + this.attributes = attributes; + } + + NodeLL() { + super(true); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListLL.java new file mode 100644 index 000000000..dfcc6f6d8 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListLL.java @@ -0,0 +1,54 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import java.util.Optional; +import java.util.List; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class NodeListLL extends Asn1Choice { + + @Asn1Property(tag = 0) + @JacksonXmlElementWrapper(localName = "nodes") + @JacksonXmlProperty(localName = "NodeLL") + private NodeSetLL nodes; + + NodeListLL() { + super(true); + } + + public NodeSetLL getNodes() { + return nodes; + } + + public void setNodes(NodeSetLL nodes) { + this.nodes = nodes; + } + + @Override + protected List> listTypes() { + return null; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListXY.java new file mode 100644 index 000000000..8c1389e32 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListXY.java @@ -0,0 +1,64 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import java.util.Optional; +import java.util.List; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class NodeListXY extends Asn1Choice { + + @Asn1Property(tag = 0) + @JacksonXmlElementWrapper(localName = "nodes") + @JacksonXmlProperty(localName = "NodeXY") + private NodeSetXY nodes; + @Asn1Property(tag = 1) + private ComputedLane computed; + + NodeListXY() { + super(true); + } + + public NodeSetXY getNodes() { + return nodes; + } + + public void setNodes(NodeSetXY nodes) { + this.nodes = nodes; + } + + public ComputedLane getComputed() { + return computed; + } + + public void setComputed(ComputedLane computed) { + this.computed = computed; + } + + @Override + protected List> listTypes() { + return null; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointLL.java new file mode 100644 index 000000000..b7c789e95 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointLL.java @@ -0,0 +1,129 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.annotation.JsonProperty; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeOffsetPointLL; +import java.util.Optional; +import java.util.List; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class NodeOffsetPointLL extends Asn1Choice { + + @Asn1Property(tag = 0, name = "node-LL1") + @JsonProperty("node-LL1") + private Node_LL_24B node_LL1; + @Asn1Property(tag = 1, name = "node-LL2") + @JsonProperty("node-LL2") + private Node_LL_28B node_LL2; + @Asn1Property(tag = 2, name = "node-LL3") + @JsonProperty("node-LL3") + private Node_LL_32B node_LL3; + @Asn1Property(tag = 3, name = "node-LL4") + @JsonProperty("node-LL4") + private Node_LL_36B node_LL4; + @Asn1Property(tag = 4, name = "node-LL5") + @JsonProperty("node-LL5") + private Node_LL_44B node_LL5; + @Asn1Property(tag = 5, name = "node-LL6") + @JsonProperty("node-LL6") + private Node_LL_48B node_LL6; + @Asn1Property(tag = 6, name = "node-LatLon") + @JsonProperty("node-LatLon") + private Node_LLmD_64b node_LatLon; + @Asn1Property(tag = 7) + private Reg_NodeOffsetPointLL regional; + + NodeOffsetPointLL() { + super(false); + } + + public Node_LL_24B getNode_LL1() { + return node_LL1; + } + + public void setNode_LL1(Node_LL_24B node_LL1) { + this.node_LL1 = node_LL1; + } + + public Node_LL_28B getNode_LL2() { + return node_LL2; + } + + public void setNode_LL2(Node_LL_28B node_LL2) { + this.node_LL2 = node_LL2; + } + + public Node_LL_32B getNode_LL3() { + return node_LL3; + } + + public void setNode_LL3(Node_LL_32B node_LL3) { + this.node_LL3 = node_LL3; + } + + public Node_LL_36B getNode_LL4() { + return node_LL4; + } + + public void setNode_LL4(Node_LL_36B node_LL4) { + this.node_LL4 = node_LL4; + } + + public Node_LL_44B getNode_LL5() { + return node_LL5; + } + + public void setNode_LL5(Node_LL_44B node_LL5) { + this.node_LL5 = node_LL5; + } + + public Node_LL_48B getNode_LL6() { + return node_LL6; + } + + public void setNode_LL6(Node_LL_48B node_LL6) { + this.node_LL6 = node_LL6; + } + + public Node_LLmD_64b getNode_LatLon() { + return node_LatLon; + } + + public void setNode_LatLon(Node_LLmD_64b node_LatLon) { + this.node_LatLon = node_LatLon; + } + + public Reg_NodeOffsetPointLL getRegional() { + return regional; + } + + public void setRegional(Reg_NodeOffsetPointLL regional) { + this.regional = regional; + } + + @Override + protected List> listTypes() { + return null; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointXY.java new file mode 100644 index 000000000..834ab5f18 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointXY.java @@ -0,0 +1,129 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.annotation.JsonProperty; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeOffsetPointXY; +import java.util.Optional; +import java.util.List; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class NodeOffsetPointXY extends Asn1Choice { + + @Asn1Property(tag = 0, name = "node-XY1") + @JsonProperty("node-XY1") + private Node_XY_20b node_XY1; + @Asn1Property(tag = 1, name = "node-XY2") + @JsonProperty("node-XY2") + private Node_XY_22b node_XY2; + @Asn1Property(tag = 2, name = "node-XY3") + @JsonProperty("node-XY3") + private Node_XY_24b node_XY3; + @Asn1Property(tag = 3, name = "node-XY4") + @JsonProperty("node-XY4") + private Node_XY_26b node_XY4; + @Asn1Property(tag = 4, name = "node-XY5") + @JsonProperty("node-XY5") + private Node_XY_28b node_XY5; + @Asn1Property(tag = 5, name = "node-XY6") + @JsonProperty("node-XY6") + private Node_XY_32b node_XY6; + @Asn1Property(tag = 6, name = "node-LatLon") + @JsonProperty("node-LatLon") + private Node_LLmD_64b node_LatLon; + @Asn1Property(tag = 7) + private Reg_NodeOffsetPointXY regional; + + NodeOffsetPointXY() { + super(false); + } + + public Node_XY_20b getNode_XY1() { + return node_XY1; + } + + public void setNode_XY1(Node_XY_20b node_XY1) { + this.node_XY1 = node_XY1; + } + + public Node_XY_22b getNode_XY2() { + return node_XY2; + } + + public void setNode_XY2(Node_XY_22b node_XY2) { + this.node_XY2 = node_XY2; + } + + public Node_XY_24b getNode_XY3() { + return node_XY3; + } + + public void setNode_XY3(Node_XY_24b node_XY3) { + this.node_XY3 = node_XY3; + } + + public Node_XY_26b getNode_XY4() { + return node_XY4; + } + + public void setNode_XY4(Node_XY_26b node_XY4) { + this.node_XY4 = node_XY4; + } + + public Node_XY_28b getNode_XY5() { + return node_XY5; + } + + public void setNode_XY5(Node_XY_28b node_XY5) { + this.node_XY5 = node_XY5; + } + + public Node_XY_32b getNode_XY6() { + return node_XY6; + } + + public void setNode_XY6(Node_XY_32b node_XY6) { + this.node_XY6 = node_XY6; + } + + public Node_LLmD_64b getNode_LatLon() { + return node_LatLon; + } + + public void setNode_LatLon(Node_LLmD_64b node_LatLon) { + this.node_LatLon = node_LatLon; + } + + public Reg_NodeOffsetPointXY getRegional() { + return regional; + } + + public void setRegional(Reg_NodeOffsetPointXY regional) { + this.regional = regional; + } + + @Override + protected List> listTypes() { + return null; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetLL.java new file mode 100644 index 000000000..2e81ff5d0 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetLL.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class NodeSetLL extends Asn1SequenceOf { + + NodeSetLL() { + super(NodeLL.class, 2L, 63L); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetXY.java new file mode 100644 index 000000000..880fcbac7 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetXY.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class NodeSetXY extends Asn1SequenceOf { + + NodeSetXY() { + super(NodeXY.class, 2L, 63L); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeXY.java new file mode 100644 index 000000000..cc421bf85 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeXY.java @@ -0,0 +1,54 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class NodeXY extends Asn1Sequence { + + @Asn1Property(tag = 0) + private NodeOffsetPointXY delta; + @Asn1Property(tag = 1, optional = true) + private NodeAttributeSetXY attributes; + + public NodeOffsetPointXY getDelta() { + return delta; + } + + public void setDelta(NodeOffsetPointXY delta) { + this.delta = delta; + } + + public NodeAttributeSetXY getAttributes() { + return attributes; + } + + public void setAttributes(NodeAttributeSetXY attributes) { + this.attributes = attributes; + } + + NodeXY() { + super(true); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_24B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_24B.java new file mode 100644 index 000000000..cafdac04e --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_24B.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_LL_24B extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = OffsetLL_B12.OffsetLL_B12Deserializer.class) + private OffsetLL_B12 lon; + @Asn1Property(tag = 1) + @JsonDeserialize(using = OffsetLL_B12.OffsetLL_B12Deserializer.class) + private OffsetLL_B12 lat; + + public OffsetLL_B12 getLon() { + return lon; + } + + public void setLon(OffsetLL_B12 lon) { + this.lon = lon; + } + + public OffsetLL_B12 getLat() { + return lat; + } + + public void setLat(OffsetLL_B12 lat) { + this.lat = lat; + } + + Node_LL_24B() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_28B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_28B.java new file mode 100644 index 000000000..4aa6d9b66 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_28B.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_LL_28B extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = OffsetLL_B14.OffsetLL_B14Deserializer.class) + private OffsetLL_B14 lon; + @Asn1Property(tag = 1) + @JsonDeserialize(using = OffsetLL_B14.OffsetLL_B14Deserializer.class) + private OffsetLL_B14 lat; + + public OffsetLL_B14 getLon() { + return lon; + } + + public void setLon(OffsetLL_B14 lon) { + this.lon = lon; + } + + public OffsetLL_B14 getLat() { + return lat; + } + + public void setLat(OffsetLL_B14 lat) { + this.lat = lat; + } + + Node_LL_28B() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_32B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_32B.java new file mode 100644 index 000000000..bb16587be --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_32B.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_LL_32B extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = OffsetLL_B16.OffsetLL_B16Deserializer.class) + private OffsetLL_B16 lon; + @Asn1Property(tag = 1) + @JsonDeserialize(using = OffsetLL_B16.OffsetLL_B16Deserializer.class) + private OffsetLL_B16 lat; + + public OffsetLL_B16 getLon() { + return lon; + } + + public void setLon(OffsetLL_B16 lon) { + this.lon = lon; + } + + public OffsetLL_B16 getLat() { + return lat; + } + + public void setLat(OffsetLL_B16 lat) { + this.lat = lat; + } + + Node_LL_32B() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_36B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_36B.java new file mode 100644 index 000000000..2397c1578 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_36B.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_LL_36B extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = OffsetLL_B18.OffsetLL_B18Deserializer.class) + private OffsetLL_B18 lon; + @Asn1Property(tag = 1) + @JsonDeserialize(using = OffsetLL_B18.OffsetLL_B18Deserializer.class) + private OffsetLL_B18 lat; + + public OffsetLL_B18 getLon() { + return lon; + } + + public void setLon(OffsetLL_B18 lon) { + this.lon = lon; + } + + public OffsetLL_B18 getLat() { + return lat; + } + + public void setLat(OffsetLL_B18 lat) { + this.lat = lat; + } + + Node_LL_36B() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_44B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_44B.java new file mode 100644 index 000000000..2646045ff --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_44B.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_LL_44B extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = OffsetLL_B22.OffsetLL_B22Deserializer.class) + private OffsetLL_B22 lon; + @Asn1Property(tag = 1) + @JsonDeserialize(using = OffsetLL_B22.OffsetLL_B22Deserializer.class) + private OffsetLL_B22 lat; + + public OffsetLL_B22 getLon() { + return lon; + } + + public void setLon(OffsetLL_B22 lon) { + this.lon = lon; + } + + public OffsetLL_B22 getLat() { + return lat; + } + + public void setLat(OffsetLL_B22 lat) { + this.lat = lat; + } + + Node_LL_44B() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_48B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_48B.java new file mode 100644 index 000000000..ea50e345e --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_48B.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_LL_48B extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = OffsetLL_B24.OffsetLL_B24Deserializer.class) + private OffsetLL_B24 lon; + @Asn1Property(tag = 1) + @JsonDeserialize(using = OffsetLL_B24.OffsetLL_B24Deserializer.class) + private OffsetLL_B24 lat; + + public OffsetLL_B24 getLon() { + return lon; + } + + public void setLon(OffsetLL_B24 lon) { + this.lon = lon; + } + + public OffsetLL_B24 getLat() { + return lat; + } + + public void setLat(OffsetLL_B24 lat) { + this.lat = lat; + } + + Node_LL_48B() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LLmD_64b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LLmD_64b.java new file mode 100644 index 000000000..2606a44da --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LLmD_64b.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_LLmD_64b extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = Longitude.LongitudeDeserializer.class) + private Longitude lon; + @Asn1Property(tag = 1) + @JsonDeserialize(using = Latitude.LatitudeDeserializer.class) + private Latitude lat; + + public Longitude getLon() { + return lon; + } + + public void setLon(Longitude lon) { + this.lon = lon; + } + + public Latitude getLat() { + return lat; + } + + public void setLat(Latitude lat) { + this.lat = lat; + } + + Node_LLmD_64b() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_20b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_20b.java new file mode 100644 index 000000000..f17e29f10 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_20b.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_XY_20b extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + private Offset_B10 x; + @Asn1Property(tag = 1) + @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + private Offset_B10 y; + + public Offset_B10 getX() { + return x; + } + + public void setX(Offset_B10 x) { + this.x = x; + } + + public Offset_B10 getY() { + return y; + } + + public void setY(Offset_B10 y) { + this.y = y; + } + + Node_XY_20b() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_22b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_22b.java new file mode 100644 index 000000000..22f230750 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_22b.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_XY_22b extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = Offset_B11.Offset_B11Deserializer.class) + private Offset_B11 x; + @Asn1Property(tag = 1) + @JsonDeserialize(using = Offset_B11.Offset_B11Deserializer.class) + private Offset_B11 y; + + public Offset_B11 getX() { + return x; + } + + public void setX(Offset_B11 x) { + this.x = x; + } + + public Offset_B11 getY() { + return y; + } + + public void setY(Offset_B11 y) { + this.y = y; + } + + Node_XY_22b() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_24b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_24b.java new file mode 100644 index 000000000..4f3496f66 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_24b.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_XY_24b extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = Offset_B12.Offset_B12Deserializer.class) + private Offset_B12 x; + @Asn1Property(tag = 1) + @JsonDeserialize(using = Offset_B12.Offset_B12Deserializer.class) + private Offset_B12 y; + + public Offset_B12 getX() { + return x; + } + + public void setX(Offset_B12 x) { + this.x = x; + } + + public Offset_B12 getY() { + return y; + } + + public void setY(Offset_B12 y) { + this.y = y; + } + + Node_XY_24b() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_26b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_26b.java new file mode 100644 index 000000000..ba0775433 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_26b.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_XY_26b extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = Offset_B13.Offset_B13Deserializer.class) + private Offset_B13 x; + @Asn1Property(tag = 1) + @JsonDeserialize(using = Offset_B13.Offset_B13Deserializer.class) + private Offset_B13 y; + + public Offset_B13 getX() { + return x; + } + + public void setX(Offset_B13 x) { + this.x = x; + } + + public Offset_B13 getY() { + return y; + } + + public void setY(Offset_B13 y) { + this.y = y; + } + + Node_XY_26b() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_28b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_28b.java new file mode 100644 index 000000000..4ce74eb15 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_28b.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_XY_28b extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = Offset_B14.Offset_B14Deserializer.class) + private Offset_B14 x; + @Asn1Property(tag = 1) + @JsonDeserialize(using = Offset_B14.Offset_B14Deserializer.class) + private Offset_B14 y; + + public Offset_B14 getX() { + return x; + } + + public void setX(Offset_B14 x) { + this.x = x; + } + + public Offset_B14 getY() { + return y; + } + + public void setY(Offset_B14 y) { + this.y = y; + } + + Node_XY_28b() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_32b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_32b.java new file mode 100644 index 000000000..90ee3098a --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_32b.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Node_XY_32b extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = Offset_B16.Offset_B16Deserializer.class) + private Offset_B16 x; + @Asn1Property(tag = 1) + @JsonDeserialize(using = Offset_B16.Offset_B16Deserializer.class) + private Offset_B16 y; + + public Offset_B16 getX() { + return x; + } + + public void setX(Offset_B16 x) { + this.x = x; + } + + public Offset_B16 getY() { + return y; + } + + public void setY(Offset_B16 y) { + this.y = y; + } + + Node_XY_32b() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B12.java new file mode 100644 index 000000000..f282c913d --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B12.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class OffsetLL_B12 extends Asn1Integer { + + public OffsetLL_B12() { + super(-2048L, 2047L); + } + + @JsonCreator + public OffsetLL_B12(long value) { + this(); + this.value = value; + } + + public static class OffsetLL_B12Deserializer extends IntegerDeserializer { + public OffsetLL_B12Deserializer() { + super(OffsetLL_B12.class); + } + + @Override + protected OffsetLL_B12 construct() { + return new OffsetLL_B12(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B14.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B14.java new file mode 100644 index 000000000..b072d3e1c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B14.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class OffsetLL_B14 extends Asn1Integer { + + public OffsetLL_B14() { + super(-8192L, 8191L); + } + + @JsonCreator + public OffsetLL_B14(long value) { + this(); + this.value = value; + } + + public static class OffsetLL_B14Deserializer extends IntegerDeserializer { + public OffsetLL_B14Deserializer() { + super(OffsetLL_B14.class); + } + + @Override + protected OffsetLL_B14 construct() { + return new OffsetLL_B14(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B16.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B16.java new file mode 100644 index 000000000..858fe7db1 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B16.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class OffsetLL_B16 extends Asn1Integer { + + public OffsetLL_B16() { + super(-32768L, 32767L); + } + + @JsonCreator + public OffsetLL_B16(long value) { + this(); + this.value = value; + } + + public static class OffsetLL_B16Deserializer extends IntegerDeserializer { + public OffsetLL_B16Deserializer() { + super(OffsetLL_B16.class); + } + + @Override + protected OffsetLL_B16 construct() { + return new OffsetLL_B16(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B18.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B18.java new file mode 100644 index 000000000..a3c10390d --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B18.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class OffsetLL_B18 extends Asn1Integer { + + public OffsetLL_B18() { + super(-131072L, 131071L); + } + + @JsonCreator + public OffsetLL_B18(long value) { + this(); + this.value = value; + } + + public static class OffsetLL_B18Deserializer extends IntegerDeserializer { + public OffsetLL_B18Deserializer() { + super(OffsetLL_B18.class); + } + + @Override + protected OffsetLL_B18 construct() { + return new OffsetLL_B18(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B22.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B22.java new file mode 100644 index 000000000..e7cb154cf --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B22.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class OffsetLL_B22 extends Asn1Integer { + + public OffsetLL_B22() { + super(-2097152L, 2097151L); + } + + @JsonCreator + public OffsetLL_B22(long value) { + this(); + this.value = value; + } + + public static class OffsetLL_B22Deserializer extends IntegerDeserializer { + public OffsetLL_B22Deserializer() { + super(OffsetLL_B22.class); + } + + @Override + protected OffsetLL_B22 construct() { + return new OffsetLL_B22(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B24.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B24.java new file mode 100644 index 000000000..43fc5e189 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B24.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class OffsetLL_B24 extends Asn1Integer { + + public OffsetLL_B24() { + super(-8388608L, 8388607L); + } + + @JsonCreator + public OffsetLL_B24(long value) { + this(); + this.value = value; + } + + public static class OffsetLL_B24Deserializer extends IntegerDeserializer { + public OffsetLL_B24Deserializer() { + super(OffsetLL_B24.class); + } + + @Override + protected OffsetLL_B24 construct() { + return new OffsetLL_B24(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetSystem.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetSystem.java new file mode 100644 index 000000000..97f5bec2e --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetSystem.java @@ -0,0 +1,93 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import java.util.List; +import java.util.Optional; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class OffsetSystem extends Asn1Sequence { + + @Asn1Property(tag = 0, optional = true) + @JsonDeserialize(using = Zoom.ZoomDeserializer.class) + private Zoom scale; + @Asn1Property(tag = 1) + private OffsetChoice offset; + + public Zoom getScale() { + return scale; + } + + public void setScale(Zoom scale) { + this.scale = scale; + } + + @JsonInclude(Include.NON_NULL) + public static class OffsetChoice extends Asn1Choice { + @Asn1Property(tag = 0) + private NodeListXY xy; + @Asn1Property(tag = 1) + private NodeListLL ll; + + OffsetChoice() { + super(false); + } + + public NodeListXY getXy() { + return xy; + } + + public void setXy(NodeListXY xy) { + this.xy = xy; + } + + public NodeListLL getLl() { + return ll; + } + + public void setLl(NodeListLL ll) { + this.ll = ll; + } + + @Override + protected List> listTypes() { + return null; + } + } + + public OffsetChoice getOffset() { + return offset; + } + + public void setOffset(OffsetChoice offset) { + this.offset = offset; + } + + OffsetSystem() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B10.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B10.java new file mode 100644 index 000000000..ad6e0e1bd --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B10.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Offset_B10 extends Asn1Integer { + + public Offset_B10() { + super(-512L, 511L); + } + + @JsonCreator + public Offset_B10(long value) { + this(); + this.value = value; + } + + public static class Offset_B10Deserializer extends IntegerDeserializer { + public Offset_B10Deserializer() { + super(Offset_B10.class); + } + + @Override + protected Offset_B10 construct() { + return new Offset_B10(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B11.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B11.java new file mode 100644 index 000000000..7e725904b --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B11.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Offset_B11 extends Asn1Integer { + + public Offset_B11() { + super(-1024L, 1023L); + } + + @JsonCreator + public Offset_B11(long value) { + this(); + this.value = value; + } + + public static class Offset_B11Deserializer extends IntegerDeserializer { + public Offset_B11Deserializer() { + super(Offset_B11.class); + } + + @Override + protected Offset_B11 construct() { + return new Offset_B11(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B12.java new file mode 100644 index 000000000..1e3b29519 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B12.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Offset_B12 extends Asn1Integer { + + public Offset_B12() { + super(-2048L, 2047L); + } + + @JsonCreator + public Offset_B12(long value) { + this(); + this.value = value; + } + + public static class Offset_B12Deserializer extends IntegerDeserializer { + public Offset_B12Deserializer() { + super(Offset_B12.class); + } + + @Override + protected Offset_B12 construct() { + return new Offset_B12(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B13.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B13.java new file mode 100644 index 000000000..97cee3e55 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B13.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Offset_B13 extends Asn1Integer { + + public Offset_B13() { + super(-4096L, 4095L); + } + + @JsonCreator + public Offset_B13(long value) { + this(); + this.value = value; + } + + public static class Offset_B13Deserializer extends IntegerDeserializer { + public Offset_B13Deserializer() { + super(Offset_B13.class); + } + + @Override + protected Offset_B13 construct() { + return new Offset_B13(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B14.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B14.java new file mode 100644 index 000000000..1c16d7d4a --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B14.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Offset_B14 extends Asn1Integer { + + public Offset_B14() { + super(-8192L, 8191L); + } + + @JsonCreator + public Offset_B14(long value) { + this(); + this.value = value; + } + + public static class Offset_B14Deserializer extends IntegerDeserializer { + public Offset_B14Deserializer() { + super(Offset_B14.class); + } + + @Override + protected Offset_B14 construct() { + return new Offset_B14(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B16.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B16.java new file mode 100644 index 000000000..78413d799 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B16.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Offset_B16 extends Asn1Integer { + + public Offset_B16() { + super(-32768L, 32767L); + } + + @JsonCreator + public Offset_B16(long value) { + this(); + this.value = value; + } + + public static class Offset_B16Deserializer extends IntegerDeserializer { + public Offset_B16Deserializer() { + super(Offset_B16.class); + } + + @Override + protected Offset_B16 construct() { + return new Offset_B16(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Position3D.java new file mode 100644 index 000000000..1bc3db597 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Position3D.java @@ -0,0 +1,89 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.annotation.JsonProperty; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_Position3D; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class Position3D extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = Latitude.LatitudeDeserializer.class) + private Latitude lat; + @Asn1Property(tag = 1, name = "long") + @JsonProperty("long") + @JsonDeserialize(using = Longitude.LongitudeDeserializer.class) + private Longitude long_; + @Asn1Property(tag = 2, optional = true) + @JsonDeserialize(using = Elevation.ElevationDeserializer.class) + private Elevation elevation; + @Asn1Property(tag = 3, optional = true) + private SequenceOfRegional regional; + + public Latitude getLat() { + return lat; + } + + public void setLat(Latitude lat) { + this.lat = lat; + } + + public Longitude getLong_() { + return long_; + } + + public void setLong_(Longitude long_) { + this.long_ = long_; + } + + public Elevation getElevation() { + return elevation; + } + + public void setElevation(Elevation elevation) { + this.elevation = elevation; + } + + @JsonInclude(Include.NON_NULL) + public static class SequenceOfRegional extends Asn1SequenceOf { + SequenceOfRegional() { + super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_Position3D.class, 1L, 4L); + } + } + + public SequenceOfRegional getRegional() { + return regional; + } + + public void setRegional(SequenceOfRegional regional) { + this.regional = regional; + } + + Position3D() { + super(true); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Radius_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Radius_B12.java new file mode 100644 index 000000000..3afbfed59 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Radius_B12.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Radius_B12 extends Asn1Integer { + + public Radius_B12() { + super(0L, 4095L); + } + + @JsonCreator + public Radius_B12(long value) { + this(); + this.value = value; + } + + public static class Radius_B12Deserializer extends IntegerDeserializer { + public Radius_B12Deserializer() { + super(Radius_B12.class); + } + + @Override + protected Radius_B12 construct() { + return new Radius_B12(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionId.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionId.java new file mode 100644 index 000000000..82bbe65ef --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionId.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class RegionId extends Asn1Integer { + + public RegionId() { + super(0L, 255L); + } + + @JsonCreator + public RegionId(long value) { + this(); + this.value = value; + } + + public static class RegionIdDeserializer extends IntegerDeserializer { + public RegionIdDeserializer() { + super(RegionId.class); + } + + @Override + protected RegionId construct() { + return new RegionId(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionList.java new file mode 100644 index 000000000..2a179fda2 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionList.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class RegionList extends Asn1SequenceOf { + + RegionList() { + super(RegionOffsets.class, 1L, 64L); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionOffsets.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionOffsets.java new file mode 100644 index 000000000..61437bc13 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionOffsets.java @@ -0,0 +1,68 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class RegionOffsets extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = OffsetLL_B16.OffsetLL_B16Deserializer.class) + private OffsetLL_B16 xOffset; + @Asn1Property(tag = 1) + @JsonDeserialize(using = OffsetLL_B16.OffsetLL_B16Deserializer.class) + private OffsetLL_B16 yOffset; + @Asn1Property(tag = 2, optional = true) + @JsonDeserialize(using = OffsetLL_B16.OffsetLL_B16Deserializer.class) + private OffsetLL_B16 zOffset; + + public OffsetLL_B16 getXOffset() { + return xOffset; + } + + public void setXOffset(OffsetLL_B16 xOffset) { + this.xOffset = xOffset; + } + + public OffsetLL_B16 getYOffset() { + return yOffset; + } + + public void setYOffset(OffsetLL_B16 yOffset) { + this.yOffset = yOffset; + } + + public OffsetLL_B16 getZOffset() { + return zOffset; + } + + public void setZOffset(OffsetLL_B16 zOffset) { + this.zOffset = zOffset; + } + + RegionOffsets() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionPointSet.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionPointSet.java new file mode 100644 index 000000000..a2c133bfb --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionPointSet.java @@ -0,0 +1,70 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class RegionPointSet extends Asn1Sequence { + + @Asn1Property(tag = 0, optional = true) + private Position3D anchor; + @Asn1Property(tag = 1, optional = true) + @JsonDeserialize(using = Zoom.ZoomDeserializer.class) + private Zoom scale; + @Asn1Property(tag = 2) + @JacksonXmlElementWrapper(localName = "nodeList") + @JacksonXmlProperty(localName = "RegionOffsets") + private RegionList nodeList; + + public Position3D getAnchor() { + return anchor; + } + + public void setAnchor(Position3D anchor) { + this.anchor = anchor; + } + + public Zoom getScale() { + return scale; + } + + public void setScale(Zoom scale) { + this.scale = scale; + } + + public RegionList getNodeList() { + return nodeList; + } + + public void setNodeList(RegionList nodeList) { + this.nodeList = nodeList; + } + + RegionPointSet() { + super(true); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionalExtension.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionalExtension.java new file mode 100644 index 000000000..2c029c459 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionalExtension.java @@ -0,0 +1,63 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +abstract public class RegionalExtension extends Asn1Sequence { + + @JsonIgnore + @JsonDeserialize(using = RegionId.RegionIdDeserializer.class) + final protected RegionId regionId; + @JsonIgnore + final protected String name; + private TValue regExtValue; + public final static String INFORMATION_OBJECT_CLASS = "REG_EXT_ID_AND_TYPE"; + + public RegionId getRegionId() { + return regionId; + } + + public String getName() { + return name; + } + + @JsonProperty("regionId") + public String getIdString() { + return regionId.toString(); + } + + public TValue getRegExtValue() { + return regExtValue; + } + + public void setRegExtValue(TValue regExtValue) { + this.regExtValue = regExtValue; + } + + public RegionalExtension(int id, String name) { + super(true); + var theId = new RegionId(); + theId.setValue(id); + this.regionId = theId; + this.name = name; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegulatorySpeedLimit.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegulatorySpeedLimit.java new file mode 100644 index 000000000..752adcad7 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegulatorySpeedLimit.java @@ -0,0 +1,56 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class RegulatorySpeedLimit extends Asn1Sequence { + + @Asn1Property(tag = 0) + private SpeedLimitType type; + @Asn1Property(tag = 1) + @JsonDeserialize(using = Velocity.VelocityDeserializer.class) + private Velocity speed; + + public SpeedLimitType getType() { + return type; + } + + public void setType(SpeedLimitType type) { + this.type = type; + } + + public Velocity getSpeed() { + return speed; + } + + public void setSpeed(Velocity speed) { + this.speed = speed; + } + + RegulatorySpeedLimit() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadRegulatorID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadRegulatorID.java new file mode 100644 index 000000000..cbc2e5cc0 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadRegulatorID.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class RoadRegulatorID extends Asn1Integer { + + public RoadRegulatorID() { + super(0L, 65535L); + } + + @JsonCreator + public RoadRegulatorID(long value) { + this(); + this.value = value; + } + + public static class RoadRegulatorIDDeserializer extends IntegerDeserializer { + public RoadRegulatorIDDeserializer() { + super(RoadRegulatorID.class); + } + + @Override + protected RoadRegulatorID construct() { + return new RoadRegulatorID(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentID.java new file mode 100644 index 000000000..e776a933c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentID.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class RoadSegmentID extends Asn1Integer { + + public RoadSegmentID() { + super(0L, 65535L); + } + + @JsonCreator + public RoadSegmentID(long value) { + this(); + this.value = value; + } + + public static class RoadSegmentIDDeserializer extends IntegerDeserializer { + public RoadSegmentIDDeserializer() { + super(RoadSegmentID.class); + } + + @Override + protected RoadSegmentID construct() { + return new RoadSegmentID(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentReferenceID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentReferenceID.java new file mode 100644 index 000000000..5ba6bfc45 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentReferenceID.java @@ -0,0 +1,57 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class RoadSegmentReferenceID extends Asn1Sequence { + + @Asn1Property(tag = 0, optional = true) + @JsonDeserialize(using = RoadRegulatorID.RoadRegulatorIDDeserializer.class) + private RoadRegulatorID region; + @Asn1Property(tag = 1) + @JsonDeserialize(using = RoadSegmentID.RoadSegmentIDDeserializer.class) + private RoadSegmentID id; + + public RoadRegulatorID getRegion() { + return region; + } + + public void setRegion(RoadRegulatorID region) { + this.region = region; + } + + public RoadSegmentID getId() { + return id; + } + + public void setId(RoadSegmentID id) { + this.id = id; + } + + RoadSegmentReferenceID() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSignID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSignID.java new file mode 100644 index 000000000..c934089d4 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSignID.java @@ -0,0 +1,74 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class RoadSignID extends Asn1Sequence { + + @Asn1Property(tag = 0) + private Position3D position; + @Asn1Property(tag = 1) + private HeadingSlice viewAngle; + @Asn1Property(tag = 2, optional = true) + private MUTCDCode mutcdCode; + @Asn1Property(tag = 3, optional = true) + private MsgCRC crc; + + public Position3D getPosition() { + return position; + } + + public void setPosition(Position3D position) { + this.position = position; + } + + public HeadingSlice getViewAngle() { + return viewAngle; + } + + public void setViewAngle(HeadingSlice viewAngle) { + this.viewAngle = viewAngle; + } + + public MUTCDCode getMutcdCode() { + return mutcdCode; + } + + public void setMutcdCode(MUTCDCode mutcdCode) { + this.mutcdCode = mutcdCode; + } + + public MsgCRC getCrc() { + return crc; + } + + public void setCrc(MsgCRC crc) { + this.crc = crc; + } + + RoadSignID() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadwayCrownAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadwayCrownAngle.java new file mode 100644 index 000000000..b0ece2916 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadwayCrownAngle.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class RoadwayCrownAngle extends Asn1Integer { + + public RoadwayCrownAngle() { + super(-128L, 127L); + } + + @JsonCreator + public RoadwayCrownAngle(long value) { + this(); + this.value = value; + } + + public static class RoadwayCrownAngleDeserializer extends IntegerDeserializer { + public RoadwayCrownAngleDeserializer() { + super(RoadwayCrownAngle.class); + } + + @Override + protected RoadwayCrownAngle construct() { + return new RoadwayCrownAngle(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SSPindex.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SSPindex.java new file mode 100644 index 000000000..fef0ff80d --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SSPindex.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class SSPindex extends Asn1Integer { + + public SSPindex() { + super(0L, 31L); + } + + @JsonCreator + public SSPindex(long value) { + this(); + this.value = value; + } + + public static class SSPindexDeserializer extends IntegerDeserializer { + public SSPindexDeserializer() { + super(SSPindex.class); + } + + @Override + protected SSPindex construct() { + return new SSPindex(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Scale_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Scale_B12.java new file mode 100644 index 000000000..0a712a5fb --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Scale_B12.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Scale_B12 extends Asn1Integer { + + public Scale_B12() { + super(-2048L, 2047L); + } + + @JsonCreator + public Scale_B12(long value) { + this(); + this.value = value; + } + + public static class Scale_B12Deserializer extends IntegerDeserializer { + public Scale_B12Deserializer() { + super(Scale_B12.class); + } + + @Override + protected Scale_B12 construct() { + return new Scale_B12(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLL.java new file mode 100644 index 000000000..fbf188d3c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLL.java @@ -0,0 +1,104 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonSerialize(using = SegmentAttributeLLSerializer.class) +@JsonDeserialize(using = SegmentAttributeLLDeserializer.class) +public enum SegmentAttributeLL implements Asn1Enumerated { + reserved(0, "reserved"), doNotBlock(1, "doNotBlock"), whiteLine(2, "whiteLine"), mergingLaneLeft(3, + "mergingLaneLeft"), mergingLaneRight(4, "mergingLaneRight"), curbOnLeft(5, "curbOnLeft"), curbOnRight(6, + "curbOnRight"), loadingzoneOnLeft(7, "loadingzoneOnLeft"), loadingzoneOnRight(8, + "loadingzoneOnRight"), turnOutPointOnLeft(9, "turnOutPointOnLeft"), turnOutPointOnRight(10, + "turnOutPointOnRight"), adjacentParkingOnLeft(11, + "adjacentParkingOnLeft"), adjacentParkingOnRight(12, + "adjacentParkingOnRight"), adjacentBikeLaneOnLeft(13, + "adjacentBikeLaneOnLeft"), adjacentBikeLaneOnRight(14, + "adjacentBikeLaneOnRight"), sharedBikeLane(15, + "sharedBikeLane"), bikeBoxInFront(16, + "bikeBoxInFront"), transitStopOnLeft( + 17, + "transitStopOnLeft"), transitStopOnRight( + 18, + "transitStopOnRight"), transitStopInLane( + 19, + "transitStopInLane"), sharedWithTrackedVehicle( + 20, + "sharedWithTrackedVehicle"), safeIsland( + 21, + "safeIsland"), lowCurbsPresent( + 22, + "lowCurbsPresent"), rumbleStripPresent( + 23, + "rumbleStripPresent"), audibleSignalingPresent( + 24, + "audibleSignalingPresent"), adaptiveTimingPresent( + 25, + "adaptiveTimingPresent"), rfSignalRequestPresent( + 26, + "rfSignalRequestPresent"), partialCurbIntrusion( + 27, + "partialCurbIntrusion"), taperToLeft( + 28, + "taperToLeft"), taperToRight( + 29, + "taperToRight"), taperToCenterLine( + 30, + "taperToCenterLine"), parallelParking( + 31, + "parallelParking"), headInParking( + 32, + "headInParking"), freeParking( + 33, + "freeParking"), timeRestrictionsOnParking( + 34, + "timeRestrictionsOnParking"), costToPark( + 35, + "costToPark"), midBlockCurbPresent( + 36, + "midBlockCurbPresent"), unEvenPavementPresent( + 37, + "unEvenPavementPresent"); + + private final int index; + private final String name; + + public int getIndex() { + return index; + } + + public String getName() { + return name; + } + + public boolean hasExtensionMarker() { + return false; + } + + private SegmentAttributeLL(int index, String name) { + this.index = index; + this.name = name; + } + + public int maxIndex() { + return 37; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLDeserializer.java new file mode 100644 index 000000000..b5820113e --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLDeserializer.java @@ -0,0 +1,32 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class SegmentAttributeLLDeserializer extends EnumeratedDeserializer { + + SegmentAttributeLLDeserializer() { + super(SegmentAttributeLL.class); + } + + @Override + protected SegmentAttributeLL[] listEnumValues() { + return SegmentAttributeLL.values(); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLList.java new file mode 100644 index 000000000..70e3a8055 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLList.java @@ -0,0 +1,49 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.serialization.SequenceOfEnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class SegmentAttributeLLList extends Asn1SequenceOf { + + SegmentAttributeLLList() { + super(SegmentAttributeLL.class, 1L, 8L); + } + + public static class SegmentAttributeLLListDeserializer + extends + SequenceOfEnumeratedDeserializer { + public SegmentAttributeLLListDeserializer() { + super(SegmentAttributeLLList.class, SegmentAttributeLL.class); + } + + @Override + protected SegmentAttributeLL[] listEnumValues() { + return SegmentAttributeLL.values(); + } + + @Override + protected SegmentAttributeLLList construct() { + return new SegmentAttributeLLList(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLSerializer.java new file mode 100644 index 000000000..13786839f --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLSerializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class SegmentAttributeLLSerializer extends EnumeratedSerializer { + + SegmentAttributeLLSerializer() { + super(SegmentAttributeLL.class); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXY.java new file mode 100644 index 000000000..db8bb5d45 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXY.java @@ -0,0 +1,104 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonSerialize(using = SegmentAttributeXYSerializer.class) +@JsonDeserialize(using = SegmentAttributeXYDeserializer.class) +public enum SegmentAttributeXY implements Asn1Enumerated { + reserved(0, "reserved"), doNotBlock(1, "doNotBlock"), whiteLine(2, "whiteLine"), mergingLaneLeft(3, + "mergingLaneLeft"), mergingLaneRight(4, "mergingLaneRight"), curbOnLeft(5, "curbOnLeft"), curbOnRight(6, + "curbOnRight"), loadingzoneOnLeft(7, "loadingzoneOnLeft"), loadingzoneOnRight(8, + "loadingzoneOnRight"), turnOutPointOnLeft(9, "turnOutPointOnLeft"), turnOutPointOnRight(10, + "turnOutPointOnRight"), adjacentParkingOnLeft(11, + "adjacentParkingOnLeft"), adjacentParkingOnRight(12, + "adjacentParkingOnRight"), adjacentBikeLaneOnLeft(13, + "adjacentBikeLaneOnLeft"), adjacentBikeLaneOnRight(14, + "adjacentBikeLaneOnRight"), sharedBikeLane(15, + "sharedBikeLane"), bikeBoxInFront(16, + "bikeBoxInFront"), transitStopOnLeft( + 17, + "transitStopOnLeft"), transitStopOnRight( + 18, + "transitStopOnRight"), transitStopInLane( + 19, + "transitStopInLane"), sharedWithTrackedVehicle( + 20, + "sharedWithTrackedVehicle"), safeIsland( + 21, + "safeIsland"), lowCurbsPresent( + 22, + "lowCurbsPresent"), rumbleStripPresent( + 23, + "rumbleStripPresent"), audibleSignalingPresent( + 24, + "audibleSignalingPresent"), adaptiveTimingPresent( + 25, + "adaptiveTimingPresent"), rfSignalRequestPresent( + 26, + "rfSignalRequestPresent"), partialCurbIntrusion( + 27, + "partialCurbIntrusion"), taperToLeft( + 28, + "taperToLeft"), taperToRight( + 29, + "taperToRight"), taperToCenterLine( + 30, + "taperToCenterLine"), parallelParking( + 31, + "parallelParking"), headInParking( + 32, + "headInParking"), freeParking( + 33, + "freeParking"), timeRestrictionsOnParking( + 34, + "timeRestrictionsOnParking"), costToPark( + 35, + "costToPark"), midBlockCurbPresent( + 36, + "midBlockCurbPresent"), unEvenPavementPresent( + 37, + "unEvenPavementPresent"); + + private final int index; + private final String name; + + public int getIndex() { + return index; + } + + public String getName() { + return name; + } + + public boolean hasExtensionMarker() { + return false; + } + + private SegmentAttributeXY(int index, String name) { + this.index = index; + this.name = name; + } + + public int maxIndex() { + return 37; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYDeserializer.java new file mode 100644 index 000000000..d576fd8fc --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYDeserializer.java @@ -0,0 +1,32 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class SegmentAttributeXYDeserializer extends EnumeratedDeserializer { + + SegmentAttributeXYDeserializer() { + super(SegmentAttributeXY.class); + } + + @Override + protected SegmentAttributeXY[] listEnumValues() { + return SegmentAttributeXY.values(); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYList.java new file mode 100644 index 000000000..ad4328245 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYList.java @@ -0,0 +1,49 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.serialization.SequenceOfEnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class SegmentAttributeXYList extends Asn1SequenceOf { + + SegmentAttributeXYList() { + super(SegmentAttributeXY.class, 1L, 8L); + } + + public static class SegmentAttributeXYListDeserializer + extends + SequenceOfEnumeratedDeserializer { + public SegmentAttributeXYListDeserializer() { + super(SegmentAttributeXYList.class, SegmentAttributeXY.class); + } + + @Override + protected SegmentAttributeXY[] listEnumValues() { + return SegmentAttributeXY.values(); + } + + @Override + protected SegmentAttributeXYList construct() { + return new SegmentAttributeXYList(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYSerializer.java new file mode 100644 index 000000000..799bf39ee --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYSerializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class SegmentAttributeXYSerializer extends EnumeratedSerializer { + + SegmentAttributeXYSerializer() { + super(SegmentAttributeXY.class); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ShapePointSet.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ShapePointSet.java new file mode 100644 index 000000000..40a5e653a --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ShapePointSet.java @@ -0,0 +1,76 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class ShapePointSet extends Asn1Sequence { + + @Asn1Property(tag = 0, optional = true) + private Position3D anchor; + @Asn1Property(tag = 1, optional = true) + @JsonDeserialize(using = LaneWidth.LaneWidthDeserializer.class) + private LaneWidth laneWidth; + @Asn1Property(tag = 2, optional = true) + private DirectionOfUse directionality; + @Asn1Property(tag = 3) + private NodeListXY nodeList; + + public Position3D getAnchor() { + return anchor; + } + + public void setAnchor(Position3D anchor) { + this.anchor = anchor; + } + + public LaneWidth getLaneWidth() { + return laneWidth; + } + + public void setLaneWidth(LaneWidth laneWidth) { + this.laneWidth = laneWidth; + } + + public DirectionOfUse getDirectionality() { + return directionality; + } + + public void setDirectionality(DirectionOfUse directionality) { + this.directionality = directionality; + } + + public NodeListXY getNodeList() { + return nodeList; + } + + public void setNodeList(NodeListXY nodeList) { + this.nodeList = nodeList; + } + + ShapePointSet() { + super(true); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SignPrority.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SignPrority.java new file mode 100644 index 000000000..ff7768c97 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SignPrority.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class SignPrority extends Asn1Integer { + + public SignPrority() { + super(0L, 7L); + } + + @JsonCreator + public SignPrority(long value) { + this(); + this.value = value; + } + + public static class SignProrityDeserializer extends IntegerDeserializer { + public SignProrityDeserializer() { + super(SignPrority.class); + } + + @Override + protected SignPrority construct() { + return new SignPrority(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimit.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimit.java new file mode 100644 index 000000000..6c571a6a1 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimit.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class SpeedLimit extends Asn1SequenceOf { + + SpeedLimit() { + super(SpeedLimitSequence.class, 1L, 16L); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitList.java new file mode 100644 index 000000000..c59418f0f --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitList.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class SpeedLimitList extends Asn1SequenceOf { + + SpeedLimitList() { + super(RegulatorySpeedLimit.class, 1L, 9L); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitSequence.java new file mode 100644 index 000000000..badf6e86a --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitSequence.java @@ -0,0 +1,84 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.j2735.ITIS.ITIScodes; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import java.util.List; +import java.util.Optional; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class SpeedLimitSequence extends Asn1Sequence { + + @Asn1Property(tag = 0) + private ItemChoice item; + + @JsonInclude(Include.NON_NULL) + public static class ItemChoice extends Asn1Choice { + @Asn1Property(tag = 0) + @JsonDeserialize(using = ITIScodes.ITIScodesDeserializer.class) + private ITIScodes itis; + @Asn1Property(tag = 1) + private ITIStextPhrase text; + + ItemChoice() { + super(false); + } + + public ITIScodes getItis() { + return itis; + } + + public void setItis(ITIScodes itis) { + this.itis = itis; + } + + public ITIStextPhrase getText() { + return text; + } + + public void setText(ITIStextPhrase text) { + this.text = text; + } + + @Override + protected List> listTypes() { + return null; + } + } + + public ItemChoice getItem() { + return item; + } + + public void setItem(ItemChoice item) { + this.item = item; + } + + SpeedLimitSequence() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitType.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitType.java new file mode 100644 index 000000000..a1d936415 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitType.java @@ -0,0 +1,60 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonSerialize(using = SpeedLimitTypeSerializer.class) +@JsonDeserialize(using = SpeedLimitTypeDeserializer.class) +public enum SpeedLimitType implements Asn1Enumerated { + unknown(0, "unknown"), maxSpeedInSchoolZone(1, "maxSpeedInSchoolZone"), maxSpeedInSchoolZoneWhenChildrenArePresent( + 2, "maxSpeedInSchoolZoneWhenChildrenArePresent"), maxSpeedInConstructionZone(3, + "maxSpeedInConstructionZone"), vehicleMinSpeed(4, "vehicleMinSpeed"), vehicleMaxSpeed(5, + "vehicleMaxSpeed"), vehicleNightMaxSpeed(6, "vehicleNightMaxSpeed"), truckMinSpeed(7, + "truckMinSpeed"), truckMaxSpeed(8, "truckMaxSpeed"), truckNightMaxSpeed(9, + "truckNightMaxSpeed"), vehiclesWithTrailersMinSpeed(10, + "vehiclesWithTrailersMinSpeed"), vehiclesWithTrailersMaxSpeed(11, + "vehiclesWithTrailersMaxSpeed"), vehiclesWithTrailersNightMaxSpeed( + 12, "vehiclesWithTrailersNightMaxSpeed"); + + private final int index; + private final String name; + + public int getIndex() { + return index; + } + + public String getName() { + return name; + } + + public boolean hasExtensionMarker() { + return false; + } + + private SpeedLimitType(int index, String name) { + this.index = index; + this.name = name; + } + + public int maxIndex() { + return 12; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeDeserializer.java new file mode 100644 index 000000000..a5eff73e4 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeDeserializer.java @@ -0,0 +1,32 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class SpeedLimitTypeDeserializer extends EnumeratedDeserializer { + + SpeedLimitTypeDeserializer() { + super(SpeedLimitType.class); + } + + @Override + protected SpeedLimitType[] listEnumValues() { + return SpeedLimitType.values(); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeSerializer.java new file mode 100644 index 000000000..6f9482bf0 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeSerializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class SpeedLimitTypeSerializer extends EnumeratedSerializer { + + SpeedLimitTypeSerializer() { + super(SpeedLimitType.class); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java new file mode 100644 index 000000000..fc868e168 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java @@ -0,0 +1,355 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import java.util.List; +import java.util.Optional; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import us.dot.its.jpo.ode.plugin.j2735.ITIS.ITIScodesAndText; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.NestedSequenceOfDeserializer; +import us.dot.its.jpo.ode.plugin.serialization.NestedSequenceOfSerializer; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class TravelerDataFrame extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + private SSPindex notUsed; + @Asn1Property(tag = 1) + private TravelerInfoType frameType; + @Asn1Property(tag = 2) + private MsgIdChoice msgId; + @Asn1Property(tag = 3, optional = true) + @JsonDeserialize(using = DYear.DYearDeserializer.class) + private DYear startYear; + @Asn1Property(tag = 4) + @JsonDeserialize(using = MinuteOfTheYear.MinuteOfTheYearDeserializer.class) + private MinuteOfTheYear startTime; + @Asn1Property(tag = 5) + @JsonDeserialize(using = MinutesDuration.MinutesDurationDeserializer.class) + private MinutesDuration duratonTime; + @Asn1Property(tag = 6) + @JsonDeserialize(using = SignPrority.SignProrityDeserializer.class) + private SignPrority priority; + @Asn1Property(tag = 7) + @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + private SSPindex notUsed1; + @Asn1Property(tag = 8) + private SequenceOfRegions regions; + @Asn1Property(tag = 9) + @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + private SSPindex notUsed2; + @Asn1Property(tag = 10) + @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + private SSPindex notUsed3; + @Asn1Property(tag = 11) + private ContentChoice content; + @Asn1Property(tag = 12, optional = true) + private URL_Short url; + + public SSPindex getNotUsed() { + return notUsed; + } + + public void setNotUsed(SSPindex notUsed) { + this.notUsed = notUsed; + } + + public TravelerInfoType getFrameType() { + return frameType; + } + + public void setFrameType(TravelerInfoType frameType) { + this.frameType = frameType; + } + + @JsonInclude(Include.NON_NULL) + public static class MsgIdChoice extends Asn1Choice { + @Asn1Property(tag = 0) + private FurtherInfoID furtherInfoID; + @Asn1Property(tag = 1) + private RoadSignID roadSignID; + + MsgIdChoice() { + super(false); + } + + public FurtherInfoID getFurtherInfoID() { + return furtherInfoID; + } + + public void setFurtherInfoID(FurtherInfoID furtherInfoID) { + this.furtherInfoID = furtherInfoID; + } + + public RoadSignID getRoadSignID() { + return roadSignID; + } + + public void setRoadSignID(RoadSignID roadSignID) { + this.roadSignID = roadSignID; + } + + @Override + protected List> listTypes() { + return null; + } + } + + public MsgIdChoice getMsgId() { + return msgId; + } + + public void setMsgId(MsgIdChoice msgId) { + this.msgId = msgId; + } + + public DYear getStartYear() { + return startYear; + } + + public void setStartYear(DYear startYear) { + this.startYear = startYear; + } + + public MinuteOfTheYear getStartTime() { + return startTime; + } + + public void setStartTime(MinuteOfTheYear startTime) { + this.startTime = startTime; + } + + public MinutesDuration getDuratonTime() { + return duratonTime; + } + + public void setDuratonTime(MinutesDuration duratonTime) { + this.duratonTime = duratonTime; + } + + public SignPrority getPriority() { + return priority; + } + + public void setPriority(SignPrority priority) { + this.priority = priority; + } + + public SSPindex getNotUsed1() { + return notUsed1; + } + + public void setNotUsed1(SSPindex notUsed1) { + this.notUsed1 = notUsed1; + } + + @JsonInclude(Include.NON_NULL) + public static class SequenceOfRegions extends Asn1SequenceOf { + SequenceOfRegions() { + super(GeographicalPath.class, 1L, 16L); + } + } + + public SequenceOfRegions getRegions() { + return regions; + } + + public void setRegions(SequenceOfRegions regions) { + this.regions = regions; + } + + public SSPindex getNotUsed2() { + return notUsed2; + } + + public void setNotUsed2(SSPindex notUsed2) { + this.notUsed2 = notUsed2; + } + + public SSPindex getNotUsed3() { + return notUsed3; + } + + public void setNotUsed3(SSPindex notUsed3) { + this.notUsed3 = notUsed3; + } + + @JsonInclude(Include.NON_NULL) + public static class ContentChoice extends Asn1Choice { + @Asn1Property(tag = 0) + @JsonDeserialize(using = AdvisoryDeserializer.class) + @JsonSerialize(using = AdvisorySerializer.class) + private ITIScodesAndText advisory; + @Asn1Property(tag = 1) + @JsonDeserialize(using = WorkZoneDeserializer.class) + @JsonSerialize(using = WorkZoneSerializer.class) + private WorkZone workZone; + @Asn1Property(tag = 2) + @JsonDeserialize(using = GenericSignDeserializer.class) + @JsonSerialize(using = GenericSignSerializer.class) + private GenericSignage genericSign; + @Asn1Property(tag = 3) + @JsonDeserialize(using = SpeedLimitDeserializer.class) + @JsonSerialize(using = SpeedLimitSerializer.class) + private SpeedLimit speedLimit; + @Asn1Property(tag = 4) + @JsonDeserialize(using = ExitServiceDeserializer.class) + @JsonSerialize(using = ExitServiceSerializer.class) + private ExitService exitService; + + ContentChoice() { + super(false); + } + + public ITIScodesAndText getAdvisory() { + return advisory; + } + + public void setAdvisory(ITIScodesAndText advisory) { + this.advisory = advisory; + } + + public WorkZone getWorkZone() { + return workZone; + } + + public void setWorkZone(WorkZone workZone) { + this.workZone = workZone; + } + + public GenericSignage getGenericSign() { + return genericSign; + } + + public void setGenericSign(GenericSignage genericSign) { + this.genericSign = genericSign; + } + + public SpeedLimit getSpeedLimit() { + return speedLimit; + } + + public void setSpeedLimit(SpeedLimit speedLimit) { + this.speedLimit = speedLimit; + } + + public ExitService getExitService() { + return exitService; + } + + public void setExitService(ExitService exitService) { + this.exitService = exitService; + } + + @Override + protected List> listTypes() { + return null; + } + } + + public ContentChoice getContent() { + return content; + } + + public void setContent(ContentChoice content) { + this.content = content; + } + + public URL_Short getUrl() { + return url; + } + + public void setUrl(URL_Short url) { + this.url = url; + } + + TravelerDataFrame() { + super(true); + } + + public static class AdvisoryDeserializer extends NestedSequenceOfDeserializer { + public AdvisoryDeserializer() { + super(ITIScodesAndText.class, "SEQUENCE"); + } + } + + public static class AdvisorySerializer extends NestedSequenceOfSerializer { + public AdvisorySerializer() { + super(ITIScodesAndText.class, "SEQUENCE"); + } + } + + public static class WorkZoneDeserializer extends NestedSequenceOfDeserializer { + public WorkZoneDeserializer() { + super(WorkZone.class, "SEQUENCE"); + } + } + + public static class WorkZoneSerializer extends NestedSequenceOfSerializer { + public WorkZoneSerializer() { + super(WorkZone.class, "SEQUENCE"); + } + } + + public static class GenericSignDeserializer extends NestedSequenceOfDeserializer { + public GenericSignDeserializer() { + super(GenericSignage.class, "SEQUENCE"); + } + } + + public static class GenericSignSerializer extends NestedSequenceOfSerializer { + public GenericSignSerializer() { + super(GenericSignage.class, "SEQUENCE"); + } + } + + public static class SpeedLimitDeserializer extends NestedSequenceOfDeserializer { + public SpeedLimitDeserializer() { + super(SpeedLimit.class, "SEQUENCE"); + } + } + + public static class SpeedLimitSerializer extends NestedSequenceOfSerializer { + public SpeedLimitSerializer() { + super(SpeedLimit.class, "SEQUENCE"); + } + } + + public static class ExitServiceDeserializer extends NestedSequenceOfDeserializer { + public ExitServiceDeserializer() { + super(ExitService.class, "SEQUENCE"); + } + } + + public static class ExitServiceSerializer extends NestedSequenceOfSerializer { + public ExitServiceSerializer() { + super(ExitService.class, "SEQUENCE"); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrameList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrameList.java new file mode 100644 index 000000000..4b5e810be --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrameList.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class TravelerDataFrameList extends Asn1SequenceOf { + + TravelerDataFrameList() { + super(TravelerDataFrame.class, 1L, 8L); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoType.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoType.java new file mode 100644 index 000000000..206999c8c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoType.java @@ -0,0 +1,53 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonSerialize(using = TravelerInfoTypeSerializer.class) +@JsonDeserialize(using = TravelerInfoTypeDeserializer.class) +public enum TravelerInfoType implements Asn1Enumerated { + unknown(0, "unknown"), advisory(1, "advisory"), roadSignage(2, "roadSignage"), commercialSignage(3, + "commercialSignage"); + + private final int index; + private final String name; + + public int getIndex() { + return index; + } + + public String getName() { + return name; + } + + public boolean hasExtensionMarker() { + return false; + } + + private TravelerInfoType(int index, String name) { + this.index = index; + this.name = name; + } + + public int maxIndex() { + return 3; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeDeserializer.java new file mode 100644 index 000000000..7062d0455 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeDeserializer.java @@ -0,0 +1,32 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class TravelerInfoTypeDeserializer extends EnumeratedDeserializer { + + TravelerInfoTypeDeserializer() { + super(TravelerInfoType.class); + } + + @Override + protected TravelerInfoType[] listEnumValues() { + return TravelerInfoType.values(); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeSerializer.java new file mode 100644 index 000000000..f17d6c568 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeSerializer.java @@ -0,0 +1,27 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class TravelerInfoTypeSerializer extends EnumeratedSerializer { + + TravelerInfoTypeSerializer() { + super(TravelerInfoType.class); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java new file mode 100644 index 000000000..f83b11b43 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java @@ -0,0 +1,111 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +//import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_TravelerInformation; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class TravelerInformation extends Asn1Object { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = MsgCount.MsgCountDeserializer.class) + private MsgCount msgCnt; + @Asn1Property(tag = 1, optional = true) + @JsonDeserialize(using = MinuteOfTheYear.MinuteOfTheYearDeserializer.class) + private MinuteOfTheYear timeStamp; + @Asn1Property(tag = 2, optional = true) + private UniqueMSGID packetID; + @Asn1Property(tag = 3, optional = true) + private URL_Base urlB; + @Asn1Property(tag = 4) + @JacksonXmlElementWrapper(localName = "dataFrames") + @JacksonXmlProperty(localName = "TravelerDataFrame") + private TravelerDataFrameList dataFrames; + @Asn1Property(tag = 5, optional = true) + private SequenceOfRegional regional; + + public MsgCount getMsgCnt() { + return msgCnt; + } + + public void setMsgCnt(MsgCount msgCnt) { + this.msgCnt = msgCnt; + } + + public MinuteOfTheYear getTimeStamp() { + return timeStamp; + } + + public void setTimeStamp(MinuteOfTheYear timeStamp) { + this.timeStamp = timeStamp; + } + + public UniqueMSGID getPacketID() { + return packetID; + } + + public void setPacketID(UniqueMSGID packetID) { + this.packetID = packetID; + } + + public URL_Base getUrlB() { + return urlB; + } + + public void setUrlB(URL_Base urlB) { + this.urlB = urlB; + } + + public TravelerDataFrameList getDataFrames() { + return dataFrames; + } + + public void setDataFrames(TravelerDataFrameList dataFrames) { + this.dataFrames = dataFrames; + } + + @JsonInclude(Include.NON_NULL) + public static class SequenceOfRegional extends Asn1SequenceOf { + SequenceOfRegional() { + super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_TravelerInformation.class, 1L, 4L); + } + } + + public SequenceOfRegional getRegional() { + return regional; + } + + public void setRegional(SequenceOfRegional regional) { + this.regional = regional; + } + + // TravelerInformation() { + // super(true); + // } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Base.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Base.java new file mode 100644 index 000000000..a93a91c93 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Base.java @@ -0,0 +1,34 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.IA5String; +import com.fasterxml.jackson.annotation.JsonCreator; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class URL_Base extends IA5String { + + public URL_Base() { + super(1, 45); + } + + @JsonCreator + public URL_Base(String value) { + this(); + this.value = value; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Short.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Short.java new file mode 100644 index 000000000..f95536afa --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Short.java @@ -0,0 +1,34 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.IA5String; +import com.fasterxml.jackson.annotation.JsonCreator; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class URL_Short extends IA5String { + + public URL_Short() { + super(1, 15); + } + + @JsonCreator + public URL_Short(String value) { + this(); + this.value = value; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/UniqueMSGID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/UniqueMSGID.java new file mode 100644 index 000000000..a700e956b --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/UniqueMSGID.java @@ -0,0 +1,49 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1OctetString; +import com.fasterxml.jackson.annotation.JsonCreator; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class UniqueMSGID extends Asn1OctetString { + + private String value; + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + @Override + public String toString() { + return value; + } + + public UniqueMSGID() { + super(9, 9); + } + + @JsonCreator + public UniqueMSGID(String value) { + this(); + this.value = value; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ValidRegion.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ValidRegion.java new file mode 100644 index 000000000..b6d3bc1c1 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ValidRegion.java @@ -0,0 +1,111 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import java.util.List; +import java.util.Optional; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class ValidRegion extends Asn1Sequence { + + @Asn1Property(tag = 0) + private HeadingSlice direction; + @Asn1Property(tag = 1, optional = true) + private Extent extent; + @Asn1Property(tag = 2) + private AreaChoice area; + + public HeadingSlice getDirection() { + return direction; + } + + public void setDirection(HeadingSlice direction) { + this.direction = direction; + } + + public Extent getExtent() { + return extent; + } + + public void setExtent(Extent extent) { + this.extent = extent; + } + + @JsonInclude(Include.NON_NULL) + public static class AreaChoice extends Asn1Choice { + @Asn1Property(tag = 0) + private ShapePointSet shapePointSet; + @Asn1Property(tag = 1) + private Circle circle; + @Asn1Property(tag = 2) + private RegionPointSet regionPointSet; + + AreaChoice() { + super(false); + } + + public ShapePointSet getShapePointSet() { + return shapePointSet; + } + + public void setShapePointSet(ShapePointSet shapePointSet) { + this.shapePointSet = shapePointSet; + } + + public Circle getCircle() { + return circle; + } + + public void setCircle(Circle circle) { + this.circle = circle; + } + + public RegionPointSet getRegionPointSet() { + return regionPointSet; + } + + public void setRegionPointSet(RegionPointSet regionPointSet) { + this.regionPointSet = regionPointSet; + } + + @Override + protected List> listTypes() { + return null; + } + } + + public AreaChoice getArea() { + return area; + } + + public void setArea(AreaChoice area) { + this.area = area; + } + + ValidRegion() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Velocity.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Velocity.java new file mode 100644 index 000000000..959be197f --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Velocity.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Velocity extends Asn1Integer { + + public Velocity() { + super(0L, 8191L); + } + + @JsonCreator + public Velocity(long value) { + this(); + this.value = value; + } + + public static class VelocityDeserializer extends IntegerDeserializer { + public VelocityDeserializer() { + super(Velocity.class); + } + + @Override + protected Velocity construct() { + return new Velocity(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZone.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZone.java new file mode 100644 index 000000000..78268ac2b --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZone.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class WorkZone extends Asn1SequenceOf { + + WorkZone() { + super(WorkZoneSequence.class, 1L, 16L); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZoneSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZoneSequence.java new file mode 100644 index 000000000..4d7733b38 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZoneSequence.java @@ -0,0 +1,84 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.j2735.ITIS.ITIScodes; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import java.util.List; +import java.util.Optional; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class WorkZoneSequence extends Asn1Sequence { + + @Asn1Property(tag = 0) + private ItemChoice item; + + @JsonInclude(Include.NON_NULL) + public static class ItemChoice extends Asn1Choice { + @Asn1Property(tag = 0) + @JsonDeserialize(using = ITIScodes.ITIScodesDeserializer.class) + private ITIScodes itis; + @Asn1Property(tag = 1) + private ITIStextPhrase text; + + ItemChoice() { + super(false); + } + + public ITIScodes getItis() { + return itis; + } + + public void setItis(ITIScodes itis) { + this.itis = itis; + } + + public ITIStextPhrase getText() { + return text; + } + + public void setText(ITIStextPhrase text) { + this.text = text; + } + + @Override + protected List> listTypes() { + return null; + } + } + + public ItemChoice getItem() { + return item; + } + + public void setItem(ItemChoice item) { + this.item = item; + } + + WorkZoneSequence() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Zoom.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Zoom.java new file mode 100644 index 000000000..a970950fc --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Zoom.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class Zoom extends Asn1Integer { + + public Zoom() { + super(0L, 15L); + } + + @JsonCreator + public Zoom(long value) { + this(); + this.value = value; + } + + public static class ZoomDeserializer extends IntegerDeserializer { + public ZoomDeserializer() { + super(Zoom.class); + } + + @Override + protected Zoom construct() { + return new Zoom(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodes.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodes.java new file mode 100644 index 000000000..5b6079e51 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodes.java @@ -0,0 +1,46 @@ +package us.dot.its.jpo.ode.plugin.j2735.ITIS; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class ITIScodes extends Asn1Integer { + + public ITIScodes() { + super(0L, 65535L); + } + + @JsonCreator + public ITIScodes(long value) { + this(); + this.value = value; + } + + public static class ITIScodesDeserializer extends IntegerDeserializer { + public ITIScodesDeserializer() { + super(ITIScodes.class); + } + + @Override + protected ITIScodes construct() { + return new ITIScodes(); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndText.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndText.java new file mode 100644 index 000000000..18c2874b2 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndText.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.ITIS; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +public class ITIScodesAndText extends Asn1SequenceOf { + + ITIScodesAndText() { + super(ITIScodesAndTextSequence.class, 1L, 100L); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndTextSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndTextSequence.java new file mode 100644 index 000000000..5a8b4102f --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndTextSequence.java @@ -0,0 +1,83 @@ +package us.dot.its.jpo.ode.plugin.j2735.ITIS; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import java.util.List; +import java.util.Optional; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class ITIScodesAndTextSequence extends Asn1Sequence { + + @Asn1Property(tag = 0) + private ItemChoice item; + + @JsonInclude(Include.NON_NULL) + public static class ItemChoice extends Asn1Choice { + @Asn1Property(tag = 0) + @JsonDeserialize(using = ITIScodes.ITIScodesDeserializer.class) + private ITIScodes itis; + @Asn1Property(tag = 1) + private ITIStext text; + + ItemChoice() { + super(false); + } + + public ITIScodes getItis() { + return itis; + } + + public void setItis(ITIScodes itis) { + this.itis = itis; + } + + public ITIStext getText() { + return text; + } + + public void setText(ITIStext text) { + this.text = text; + } + + @Override + protected List> listTypes() { + return null; + } + } + + public ItemChoice getItem() { + return item; + } + + public void setItem(ItemChoice item) { + this.item = item; + } + + ITIScodesAndTextSequence() { + super(false); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIStext.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIStext.java new file mode 100644 index 000000000..f517967ae --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIStext.java @@ -0,0 +1,34 @@ +package us.dot.its.jpo.ode.plugin.j2735.ITIS; + +import us.dot.its.jpo.ode.plugin.types.IA5String; +import com.fasterxml.jackson.annotation.JsonCreator; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +public class ITIStext extends IA5String { + + public ITIStext() { + super(1, 500); + } + + @JsonCreator + public ITIStext(String value) { + this(); + this.value = value; + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_ComputedLane.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_ComputedLane.java new file mode 100644 index 000000000..f979efaa4 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_ComputedLane.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.REGION; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +abstract public class Reg_ComputedLane extends RegionalExtension { + + public Reg_ComputedLane(int id, String name) { + super(id, name); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeographicalPath.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeographicalPath.java new file mode 100644 index 000000000..c31cb1a3d --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeographicalPath.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.REGION; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +abstract public class Reg_GeographicalPath extends RegionalExtension { + + public Reg_GeographicalPath(int id, String name) { + super(id, name); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeometricProjection.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeometricProjection.java new file mode 100644 index 000000000..7e1c121f6 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeometricProjection.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.REGION; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +abstract public class Reg_GeometricProjection extends RegionalExtension { + + public Reg_GeometricProjection(int id, String name) { + super(id, name); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_LaneDataAttribute.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_LaneDataAttribute.java new file mode 100644 index 000000000..484f60051 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_LaneDataAttribute.java @@ -0,0 +1,41 @@ +package us.dot.its.jpo.ode.plugin.j2735.REGION; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; +import com.fasterxml.jackson.annotation.JsonTypeInfo.As; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; +import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonTypeInfo(use = Id.NAME, include = As.EXISTING_PROPERTY, property = "regionId") +@JsonSubTypes({ + @JsonSubTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpB.LaneDataAttribute_addGrpBReg_LaneDataAttribute.class, name = "2")}) +@Asn1ParameterizedTypes(idProperty = "regionId", idType = IdType.INTEGER, valueProperty = "regExtValue", value = { + @Asn1ParameterizedTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpB.LaneDataAttribute_addGrpBReg_LaneDataAttribute.class, intId = 2)}) +abstract public class Reg_LaneDataAttribute extends RegionalExtension { + + public Reg_LaneDataAttribute(int id, String name) { + super(id, name); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetLL.java new file mode 100644 index 000000000..e3cb75c81 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetLL.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.REGION; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +abstract public class Reg_NodeAttributeSetLL extends RegionalExtension { + + public Reg_NodeAttributeSetLL(int id, String name) { + super(id, name); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetXY.java new file mode 100644 index 000000000..bcc1df192 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetXY.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.REGION; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +abstract public class Reg_NodeAttributeSetXY extends RegionalExtension { + + public Reg_NodeAttributeSetXY(int id, String name) { + super(id, name); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointLL.java new file mode 100644 index 000000000..ea683e0ee --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointLL.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.REGION; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +abstract public class Reg_NodeOffsetPointLL extends RegionalExtension { + + public Reg_NodeOffsetPointLL(int id, String name) { + super(id, name); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointXY.java new file mode 100644 index 000000000..2ac717f5e --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointXY.java @@ -0,0 +1,41 @@ +package us.dot.its.jpo.ode.plugin.j2735.REGION; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; +import com.fasterxml.jackson.annotation.JsonTypeInfo.As; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; +import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonTypeInfo(use = Id.NAME, include = As.EXISTING_PROPERTY, property = "regionId") +@JsonSubTypes({ + @JsonSubTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpB.NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.class, name = "2")}) +@Asn1ParameterizedTypes(idProperty = "regionId", idType = IdType.INTEGER, valueProperty = "regExtValue", value = { + @Asn1ParameterizedTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpB.NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.class, intId = 2)}) +abstract public class Reg_NodeOffsetPointXY extends RegionalExtension { + + public Reg_NodeOffsetPointXY(int id, String name) { + super(id, name); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_Position3D.java new file mode 100644 index 000000000..59e04379c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_Position3D.java @@ -0,0 +1,42 @@ +package us.dot.its.jpo.ode.plugin.j2735.REGION; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; +import com.fasterxml.jackson.annotation.JsonTypeInfo.As; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; +import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonTypeInfo(use = Id.NAME, include = As.EXISTING_PROPERTY, property = "regionId") +@JsonSubTypes({@JsonSubTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpB.Position3D_addGrpBReg_Position3D.class, name = "2"), + @JsonSubTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpC.Position3D_addGrpCReg_Position3D.class, name = "3")}) +@Asn1ParameterizedTypes(idProperty = "regionId", idType = IdType.INTEGER, valueProperty = "regExtValue", value = { + @Asn1ParameterizedTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpB.Position3D_addGrpBReg_Position3D.class, intId = 2), + @Asn1ParameterizedTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpC.Position3D_addGrpCReg_Position3D.class, intId = 3)}) +abstract public class Reg_Position3D extends RegionalExtension { + + public Reg_Position3D(int id, String name) { + super(id, name); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_TravelerInformation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_TravelerInformation.java new file mode 100644 index 000000000..79478a6ca --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_TravelerInformation.java @@ -0,0 +1,30 @@ +package us.dot.its.jpo.ode.plugin.j2735.REGION; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; + +/** + * + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +abstract public class Reg_TravelerInformation extends RegionalExtension { + + public Reg_TravelerInformation(int id, String name) { + super(id, name); + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListXYBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListXYBuilder.java index fa981e56c..b6a320bff 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListXYBuilder.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListXYBuilder.java @@ -36,21 +36,9 @@ public static J2735NodeListXY genericNodeListXY(JsonNode nodeListNode) { nodeList.setNodes(nxyList.toArray(new J2735NodeXY[0])); } } else if (nodeListNode.get("computed") != null) { - JsonNode computedLane = nodeListNode.get("computed").get("ComputedLane"); + JsonNode computedLane = nodeListNode.get("computed"); if (computedLane != null) { - List clList = new ArrayList<>(); - - if (computedLane.isArray()) { - Iterator elements = computedLane.elements(); - - while (elements.hasNext()) { - clList.add(ComputedLaneBuilder.genericComputedLane(elements.next())); - } - } else { - clList.add(ComputedLaneBuilder.genericComputedLane(computedLane)); - } - - nodeList.setComputed(clList.toArray(new J2735ComputedLane[0])); + nodeList.setComputed(ComputedLaneBuilder.genericComputedLane(computedLane)); } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitStringDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitStringDeserializer.java new file mode 100644 index 000000000..b7aeeb0e1 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitStringDeserializer.java @@ -0,0 +1,39 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import us.dot.its.jpo.ode.plugin.types.Asn1Bitstring; +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; + +import java.io.IOException; + +/** + * Deserialize an ASN.1 Bitstring from XER or JER + * @param The bitstring type + * @author Ivan Yourshaw + */ +public abstract class BitStringDeserializer extends StdDeserializer { + + protected abstract T construct(); + + protected BitStringDeserializer(Class valueClass) { + super(valueClass); + } + + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { + String str = jsonParser.getText(); + T bitstring = construct(); + if (jsonParser.getCodec() instanceof XmlMapper) { + // XML: binary + bitstring.fromBinaryString(str); + } else { + // JSON: hex + bitstring.fromHexString(str); + } + return bitstring; + } + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java new file mode 100644 index 000000000..1f4616964 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java @@ -0,0 +1,31 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import us.dot.its.jpo.ode.plugin.types.Asn1Bitstring; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import com.fasterxml.jackson.dataformat.xml.ser.XmlSerializerProvider; + +import java.io.IOException; + +/** + * Serializer for ASN.1 Bitstring types to XER or JER + * @author Ivan Yourshaw + */ +public class BitstringSerializer extends StdSerializer { + + protected BitstringSerializer() { + super(Asn1Bitstring.class); + } + + @Override + public void serialize(Asn1Bitstring asn1Bitstring, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { + if (serializerProvider instanceof XmlSerializerProvider) { + // XER serializes enums as binary + jsonGenerator.writeString(asn1Bitstring.binaryString()); + } else { + // JER serializes enums as hex + jsonGenerator.writeString(asn1Bitstring.hexString()); + } + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanDeserializer.java new file mode 100644 index 000000000..05e37dbb0 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanDeserializer.java @@ -0,0 +1,45 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import us.dot.its.jpo.ode.plugin.types.Asn1Boolean; +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.TreeNode; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; + +import java.io.IOException; + +@SuppressWarnings({"unchecked", "rawtypes"}) +public class BooleanDeserializer extends StdDeserializer { + + protected Asn1Boolean construct() { + return new Asn1Boolean(); + } + + public BooleanDeserializer() { + super(Asn1Boolean.class); + } + + protected BooleanDeserializer(Class valueType) { + super(Asn1Boolean.class); + } + + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { + Asn1Boolean result = construct(); + if (jsonParser.getCodec() instanceof XmlMapper) { + // XML: unwrap empty element + TreeNode node = jsonParser.getCodec().readTree(jsonParser); + var iterator = node.fieldNames(); + if (iterator.hasNext()) { + String str = node.fieldNames().next(); + result.setValue(Boolean.parseBoolean(str)); + } + } else { + // JSON + result.setValue(jsonParser.getBooleanValue()); + } + return (T)result; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanSerializer.java new file mode 100644 index 000000000..35fe77d62 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanSerializer.java @@ -0,0 +1,29 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import us.dot.its.jpo.ode.plugin.types.Asn1Boolean; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import com.fasterxml.jackson.dataformat.xml.ser.XmlSerializerProvider; + +import java.io.IOException; + +public class BooleanSerializer extends StdSerializer { + + protected BooleanSerializer() { + super(Asn1Boolean.class); + } + + @Override + public void serialize(Asn1Boolean asn1Boolean, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { + if (serializerProvider instanceof XmlSerializerProvider) { + // XER uses and for booleans + jsonGenerator.writeStartObject(); + jsonGenerator.writeRaw(String.format("<%s/>", asn1Boolean.getValue())); + jsonGenerator.writeEndObject(); + } else { + // JER + jsonGenerator.writeBoolean(asn1Boolean.getValue()); + } + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/CharacterStringSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/CharacterStringSerializer.java new file mode 100644 index 000000000..7d34858b4 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/CharacterStringSerializer.java @@ -0,0 +1,20 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import us.dot.its.jpo.ode.plugin.types.Asn1CharacterString; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; + +import java.io.IOException; + +public class CharacterStringSerializer extends StdSerializer { + + protected CharacterStringSerializer() { + super(Asn1CharacterString.class); + } + + @Override + public void serialize(Asn1CharacterString asn1CharacterString, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { + jsonGenerator.writeString(asn1CharacterString.getValue()); + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedDeserializer.java new file mode 100644 index 000000000..524feb68c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedDeserializer.java @@ -0,0 +1,48 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.TreeNode; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; + +import java.io.IOException; +import java.util.Objects; + +public abstract class EnumeratedDeserializer & Asn1Enumerated> extends StdDeserializer { + + protected abstract T[] listEnumValues(); + + protected EnumeratedDeserializer(Class valueClass) { + super(valueClass); + } + + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { + String name = null; + if (jsonParser.getCodec() instanceof XmlMapper) { + // XML + // The enum in BASIC-XER is an empty element, so Jackson thinks it's an object with a key + // of that name with no value + TreeNode node = jsonParser.getCodec().readTree(jsonParser); + var iterator = node.fieldNames(); + if (iterator.hasNext()) { + name = node.fieldNames().next(); + } + } else { + // JSON + // Behaves normally: The enum name is the text + name = jsonParser.getText(); + } + for (T enumValue : listEnumValues()) { + if (Objects.equals(enumValue.getName(), name)) { + return enumValue; + } + } + + + return null; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedSerializer.java new file mode 100644 index 000000000..013cd53d5 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedSerializer.java @@ -0,0 +1,53 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import com.fasterxml.jackson.dataformat.xml.ser.XmlSerializerProvider; + +import java.io.IOException; + +/** + * Base class for ENUMERATED value serializers to produce both XER and JER + * @param The ENUMERATED type + * TODO: this doesn't need to be generic + * @author Ivan Yourshaw + */ +@SuppressWarnings({"unchecked", "rawtypes"}) +public class EnumeratedSerializer extends StdSerializer { + + + protected EnumeratedSerializer(Class t) { + super(t); + } + + @Override + public void serialize(T t, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { + if (serializerProvider instanceof XmlSerializerProvider) { + jsonGenerator.writeStartObject(); + + // + // BASIC-XER's weird way of writing enums. + // + // Ref. ITU-T X.693 (02/2021) Sec. 8.3.7 which says: + // + // The "XMLEnumeratedValue" specified in Rec. ITU-T X.680 | ISO/IEC 8824-1, 20.8, shall only be + // "EmptyElementEnumerated" + // + // and ITU-T X.680 (02/2021) Sec. 20.8 which says: + // + // EmptyElementEnumerated ::= "<" & identifier "/>" + // + jsonGenerator.writeRaw(String.format("<%s/>", t.getName())); + + jsonGenerator.writeEndObject(); + } else { + // + // JER: Just write the enum value as a string like a normal person. + // Does not handle TEXT encoding instructions per X.697 sec 22.2 + // + jsonGenerator.writeString(t.getName()); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java new file mode 100644 index 000000000..4e044314a --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java @@ -0,0 +1,47 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.TreeNode; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.node.NumericNode; +import com.fasterxml.jackson.databind.node.TextNode; +import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser; + +import java.io.IOException; + +public abstract class IntegerDeserializer extends StdDeserializer { + + protected final Class thisClass; + protected abstract T construct(); + + protected IntegerDeserializer(Class vc) { + super(vc); + this.thisClass = vc; + } + + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { + T result = null; + if (jsonParser instanceof FromXmlParser xmlParser) { + result = construct(); + TreeNode node = xmlParser.getCodec().readTree(xmlParser); + System.out.printf("type: %s%n", thisClass.getName()); + System.out.printf("node: %s%n", node); + System.out.printf("node type: %s%n", node.getClass().getName()); + if (node instanceof NumericNode numNode) { + result.setValue(numNode.longValue()); + } else if (node instanceof TextNode textNode) { + // Sometimes happens, since XML values are ambiguous between text and numbers + String textValue = textNode.textValue(); + long value = Long.parseLong(textValue); + result.setValue(value); + } + } else { + result = jsonParser.getCodec().readValue(jsonParser, thisClass); + } + return result; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfDeserializer.java new file mode 100644 index 000000000..3e97059e0 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfDeserializer.java @@ -0,0 +1,60 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.TreeNode; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.ObjectNode; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; +import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser; + +import java.io.IOException; + +/** + * Serializer for nested, anonymous SEQUENCE-OF types. Handles XER's way of wrapping these. + * @param The Sequence Of type + * @author Ivan Yourshaw + */ +public class NestedSequenceOfDeserializer> extends StdDeserializer { + + protected final Class thisClass; + protected final String wrapped; + + protected NestedSequenceOfDeserializer(Class vc, String wrapped) { + super(vc); + this.thisClass = vc; + this.wrapped = wrapped; + } + + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { + T result = null; + if (jsonParser instanceof FromXmlParser xmlParser) { + // For XML, we need to remove the wrapper and distinguish between single items and arrays + XmlMapper xmlMapper = (XmlMapper)xmlParser.getCodec(); + TreeNode node = xmlParser.getCodec().readTree(xmlParser); + + if (node instanceof ObjectNode objectNode) { + JsonNode unwrapped = objectNode.findValue(wrapped); + if (unwrapped instanceof ObjectNode unwrappedObject) { + + // Single item not identified as array, so put it in an array + ArrayNode arrayNode = xmlMapper.createArrayNode(); + arrayNode.add(unwrappedObject); + result = xmlMapper.convertValue(arrayNode, thisClass); + + } else if (unwrapped instanceof ArrayNode arrayNode) { + + result = xmlMapper.convertValue(arrayNode, thisClass); + } + } + }else { + result = jsonParser.getCodec().readValue(jsonParser, thisClass); + } + return result; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfSerializer.java new file mode 100644 index 000000000..4ca05d752 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfSerializer.java @@ -0,0 +1,55 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; +import com.fasterxml.jackson.dataformat.xml.ser.XmlSerializerProvider; + +import javax.xml.namespace.QName; +import java.io.IOException; + +/** + * Serializer for nested, anonymous SEQUENCT-OF types + * @param The Sequence-of type + * @author Ivan Yourshaw + */ +public class NestedSequenceOfSerializer> extends StdSerializer { + + protected final QName wrapped; + + protected NestedSequenceOfSerializer(Class t, String wrapped) { + super(t); + this.wrapped = new QName(wrapped); + } + + @Override + public void serialize(T t, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { + if (serializerProvider instanceof XmlSerializerProvider) { + // Wrapped XER + var xmlGen = (ToXmlGenerator)jsonGenerator; + for (var item : t) { + + xmlGen.writeRaw(String.format("<%s>", wrapped)); + var mapper = SerializationUtil.xmlMapper(); + String itemXml = mapper.writeValueAsString(item); + + // Horrible hack to write the item value without being wrapped by the class name. + // Probably a better way exists, but this works. + String itemClassName = item.getClass().getSimpleName(); + String startElement = String.format("<%s>", itemClassName); + String endElement = String.format("", itemClassName); + String strippedXml = itemXml.replace(startElement, "").replace(endElement, ""); + + xmlGen.writeRaw(strippedXml); + + xmlGen.writeRaw(String.format("", wrapped)); + } + + } else { + // Pass through JER + jsonGenerator.writeObject(t); + } + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeDeserializer.java new file mode 100644 index 000000000..28f93a108 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeDeserializer.java @@ -0,0 +1,54 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.TreeNode; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.node.ObjectNode; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; +import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser; + +import java.io.IOException; + +/** + * See description in {@link OpenTypeSerializer} + * @author Ivan Yourshaw + */ +public abstract class OpenTypeDeserializer extends StdDeserializer { + + protected final Class thisClass; + protected final String wrapped; + + protected OpenTypeDeserializer(Class vc, String wrapped) { + super(vc); + thisClass = vc; + this.wrapped = wrapped; + } + + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { + T result = null; + if (jsonParser instanceof FromXmlParser xmlParser) { + XmlMapper xmlMapper = (XmlMapper)xmlParser.getCodec(); + TreeNode node = xmlParser.getCodec().readTree(xmlParser); + if (node instanceof ObjectNode objectNode) { + JsonNode unwrapped = objectNode.findValue(wrapped); + + // HACK: serialization annotations are ignored here. + // ideally we would like to just unwrap the original literal xml and pass it through + // but Jackson's XML parser insists on converting everything to JSON, so the original XML is + // not preserved. Specifically, empty elements like are expanded to , + // but the boolean and enumerated deserializers can still handle this. + String unwrappedXml = xmlMapper.writeValueAsString(unwrapped); + + result = xmlMapper.readValue(unwrappedXml, thisClass); + } + } else { + result = jsonParser.getCodec().readValue(jsonParser, thisClass); + } + return result; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeSerializer.java new file mode 100644 index 000000000..5a2d0bfa6 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeSerializer.java @@ -0,0 +1,76 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; +import com.fasterxml.jackson.dataformat.xml.ser.XmlSerializerProvider; + +import javax.xml.namespace.QName; +import java.io.IOException; + +/** + * Serializer for ASN.1 "open types" which are fields without a specific type, + * for dealing with parameterized fields with value sets of different types that + * can be plugged in. In this Java implementation these are represented by type parameters + * in abstract types. + * + *

For example, the contents of the "value" field in a J2735 MessageFrame. + * + *

XER wraps open types with the type name like: + *

{@code
+ *
+ *     
+ *         19
+ *         
+ *             
+ *                 ...
+ *             
+ *         
+ *     
+ *
+ *  }
+ *

See XMLOpenTypeFieldValue: ITU-T Rec. X.681 (02/2021) Section 14.6. + * + *

JER does not wrap them: + *

{@code
+ *
+ *     {
+ *         "messageId": 19,
+ *         "value": {
+ *             ...
+ *         }
+ *     }
+ *
+ * }
+ *

See "Encoding of open type values", ITU-T Rec X.697 (02/2021), Sec 41. + * + * @author Ivan Yourshaw + */ +public abstract class OpenTypeSerializer extends StdSerializer { + + protected final QName wrapper; + protected final QName wrapped; + + protected OpenTypeSerializer(Class t, String wrapper, String wrapped) { + super(t); + this.wrapper = new QName(wrapper); + this.wrapped = new QName(wrapped); + } + + @Override + public void serialize(T t, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { + if (serializerProvider instanceof XmlSerializerProvider) { + // Wrapped XER + var xmlGen = (ToXmlGenerator)jsonGenerator; + xmlGen.startWrappedValue(wrapper, wrapped); + xmlGen.writeObject(t); + xmlGen.finishWrappedValue(wrapper, wrapped); + } else { + // Pass through JER + jsonGenerator.writeObject(t); + } + + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/ParameterizedTypeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/ParameterizedTypeDeserializer.java new file mode 100644 index 000000000..72dea516c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/ParameterizedTypeDeserializer.java @@ -0,0 +1,68 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.TreeNode; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.node.ObjectNode; + +import java.io.IOException; + +import static us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType.INTEGER; + +/** + * Deserialize a parameterized SEQUENCE type. + * Determines the subtype to deserialize to using the {@link Asn1ParameterizedTypes} annotation that + * must be present. + * + * @param The Sequence Type + * + * @author Ivan Yourshaw + */ +@SuppressWarnings({"unchecked", "rawtypes"}) +public abstract class ParameterizedTypeDeserializer extends StdDeserializer { + + protected final Class thisClass; + + protected ParameterizedTypeDeserializer(Class vc) { + super(vc); + thisClass = vc; + } + + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { + final var typeAnnot = thisClass.getAnnotation(Asn1ParameterizedTypes.class); + if (typeAnnot == null) { + throw new RuntimeException("Missing Asn1ParameterizedTypes annotation."); + } + final String idPropName = typeAnnot.idProperty(); + final Asn1ParameterizedTypes.IdType idType = typeAnnot.idType(); + final Asn1ParameterizedTypes.Type[] types = typeAnnot.value(); + if (types == null || types.length == 0) { + throw new RuntimeException("No Types are defined in the Asn1ParameterizedTypes annotation."); + } + TreeNode node = jsonParser.getCodec().readTree(jsonParser); + if (node instanceof ObjectNode objectNode) { + JsonNode idPropNode = objectNode.findValue(idPropName); + final Object id = (idType == INTEGER) ? idPropNode.asInt() : idPropNode.asText(); + Class subType = getSubtypeForId(id, idType, types); + return (T)jsonParser.getCodec().readValue(jsonParser, subType); + } else { + throw new RuntimeException("Not instance of object"); + } + } + + private Class getSubtypeForId(final Object id, Asn1ParameterizedTypes.IdType idType, Asn1ParameterizedTypes.Type[] types) { + for (var theType : types) { + Object idValue = (idType == INTEGER) ? theType.intId() : theType.stringId(); + if (id.equals(idValue)) { + return theType.value(); + } + } + throw new RuntimeException(String.format("Id %s not found in list of types", id)); + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfEnumeratedDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfEnumeratedDeserializer.java new file mode 100644 index 000000000..e99b69f28 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfEnumeratedDeserializer.java @@ -0,0 +1,53 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.TreeNode; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser; + +import java.io.IOException; +import java.util.Objects; + +public abstract class SequenceOfEnumeratedDeserializer & Asn1Enumerated, T extends Asn1SequenceOf> + extends StdDeserializer { + + protected final Class thisClass; + protected final Class enumClass; + protected abstract S[] listEnumValues(); + protected abstract T construct(); + + protected SequenceOfEnumeratedDeserializer(Class sequenceOfEnumType, Class enumType) { + super(sequenceOfEnumType); + this.thisClass = sequenceOfEnumType; + this.enumClass = enumType; + } + + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { + T result = null; + if (jsonParser instanceof FromXmlParser xmlParser) { + // Unwrapped enum items + result = construct(); + TreeNode node = xmlParser.getCodec().readTree(xmlParser); + System.out.printf("type: %s%n", thisClass.getName()); + System.out.printf("node: %s%n", node); + var fieldNameIterator = node.fieldNames(); + while (fieldNameIterator.hasNext()) { + String name = fieldNameIterator.next(); + System.out.printf("enum value: %s%n", name); + for (S enumValue : listEnumValues()) { + if (Objects.equals(enumValue.getName(), name)) { + result.add(enumValue); + } + } + } + } else { + result = jsonParser.getCodec().readValue(jsonParser, thisClass); + } + return result; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SerializationUtil.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SerializationUtil.java new file mode 100644 index 000000000..8b7cb9f5a --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SerializationUtil.java @@ -0,0 +1,18 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; + +public class SerializationUtil { + + private static final ObjectMapper jsonMapper = new ObjectMapper(); + private static final XmlMapper xmlMapper = new XmlMapper(); + + public static ObjectMapper jsonMapper() { + return jsonMapper; + } + + public static XmlMapper xmlMapper() { + return xmlMapper; + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/package-info.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/package-info.java new file mode 100644 index 000000000..ba7a7c48b --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/package-info.java @@ -0,0 +1,4 @@ +/** + * Jackson serializers and deserializers for XER and JER. + */ +package us.dot.its.jpo.ode.plugin.serialization; \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java new file mode 100644 index 000000000..d7328bfcc --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java @@ -0,0 +1,113 @@ +package us.dot.its.jpo.ode.plugin.types; + +import us.dot.its.jpo.ode.plugin.serialization.BitstringSerializer; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +import java.util.BitSet; +import java.util.HexFormat; + +import static us.dot.its.jpo.ode.plugin.utils.BitUtils.reverseBits; + +@JsonSerialize(using = BitstringSerializer.class) +public abstract class Asn1Bitstring implements Asn1Type { + + final BitSet bits; + final int size; + final boolean hasExtensionMarker; + final String[] names; + + public Asn1Bitstring(int size, boolean hasExtensionMarker, String[] names) { + this.size = size; + this.hasExtensionMarker = hasExtensionMarker; + this.bits = new BitSet(size); + this.names = names; + } + + public int size() { + return size; + } + + public boolean hasExtensionMarker() { + return hasExtensionMarker; + } + + public boolean get(int bitIndex) { + return bits.get(bitIndex); + } + + public void set(int bitIndex, boolean value) { + bits.set(bitIndex, value); + } + + public String binaryString() { + char[] chars = new char[size]; + for (int i = 0; i < size; i++) { + chars[i] = get(i) ? '1' : '0'; + } + return new String(chars); + } + + public String hexString() { + HexFormat hex = HexFormat.of(); + return hex.formatHex(reverseBits(bits.toByteArray())); + } + + public void fromBinaryString(String str) { + if (str == null) { + bits.clear(); + return; + } + char[] chars = str.toCharArray(); + if (chars.length < size) { + throw new IllegalArgumentException("Not enough characters in string " + str); + } + for (int i = 0; i < size; i++) { + char c = chars[i]; + set(i, c == '1'); + } + } + + public void fromHexString(String str) { + System.out.println(str); + if (str == null) { + bits.clear(); + return; + } + HexFormat hex = HexFormat.of(); + byte[] bytes = reverseBits(hex.parseHex(str)); + System.out.println(bytes.length); + BitSet newBits = BitSet.valueOf(bytes); + System.out.println(newBits); + + bits.clear(); + bits.or(newBits); + System.out.println(binaryString()); + } + + public String name(int index) { + if (index < 0 || index >= size()) { + throw new IllegalArgumentException(String.format("Index %s out of range %s-%s", index, 0, size())); + } + return names[index]; + } + + @Override + public int hashCode() { + return bits.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if (obj == null) return false; + if (obj instanceof Asn1Bitstring bitstring) { + return bits.equals(bitstring.bits); + } else { + return false; + } + } + + @Override + public String toString() { + return binaryString(); + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Boolean.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Boolean.java new file mode 100644 index 000000000..f20dd969a --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Boolean.java @@ -0,0 +1,55 @@ +package us.dot.its.jpo.ode.plugin.types; + +import us.dot.its.jpo.ode.plugin.serialization.BooleanDeserializer; +import us.dot.its.jpo.ode.plugin.serialization.BooleanSerializer; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +import java.util.Objects; + + + +@JsonSerialize(using = BooleanSerializer.class) +@JsonDeserialize(using = BooleanDeserializer.class) +public class Asn1Boolean implements Asn1Type { + + public Asn1Boolean() {} + + @JsonCreator + public Asn1Boolean(boolean value) { + this.value = value; + } + + private boolean value; + + @JsonValue + public boolean getValue() { + return value; + } + + public void setValue(boolean value) { + this.value = value; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Asn1Boolean that = (Asn1Boolean) o; + return value == that.value; + } + + @Override + public int hashCode() { + return Objects.hashCode(value); + } + + @Override + public String toString() { + return Boolean.toString(value); + } + + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1CharacterString.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1CharacterString.java new file mode 100644 index 000000000..095a00cc8 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1CharacterString.java @@ -0,0 +1,41 @@ +package us.dot.its.jpo.ode.plugin.types; + +import com.fasterxml.jackson.annotation.JsonValue; + +//@JsonSerialize(using = CharacterStringSerializer.class) +public abstract class Asn1CharacterString implements Asn1Type { + + protected final int minLength; + protected final int maxLength; + protected String value; + + public Asn1CharacterString(int minLength, int maxLength) { + this.minLength = minLength; + this.maxLength = maxLength; + } + + @JsonValue + public String getValue() { + return value; + } + + public void setValue(String value) { + if (!validate(value)) { + throw new IllegalArgumentException( + String.format("String '%s' has invalid length. Must be between %d and %s", + value, minLength, maxLength)); + } + this.value = value; + } + + protected boolean validate(String aValue) { + if (aValue == null) return true; + return aValue.length() >= minLength && aValue.length() <= maxLength; + } + + @Override + public String toString() { + return value; + } + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java new file mode 100644 index 000000000..edb753de9 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java @@ -0,0 +1,58 @@ +package us.dot.its.jpo.ode.plugin.types; + +import us.dot.its.jpo.ode.plugin.serialization.SerializationUtil; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.util.List; +import java.util.Optional; + +public abstract class Asn1Choice implements Asn1Type { + + final boolean hasExtensionMarker; + + public Asn1Choice(boolean hasExtensionMarker) { + this.hasExtensionMarker = hasExtensionMarker; + } + + /** + * Validates if one and only one option is selected for the choice + */ + protected boolean isValid() { + var types = listTypes(); + long numChosen = types.stream().filter(Optional::isPresent).count(); + return numChosen == 1; + } + + /** + * Ref ITU-T X.691 (02/2021) Section 23 + * @return the index of the chosen alternative + */ + protected int chosenIndex() { + List> types = listTypes(); + for (int i = 0; i < types.size(); i++) { + if (types.get(i).isPresent()) return i; + } + return -1; + } + + protected int maxIndex() { + return listTypes().size() - 1; + } + + abstract protected List> listTypes(); + + + + + @Override + public String toString() { + ObjectMapper mapper = SerializationUtil.jsonMapper(); + try { + return mapper.writeValueAsString(this); + } catch (JsonProcessingException e) { + System.err.println(e.getMessage()); + return ""; + } + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Enumerated.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Enumerated.java new file mode 100644 index 000000000..6257707b3 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Enumerated.java @@ -0,0 +1,10 @@ +package us.dot.its.jpo.ode.plugin.types; + +public interface Asn1Enumerated extends Asn1Type { + int getIndex(); + String getName(); + boolean hasExtensionMarker(); + int maxIndex(); + + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Field.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Field.java new file mode 100644 index 000000000..2ee29d0fc --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Field.java @@ -0,0 +1,5 @@ +//package asn2pojo.runtime.types; +// +//public record Asn1Field(String name, Asn1Type value, boolean optional, int tag) { +// +//} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java new file mode 100644 index 000000000..7dc62b002 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java @@ -0,0 +1,68 @@ +package us.dot.its.jpo.ode.plugin.types; + +import com.fasterxml.jackson.annotation.JsonValue; + +import java.util.Objects; + +/** + * A constrained integer type with lower bound and upper bound. + * Unconstrained integer types and extensibility markers in integer constraints are not supported. + */ +//@JsonSerialize(using = IntegerSerializer.class) +public class Asn1Integer implements Asn1Type, Comparable { + + protected long value; + final long lowerBound; + final long upperBound; + + public Asn1Integer(long lowerBound, long upperBound) { + this.lowerBound = lowerBound; + this.upperBound = upperBound; + } + + @JsonValue + public long getValue() { + return value; + } + + public void setValue(long value) { + this.value = value; + } + + public int intValue() { + return (int)value; + } + + @Override + public int compareTo(Asn1Integer other) { + if (other == null) return -1; + return Long.compare(value, other.value); + } + + public long getLowerBound() { + return lowerBound; + } + + public long getUpperBound() { + return upperBound; + } + + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Asn1Integer that = (Asn1Integer) o; + return value == that.value; + } + + @Override + public int hashCode() { + return Objects.hashCode(value); + } + + @Override + public String toString() { + return Long.toString(value); + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1OctetString.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1OctetString.java new file mode 100644 index 000000000..14081d391 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1OctetString.java @@ -0,0 +1,11 @@ +package us.dot.its.jpo.ode.plugin.types; + +public class Asn1OctetString extends Asn1CharacterString { + + public Asn1OctetString(int minLength, int maxLength) { + super(minLength, maxLength); + } + + + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java new file mode 100644 index 000000000..9a81fceda --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java @@ -0,0 +1,31 @@ +package us.dot.its.jpo.ode.plugin.types; + +import us.dot.its.jpo.ode.plugin.serialization.SerializationUtil; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +public abstract class Asn1Sequence implements Asn1Type { + + final boolean extensionMarker; + + public Asn1Sequence(boolean hasExtensionMarker) { + this.extensionMarker = hasExtensionMarker; + } + + public boolean hasExtensionMarker() { + return extensionMarker; + } + + + + @Override + public String toString() { + ObjectMapper mapper = SerializationUtil.jsonMapper(); + try { + return mapper.writeValueAsString(this); + } catch (JsonProcessingException e) { + System.err.println(e.getMessage()); + return ""; + } + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1SequenceOf.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1SequenceOf.java new file mode 100644 index 000000000..703fa802f --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1SequenceOf.java @@ -0,0 +1,41 @@ +package us.dot.its.jpo.ode.plugin.types; + +import com.fasterxml.jackson.annotation.JsonIgnore; + +import java.util.ArrayList; + + +public abstract class Asn1SequenceOf + extends ArrayList + implements Asn1Type { + + final Class itemClass; + final long sizeLowerBound; + final long sizeUpperBound; + + public Asn1SequenceOf(Class itemClass, long sizeLowerBound, long sizeUpperBound) { + this.itemClass = itemClass; + this.sizeLowerBound = sizeLowerBound; + this.sizeUpperBound = sizeUpperBound; + } + + @JsonIgnore + public Class getItemClass() { + return itemClass; + } + + @JsonIgnore + public long getSizeLowerBound() { + return sizeLowerBound; + } + + @JsonIgnore + public long getSizeUpperBound() { + return sizeUpperBound; + } + + @SuppressWarnings("unchecked") + public boolean add(Asn1Type item) { + return super.add((T)item); + } +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Type.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Type.java new file mode 100644 index 000000000..55009634c --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Type.java @@ -0,0 +1,8 @@ +package us.dot.its.jpo.ode.plugin.types; + +/** + * Interface implemented by all ASN.1 type classes. + */ +public interface Asn1Type { + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/IA5String.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/IA5String.java new file mode 100644 index 000000000..54a4d3834 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/IA5String.java @@ -0,0 +1,15 @@ +package us.dot.its.jpo.ode.plugin.types; + +/** + * Character range = 0..127, UPER encoded with 7 bits per character + * Ref: ITU-T X.691 (02/2021) Section 30 + */ +public class IA5String extends Asn1CharacterString { + + + public IA5String(int minLength, int maxLength) { + super(minLength, maxLength); + } + + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/UnknownType.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/UnknownType.java new file mode 100644 index 000000000..101408f14 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/UnknownType.java @@ -0,0 +1,9 @@ +package us.dot.its.jpo.ode.plugin.types; + +/** + * Placeholder for unknown types in the generated source. + * If classes of this type exist, it means the ASN.1 specification has an unsupported feature. + * @author Ivan Yourshaw + */ +public class UnknownType implements Asn1Type { +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/package-info.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/package-info.java new file mode 100644 index 000000000..098180aaa --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/package-info.java @@ -0,0 +1,4 @@ +/** + * Base classes and interfaces for ASN.1 types. + */ +package us.dot.its.jpo.ode.plugin.types; \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java new file mode 100644 index 000000000..901238fe3 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java @@ -0,0 +1,22 @@ +package us.dot.its.jpo.ode.plugin.utils; + + +public class BitUtils { + + + public static byte reverseBits(final byte b) { + var reversedInt = Integer.reverse((int)b << 24) & 0xff; + return (byte)reversedInt; + } + + public static byte[] reverseBits(final byte[] bytes) { + byte[] reversed = new byte[bytes.length]; + for (int i = 0; i < bytes.length; i++) { + reversed[i] = reverseBits(bytes[i]); + } + return reversed; + } + + +} + diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java index b1ec808f9..d3b58b204 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java @@ -14,7 +14,7 @@ import us.dot.its.jpo.ode.model.OdeTimPayload; import us.dot.its.jpo.ode.model.ReceivedMessageDetails; import us.dot.its.jpo.ode.model.RxSource; -import us.dot.its.jpo.ode.plugin.j2735.builders.TIMBuilder; +import us.dot.its.jpo.ode.plugin.j2735.DSRC.TravelerInformation; import us.dot.its.jpo.ode.util.JsonUtils; import us.dot.its.jpo.ode.util.XmlUtils; import us.dot.its.jpo.ode.util.XmlUtils.XmlUtilsException; @@ -54,13 +54,16 @@ public static OdeTimData createOdeTimDataFromDecoded(String consumedData) throws metadata.setReceivedMessageDetails(null); } - OdeTimPayload payload = new OdeTimPayload(TIMBuilder.genericTim(consumed.findValue("TravelerInformation"))); + String travelerInformationXml = XmlUtils.findXmlContentString(consumedData, "TravelerInformation"); + TravelerInformation timObject = (TravelerInformation)XmlUtils.fromXmlS(travelerInformationXml, TravelerInformation.class); + OdeTimPayload payload = new OdeTimPayload(timObject); return new OdeTimData(metadata, payload); } public static OdeTimData createOdeTimDataFromCreator(String consumedData, OdeMsgMetadata metadata) throws XmlUtilsException { - ObjectNode consumed = XmlUtils.toObjectNode(consumedData); - OdeTimPayload payload = new OdeTimPayload(TIMBuilder.genericTim(consumed.findValue("TravelerInformation"))); + String travelerInformationXml = XmlUtils.findXmlContentString(consumedData, "TravelerInformation"); + TravelerInformation timObject = (TravelerInformation)XmlUtils.fromXmlS(travelerInformationXml, TravelerInformation.class); + OdeTimPayload payload = new OdeTimPayload(timObject); return new OdeTimData(metadata, payload); } } From 5c1892e80edf81fd11f90212f42e9e5cc6945a09 Mon Sep 17 00:00:00 2001 From: Ivan Yourshaw <39739503+iyourshaw@users.noreply.github.com> Date: Tue, 3 Dec 2024 13:04:07 -0700 Subject: [PATCH 08/33] Add @JsonIgnore to fields on asn1 type base classes --- .../us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java | 8 ++++++++ .../java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java | 2 ++ .../java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java | 5 +++++ .../us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java | 3 +++ 4 files changed, 18 insertions(+) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java index d7328bfcc..b1750cfd7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java @@ -1,5 +1,6 @@ package us.dot.its.jpo.ode.plugin.types; +import com.fasterxml.jackson.annotation.JsonIgnore; import us.dot.its.jpo.ode.plugin.serialization.BitstringSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -11,9 +12,16 @@ @JsonSerialize(using = BitstringSerializer.class) public abstract class Asn1Bitstring implements Asn1Type { + @JsonIgnore final BitSet bits; + + @JsonIgnore final int size; + + @JsonIgnore final boolean hasExtensionMarker; + + @JsonIgnore final String[] names; public Asn1Bitstring(int size, boolean hasExtensionMarker, String[] names) { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java index edb753de9..a6ba3e5b3 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java @@ -1,5 +1,6 @@ package us.dot.its.jpo.ode.plugin.types; +import com.fasterxml.jackson.annotation.JsonIgnore; import us.dot.its.jpo.ode.plugin.serialization.SerializationUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -9,6 +10,7 @@ public abstract class Asn1Choice implements Asn1Type { + @JsonIgnore final boolean hasExtensionMarker; public Asn1Choice(boolean hasExtensionMarker) { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java index 7dc62b002..c3ef31ccb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java @@ -1,5 +1,6 @@ package us.dot.its.jpo.ode.plugin.types; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonValue; import java.util.Objects; @@ -12,7 +13,11 @@ public class Asn1Integer implements Asn1Type, Comparable { protected long value; + + @JsonIgnore final long lowerBound; + + @JsonIgnore final long upperBound; public Asn1Integer(long lowerBound, long upperBound) { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java index 9a81fceda..d3d792d41 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java @@ -1,17 +1,20 @@ package us.dot.its.jpo.ode.plugin.types; +import com.fasterxml.jackson.annotation.JsonIgnore; import us.dot.its.jpo.ode.plugin.serialization.SerializationUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; public abstract class Asn1Sequence implements Asn1Type { + @JsonIgnore final boolean extensionMarker; public Asn1Sequence(boolean hasExtensionMarker) { this.extensionMarker = hasExtensionMarker; } + @JsonIgnore public boolean hasExtensionMarker() { return extensionMarker; } From f4a85e64fd23134dd02e9e058f0a569bb2e41a73 Mon Sep 17 00:00:00 2001 From: Ivan Yourshaw <39739503+iyourshaw@users.noreply.github.com> Date: Tue, 3 Dec 2024 16:42:25 -0700 Subject: [PATCH 09/33] Serialize Bitstrings as verbose maps for ODE JSON --- .../plugin/serialization/BitstringSerializer.java | 13 ++++++++++--- .../dot/its/jpo/ode/plugin/types/Asn1Bitstring.java | 2 ++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java index 1f4616964..689699af3 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java @@ -7,6 +7,7 @@ import com.fasterxml.jackson.dataformat.xml.ser.XmlSerializerProvider; import java.io.IOException; +import java.util.LinkedHashMap; /** * Serializer for ASN.1 Bitstring types to XER or JER @@ -21,11 +22,17 @@ protected BitstringSerializer() { @Override public void serialize(Asn1Bitstring asn1Bitstring, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { if (serializerProvider instanceof XmlSerializerProvider) { - // XER serializes enums as binary + // XER serializes bitstrings as binary strings jsonGenerator.writeString(asn1Bitstring.binaryString()); } else { - // JER serializes enums as hex - jsonGenerator.writeString(asn1Bitstring.hexString()); + // ODE JSON dialect serializes bitstrings as verbose maps + jsonGenerator.writeStartObject(); + for (int i = 0; i < asn1Bitstring.size(); i++) { + String name = asn1Bitstring.name(i); + boolean isSet = asn1Bitstring.get(i); + jsonGenerator.writeBooleanField(name, isSet); + } + jsonGenerator.writeEndObject(); } } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java index b1750cfd7..1f4029d5b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java @@ -6,6 +6,8 @@ import java.util.BitSet; import java.util.HexFormat; +import java.util.LinkedHashMap; +import java.util.Map; import static us.dot.its.jpo.ode.plugin.utils.BitUtils.reverseBits; From 3603e0f41956f5a98fda41abdabf54d96429a4b6 Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Tue, 3 Dec 2024 17:07:21 -0700 Subject: [PATCH 10/33] Set extension presence booleans to jsonignore annotations --- .../us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java | 9 +++++++++ .../java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java | 3 +++ .../us/dot/its/jpo/ode/plugin/types/Asn1Integer.java | 5 +++++ .../us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java | 4 ++++ 4 files changed, 21 insertions(+) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java index d7328bfcc..002a25a1b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java @@ -1,6 +1,8 @@ package us.dot.its.jpo.ode.plugin.types; import us.dot.its.jpo.ode.plugin.serialization.BitstringSerializer; + +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import java.util.BitSet; @@ -11,9 +13,16 @@ @JsonSerialize(using = BitstringSerializer.class) public abstract class Asn1Bitstring implements Asn1Type { + @JsonIgnore final BitSet bits; + + @JsonIgnore final int size; + + @JsonIgnore final boolean hasExtensionMarker; + + @JsonIgnore final String[] names; public Asn1Bitstring(int size, boolean hasExtensionMarker, String[] names) { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java index edb753de9..5f1cd293c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java @@ -1,6 +1,8 @@ package us.dot.its.jpo.ode.plugin.types; import us.dot.its.jpo.ode.plugin.serialization.SerializationUtil; + +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -9,6 +11,7 @@ public abstract class Asn1Choice implements Asn1Type { + @JsonIgnore final boolean hasExtensionMarker; public Asn1Choice(boolean hasExtensionMarker) { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java index 7dc62b002..c3ef31ccb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java @@ -1,5 +1,6 @@ package us.dot.its.jpo.ode.plugin.types; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonValue; import java.util.Objects; @@ -12,7 +13,11 @@ public class Asn1Integer implements Asn1Type, Comparable { protected long value; + + @JsonIgnore final long lowerBound; + + @JsonIgnore final long upperBound; public Asn1Integer(long lowerBound, long upperBound) { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java index 9a81fceda..ec4b2eebe 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java @@ -1,17 +1,21 @@ package us.dot.its.jpo.ode.plugin.types; import us.dot.its.jpo.ode.plugin.serialization.SerializationUtil; + +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; public abstract class Asn1Sequence implements Asn1Type { + @JsonIgnore final boolean extensionMarker; public Asn1Sequence(boolean hasExtensionMarker) { this.extensionMarker = hasExtensionMarker; } + @JsonIgnore public boolean hasExtensionMarker() { return extensionMarker; } From 7c991f5f4a0a52ecc1b6149734bad3d83661076f Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Tue, 3 Dec 2024 17:09:24 -0700 Subject: [PATCH 11/33] BitString serialization rules to build them out as verbose boolean sequences --- .../plugin/serialization/BitstringSerializer.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java index 1f4616964..a4aaf2e1d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java @@ -21,11 +21,17 @@ protected BitstringSerializer() { @Override public void serialize(Asn1Bitstring asn1Bitstring, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { if (serializerProvider instanceof XmlSerializerProvider) { - // XER serializes enums as binary + // XER serializes bitstrings as binary strings jsonGenerator.writeString(asn1Bitstring.binaryString()); } else { - // JER serializes enums as hex - jsonGenerator.writeString(asn1Bitstring.hexString()); + // ODE JSON dialect serializes bitstrings as verbose maps + jsonGenerator.writeStartObject(); + for (int i = 0; i < asn1Bitstring.size(); i++) { + String name = asn1Bitstring.name(i); + boolean isSet = asn1Bitstring.get(i); + jsonGenerator.writeBooleanField(name, isSet); + } + jsonGenerator.writeEndObject(); } } } From c5e7bda92fc8de28e8d65c1acb69e7fc3acdba12 Mon Sep 17 00:00:00 2001 From: Ivan Yourshaw <39739503+iyourshaw@users.noreply.github.com> Date: Tue, 3 Dec 2024 18:16:17 -0700 Subject: [PATCH 12/33] Bitstring deserializer for verbose ODE json --- .../serialization/BitStringDeserializer.java | 16 ++++++-- .../serialization/BitstringSerializer.java | 1 + .../jpo/ode/plugin/types/Asn1Bitstring.java | 10 +++++ .../plugin/j2735/DSRC/HeadingSliceTest.java | 37 +++++++++++++++++++ 4 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceTest.java diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitStringDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitStringDeserializer.java index b7aeeb0e1..b90f4fee0 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitStringDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitStringDeserializer.java @@ -1,5 +1,7 @@ package us.dot.its.jpo.ode.plugin.serialization; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.core.type.TypeReference; import us.dot.its.jpo.ode.plugin.types.Asn1Bitstring; import com.fasterxml.jackson.core.JacksonException; import com.fasterxml.jackson.core.JsonParser; @@ -8,9 +10,11 @@ import com.fasterxml.jackson.dataformat.xml.XmlMapper; import java.io.IOException; +import java.util.Map; /** - * Deserialize an ASN.1 Bitstring from XER or JER + * Deserialize an ASN.1 Bitstring from XER or JER. + *

Note that this deserializer expects ODE JSON, not standard JER. * @param The bitstring type * @author Ivan Yourshaw */ @@ -24,14 +28,18 @@ protected BitStringDeserializer(Class valueClass) { @Override public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { - String str = jsonParser.getText(); T bitstring = construct(); if (jsonParser.getCodec() instanceof XmlMapper) { // XML: binary + String str = jsonParser.getText(); bitstring.fromBinaryString(str); } else { - // JSON: hex - bitstring.fromHexString(str); + // ODE JSON dialect: read verbose map + TypeReference> boolMapType = new TypeReference<>() {}; + Map map = jsonParser.readValueAs(boolMapType); + for (var keyValue : map.entrySet()) { + bitstring.set(keyValue.getKey(), keyValue.getValue()); + } } return bitstring; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java index 689699af3..122cb1fa2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java @@ -11,6 +11,7 @@ /** * Serializer for ASN.1 Bitstring types to XER or JER + *

Note that this serializer writes ODE JSON, not standard JER. * @author Ivan Yourshaw */ public class BitstringSerializer extends StdSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java index 1f4029d5b..e66b96570 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java @@ -49,6 +49,16 @@ public void set(int bitIndex, boolean value) { bits.set(bitIndex, value); } + public void set(String name, boolean value) { + for (int i = 0; i < size; i++) { + if (name(i).equals(name)) { + set(i, value); + return; + } + } + throw new IllegalArgumentException("Unknown name " + name); + } + public String binaryString() { char[] chars = new char[size]; for (int i = 0; i < size; i++) { diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceTest.java new file mode 100644 index 000000000..47e4c1405 --- /dev/null +++ b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceTest.java @@ -0,0 +1,37 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +/** + * Test serializing and deserializing a HeadingSlice bitstring to ODE JSON. + */ +public class HeadingSliceTest { + + private final static ObjectMapper mapper = new ObjectMapper(); + + @Test + public void testDeserializeJson() throws JsonProcessingException { + HeadingSlice hs = mapper.readValue(EXPECTED_JSON, HeadingSlice.class); + assertNotNull(hs); + for (int i = 0; i < hs.size(); i++) { + assertTrue(hs.get(i)); + } + } + + @Test + public void testSerializeJson() throws JsonProcessingException { + var hs = new HeadingSlice(); + for (int i = 0; i < hs.size(); i++) { + hs.set(i, true); + } + String json = mapper.writeValueAsString(hs); + assertEquals(EXPECTED_JSON, json); + } + + private final static String EXPECTED_JSON = """ + {"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}"""; +} From 578e2ccb48eb39e44682bd10441395cc9e5ccf6d Mon Sep 17 00:00:00 2001 From: Ivan Yourshaw <39739503+iyourshaw@users.noreply.github.com> Date: Tue, 3 Dec 2024 18:35:44 -0700 Subject: [PATCH 13/33] Remove diagnostic logging statements --- .../its/jpo/ode/plugin/serialization/IntegerDeserializer.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java index 4e044314a..5ccf5f343 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java @@ -28,9 +28,6 @@ public T deserialize(JsonParser jsonParser, DeserializationContext deserializati if (jsonParser instanceof FromXmlParser xmlParser) { result = construct(); TreeNode node = xmlParser.getCodec().readTree(xmlParser); - System.out.printf("type: %s%n", thisClass.getName()); - System.out.printf("node: %s%n", node); - System.out.printf("node type: %s%n", node.getClass().getName()); if (node instanceof NumericNode numNode) { result.setValue(numNode.longValue()); } else if (node instanceof TextNode textNode) { From 651941e698dced8ef136c20bd79f7ad9b5cf1fcc Mon Sep 17 00:00:00 2001 From: Ivan Yourshaw <39739503+iyourshaw@users.noreply.github.com> Date: Tue, 3 Dec 2024 18:37:41 -0700 Subject: [PATCH 14/33] Remove printf statements --- .../serialization/SequenceOfEnumeratedDeserializer.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfEnumeratedDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfEnumeratedDeserializer.java index e99b69f28..6b69eb5f8 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfEnumeratedDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfEnumeratedDeserializer.java @@ -33,12 +33,11 @@ public T deserialize(JsonParser jsonParser, DeserializationContext deserializati // Unwrapped enum items result = construct(); TreeNode node = xmlParser.getCodec().readTree(xmlParser); - System.out.printf("type: %s%n", thisClass.getName()); - System.out.printf("node: %s%n", node); + var fieldNameIterator = node.fieldNames(); while (fieldNameIterator.hasNext()) { String name = fieldNameIterator.next(); - System.out.printf("enum value: %s%n", name); + for (S enumValue : listEnumValues()) { if (Objects.equals(enumValue.getName(), name)) { result.add(enumValue); From afee4837c393d185d812d99d44866544b21d8234 Mon Sep 17 00:00:00 2001 From: Ivan Yourshaw <39739503+iyourshaw@users.noreply.github.com> Date: Tue, 3 Dec 2024 19:04:19 -0700 Subject: [PATCH 15/33] Set tim udp buffer size to 2048. Add complex tim example to script --- jpo-ode-svcs/src/main/resources/application.yaml | 2 +- scripts/tests/udpsender_tim.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/jpo-ode-svcs/src/main/resources/application.yaml b/jpo-ode-svcs/src/main/resources/application.yaml index f6418668d..410d5279b 100644 --- a/jpo-ode-svcs/src/main/resources/application.yaml +++ b/jpo-ode-svcs/src/main/resources/application.yaml @@ -107,7 +107,7 @@ ode: buffer-size: 500 receiver-port: 44900 tim: - buffer-size: 500 + buffer-size: 2048 receiver-port: 47900 file-importer: buffer-size: 500 diff --git a/scripts/tests/udpsender_tim.py b/scripts/tests/udpsender_tim.py index afc542385..1f6dbd260 100644 --- a/scripts/tests/udpsender_tim.py +++ b/scripts/tests/udpsender_tim.py @@ -5,7 +5,8 @@ # Currently set to oim-dev environment's ODE UDP_IP = os.getenv('DOCKER_HOST_IP') UDP_PORT = 47900 -MESSAGE = "005f498718cca69ec1a04600000100105d9b46ec5be401003a0103810040038081d4001f80d07016da410000000000000bbc2b0f775d9b0309c271431fa166ee0a27fff93f136b8205a0a107fb2ef979f4c5bfaeec97e4ad70c2fb36cd9730becdb355cc2fd2a7556b160b98b46ab98ae62c185fa55efb468d5b4000000004e2863f42cddc144ff7980040401262cdd7b809c509f5c62cdd35519c507b9062cdcee129c505cf262cdca5ff9c50432c62cdc5d3d9c502e3e62cdc13e79c501e9262cdbca2d9c5013ee62cdb80359c500e6a62cdb36299c500bc862cdaec1d9c50093c62cdaa2109c5006ea1080203091a859eeebb36006001830001aad27f4ff7580001aad355e39b5880a30029d6585009ef808332d8d9f80c3855151b38c772f765007967ec1170bcb7937f5cb880a25a52863493bcb87570dbcb5abc6bfb2faec606cfa34eb95a24790b2017366d3aabe7729e" +#MESSAGE = "005f498718cca69ec1a04600000100105d9b46ec5be401003a0103810040038081d4001f80d07016da410000000000000bbc2b0f775d9b0309c271431fa166ee0a27fff93f136b8205a0a107fb2ef979f4c5bfaeec97e4ad70c2fb36cd9730becdb355cc2fd2a7556b160b98b46ab98ae62c185fa55efb468d5b4000000004e2863f42cddc144ff7980040401262cdd7b809c509f5c62cdd35519c507b9062cdcee129c505cf262cdca5ff9c50432c62cdc5d3d9c502e3e62cdc13e79c501e9262cdbca2d9c5013ee62cdb80359c500e6a62cdb36299c500bc862cdaec1d9c50093c62cdaa2109c5006ea1080203091a859eeebb36006001830001aad27f4ff7580001aad355e39b5880a30029d6585009ef808332d8d9f80c3855151b38c772f765007967ec1170bcb7937f5cb880a25a52863493bcb87570dbcb5abc6bfb2faec606cfa34eb95a24790b2017366d3aabe7729e" +MESSAGE = "001F83A175D472274F43544554205354520A4C16B18193D0D1F9CDF54733FB1BFC0C983FCFC48D24FF97A474B8A754A9112A6F690200192EFCB5FF96D90FA32D4E83FC0C9830B5F5FC150A5059C545235AC20227C697080018815F84759CB3BF452C850424643A30E028544E9C511560A9DD8C2629F0D4470DBB3DDB4316096FC100800809BC746A108C8F26FC4C3208DA0E61091B7429182D3BFC0C98359EA8B4B454C16E606F037AE007A1CDE32000152E6C0ECDF612A90558D403FC049BF003734AC1C240EC930B39E850A7990A808008C033EFC47606FDDFA252B4A9942280C1020C9D818700EC4B4A76680C001D9F981240013111914408214602F8173D850A0D48F09F5D75264929260B5A7D27260B5A65260B56744F43999104E394B5204FF09260B5A7D3E32C5F74A0DB09EA975B8C1724DC92D9201005800092D84A89EF67BC1B27429C710979A5FE0E4C16B4F5EE874A08F2404C40AA60E2A09E79F91602003E5DB0AA9B32A2E0A6F36507F829305ACEE93E6B134C1CCC3C2EF3FA5CB5D02ECE000142002950BD8FB7D02D26BB6CAFCB848BE4A9260B5A7D29260B5A7D19D28125C17566972EA98F7172471344010153D0C21C1D69E158731BFC1C982D69E2E4FEDB544A012D60EDDB5D7569995CCC001CB02000CB8B449E02D39DB1072106F80B79BFC14982D666D178E4A198A3579B12B09915D01723B0000A10002A973AEAF40B82284427D9124DFE024F9230F8DD6AD73490518F80A3B259CF3FC40014001266976FBC88CB08E20EE8AD087EC16463A2B7AC5E62CB83FC9C830B7275F28A3128CDB2491AFF05260B580BDABD3249C784B718EFDC1906727B228001160002B10C89FAF5F0E9BA4F0AC74920F4947402561EBFB6201930424BF9E8112A39CA22519425D8E01001A7A1E0222723B864CB17F849305AD3E92E6884164E2CE7F0A6BD84FE4E38949D300081A01A290029F8111120048308876C910829B04B5148014FC9621814460542FAA24A460FBF82D2CF1A8CE66032A7E6A0807028A04283228610217947C12CE3FFF20CA031F809A2007D242408F0B4510F23D2A2646294D48A41F4F8494C87B58CCFE2983829A707069C17A4BBF23992859B3A528C03ACD3506FF07260B5A7BBA7391E53AAABAA44EA1584A857727A910002C0020391DD0DEDC78D916CBD8D839D52DABDB084919305C975AABA210D2D0CDF7A0ABC1000D3D0D9D071298F916D83FC049B2CFCF26A78A5951B5CC28075CAF1EAC780042808048EB0ADE229537A0161356A3A68175E5809621740382083BEDD5810921240" print("UDP target IP:", UDP_IP) print("UDP target port:", UDP_PORT) From 235f51a6bbfe2d3418e0361eae5c9b72cf3c3111 Mon Sep 17 00:00:00 2001 From: Ivan Yourshaw <39739503+iyourshaw@users.noreply.github.com> Date: Tue, 3 Dec 2024 19:13:10 -0700 Subject: [PATCH 16/33] Complex example tims --- scripts/tests/udpsender_tim.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/tests/udpsender_tim.py b/scripts/tests/udpsender_tim.py index 1f6dbd260..3638e8317 100644 --- a/scripts/tests/udpsender_tim.py +++ b/scripts/tests/udpsender_tim.py @@ -5,8 +5,15 @@ # Currently set to oim-dev environment's ODE UDP_IP = os.getenv('DOCKER_HOST_IP') UDP_PORT = 47900 + +# Normal TIM message #MESSAGE = "005f498718cca69ec1a04600000100105d9b46ec5be401003a0103810040038081d4001f80d07016da410000000000000bbc2b0f775d9b0309c271431fa166ee0a27fff93f136b8205a0a107fb2ef979f4c5bfaeec97e4ad70c2fb36cd9730becdb355cc2fd2a7556b160b98b46ab98ae62c185fa55efb468d5b4000000004e2863f42cddc144ff7980040401262cdd7b809c509f5c62cdd35519c507b9062cdcee129c505cf262cdca5ff9c50432c62cdc5d3d9c502e3e62cdc13e79c501e9262cdbca2d9c5013ee62cdb80359c500e6a62cdb36299c500bc862cdaec1d9c50093c62cdaa2109c5006ea1080203091a859eeebb36006001830001aad27f4ff7580001aad355e39b5880a30029d6585009ef808332d8d9f80c3855151b38c772f765007967ec1170bcb7937f5cb880a25a52863493bcb87570dbcb5abc6bfb2faec606cfa34eb95a24790b2017366d3aabe7729e" -MESSAGE = "001F83A175D472274F43544554205354520A4C16B18193D0D1F9CDF54733FB1BFC0C983FCFC48D24FF97A474B8A754A9112A6F690200192EFCB5FF96D90FA32D4E83FC0C9830B5F5FC150A5059C545235AC20227C697080018815F84759CB3BF452C850424643A30E028544E9C511560A9DD8C2629F0D4470DBB3DDB4316096FC100800809BC746A108C8F26FC4C3208DA0E61091B7429182D3BFC0C98359EA8B4B454C16E606F037AE007A1CDE32000152E6C0ECDF612A90558D403FC049BF003734AC1C240EC930B39E850A7990A808008C033EFC47606FDDFA252B4A9942280C1020C9D818700EC4B4A76680C001D9F981240013111914408214602F8173D850A0D48F09F5D75264929260B5A7D27260B5A65260B56744F43999104E394B5204FF09260B5A7D3E32C5F74A0DB09EA975B8C1724DC92D9201005800092D84A89EF67BC1B27429C710979A5FE0E4C16B4F5EE874A08F2404C40AA60E2A09E79F91602003E5DB0AA9B32A2E0A6F36507F829305ACEE93E6B134C1CCC3C2EF3FA5CB5D02ECE000142002950BD8FB7D02D26BB6CAFCB848BE4A9260B5A7D29260B5A7D19D28125C17566972EA98F7172471344010153D0C21C1D69E158731BFC1C982D69E2E4FEDB544A012D60EDDB5D7569995CCC001CB02000CB8B449E02D39DB1072106F80B79BFC14982D666D178E4A198A3579B12B09915D01723B0000A10002A973AEAF40B82284427D9124DFE024F9230F8DD6AD73490518F80A3B259CF3FC40014001266976FBC88CB08E20EE8AD087EC16463A2B7AC5E62CB83FC9C830B7275F28A3128CDB2491AFF05260B580BDABD3249C784B718EFDC1906727B228001160002B10C89FAF5F0E9BA4F0AC74920F4947402561EBFB6201930424BF9E8112A39CA22519425D8E01001A7A1E0222723B864CB17F849305AD3E92E6884164E2CE7F0A6BD84FE4E38949D300081A01A290029F8111120048308876C910829B04B5148014FC9621814460542FAA24A460FBF82D2CF1A8CE66032A7E6A0807028A04283228610217947C12CE3FFF20CA031F809A2007D242408F0B4510F23D2A2646294D48A41F4F8494C87B58CCFE2983829A707069C17A4BBF23992859B3A528C03ACD3506FF07260B5A7BBA7391E53AAABAA44EA1584A857727A910002C0020391DD0DEDC78D916CBD8D839D52DABDB084919305C975AABA210D2D0CDF7A0ABC1000D3D0D9D071298F916D83FC049B2CFCF26A78A5951B5CC28075CAF1EAC780042808048EB0ADE229537A0161356A3A68175E5809621740382083BEDD5810921240" + +# Complex random example (with computed lanes) +#MESSAGE = "001F83A175D472274F43544554205354520A4C16B18193D0D1F9CDF54733FB1BFC0C983FCFC48D24FF97A474B8A754A9112A6F690200192EFCB5FF96D90FA32D4E83FC0C9830B5F5FC150A5059C545235AC20227C697080018815F84759CB3BF452C850424643A30E028544E9C511560A9DD8C2629F0D4470DBB3DDB4316096FC100800809BC746A108C8F26FC4C3208DA0E61091B7429182D3BFC0C98359EA8B4B454C16E606F037AE007A1CDE32000152E6C0ECDF612A90558D403FC049BF003734AC1C240EC930B39E850A7990A808008C033EFC47606FDDFA252B4A9942280C1020C9D818700EC4B4A76680C001D9F981240013111914408214602F8173D850A0D48F09F5D75264929260B5A7D27260B5A65260B56744F43999104E394B5204FF09260B5A7D3E32C5F74A0DB09EA975B8C1724DC92D9201005800092D84A89EF67BC1B27429C710979A5FE0E4C16B4F5EE874A08F2404C40AA60E2A09E79F91602003E5DB0AA9B32A2E0A6F36507F829305ACEE93E6B134C1CCC3C2EF3FA5CB5D02ECE000142002950BD8FB7D02D26BB6CAFCB848BE4A9260B5A7D29260B5A7D19D28125C17566972EA98F7172471344010153D0C21C1D69E158731BFC1C982D69E2E4FEDB544A012D60EDDB5D7569995CCC001CB02000CB8B449E02D39DB1072106F80B79BFC14982D666D178E4A198A3579B12B09915D01723B0000A10002A973AEAF40B82284427D9124DFE024F9230F8DD6AD73490518F80A3B259CF3FC40014001266976FBC88CB08E20EE8AD087EC16463A2B7AC5E62CB83FC9C830B7275F28A3128CDB2491AFF05260B580BDABD3249C784B718EFDC1906727B228001160002B10C89FAF5F0E9BA4F0AC74920F4947402561EBFB6201930424BF9E8112A39CA22519425D8E01001A7A1E0222723B864CB17F849305AD3E92E6884164E2CE7F0A6BD84FE4E38949D300081A01A290029F8111120048308876C910829B04B5148014FC9621814460542FAA24A460FBF82D2CF1A8CE66032A7E6A0807028A04283228610217947C12CE3FFF20CA031F809A2007D242408F0B4510F23D2A2646294D48A41F4F8494C87B58CCFE2983829A707069C17A4BBF23992859B3A528C03ACD3506FF07260B5A7BBA7391E53AAABAA44EA1584A857727A910002C0020391DD0DEDC78D916CBD8D839D52DABDB084919305C975AABA210D2D0CDF7A0ABC1000D3D0D9D071298F916D83FC049B2CFCF26A78A5951B5CC28075CAF1EAC780042808048EB0ADE229537A0161356A3A68175E5809621740382083BEDD5810921240" + +# Complex random example +MESSAGE = "001F830A752544F94F4354455420535452124C16B4FA27D64F431A94AC28F232828FF05260B5CA82DDFB227A687CA09CFDE87C4B0ED1C8800280204A865BB2C265D1E4F5D3A877C07F8093FC3D820142C4EB15C7AC09CE3356F45A90200118358186A148D3F13220B227C18569099E2D1232A28B5F2579208E479151D45D438BEFF80DB0C08CED3F45A50103103102088C1A44A152889AFA7F62218940E831C20F35EA1232777BF31146022C71408809E5EB7BA1D52835D8A040D83367520C4AB397658B07E21393A041060D049E825C15FCF56AFF05260B58E40024126EDBD550F6D519709FDE4CF880201602008CEE4ACA5DE274975513846DD7AD77F839305AD383175AA8A497954C284E668FFE4F0710D80802810030EAC2535BCD6AE047899B1CE75405C8E6936419C672A85F8900C50B428CA3188CA4E1101B485DEE47349B20CE339542FC5654852A1484C9C0A0B6DEBB81DB91CD26C8338CE550BF31188B6041101F08134A407147800DFCF8E5FE0A4C16B2BF3A3A253269429B3B8198F71B71F8C902002C008005DD1174A86649950714134C54C82F4C0012B9C982D69B5BEADBF1C99BEFD660C6A4200201A7A1ECCA540B60B0AA27F8093AC4BF831472A28ECD2E0203575E8F15F5000818817507D68CC505CF4497E8219CA2288A03C81503120AEB852B7507D68CC505CF4497E2121346A090E8061520293D37841E41530E9BF4214E93C326CF8502830F0C081FF9D71FE064C1BAA780A12351A24D300B6FD25F085703880101600022BE028AC1105C1D5CB0F0E001A42F7F849305AD3E9B408EB43464DC861E6234918C8667857300022C400087E511D765E294CF3507435289D7EBBC2849A4982D69F494982D524C16B4FA36827A1D6C31DFDBE55A627F819307EA49F19AA77C773D119EA690CE094883E0100588001E1832A00950E876B85589726EF3EDFE0E4C16B4F8EB0ECDE8A23F3F9E839831CE316170D2000858080178162BF959EDACD55B2CD3721A1EDFE064C1AEC1B3F02442FEC92E119DFAF82D6EC3884002C0004A9FEDD617613A307F791C6D74FB1A27C451F6139305AD394982D582367260B5A6" print("UDP target IP:", UDP_IP) print("UDP target port:", UDP_PORT) From ef385c602e48b160b2e047fe37b7f1de19fdbcdc Mon Sep 17 00:00:00 2001 From: Ivan Yourshaw <39739503+iyourshaw@users.noreply.github.com> Date: Wed, 4 Dec 2024 09:59:15 -0700 Subject: [PATCH 17/33] Comment manual edits --- .../us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java | 2 +- .../dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java index fc868e168..cfe03e8ef 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java @@ -17,7 +17,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; /** - * + * EDITED: Fixed "notUsed" properties. *

* This source code was generated by a tool. Manual edits are futile. *

diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java index f83b11b43..804a14f63 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java @@ -13,7 +13,7 @@ import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; /** - * + * EDITED: Changed base class to Asn1Object. *

* This source code was generated by a tool. Manual edits are futile. *

From 2568fab8429da5c0178ddb8e9b15a4271c6ddb3e Mon Sep 17 00:00:00 2001 From: Ivan Yourshaw <39739503+iyourshaw@users.noreply.github.com> Date: Wed, 4 Dec 2024 17:20:24 -0700 Subject: [PATCH 18/33] Java style: use Lobok for getters/setters, capitalize enum items --- jpo-ode-plugins/pom.xml | 3 + .../ode/plugin/annotations/package-info.java | 2 +- .../ode/plugin/j2735/AddGrpB/DegreesLat.java | 31 +- .../ode/plugin/j2735/AddGrpB/DegreesLong.java | 31 +- .../ode/plugin/j2735/AddGrpB/Elevation.java | 31 +- .../AddGrpB/LaneDataAttribute_addGrpB.java | 31 +- ...ttribute_addGrpBReg_LaneDataAttribute.java | 31 +- ...eg_LaneDataAttributeValueDeserializer.java | 31 +- ...BReg_LaneDataAttributeValueSerializer.java | 31 +- .../ode/plugin/j2735/AddGrpB/LatitudeDMS.java | 31 +- .../plugin/j2735/AddGrpB/LatitudeDMS2.java | 59 ++- .../plugin/j2735/AddGrpB/LongitudeDMS.java | 31 +- .../plugin/j2735/AddGrpB/LongitudeDMS2.java | 59 ++- .../plugin/j2735/AddGrpB/MinutesAngle.java | 31 +- .../AddGrpB/NodeOffsetPointXY_addGrpB.java | 51 ++- ...tPointXY_addGrpBReg_NodeOffsetPointXY.java | 31 +- ...eg_NodeOffsetPointXYValueDeserializer.java | 31 +- ...BReg_NodeOffsetPointXYValueSerializer.java | 31 +- .../plugin/j2735/AddGrpB/Node_LLdms_48b.java | 51 ++- .../plugin/j2735/AddGrpB/Node_LLdms_80b.java | 51 ++- .../j2735/AddGrpB/Position3D_addGrpB.java | 59 ++- .../Position3D_addGrpBReg_Position3D.java | 31 +- ...ddGrpBReg_Position3DValueDeserializer.java | 31 +- ..._addGrpBReg_Position3DValueSerializer.java | 31 +- .../plugin/j2735/AddGrpB/SecondsAngle.java | 31 +- .../ode/plugin/j2735/AddGrpC/Altitude.java | 51 ++- .../j2735/AddGrpC/AltitudeConfidence.java | 53 +-- .../AltitudeConfidenceDeserializer.java | 31 +- .../AddGrpC/AltitudeConfidenceSerializer.java | 31 +- .../plugin/j2735/AddGrpC/AltitudeValue.java | 31 +- .../j2735/AddGrpC/Position3D_addGrpC.java | 43 ++- .../Position3D_addGrpCReg_Position3D.java | 31 +- ...ddGrpCReg_Position3DValueDeserializer.java | 31 +- ..._addGrpCReg_Position3DValueSerializer.java | 31 +- .../its/jpo/ode/plugin/j2735/DSRC/Angle.java | 31 +- .../its/jpo/ode/plugin/j2735/DSRC/Circle.java | 59 ++- .../ode/plugin/j2735/DSRC/ComputedLane.java | 129 ++----- .../its/jpo/ode/plugin/j2735/DSRC/DYear.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/DeltaAngle.java | 31 +- .../plugin/j2735/DSRC/DescriptiveName.java | 31 +- .../ode/plugin/j2735/DSRC/DirectionOfUse.java | 43 +-- .../DSRC/DirectionOfUseDeserializer.java | 31 +- .../j2735/DSRC/DirectionOfUseSerializer.java | 31 +- .../ode/plugin/j2735/DSRC/DistanceUnits.java | 45 +-- .../j2735/DSRC/DistanceUnitsDeserializer.java | 31 +- .../j2735/DSRC/DistanceUnitsSerializer.java | 31 +- .../plugin/j2735/DSRC/DrivenLineOffsetLg.java | 31 +- .../plugin/j2735/DSRC/DrivenLineOffsetSm.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/Elevation.java | 31 +- .../ode/plugin/j2735/DSRC/ExitService.java | 31 +- .../j2735/DSRC/ExitServiceSequence.java | 61 ++- .../its/jpo/ode/plugin/j2735/DSRC/Extent.java | 61 +-- .../plugin/j2735/DSRC/ExtentDeserializer.java | 31 +- .../plugin/j2735/DSRC/ExtentSerializer.java | 31 +- .../ode/plugin/j2735/DSRC/FurtherInfoID.java | 31 +- .../ode/plugin/j2735/DSRC/GenericSignage.java | 31 +- .../j2735/DSRC/GenericSignageSequence.java | 61 ++- .../plugin/j2735/DSRC/GeographicalPath.java | 135 ++----- .../j2735/DSRC/GeometricProjection.java | 77 ++-- .../ode/plugin/j2735/DSRC/HeadingSlice.java | 31 +- .../j2735/DSRC/HeadingSliceDeserializer.java | 31 +- .../ode/plugin/j2735/DSRC/ITIStextPhrase.java | 31 +- .../plugin/j2735/DSRC/LaneDataAttribute.java | 93 ++--- .../j2735/DSRC/LaneDataAttributeList.java | 31 +- .../its/jpo/ode/plugin/j2735/DSRC/LaneID.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/LaneWidth.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/Latitude.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/Longitude.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/MUTCDCode.java | 45 +-- .../j2735/DSRC/MUTCDCodeDeserializer.java | 31 +- .../j2735/DSRC/MUTCDCodeSerializer.java | 31 +- .../j2735/DSRC/MergeDivergeNodeAngle.java | 31 +- .../plugin/j2735/DSRC/MinuteOfTheYear.java | 31 +- .../plugin/j2735/DSRC/MinutesDuration.java | 31 +- .../its/jpo/ode/plugin/j2735/DSRC/MsgCRC.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/MsgCount.java | 31 +- .../plugin/j2735/DSRC/NodeAttributeLL.java | 51 +-- .../DSRC/NodeAttributeLLDeserializer.java | 31 +- .../j2735/DSRC/NodeAttributeLLList.java | 31 +- .../j2735/DSRC/NodeAttributeLLSerializer.java | 31 +- .../plugin/j2735/DSRC/NodeAttributeSetLL.java | 93 ++--- .../plugin/j2735/DSRC/NodeAttributeSetXY.java | 93 ++--- .../plugin/j2735/DSRC/NodeAttributeXY.java | 51 +-- .../DSRC/NodeAttributeXYDeserializer.java | 31 +- .../j2735/DSRC/NodeAttributeXYList.java | 31 +- .../j2735/DSRC/NodeAttributeXYSerializer.java | 31 +- .../its/jpo/ode/plugin/j2735/DSRC/NodeLL.java | 51 ++- .../jpo/ode/plugin/j2735/DSRC/NodeListLL.java | 43 ++- .../jpo/ode/plugin/j2735/DSRC/NodeListXY.java | 51 ++- .../plugin/j2735/DSRC/NodeOffsetPointLL.java | 99 ++--- .../plugin/j2735/DSRC/NodeOffsetPointXY.java | 99 ++--- .../jpo/ode/plugin/j2735/DSRC/NodeSetLL.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/NodeSetXY.java | 31 +- .../its/jpo/ode/plugin/j2735/DSRC/NodeXY.java | 51 ++- .../ode/plugin/j2735/DSRC/Node_LL_24B.java | 51 ++- .../ode/plugin/j2735/DSRC/Node_LL_28B.java | 51 ++- .../ode/plugin/j2735/DSRC/Node_LL_32B.java | 51 ++- .../ode/plugin/j2735/DSRC/Node_LL_36B.java | 51 ++- .../ode/plugin/j2735/DSRC/Node_LL_44B.java | 51 ++- .../ode/plugin/j2735/DSRC/Node_LL_48B.java | 51 ++- .../ode/plugin/j2735/DSRC/Node_LLmD_64b.java | 51 ++- .../ode/plugin/j2735/DSRC/Node_XY_20b.java | 51 ++- .../ode/plugin/j2735/DSRC/Node_XY_22b.java | 51 ++- .../ode/plugin/j2735/DSRC/Node_XY_24b.java | 51 ++- .../ode/plugin/j2735/DSRC/Node_XY_26b.java | 51 ++- .../ode/plugin/j2735/DSRC/Node_XY_28b.java | 51 ++- .../ode/plugin/j2735/DSRC/Node_XY_32b.java | 51 ++- .../ode/plugin/j2735/DSRC/OffsetLL_B12.java | 31 +- .../ode/plugin/j2735/DSRC/OffsetLL_B14.java | 31 +- .../ode/plugin/j2735/DSRC/OffsetLL_B16.java | 31 +- .../ode/plugin/j2735/DSRC/OffsetLL_B18.java | 31 +- .../ode/plugin/j2735/DSRC/OffsetLL_B22.java | 31 +- .../ode/plugin/j2735/DSRC/OffsetLL_B24.java | 31 +- .../ode/plugin/j2735/DSRC/OffsetSystem.java | 69 ++-- .../jpo/ode/plugin/j2735/DSRC/Offset_B10.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/Offset_B11.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/Offset_B12.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/Offset_B13.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/Offset_B14.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/Offset_B16.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/Position3D.java | 69 ++-- .../jpo/ode/plugin/j2735/DSRC/Radius_B12.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/RegionId.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/RegionList.java | 31 +- .../ode/plugin/j2735/DSRC/RegionOffsets.java | 59 ++- .../ode/plugin/j2735/DSRC/RegionPointSet.java | 59 ++- .../plugin/j2735/DSRC/RegionalExtension.java | 31 +- .../j2735/DSRC/RegulatorySpeedLimit.java | 51 ++- .../plugin/j2735/DSRC/RoadRegulatorID.java | 31 +- .../ode/plugin/j2735/DSRC/RoadSegmentID.java | 31 +- .../j2735/DSRC/RoadSegmentReferenceID.java | 51 ++- .../jpo/ode/plugin/j2735/DSRC/RoadSignID.java | 67 ++-- .../plugin/j2735/DSRC/RoadwayCrownAngle.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/SSPindex.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/Scale_B12.java | 31 +- .../plugin/j2735/DSRC/SegmentAttributeLL.java | 103 ++--- .../DSRC/SegmentAttributeLLDeserializer.java | 31 +- .../j2735/DSRC/SegmentAttributeLLList.java | 31 +- .../DSRC/SegmentAttributeLLSerializer.java | 31 +- .../plugin/j2735/DSRC/SegmentAttributeXY.java | 103 ++--- .../DSRC/SegmentAttributeXYDeserializer.java | 31 +- .../j2735/DSRC/SegmentAttributeXYList.java | 31 +- .../DSRC/SegmentAttributeXYSerializer.java | 31 +- .../ode/plugin/j2735/DSRC/ShapePointSet.java | 67 ++-- .../ode/plugin/j2735/DSRC/SignPrority.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/SpeedLimit.java | 31 +- .../ode/plugin/j2735/DSRC/SpeedLimitList.java | 31 +- .../plugin/j2735/DSRC/SpeedLimitSequence.java | 61 ++- .../ode/plugin/j2735/DSRC/SpeedLimitType.java | 57 +-- .../DSRC/SpeedLimitTypeDeserializer.java | 31 +- .../j2735/DSRC/SpeedLimitTypeSerializer.java | 31 +- .../plugin/j2735/DSRC/TravelerDataFrame.java | 205 ++-------- .../j2735/DSRC/TravelerDataFrame.java_bak | 355 ++++++++++++++++++ .../j2735/DSRC/TravelerDataFrameList.java | 31 +- .../plugin/j2735/DSRC/TravelerInfoType.java | 43 +-- .../DSRC/TravelerInfoTypeDeserializer.java | 31 +- .../DSRC/TravelerInfoTypeSerializer.java | 31 +- .../j2735/DSRC/TravelerInformation.java | 101 ++--- .../j2735/DSRC/TravelerInformation.java_bak | 111 ++++++ .../jpo/ode/plugin/j2735/DSRC/URL_Base.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/URL_Short.java | 31 +- .../ode/plugin/j2735/DSRC/UniqueMSGID.java | 31 +- .../ode/plugin/j2735/DSRC/ValidRegion.java | 85 ++--- .../jpo/ode/plugin/j2735/DSRC/Velocity.java | 31 +- .../jpo/ode/plugin/j2735/DSRC/WorkZone.java | 31 +- .../plugin/j2735/DSRC/WorkZoneSequence.java | 61 ++- .../its/jpo/ode/plugin/j2735/DSRC/Zoom.java | 31 +- .../jpo/ode/plugin/j2735/ITIS/ITIScodes.java | 31 +- .../plugin/j2735/ITIS/ITIScodesAndText.java | 31 +- .../j2735/ITIS/ITIScodesAndTextSequence.java | 61 ++- .../jpo/ode/plugin/j2735/ITIS/ITIStext.java | 31 +- .../plugin/j2735/REGION/Reg_ComputedLane.java | 31 +- .../j2735/REGION/Reg_GeographicalPath.java | 31 +- .../j2735/REGION/Reg_GeometricProjection.java | 31 +- .../j2735/REGION/Reg_LaneDataAttribute.java | 36 +- .../j2735/REGION/Reg_NodeAttributeSetLL.java | 31 +- .../j2735/REGION/Reg_NodeAttributeSetXY.java | 31 +- .../j2735/REGION/Reg_NodeOffsetPointLL.java | 31 +- .../j2735/REGION/Reg_NodeOffsetPointXY.java | 36 +- .../plugin/j2735/REGION/Reg_Position3D.java | 41 +- .../j2735/REGION/Reg_TravelerInformation.java | 31 +- .../its/jpo/ode/plugin/types/Asn1Field.java | 5 - 182 files changed, 4216 insertions(+), 3879 deletions(-) create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java_bak create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java_bak delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Field.java diff --git a/jpo-ode-plugins/pom.xml b/jpo-ode-plugins/pom.xml index 50b5281d1..68716dae1 100644 --- a/jpo-ode-plugins/pom.xml +++ b/jpo-ode-plugins/pom.xml @@ -45,5 +45,8 @@ logback-core 1.4.14 + + + diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/package-info.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/package-info.java index 00f66faaa..90d4dfd11 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/package-info.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/package-info.java @@ -1,4 +1,4 @@ /** - * Annotations needed for ASN.1 UPER encoding + * Annotations for ASN.1 types */ package us.dot.its.jpo.ode.plugin.annotations; \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLat.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLat.java index 3971504a9..ea73f2537 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLat.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLat.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class DegreesLat extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLong.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLong.java index dbfb480d2..32e97c7a2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLong.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLong.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class DegreesLong extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Elevation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Elevation.java index 98ba42c38..21a1d67f0 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Elevation.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Elevation.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Elevation extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpB.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpB.java index ad02e6cf9..6a8596d1e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpB.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpB.java @@ -7,19 +7,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java index 7485ccd38..8cdd2bf74 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java @@ -7,19 +7,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonRootName("Reg_LaneDataAttribute") diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java index 528ea1d43..f00fe29aa 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java index f33420c9e..34604a6c5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS.java index e1a7a2791..4afd65dcd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class LatitudeDMS extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS2.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS2.java index 3102137cb..8b256dda5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS2.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS2.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class LatitudeDMS2 extends Asn1Sequence { @Asn1Property(tag = 0) @@ -38,30 +49,6 @@ public class LatitudeDMS2 extends Asn1Sequence { @JsonDeserialize(using = SecondsAngle.SecondsAngleDeserializer.class) private SecondsAngle s; - public DegreesLat getD() { - return d; - } - - public void setD(DegreesLat d) { - this.d = d; - } - - public MinutesAngle getM() { - return m; - } - - public void setM(MinutesAngle m) { - this.m = m; - } - - public SecondsAngle getS() { - return s; - } - - public void setS(SecondsAngle s) { - this.s = s; - } - LatitudeDMS2() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS.java index 29d2c87b5..8a2f506b0 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class LongitudeDMS extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS2.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS2.java index 91d0b02f2..7654c3a49 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS2.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS2.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class LongitudeDMS2 extends Asn1Sequence { @Asn1Property(tag = 0) @@ -38,30 +49,6 @@ public class LongitudeDMS2 extends Asn1Sequence { @JsonDeserialize(using = SecondsAngle.SecondsAngleDeserializer.class) private SecondsAngle s; - public DegreesLong getD() { - return d; - } - - public void setD(DegreesLong d) { - this.d = d; - } - - public MinutesAngle getM() { - return m; - } - - public void setM(MinutesAngle m) { - this.m = m; - } - - public SecondsAngle getS() { - return s; - } - - public void setS(SecondsAngle s) { - this.s = s; - } - LongitudeDMS2() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/MinutesAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/MinutesAngle.java index 1a559c930..c84d8d850 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/MinutesAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/MinutesAngle.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class MinutesAngle extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpB.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpB.java index fcbcbad4d..029269f47 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpB.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpB.java @@ -1,6 +1,8 @@ package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import java.util.Optional; import java.util.List; @@ -10,21 +12,30 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter +@Setter @JsonInclude(Include.NON_NULL) public class NodeOffsetPointXY_addGrpB extends Asn1Choice { @@ -37,22 +48,6 @@ public class NodeOffsetPointXY_addGrpB extends Asn1Choice { super(true); } - public Node_LLdms_48b getPosA() { - return posA; - } - - public void setPosA(Node_LLdms_48b posA) { - this.posA = posA; - } - - public Node_LLdms_80b getPosB() { - return posB; - } - - public void setPosB(Node_LLdms_80b posB) { - this.posB = posB; - } - @Override protected List> listTypes() { return null; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java index 7df4a3a50..bcc1722bd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java @@ -7,19 +7,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonRootName("Reg_NodeOffsetPointXY") diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java index 58a329960..2344e977e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java index 5e37e5770..0f5fd8d5e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_48b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_48b.java index 1ee2af7f2..74d3f60b2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_48b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_48b.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_LLdms_48b extends Asn1Sequence { @Asn1Property(tag = 0) @@ -35,22 +46,6 @@ public class Node_LLdms_48b extends Asn1Sequence { @JsonDeserialize(using = LatitudeDMS.LatitudeDMSDeserializer.class) private LatitudeDMS lat; - public LongitudeDMS getLon() { - return lon; - } - - public void setLon(LongitudeDMS lon) { - this.lon = lon; - } - - public LatitudeDMS getLat() { - return lat; - } - - public void setLat(LatitudeDMS lat) { - this.lat = lat; - } - Node_LLdms_48b() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_80b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_80b.java index 8547424b0..b8fead586 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_80b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_80b.java @@ -4,27 +4,38 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_LLdms_80b extends Asn1Sequence { @Asn1Property(tag = 0) @@ -32,22 +43,6 @@ public class Node_LLdms_80b extends Asn1Sequence { @Asn1Property(tag = 1) private LatitudeDMS2 lat; - public LongitudeDMS2 getLon() { - return lon; - } - - public void setLon(LongitudeDMS2 lon) { - this.lon = lon; - } - - public LatitudeDMS2 getLat() { - return lat; - } - - public void setLat(LatitudeDMS2 lat) { - this.lat = lat; - } - Node_LLdms_80b() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpB.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpB.java index 95b97876b..61bbcddc3 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpB.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpB.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Position3D_addGrpB extends Asn1Sequence { @Asn1Property(tag = 0) @@ -36,30 +47,6 @@ public class Position3D_addGrpB extends Asn1Sequence { @JsonDeserialize(using = Elevation.ElevationDeserializer.class) private Elevation elevation; - public LatitudeDMS2 getLatitude() { - return latitude; - } - - public void setLatitude(LatitudeDMS2 latitude) { - this.latitude = latitude; - } - - public LongitudeDMS2 getLongitude() { - return longitude; - } - - public void setLongitude(LongitudeDMS2 longitude) { - this.longitude = longitude; - } - - public Elevation getElevation() { - return elevation; - } - - public void setElevation(Elevation elevation) { - this.elevation = elevation; - } - Position3D_addGrpB() { super(true); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3D.java index 5b0f3bc27..dea08570a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3D.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3D.java @@ -7,19 +7,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonRootName("Reg_Position3D") diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueDeserializer.java index 84496f548..323cee785 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Position3D_addGrpBReg_Position3DValueDeserializer extends OpenTypeDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueSerializer.java index 91fa1c891..de281a657 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Position3D_addGrpBReg_Position3DValueSerializer extends OpenTypeSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/SecondsAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/SecondsAngle.java index b59a9329c..694530556 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/SecondsAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/SecondsAngle.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class SecondsAngle extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Altitude.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Altitude.java index c73c8af2b..bd3ec24c7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Altitude.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Altitude.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Altitude extends Asn1Sequence { @Asn1Property(tag = 0) @@ -34,22 +45,6 @@ public class Altitude extends Asn1Sequence { @Asn1Property(tag = 1) private AltitudeConfidence confidence; - public AltitudeValue getValue() { - return value; - } - - public void setValue(AltitudeValue value) { - this.value = value; - } - - public AltitudeConfidence getConfidence() { - return confidence; - } - - public void setConfidence(AltitudeConfidence confidence) { - this.confidence = confidence; - } - Altitude() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidence.java index 8c9bb01e5..79717dc3d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidence.java @@ -1,47 +1,48 @@ package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; +import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter @JsonSerialize(using = AltitudeConfidenceSerializer.class) @JsonDeserialize(using = AltitudeConfidenceDeserializer.class) public enum AltitudeConfidence implements Asn1Enumerated { - alt_000_01(0, "alt-000-01"), alt_000_02(1, "alt-000-02"), alt_000_05(2, "alt-000-05"), alt_000_10(3, - "alt-000-10"), alt_000_20(4, "alt-000-20"), alt_000_50(5, "alt-000-50"), alt_001_00(6, - "alt-001-00"), alt_002_00(7, "alt-002-00"), alt_005_00(8, "alt-005-00"), alt_010_00(9, - "alt-010-00"), alt_020_00(10, "alt-020-00"), alt_050_00(11, "alt-050-00"), alt_100_00(12, - "alt-100-00"), alt_200_00(13, - "alt-200-00"), outOfRange(14, "outOfRange"), unavailable(15, "unavailable"); + ALT_000_01(0, "alt-000-01"), ALT_000_02(1, "alt-000-02"), ALT_000_05(2, "alt-000-05"), ALT_000_10(3, + "alt-000-10"), ALT_000_20(4, "alt-000-20"), ALT_000_50(5, "alt-000-50"), ALT_001_00(6, + "alt-001-00"), ALT_002_00(7, "alt-002-00"), ALT_005_00(8, "alt-005-00"), ALT_010_00(9, + "alt-010-00"), ALT_020_00(10, "alt-020-00"), ALT_050_00(11, "alt-050-00"), ALT_100_00(12, + "alt-100-00"), ALT_200_00(13, + "alt-200-00"), OUTOFRANGE(14, "outOfRange"), UNAVAILABLE(15, "unavailable"); private final int index; private final String name; - public int getIndex() { - return index; - } - - public String getName() { - return name; - } - public boolean hasExtensionMarker() { return false; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceDeserializer.java index 39232d747..903cda72c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class AltitudeConfidenceDeserializer extends EnumeratedDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceSerializer.java index 1f1722c19..a71c84133 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class AltitudeConfidenceSerializer extends EnumeratedSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeValue.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeValue.java index 77a6295c1..4c7f21602 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeValue.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeValue.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class AltitudeValue extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpC.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpC.java index 3d01b1604..9c271ad64 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpC.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpC.java @@ -4,40 +4,43 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Position3D_addGrpC extends Asn1Sequence { @Asn1Property(tag = 0) private Altitude altitude; - public Altitude getAltitude() { - return altitude; - } - - public void setAltitude(Altitude altitude) { - this.altitude = altitude; - } - Position3D_addGrpC() { super(true); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3D.java index 8dd2054ca..a0cfb8ea5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3D.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3D.java @@ -7,19 +7,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonRootName("Reg_Position3D") diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueDeserializer.java index 9d9d8995c..86fd9fcc9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Position3D_addGrpCReg_Position3DValueDeserializer extends OpenTypeDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueSerializer.java index 0345169aa..6de20e887 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Position3D_addGrpCReg_Position3DValueSerializer extends OpenTypeSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Angle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Angle.java index 747b3c136..d0dc9dd0d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Angle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Angle.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Angle extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Circle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Circle.java index e90e05107..32d6f2325 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Circle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Circle.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Circle extends Asn1Sequence { @Asn1Property(tag = 0) @@ -36,30 +47,6 @@ public class Circle extends Asn1Sequence { @Asn1Property(tag = 2) private DistanceUnits units; - public Position3D getCenter() { - return center; - } - - public void setCenter(Position3D center) { - this.center = center; - } - - public Radius_B12 getRadius() { - return radius; - } - - public void setRadius(Radius_B12 radius) { - this.radius = radius; - } - - public DistanceUnits getUnits() { - return units; - } - - public void setUnits(DistanceUnits units) { - this.units = units; - } - Circle() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ComputedLane.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ComputedLane.java index fa9decec4..843a44660 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ComputedLane.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ComputedLane.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; import java.util.List; @@ -15,23 +17,32 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class ComputedLane extends Asn1Sequence { @Asn1Property(tag = 0) @@ -53,14 +64,8 @@ public class ComputedLane extends Asn1Sequence { @Asn1Property(tag = 6, optional = true) private SequenceOfRegional regional; - public LaneID getReferenceLaneId() { - return referenceLaneId; - } - - public void setReferenceLaneId(LaneID referenceLaneId) { - this.referenceLaneId = referenceLaneId; - } - + @Getter + @Setter @JsonInclude(Include.NON_NULL) public static class OffsetXaxisChoice extends Asn1Choice { @Asn1Property(tag = 0) @@ -74,36 +79,14 @@ public static class OffsetXaxisChoice extends Asn1Choice { super(false); } - public DrivenLineOffsetSm getSmall() { - return small; - } - - public void setSmall(DrivenLineOffsetSm small) { - this.small = small; - } - - public DrivenLineOffsetLg getLarge() { - return large; - } - - public void setLarge(DrivenLineOffsetLg large) { - this.large = large; - } - @Override protected List> listTypes() { return null; } } - public OffsetXaxisChoice getOffsetXaxis() { - return offsetXaxis; - } - - public void setOffsetXaxis(OffsetXaxisChoice offsetXaxis) { - this.offsetXaxis = offsetXaxis; - } - + @Getter + @Setter @JsonInclude(Include.NON_NULL) public static class OffsetYaxisChoice extends Asn1Choice { @Asn1Property(tag = 0) @@ -117,75 +100,19 @@ public static class OffsetYaxisChoice extends Asn1Choice { super(false); } - public DrivenLineOffsetSm getSmall() { - return small; - } - - public void setSmall(DrivenLineOffsetSm small) { - this.small = small; - } - - public DrivenLineOffsetLg getLarge() { - return large; - } - - public void setLarge(DrivenLineOffsetLg large) { - this.large = large; - } - @Override protected List> listTypes() { return null; } } - public OffsetYaxisChoice getOffsetYaxis() { - return offsetYaxis; - } - - public void setOffsetYaxis(OffsetYaxisChoice offsetYaxis) { - this.offsetYaxis = offsetYaxis; - } - - public Angle getRotateXY() { - return rotateXY; - } - - public void setRotateXY(Angle rotateXY) { - this.rotateXY = rotateXY; - } - - public Scale_B12 getScaleXaxis() { - return scaleXaxis; - } - - public void setScaleXaxis(Scale_B12 scaleXaxis) { - this.scaleXaxis = scaleXaxis; - } - - public Scale_B12 getScaleYaxis() { - return scaleYaxis; - } - - public void setScaleYaxis(Scale_B12 scaleYaxis) { - this.scaleYaxis = scaleYaxis; - } - @JsonInclude(Include.NON_NULL) public static class SequenceOfRegional extends Asn1SequenceOf { SequenceOfRegional() { - super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_ComputedLane.class, 1L, 4L); + super(Reg_ComputedLane.class, 1L, 4L); } } - public SequenceOfRegional getRegional() { - return regional; - } - - public void setRegional(SequenceOfRegional regional) { - this.regional = regional; - } - ComputedLane() { super(true); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DYear.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DYear.java index f5194d6d0..302c1f6c4 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DYear.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DYear.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class DYear extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DeltaAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DeltaAngle.java index ad7b4d24d..5d632870f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DeltaAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DeltaAngle.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class DeltaAngle extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DescriptiveName.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DescriptiveName.java index 3816bb79f..209d62c92 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DescriptiveName.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DescriptiveName.java @@ -5,19 +5,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class DescriptiveName extends IA5String { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUse.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUse.java index 87d53e48d..46e7b4757 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUse.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUse.java @@ -1,42 +1,43 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; +import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter @JsonSerialize(using = DirectionOfUseSerializer.class) @JsonDeserialize(using = DirectionOfUseDeserializer.class) public enum DirectionOfUse implements Asn1Enumerated { - unavailable(0, "unavailable"), forward(1, "forward"), reverse(2, "reverse"), both(3, "both"); + UNAVAILABLE(0, "unavailable"), FORWARD(1, "forward"), REVERSE(2, "reverse"), BOTH(3, "both"); private final int index; private final String name; - public int getIndex() { - return index; - } - - public String getName() { - return name; - } - public boolean hasExtensionMarker() { return false; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseDeserializer.java index 22e4c7c3d..e9ff794f6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class DirectionOfUseDeserializer extends EnumeratedDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseSerializer.java index ddf1dde5b..1337c92ab 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class DirectionOfUseSerializer extends EnumeratedSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnits.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnits.java index 07ab86509..4051b56c6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnits.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnits.java @@ -1,43 +1,44 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; +import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter @JsonSerialize(using = DistanceUnitsSerializer.class) @JsonDeserialize(using = DistanceUnitsDeserializer.class) public enum DistanceUnits implements Asn1Enumerated { - centimeter(0, "centimeter"), cm2_5(1, "cm2-5"), decimeter(2, "decimeter"), meter(3, "meter"), kilometer(4, - "kilometer"), foot(5, "foot"), yard(6, "yard"), mile(7, "mile"); + CENTIMETER(0, "centimeter"), CM2_5(1, "cm2-5"), DECIMETER(2, "decimeter"), METER(3, "meter"), KILOMETER(4, + "kilometer"), FOOT(5, "foot"), YARD(6, "yard"), MILE(7, "mile"); private final int index; private final String name; - public int getIndex() { - return index; - } - - public String getName() { - return name; - } - public boolean hasExtensionMarker() { return false; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsDeserializer.java index 75b2923fa..2fe639254 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class DistanceUnitsDeserializer extends EnumeratedDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsSerializer.java index e9cd7bad2..1214e84de 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class DistanceUnitsSerializer extends EnumeratedSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetLg.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetLg.java index 0f8447119..bde781fb0 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetLg.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetLg.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class DrivenLineOffsetLg extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetSm.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetSm.java index ff8e342c0..8a0c983d1 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetSm.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetSm.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class DrivenLineOffsetSm extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Elevation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Elevation.java index 64d9b20f3..fe6af2266 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Elevation.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Elevation.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Elevation extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitService.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitService.java index 99e2e3637..9eb660042 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitService.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitService.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitServiceSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitServiceSequence.java index 0c2987237..e5bc0b622 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitServiceSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitServiceSequence.java @@ -9,33 +9,46 @@ import java.util.List; import java.util.Optional; import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class ExitServiceSequence extends Asn1Sequence { @Asn1Property(tag = 0) private ItemChoice item; + @Getter + @Setter @JsonInclude(Include.NON_NULL) public static class ItemChoice extends Asn1Choice { @Asn1Property(tag = 0) @@ -48,36 +61,12 @@ public static class ItemChoice extends Asn1Choice { super(false); } - public ITIScodes getItis() { - return itis; - } - - public void setItis(ITIScodes itis) { - this.itis = itis; - } - - public ITIStextPhrase getText() { - return text; - } - - public void setText(ITIStextPhrase text) { - this.text = text; - } - @Override protected List> listTypes() { return null; } } - public ItemChoice getItem() { - return item; - } - - public void setItem(ItemChoice item) { - this.item = item; - } - ExitServiceSequence() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Extent.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Extent.java index 2c57b326a..3b6af79ff 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Extent.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Extent.java @@ -1,52 +1,53 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; +import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter @JsonSerialize(using = ExtentSerializer.class) @JsonDeserialize(using = ExtentDeserializer.class) public enum Extent implements Asn1Enumerated { - useInstantlyOnly(0, "useInstantlyOnly"), useFor3meters(1, "useFor3meters"), useFor10meters(2, - "useFor10meters"), useFor50meters(3, "useFor50meters"), useFor100meters(4, - "useFor100meters"), useFor500meters(5, "useFor500meters"), useFor1000meters(6, - "useFor1000meters"), useFor5000meters(7, "useFor5000meters"), useFor10000meters(8, - "useFor10000meters"), useFor50000meters(9, "useFor50000meters"), useFor100000meters( - 10, "useFor100000meters"), useFor500000meters(11, - "useFor500000meters"), useFor1000000meters(12, - "useFor1000000meters"), useFor5000000meters(13, - "useFor5000000meters"), useFor10000000meters(14, - "useFor10000000meters"), forever(15, + USEINSTANTLYONLY(0, "useInstantlyOnly"), USEFOR3METERS(1, "useFor3meters"), USEFOR10METERS(2, + "useFor10meters"), USEFOR50METERS(3, "useFor50meters"), USEFOR100METERS(4, + "useFor100meters"), USEFOR500METERS(5, "useFor500meters"), USEFOR1000METERS(6, + "useFor1000meters"), USEFOR5000METERS(7, "useFor5000meters"), USEFOR10000METERS(8, + "useFor10000meters"), USEFOR50000METERS(9, "useFor50000meters"), USEFOR100000METERS( + 10, "useFor100000meters"), USEFOR500000METERS(11, + "useFor500000meters"), USEFOR1000000METERS(12, + "useFor1000000meters"), USEFOR5000000METERS(13, + "useFor5000000meters"), USEFOR10000000METERS(14, + "useFor10000000meters"), FOREVER(15, "forever"); private final int index; private final String name; - public int getIndex() { - return index; - } - - public String getName() { - return name; - } - public boolean hasExtensionMarker() { return false; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentDeserializer.java index dd18b82e4..27adb0aca 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class ExtentDeserializer extends EnumeratedDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentSerializer.java index 955baaf1f..2ff569353 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class ExtentSerializer extends EnumeratedSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/FurtherInfoID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/FurtherInfoID.java index f9c733971..e15b0e398 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/FurtherInfoID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/FurtherInfoID.java @@ -5,19 +5,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class FurtherInfoID extends Asn1OctetString { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignage.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignage.java index bc5b22371..c9a1f2e48 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignage.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignage.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignageSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignageSequence.java index 4dda92563..b7c3e3aca 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignageSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignageSequence.java @@ -9,33 +9,46 @@ import java.util.List; import java.util.Optional; import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class GenericSignageSequence extends Asn1Sequence { @Asn1Property(tag = 0) private ItemChoice item; + @Getter + @Setter @JsonInclude(Include.NON_NULL) public static class ItemChoice extends Asn1Choice { @Asn1Property(tag = 0) @@ -48,36 +61,12 @@ public static class ItemChoice extends Asn1Choice { super(false); } - public ITIScodes getItis() { - return itis; - } - - public void setItis(ITIScodes itis) { - this.itis = itis; - } - - public ITIStextPhrase getText() { - return text; - } - - public void setText(ITIStextPhrase text) { - this.text = text; - } - @Override protected List> listTypes() { return null; } } - public ItemChoice getItem() { - return item; - } - - public void setItem(ItemChoice item) { - this.item = item; - } - GenericSignageSequence() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeographicalPath.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeographicalPath.java index 8cbee9e51..9d3d12b49 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeographicalPath.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeographicalPath.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import us.dot.its.jpo.ode.plugin.types.Asn1Boolean; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; @@ -16,23 +18,32 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class GeographicalPath extends Asn1Sequence { @Asn1Property(tag = 0, optional = true) @@ -55,62 +66,8 @@ public class GeographicalPath extends Asn1Sequence { @Asn1Property(tag = 8, optional = true) private SequenceOfRegional regional; - public DescriptiveName getName() { - return name; - } - - public void setName(DescriptiveName name) { - this.name = name; - } - - public RoadSegmentReferenceID getId() { - return id; - } - - public void setId(RoadSegmentReferenceID id) { - this.id = id; - } - - public Position3D getAnchor() { - return anchor; - } - - public void setAnchor(Position3D anchor) { - this.anchor = anchor; - } - - public LaneWidth getLaneWidth() { - return laneWidth; - } - - public void setLaneWidth(LaneWidth laneWidth) { - this.laneWidth = laneWidth; - } - - public DirectionOfUse getDirectionality() { - return directionality; - } - - public void setDirectionality(DirectionOfUse directionality) { - this.directionality = directionality; - } - - public Asn1Boolean getClosedPath() { - return closedPath; - } - - public void setClosedPath(Asn1Boolean closedPath) { - this.closedPath = closedPath; - } - - public HeadingSlice getDirection() { - return direction; - } - - public void setDirection(HeadingSlice direction) { - this.direction = direction; - } - + @Getter + @Setter @JsonInclude(Include.NON_NULL) public static class DescriptionChoice extends Asn1Choice { @Asn1Property(tag = 0) @@ -124,59 +81,19 @@ public static class DescriptionChoice extends Asn1Choice { super(true); } - public OffsetSystem getPath() { - return path; - } - - public void setPath(OffsetSystem path) { - this.path = path; - } - - public GeometricProjection getGeometry() { - return geometry; - } - - public void setGeometry(GeometricProjection geometry) { - this.geometry = geometry; - } - - public ValidRegion getOldRegion() { - return oldRegion; - } - - public void setOldRegion(ValidRegion oldRegion) { - this.oldRegion = oldRegion; - } - @Override protected List> listTypes() { return null; } } - public DescriptionChoice getDescription() { - return description; - } - - public void setDescription(DescriptionChoice description) { - this.description = description; - } - @JsonInclude(Include.NON_NULL) public static class SequenceOfRegional extends Asn1SequenceOf { SequenceOfRegional() { - super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_GeographicalPath.class, 1L, 4L); + super(Reg_GeographicalPath.class, 1L, 4L); } } - public SequenceOfRegional getRegional() { - return regional; - } - - public void setRegional(SequenceOfRegional regional) { - this.regional = regional; - } - GeographicalPath() { super(true); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeometricProjection.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeometricProjection.java index 63805fcda..4d61a2b9b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeometricProjection.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeometricProjection.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_GeometricProjection; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; @@ -11,23 +13,32 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class GeometricProjection extends Asn1Sequence { @Asn1Property(tag = 0) @@ -42,53 +53,13 @@ public class GeometricProjection extends Asn1Sequence { @Asn1Property(tag = 4, optional = true) private SequenceOfRegional regional; - public HeadingSlice getDirection() { - return direction; - } - - public void setDirection(HeadingSlice direction) { - this.direction = direction; - } - - public Extent getExtent() { - return extent; - } - - public void setExtent(Extent extent) { - this.extent = extent; - } - - public LaneWidth getLaneWidth() { - return laneWidth; - } - - public void setLaneWidth(LaneWidth laneWidth) { - this.laneWidth = laneWidth; - } - - public Circle getCircle() { - return circle; - } - - public void setCircle(Circle circle) { - this.circle = circle; - } - @JsonInclude(Include.NON_NULL) public static class SequenceOfRegional extends Asn1SequenceOf { SequenceOfRegional() { - super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_GeometricProjection.class, 1L, 4L); + super(Reg_GeometricProjection.class, 1L, 4L); } } - public SequenceOfRegional getRegional() { - return regional; - } - - public void setRegional(SequenceOfRegional regional) { - this.regional = regional; - } - GeometricProjection() { super(true); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSlice.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSlice.java index bc4993ac9..8ded5b3c7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSlice.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSlice.java @@ -5,19 +5,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonDeserialize(using = HeadingSliceDeserializer.class) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceDeserializer.java index f34c946c5..9c307388d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class HeadingSliceDeserializer extends BitStringDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ITIStextPhrase.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ITIStextPhrase.java index ffff1a3a1..b84fbb099 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ITIStextPhrase.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ITIStextPhrase.java @@ -5,19 +5,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class ITIStextPhrase extends IA5String { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttribute.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttribute.java index 72f01b53e..9da23b8cf 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttribute.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttribute.java @@ -1,6 +1,8 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_LaneDataAttribute; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; @@ -15,21 +17,30 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter +@Setter @JsonInclude(Include.NON_NULL) public class LaneDataAttribute extends Asn1Choice { @@ -59,69 +70,13 @@ public class LaneDataAttribute extends Asn1Choice { super(true); } - public DeltaAngle getPathEndPointAngle() { - return pathEndPointAngle; - } - - public void setPathEndPointAngle(DeltaAngle pathEndPointAngle) { - this.pathEndPointAngle = pathEndPointAngle; - } - - public RoadwayCrownAngle getLaneCrownPointCenter() { - return laneCrownPointCenter; - } - - public void setLaneCrownPointCenter(RoadwayCrownAngle laneCrownPointCenter) { - this.laneCrownPointCenter = laneCrownPointCenter; - } - - public RoadwayCrownAngle getLaneCrownPointLeft() { - return laneCrownPointLeft; - } - - public void setLaneCrownPointLeft(RoadwayCrownAngle laneCrownPointLeft) { - this.laneCrownPointLeft = laneCrownPointLeft; - } - - public RoadwayCrownAngle getLaneCrownPointRight() { - return laneCrownPointRight; - } - - public void setLaneCrownPointRight(RoadwayCrownAngle laneCrownPointRight) { - this.laneCrownPointRight = laneCrownPointRight; - } - - public MergeDivergeNodeAngle getLaneAngle() { - return laneAngle; - } - - public void setLaneAngle(MergeDivergeNodeAngle laneAngle) { - this.laneAngle = laneAngle; - } - - public SpeedLimitList getSpeedLimits() { - return speedLimits; - } - - public void setSpeedLimits(SpeedLimitList speedLimits) { - this.speedLimits = speedLimits; - } - @JsonInclude(Include.NON_NULL) public static class SequenceOfRegional extends Asn1SequenceOf { SequenceOfRegional() { - super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_LaneDataAttribute.class, 1L, 4L); + super(Reg_LaneDataAttribute.class, 1L, 4L); } } - public SequenceOfRegional getRegional() { - return regional; - } - - public void setRegional(SequenceOfRegional regional) { - this.regional = regional; - } - @Override protected List> listTypes() { return null; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttributeList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttributeList.java index b9511ad3c..d3b770fc7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttributeList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttributeList.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneID.java index fe1570546..721c384e2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneID.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class LaneID extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneWidth.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneWidth.java index ea4f92b16..eed9f59e3 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneWidth.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneWidth.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class LaneWidth extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Latitude.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Latitude.java index 412c4005c..df8cd9661 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Latitude.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Latitude.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Latitude extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Longitude.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Longitude.java index a0edc9d62..15f170200 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Longitude.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Longitude.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Longitude extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCode.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCode.java index 6fcac726b..7dba15957 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCode.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCode.java @@ -1,43 +1,44 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; +import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter @JsonSerialize(using = MUTCDCodeSerializer.class) @JsonDeserialize(using = MUTCDCodeDeserializer.class) public enum MUTCDCode implements Asn1Enumerated { - none(0, "none"), regulatory(1, "regulatory"), warning(2, "warning"), maintenance(3, - "maintenance"), motoristService(4, "motoristService"), guide(5, "guide"), rec(6, "rec"); + NONE(0, "none"), REGULATORY(1, "regulatory"), WARNING(2, "warning"), MAINTENANCE(3, + "maintenance"), MOTORISTSERVICE(4, "motoristService"), GUIDE(5, "guide"), REC(6, "rec"); private final int index; private final String name; - public int getIndex() { - return index; - } - - public String getName() { - return name; - } - public boolean hasExtensionMarker() { return false; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeDeserializer.java index 0ab54e0aa..b67f017c5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class MUTCDCodeDeserializer extends EnumeratedDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeSerializer.java index 25d9dc376..4ee4a94b4 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class MUTCDCodeSerializer extends EnumeratedSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MergeDivergeNodeAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MergeDivergeNodeAngle.java index 3f3f60175..e5886ccc0 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MergeDivergeNodeAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MergeDivergeNodeAngle.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class MergeDivergeNodeAngle extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinuteOfTheYear.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinuteOfTheYear.java index acad5bdda..47ace2e45 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinuteOfTheYear.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinuteOfTheYear.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class MinuteOfTheYear extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinutesDuration.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinutesDuration.java index 5a09cc75c..63664052a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinutesDuration.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinutesDuration.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class MinutesDuration extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCRC.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCRC.java index 292d0400e..6606f5ec8 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCRC.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCRC.java @@ -5,19 +5,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class MsgCRC extends Asn1OctetString { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCount.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCount.java index d10c6c481..c34e0b6ef 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCount.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCount.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class MsgCount extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLL.java index 88cc1d2b1..573e8f895 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLL.java @@ -1,46 +1,47 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; +import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter @JsonSerialize(using = NodeAttributeLLSerializer.class) @JsonDeserialize(using = NodeAttributeLLDeserializer.class) public enum NodeAttributeLL implements Asn1Enumerated { - reserved(0, "reserved"), stopLine(1, "stopLine"), roundedCapStyleA(2, "roundedCapStyleA"), roundedCapStyleB(3, - "roundedCapStyleB"), mergePoint(4, "mergePoint"), divergePoint(5, "divergePoint"), downstreamStopLine(6, - "downstreamStopLine"), downstreamStartNode(7, "downstreamStartNode"), closedToTraffic(8, - "closedToTraffic"), safeIsland(9, "safeIsland"), curbPresentAtStepOff(10, - "curbPresentAtStepOff"), hydrantPresent(11, "hydrantPresent"); + RESERVED(0, "reserved"), STOPLINE(1, "stopLine"), ROUNDEDCAPSTYLEA(2, "roundedCapStyleA"), ROUNDEDCAPSTYLEB(3, + "roundedCapStyleB"), MERGEPOINT(4, "mergePoint"), DIVERGEPOINT(5, "divergePoint"), DOWNSTREAMSTOPLINE(6, + "downstreamStopLine"), DOWNSTREAMSTARTNODE(7, "downstreamStartNode"), CLOSEDTOTRAFFIC(8, + "closedToTraffic"), SAFEISLAND(9, "safeIsland"), CURBPRESENTATSTEPOFF(10, + "curbPresentAtStepOff"), HYDRANTPRESENT(11, "hydrantPresent"); private final int index; private final String name; - public int getIndex() { - return index; - } - - public String getName() { - return name; - } - public boolean hasExtensionMarker() { return false; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLDeserializer.java index f1a7211b2..9854db23f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class NodeAttributeLLDeserializer extends EnumeratedDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLList.java index 6fc8d6a7e..29f77a0bd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLList.java @@ -7,19 +7,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLSerializer.java index c1248cb00..e616bbd24 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class NodeAttributeLLSerializer extends EnumeratedSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetLL.java index 1225b6c2b..2617746dd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetLL.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeAttributeSetLL; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; @@ -12,23 +14,32 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class NodeAttributeSetLL extends Asn1Sequence { @Asn1Property(tag = 0, optional = true) @@ -52,69 +63,13 @@ public class NodeAttributeSetLL extends Asn1Sequence { @Asn1Property(tag = 6, optional = true) private SequenceOfRegional regional; - public NodeAttributeLLList getLocalNode() { - return localNode; - } - - public void setLocalNode(NodeAttributeLLList localNode) { - this.localNode = localNode; - } - - public SegmentAttributeLLList getDisabled() { - return disabled; - } - - public void setDisabled(SegmentAttributeLLList disabled) { - this.disabled = disabled; - } - - public SegmentAttributeLLList getEnabled() { - return enabled; - } - - public void setEnabled(SegmentAttributeLLList enabled) { - this.enabled = enabled; - } - - public LaneDataAttributeList getData() { - return data; - } - - public void setData(LaneDataAttributeList data) { - this.data = data; - } - - public Offset_B10 getDWidth() { - return dWidth; - } - - public void setDWidth(Offset_B10 dWidth) { - this.dWidth = dWidth; - } - - public Offset_B10 getDElevation() { - return dElevation; - } - - public void setDElevation(Offset_B10 dElevation) { - this.dElevation = dElevation; - } - @JsonInclude(Include.NON_NULL) public static class SequenceOfRegional extends Asn1SequenceOf { SequenceOfRegional() { - super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeAttributeSetLL.class, 1L, 4L); + super(Reg_NodeAttributeSetLL.class, 1L, 4L); } } - public SequenceOfRegional getRegional() { - return regional; - } - - public void setRegional(SequenceOfRegional regional) { - this.regional = regional; - } - NodeAttributeSetLL() { super(true); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetXY.java index 90d7fdf5f..3a0bcece0 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetXY.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeAttributeSetXY; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; @@ -12,23 +14,32 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class NodeAttributeSetXY extends Asn1Sequence { @Asn1Property(tag = 0, optional = true) @@ -52,69 +63,13 @@ public class NodeAttributeSetXY extends Asn1Sequence { @Asn1Property(tag = 6, optional = true) private SequenceOfRegional regional; - public NodeAttributeXYList getLocalNode() { - return localNode; - } - - public void setLocalNode(NodeAttributeXYList localNode) { - this.localNode = localNode; - } - - public SegmentAttributeXYList getDisabled() { - return disabled; - } - - public void setDisabled(SegmentAttributeXYList disabled) { - this.disabled = disabled; - } - - public SegmentAttributeXYList getEnabled() { - return enabled; - } - - public void setEnabled(SegmentAttributeXYList enabled) { - this.enabled = enabled; - } - - public LaneDataAttributeList getData() { - return data; - } - - public void setData(LaneDataAttributeList data) { - this.data = data; - } - - public Offset_B10 getDWidth() { - return dWidth; - } - - public void setDWidth(Offset_B10 dWidth) { - this.dWidth = dWidth; - } - - public Offset_B10 getDElevation() { - return dElevation; - } - - public void setDElevation(Offset_B10 dElevation) { - this.dElevation = dElevation; - } - @JsonInclude(Include.NON_NULL) public static class SequenceOfRegional extends Asn1SequenceOf { SequenceOfRegional() { - super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeAttributeSetXY.class, 1L, 4L); + super(Reg_NodeAttributeSetXY.class, 1L, 4L); } } - public SequenceOfRegional getRegional() { - return regional; - } - - public void setRegional(SequenceOfRegional regional) { - this.regional = regional; - } - NodeAttributeSetXY() { super(true); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXY.java index b404926b1..b71a0694f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXY.java @@ -1,46 +1,47 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; +import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter @JsonSerialize(using = NodeAttributeXYSerializer.class) @JsonDeserialize(using = NodeAttributeXYDeserializer.class) public enum NodeAttributeXY implements Asn1Enumerated { - reserved(0, "reserved"), stopLine(1, "stopLine"), roundedCapStyleA(2, "roundedCapStyleA"), roundedCapStyleB(3, - "roundedCapStyleB"), mergePoint(4, "mergePoint"), divergePoint(5, "divergePoint"), downstreamStopLine(6, - "downstreamStopLine"), downstreamStartNode(7, "downstreamStartNode"), closedToTraffic(8, - "closedToTraffic"), safeIsland(9, "safeIsland"), curbPresentAtStepOff(10, - "curbPresentAtStepOff"), hydrantPresent(11, "hydrantPresent"); + RESERVED(0, "reserved"), STOPLINE(1, "stopLine"), ROUNDEDCAPSTYLEA(2, "roundedCapStyleA"), ROUNDEDCAPSTYLEB(3, + "roundedCapStyleB"), MERGEPOINT(4, "mergePoint"), DIVERGEPOINT(5, "divergePoint"), DOWNSTREAMSTOPLINE(6, + "downstreamStopLine"), DOWNSTREAMSTARTNODE(7, "downstreamStartNode"), CLOSEDTOTRAFFIC(8, + "closedToTraffic"), SAFEISLAND(9, "safeIsland"), CURBPRESENTATSTEPOFF(10, + "curbPresentAtStepOff"), HYDRANTPRESENT(11, "hydrantPresent"); private final int index; private final String name; - public int getIndex() { - return index; - } - - public String getName() { - return name; - } - public boolean hasExtensionMarker() { return false; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYDeserializer.java index e4e7cde86..92875722d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class NodeAttributeXYDeserializer extends EnumeratedDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYList.java index 311899d28..0cf0e274c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYList.java @@ -7,19 +7,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYSerializer.java index 35d331c1c..f44a009a9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class NodeAttributeXYSerializer extends EnumeratedSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeLL.java index be8451ddf..32ab8e66c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeLL.java @@ -4,27 +4,38 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class NodeLL extends Asn1Sequence { @Asn1Property(tag = 0) @@ -32,22 +43,6 @@ public class NodeLL extends Asn1Sequence { @Asn1Property(tag = 1, optional = true) private NodeAttributeSetLL attributes; - public NodeOffsetPointLL getDelta() { - return delta; - } - - public void setDelta(NodeOffsetPointLL delta) { - this.delta = delta; - } - - public NodeAttributeSetLL getAttributes() { - return attributes; - } - - public void setAttributes(NodeAttributeSetLL attributes) { - this.attributes = attributes; - } - NodeLL() { super(true); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListLL.java index dfcc6f6d8..9cc390cd7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListLL.java @@ -1,6 +1,8 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import java.util.Optional; import java.util.List; @@ -12,21 +14,30 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter +@Setter @JsonInclude(Include.NON_NULL) public class NodeListLL extends Asn1Choice { @@ -39,14 +50,6 @@ public class NodeListLL extends Asn1Choice { super(true); } - public NodeSetLL getNodes() { - return nodes; - } - - public void setNodes(NodeSetLL nodes) { - this.nodes = nodes; - } - @Override protected List> listTypes() { return null; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListXY.java index 8c1389e32..ee341ab76 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListXY.java @@ -1,6 +1,8 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import java.util.Optional; import java.util.List; @@ -12,21 +14,30 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter +@Setter @JsonInclude(Include.NON_NULL) public class NodeListXY extends Asn1Choice { @@ -41,22 +52,6 @@ public class NodeListXY extends Asn1Choice { super(true); } - public NodeSetXY getNodes() { - return nodes; - } - - public void setNodes(NodeSetXY nodes) { - this.nodes = nodes; - } - - public ComputedLane getComputed() { - return computed; - } - - public void setComputed(ComputedLane computed) { - this.computed = computed; - } - @Override protected List> listTypes() { return null; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointLL.java index b7c789e95..bae1cd87a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointLL.java @@ -1,6 +1,8 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.annotation.JsonProperty; import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeOffsetPointLL; @@ -12,21 +14,30 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter +@Setter @JsonInclude(Include.NON_NULL) public class NodeOffsetPointLL extends Asn1Choice { @@ -58,70 +69,6 @@ public class NodeOffsetPointLL extends Asn1Choice { super(false); } - public Node_LL_24B getNode_LL1() { - return node_LL1; - } - - public void setNode_LL1(Node_LL_24B node_LL1) { - this.node_LL1 = node_LL1; - } - - public Node_LL_28B getNode_LL2() { - return node_LL2; - } - - public void setNode_LL2(Node_LL_28B node_LL2) { - this.node_LL2 = node_LL2; - } - - public Node_LL_32B getNode_LL3() { - return node_LL3; - } - - public void setNode_LL3(Node_LL_32B node_LL3) { - this.node_LL3 = node_LL3; - } - - public Node_LL_36B getNode_LL4() { - return node_LL4; - } - - public void setNode_LL4(Node_LL_36B node_LL4) { - this.node_LL4 = node_LL4; - } - - public Node_LL_44B getNode_LL5() { - return node_LL5; - } - - public void setNode_LL5(Node_LL_44B node_LL5) { - this.node_LL5 = node_LL5; - } - - public Node_LL_48B getNode_LL6() { - return node_LL6; - } - - public void setNode_LL6(Node_LL_48B node_LL6) { - this.node_LL6 = node_LL6; - } - - public Node_LLmD_64b getNode_LatLon() { - return node_LatLon; - } - - public void setNode_LatLon(Node_LLmD_64b node_LatLon) { - this.node_LatLon = node_LatLon; - } - - public Reg_NodeOffsetPointLL getRegional() { - return regional; - } - - public void setRegional(Reg_NodeOffsetPointLL regional) { - this.regional = regional; - } - @Override protected List> listTypes() { return null; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointXY.java index 834ab5f18..e3a1db4ef 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointXY.java @@ -1,6 +1,8 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.annotation.JsonProperty; import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeOffsetPointXY; @@ -12,21 +14,30 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter +@Setter @JsonInclude(Include.NON_NULL) public class NodeOffsetPointXY extends Asn1Choice { @@ -58,70 +69,6 @@ public class NodeOffsetPointXY extends Asn1Choice { super(false); } - public Node_XY_20b getNode_XY1() { - return node_XY1; - } - - public void setNode_XY1(Node_XY_20b node_XY1) { - this.node_XY1 = node_XY1; - } - - public Node_XY_22b getNode_XY2() { - return node_XY2; - } - - public void setNode_XY2(Node_XY_22b node_XY2) { - this.node_XY2 = node_XY2; - } - - public Node_XY_24b getNode_XY3() { - return node_XY3; - } - - public void setNode_XY3(Node_XY_24b node_XY3) { - this.node_XY3 = node_XY3; - } - - public Node_XY_26b getNode_XY4() { - return node_XY4; - } - - public void setNode_XY4(Node_XY_26b node_XY4) { - this.node_XY4 = node_XY4; - } - - public Node_XY_28b getNode_XY5() { - return node_XY5; - } - - public void setNode_XY5(Node_XY_28b node_XY5) { - this.node_XY5 = node_XY5; - } - - public Node_XY_32b getNode_XY6() { - return node_XY6; - } - - public void setNode_XY6(Node_XY_32b node_XY6) { - this.node_XY6 = node_XY6; - } - - public Node_LLmD_64b getNode_LatLon() { - return node_LatLon; - } - - public void setNode_LatLon(Node_LLmD_64b node_LatLon) { - this.node_LatLon = node_LatLon; - } - - public Reg_NodeOffsetPointXY getRegional() { - return regional; - } - - public void setRegional(Reg_NodeOffsetPointXY regional) { - this.regional = regional; - } - @Override protected List> listTypes() { return null; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetLL.java index 2e81ff5d0..83eaa5b1b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetLL.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetXY.java index 880fcbac7..c61b29358 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetXY.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeXY.java index cc421bf85..8d515eebb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeXY.java @@ -4,27 +4,38 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class NodeXY extends Asn1Sequence { @Asn1Property(tag = 0) @@ -32,22 +43,6 @@ public class NodeXY extends Asn1Sequence { @Asn1Property(tag = 1, optional = true) private NodeAttributeSetXY attributes; - public NodeOffsetPointXY getDelta() { - return delta; - } - - public void setDelta(NodeOffsetPointXY delta) { - this.delta = delta; - } - - public NodeAttributeSetXY getAttributes() { - return attributes; - } - - public void setAttributes(NodeAttributeSetXY attributes) { - this.attributes = attributes; - } - NodeXY() { super(true); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_24B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_24B.java index cafdac04e..efafc4339 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_24B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_24B.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_LL_24B extends Asn1Sequence { @Asn1Property(tag = 0) @@ -35,22 +46,6 @@ public class Node_LL_24B extends Asn1Sequence { @JsonDeserialize(using = OffsetLL_B12.OffsetLL_B12Deserializer.class) private OffsetLL_B12 lat; - public OffsetLL_B12 getLon() { - return lon; - } - - public void setLon(OffsetLL_B12 lon) { - this.lon = lon; - } - - public OffsetLL_B12 getLat() { - return lat; - } - - public void setLat(OffsetLL_B12 lat) { - this.lat = lat; - } - Node_LL_24B() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_28B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_28B.java index 4aa6d9b66..fae4ecdbb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_28B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_28B.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_LL_28B extends Asn1Sequence { @Asn1Property(tag = 0) @@ -35,22 +46,6 @@ public class Node_LL_28B extends Asn1Sequence { @JsonDeserialize(using = OffsetLL_B14.OffsetLL_B14Deserializer.class) private OffsetLL_B14 lat; - public OffsetLL_B14 getLon() { - return lon; - } - - public void setLon(OffsetLL_B14 lon) { - this.lon = lon; - } - - public OffsetLL_B14 getLat() { - return lat; - } - - public void setLat(OffsetLL_B14 lat) { - this.lat = lat; - } - Node_LL_28B() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_32B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_32B.java index bb16587be..df36b4c3a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_32B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_32B.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_LL_32B extends Asn1Sequence { @Asn1Property(tag = 0) @@ -35,22 +46,6 @@ public class Node_LL_32B extends Asn1Sequence { @JsonDeserialize(using = OffsetLL_B16.OffsetLL_B16Deserializer.class) private OffsetLL_B16 lat; - public OffsetLL_B16 getLon() { - return lon; - } - - public void setLon(OffsetLL_B16 lon) { - this.lon = lon; - } - - public OffsetLL_B16 getLat() { - return lat; - } - - public void setLat(OffsetLL_B16 lat) { - this.lat = lat; - } - Node_LL_32B() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_36B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_36B.java index 2397c1578..6583e78a5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_36B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_36B.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_LL_36B extends Asn1Sequence { @Asn1Property(tag = 0) @@ -35,22 +46,6 @@ public class Node_LL_36B extends Asn1Sequence { @JsonDeserialize(using = OffsetLL_B18.OffsetLL_B18Deserializer.class) private OffsetLL_B18 lat; - public OffsetLL_B18 getLon() { - return lon; - } - - public void setLon(OffsetLL_B18 lon) { - this.lon = lon; - } - - public OffsetLL_B18 getLat() { - return lat; - } - - public void setLat(OffsetLL_B18 lat) { - this.lat = lat; - } - Node_LL_36B() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_44B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_44B.java index 2646045ff..a14c641db 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_44B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_44B.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_LL_44B extends Asn1Sequence { @Asn1Property(tag = 0) @@ -35,22 +46,6 @@ public class Node_LL_44B extends Asn1Sequence { @JsonDeserialize(using = OffsetLL_B22.OffsetLL_B22Deserializer.class) private OffsetLL_B22 lat; - public OffsetLL_B22 getLon() { - return lon; - } - - public void setLon(OffsetLL_B22 lon) { - this.lon = lon; - } - - public OffsetLL_B22 getLat() { - return lat; - } - - public void setLat(OffsetLL_B22 lat) { - this.lat = lat; - } - Node_LL_44B() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_48B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_48B.java index ea50e345e..e5946e86d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_48B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_48B.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_LL_48B extends Asn1Sequence { @Asn1Property(tag = 0) @@ -35,22 +46,6 @@ public class Node_LL_48B extends Asn1Sequence { @JsonDeserialize(using = OffsetLL_B24.OffsetLL_B24Deserializer.class) private OffsetLL_B24 lat; - public OffsetLL_B24 getLon() { - return lon; - } - - public void setLon(OffsetLL_B24 lon) { - this.lon = lon; - } - - public OffsetLL_B24 getLat() { - return lat; - } - - public void setLat(OffsetLL_B24 lat) { - this.lat = lat; - } - Node_LL_48B() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LLmD_64b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LLmD_64b.java index 2606a44da..ba38d3954 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LLmD_64b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LLmD_64b.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_LLmD_64b extends Asn1Sequence { @Asn1Property(tag = 0) @@ -35,22 +46,6 @@ public class Node_LLmD_64b extends Asn1Sequence { @JsonDeserialize(using = Latitude.LatitudeDeserializer.class) private Latitude lat; - public Longitude getLon() { - return lon; - } - - public void setLon(Longitude lon) { - this.lon = lon; - } - - public Latitude getLat() { - return lat; - } - - public void setLat(Latitude lat) { - this.lat = lat; - } - Node_LLmD_64b() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_20b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_20b.java index f17e29f10..67f04a51f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_20b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_20b.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_XY_20b extends Asn1Sequence { @Asn1Property(tag = 0) @@ -35,22 +46,6 @@ public class Node_XY_20b extends Asn1Sequence { @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) private Offset_B10 y; - public Offset_B10 getX() { - return x; - } - - public void setX(Offset_B10 x) { - this.x = x; - } - - public Offset_B10 getY() { - return y; - } - - public void setY(Offset_B10 y) { - this.y = y; - } - Node_XY_20b() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_22b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_22b.java index 22f230750..8a10cfc34 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_22b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_22b.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_XY_22b extends Asn1Sequence { @Asn1Property(tag = 0) @@ -35,22 +46,6 @@ public class Node_XY_22b extends Asn1Sequence { @JsonDeserialize(using = Offset_B11.Offset_B11Deserializer.class) private Offset_B11 y; - public Offset_B11 getX() { - return x; - } - - public void setX(Offset_B11 x) { - this.x = x; - } - - public Offset_B11 getY() { - return y; - } - - public void setY(Offset_B11 y) { - this.y = y; - } - Node_XY_22b() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_24b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_24b.java index 4f3496f66..9d9a5f16d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_24b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_24b.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_XY_24b extends Asn1Sequence { @Asn1Property(tag = 0) @@ -35,22 +46,6 @@ public class Node_XY_24b extends Asn1Sequence { @JsonDeserialize(using = Offset_B12.Offset_B12Deserializer.class) private Offset_B12 y; - public Offset_B12 getX() { - return x; - } - - public void setX(Offset_B12 x) { - this.x = x; - } - - public Offset_B12 getY() { - return y; - } - - public void setY(Offset_B12 y) { - this.y = y; - } - Node_XY_24b() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_26b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_26b.java index ba0775433..a38aa0ff0 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_26b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_26b.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_XY_26b extends Asn1Sequence { @Asn1Property(tag = 0) @@ -35,22 +46,6 @@ public class Node_XY_26b extends Asn1Sequence { @JsonDeserialize(using = Offset_B13.Offset_B13Deserializer.class) private Offset_B13 y; - public Offset_B13 getX() { - return x; - } - - public void setX(Offset_B13 x) { - this.x = x; - } - - public Offset_B13 getY() { - return y; - } - - public void setY(Offset_B13 y) { - this.y = y; - } - Node_XY_26b() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_28b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_28b.java index 4ce74eb15..0847fbdeb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_28b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_28b.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_XY_28b extends Asn1Sequence { @Asn1Property(tag = 0) @@ -35,22 +46,6 @@ public class Node_XY_28b extends Asn1Sequence { @JsonDeserialize(using = Offset_B14.Offset_B14Deserializer.class) private Offset_B14 y; - public Offset_B14 getX() { - return x; - } - - public void setX(Offset_B14 x) { - this.x = x; - } - - public Offset_B14 getY() { - return y; - } - - public void setY(Offset_B14 y) { - this.y = y; - } - Node_XY_28b() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_32b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_32b.java index 90ee3098a..15f837c63 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_32b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_32b.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Node_XY_32b extends Asn1Sequence { @Asn1Property(tag = 0) @@ -35,22 +46,6 @@ public class Node_XY_32b extends Asn1Sequence { @JsonDeserialize(using = Offset_B16.Offset_B16Deserializer.class) private Offset_B16 y; - public Offset_B16 getX() { - return x; - } - - public void setX(Offset_B16 x) { - this.x = x; - } - - public Offset_B16 getY() { - return y; - } - - public void setY(Offset_B16 y) { - this.y = y; - } - Node_XY_32b() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B12.java index f282c913d..b5e1d9638 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B12.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B12.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class OffsetLL_B12 extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B14.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B14.java index b072d3e1c..bed70b10b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B14.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B14.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class OffsetLL_B14 extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B16.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B16.java index 858fe7db1..f387a6f5b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B16.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B16.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class OffsetLL_B16 extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B18.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B18.java index a3c10390d..89976805d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B18.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B18.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class OffsetLL_B18 extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B22.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B22.java index e7cb154cf..0c68b8470 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B22.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B22.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class OffsetLL_B22 extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B24.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B24.java index 43fc5e189..e7e3320f6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B24.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B24.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class OffsetLL_B24 extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetSystem.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetSystem.java index 97f5bec2e..ad999cc1e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetSystem.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetSystem.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; import java.util.List; @@ -13,23 +15,32 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class OffsetSystem extends Asn1Sequence { @Asn1Property(tag = 0, optional = true) @@ -38,14 +49,8 @@ public class OffsetSystem extends Asn1Sequence { @Asn1Property(tag = 1) private OffsetChoice offset; - public Zoom getScale() { - return scale; - } - - public void setScale(Zoom scale) { - this.scale = scale; - } - + @Getter + @Setter @JsonInclude(Include.NON_NULL) public static class OffsetChoice extends Asn1Choice { @Asn1Property(tag = 0) @@ -57,36 +62,12 @@ public static class OffsetChoice extends Asn1Choice { super(false); } - public NodeListXY getXy() { - return xy; - } - - public void setXy(NodeListXY xy) { - this.xy = xy; - } - - public NodeListLL getLl() { - return ll; - } - - public void setLl(NodeListLL ll) { - this.ll = ll; - } - @Override protected List> listTypes() { return null; } } - public OffsetChoice getOffset() { - return offset; - } - - public void setOffset(OffsetChoice offset) { - this.offset = offset; - } - OffsetSystem() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B10.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B10.java index ad6e0e1bd..7059da2c5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B10.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B10.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Offset_B10 extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B11.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B11.java index 7e725904b..b475f1ae7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B11.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B11.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Offset_B11 extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B12.java index 1e3b29519..363dc133f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B12.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B12.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Offset_B12 extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B13.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B13.java index 97cee3e55..f825ac517 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B13.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B13.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Offset_B13 extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B14.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B14.java index 1c16d7d4a..0c006d132 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B14.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B14.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Offset_B14 extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B16.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B16.java index 78413d799..d0d02996d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B16.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B16.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Offset_B16 extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Position3D.java index 1bc3db597..d69ca2954 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Position3D.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Position3D.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.annotation.JsonProperty; import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_Position3D; @@ -12,23 +14,32 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class Position3D extends Asn1Sequence { @Asn1Property(tag = 0) @@ -44,45 +55,13 @@ public class Position3D extends Asn1Sequence { @Asn1Property(tag = 3, optional = true) private SequenceOfRegional regional; - public Latitude getLat() { - return lat; - } - - public void setLat(Latitude lat) { - this.lat = lat; - } - - public Longitude getLong_() { - return long_; - } - - public void setLong_(Longitude long_) { - this.long_ = long_; - } - - public Elevation getElevation() { - return elevation; - } - - public void setElevation(Elevation elevation) { - this.elevation = elevation; - } - @JsonInclude(Include.NON_NULL) public static class SequenceOfRegional extends Asn1SequenceOf { SequenceOfRegional() { - super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_Position3D.class, 1L, 4L); + super(Reg_Position3D.class, 1L, 4L); } } - public SequenceOfRegional getRegional() { - return regional; - } - - public void setRegional(SequenceOfRegional regional) { - this.regional = regional; - } - Position3D() { super(true); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Radius_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Radius_B12.java index 3afbfed59..c328df226 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Radius_B12.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Radius_B12.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Radius_B12 extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionId.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionId.java index 82bbe65ef..6213f3ea2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionId.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionId.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class RegionId extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionList.java index 2a179fda2..0bf8005f0 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionList.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionOffsets.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionOffsets.java index 61437bc13..6adab3e16 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionOffsets.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionOffsets.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class RegionOffsets extends Asn1Sequence { @Asn1Property(tag = 0) @@ -38,30 +49,6 @@ public class RegionOffsets extends Asn1Sequence { @JsonDeserialize(using = OffsetLL_B16.OffsetLL_B16Deserializer.class) private OffsetLL_B16 zOffset; - public OffsetLL_B16 getXOffset() { - return xOffset; - } - - public void setXOffset(OffsetLL_B16 xOffset) { - this.xOffset = xOffset; - } - - public OffsetLL_B16 getYOffset() { - return yOffset; - } - - public void setYOffset(OffsetLL_B16 yOffset) { - this.yOffset = yOffset; - } - - public OffsetLL_B16 getZOffset() { - return zOffset; - } - - public void setZOffset(OffsetLL_B16 zOffset) { - this.zOffset = zOffset; - } - RegionOffsets() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionPointSet.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionPointSet.java index a2c133bfb..30cf329b1 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionPointSet.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionPointSet.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; @@ -11,23 +13,32 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class RegionPointSet extends Asn1Sequence { @Asn1Property(tag = 0, optional = true) @@ -40,30 +51,6 @@ public class RegionPointSet extends Asn1Sequence { @JacksonXmlProperty(localName = "RegionOffsets") private RegionList nodeList; - public Position3D getAnchor() { - return anchor; - } - - public void setAnchor(Position3D anchor) { - this.anchor = anchor; - } - - public Zoom getScale() { - return scale; - } - - public void setScale(Zoom scale) { - this.scale = scale; - } - - public RegionList getNodeList() { - return nodeList; - } - - public void setNodeList(RegionList nodeList) { - this.nodeList = nodeList; - } - RegionPointSet() { super(true); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionalExtension.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionalExtension.java index 2c029c459..707a1e3f7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionalExtension.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionalExtension.java @@ -7,19 +7,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ abstract public class RegionalExtension extends Asn1Sequence { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegulatorySpeedLimit.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegulatorySpeedLimit.java index 752adcad7..44214b7b6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegulatorySpeedLimit.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegulatorySpeedLimit.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class RegulatorySpeedLimit extends Asn1Sequence { @Asn1Property(tag = 0) @@ -34,22 +45,6 @@ public class RegulatorySpeedLimit extends Asn1Sequence { @JsonDeserialize(using = Velocity.VelocityDeserializer.class) private Velocity speed; - public SpeedLimitType getType() { - return type; - } - - public void setType(SpeedLimitType type) { - this.type = type; - } - - public Velocity getSpeed() { - return speed; - } - - public void setSpeed(Velocity speed) { - this.speed = speed; - } - RegulatorySpeedLimit() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadRegulatorID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadRegulatorID.java index cbc2e5cc0..69a71723a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadRegulatorID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadRegulatorID.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class RoadRegulatorID extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentID.java index e776a933c..1600c20bf 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentID.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class RoadSegmentID extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentReferenceID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentReferenceID.java index 5ba6bfc45..9d6a4c0d6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentReferenceID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentReferenceID.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class RoadSegmentReferenceID extends Asn1Sequence { @Asn1Property(tag = 0, optional = true) @@ -35,22 +46,6 @@ public class RoadSegmentReferenceID extends Asn1Sequence { @JsonDeserialize(using = RoadSegmentID.RoadSegmentIDDeserializer.class) private RoadSegmentID id; - public RoadRegulatorID getRegion() { - return region; - } - - public void setRegion(RoadRegulatorID region) { - this.region = region; - } - - public RoadSegmentID getId() { - return id; - } - - public void setId(RoadSegmentID id) { - this.id = id; - } - RoadSegmentReferenceID() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSignID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSignID.java index c934089d4..de9148479 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSignID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSignID.java @@ -4,27 +4,38 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class RoadSignID extends Asn1Sequence { @Asn1Property(tag = 0) @@ -36,38 +47,6 @@ public class RoadSignID extends Asn1Sequence { @Asn1Property(tag = 3, optional = true) private MsgCRC crc; - public Position3D getPosition() { - return position; - } - - public void setPosition(Position3D position) { - this.position = position; - } - - public HeadingSlice getViewAngle() { - return viewAngle; - } - - public void setViewAngle(HeadingSlice viewAngle) { - this.viewAngle = viewAngle; - } - - public MUTCDCode getMutcdCode() { - return mutcdCode; - } - - public void setMutcdCode(MUTCDCode mutcdCode) { - this.mutcdCode = mutcdCode; - } - - public MsgCRC getCrc() { - return crc; - } - - public void setCrc(MsgCRC crc) { - this.crc = crc; - } - RoadSignID() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadwayCrownAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadwayCrownAngle.java index b0ece2916..a1568b765 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadwayCrownAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadwayCrownAngle.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class RoadwayCrownAngle extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SSPindex.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SSPindex.java index fef0ff80d..02738fb21 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SSPindex.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SSPindex.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class SSPindex extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Scale_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Scale_B12.java index 0a712a5fb..f9e6c41c5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Scale_B12.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Scale_B12.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Scale_B12 extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLL.java index fbf188d3c..2a0ffc1ec 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLL.java @@ -1,94 +1,95 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; +import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter @JsonSerialize(using = SegmentAttributeLLSerializer.class) @JsonDeserialize(using = SegmentAttributeLLDeserializer.class) public enum SegmentAttributeLL implements Asn1Enumerated { - reserved(0, "reserved"), doNotBlock(1, "doNotBlock"), whiteLine(2, "whiteLine"), mergingLaneLeft(3, - "mergingLaneLeft"), mergingLaneRight(4, "mergingLaneRight"), curbOnLeft(5, "curbOnLeft"), curbOnRight(6, - "curbOnRight"), loadingzoneOnLeft(7, "loadingzoneOnLeft"), loadingzoneOnRight(8, - "loadingzoneOnRight"), turnOutPointOnLeft(9, "turnOutPointOnLeft"), turnOutPointOnRight(10, - "turnOutPointOnRight"), adjacentParkingOnLeft(11, - "adjacentParkingOnLeft"), adjacentParkingOnRight(12, - "adjacentParkingOnRight"), adjacentBikeLaneOnLeft(13, - "adjacentBikeLaneOnLeft"), adjacentBikeLaneOnRight(14, - "adjacentBikeLaneOnRight"), sharedBikeLane(15, - "sharedBikeLane"), bikeBoxInFront(16, - "bikeBoxInFront"), transitStopOnLeft( + RESERVED(0, "reserved"), DONOTBLOCK(1, "doNotBlock"), WHITELINE(2, "whiteLine"), MERGINGLANELEFT(3, + "mergingLaneLeft"), MERGINGLANERIGHT(4, "mergingLaneRight"), CURBONLEFT(5, "curbOnLeft"), CURBONRIGHT(6, + "curbOnRight"), LOADINGZONEONLEFT(7, "loadingzoneOnLeft"), LOADINGZONEONRIGHT(8, + "loadingzoneOnRight"), TURNOUTPOINTONLEFT(9, "turnOutPointOnLeft"), TURNOUTPOINTONRIGHT(10, + "turnOutPointOnRight"), ADJACENTPARKINGONLEFT(11, + "adjacentParkingOnLeft"), ADJACENTPARKINGONRIGHT(12, + "adjacentParkingOnRight"), ADJACENTBIKELANEONLEFT(13, + "adjacentBikeLaneOnLeft"), ADJACENTBIKELANEONRIGHT(14, + "adjacentBikeLaneOnRight"), SHAREDBIKELANE(15, + "sharedBikeLane"), BIKEBOXINFRONT(16, + "bikeBoxInFront"), TRANSITSTOPONLEFT( 17, - "transitStopOnLeft"), transitStopOnRight( + "transitStopOnLeft"), TRANSITSTOPONRIGHT( 18, - "transitStopOnRight"), transitStopInLane( + "transitStopOnRight"), TRANSITSTOPINLANE( 19, - "transitStopInLane"), sharedWithTrackedVehicle( + "transitStopInLane"), SHAREDWITHTRACKEDVEHICLE( 20, - "sharedWithTrackedVehicle"), safeIsland( + "sharedWithTrackedVehicle"), SAFEISLAND( 21, - "safeIsland"), lowCurbsPresent( + "safeIsland"), LOWCURBSPRESENT( 22, - "lowCurbsPresent"), rumbleStripPresent( + "lowCurbsPresent"), RUMBLESTRIPPRESENT( 23, - "rumbleStripPresent"), audibleSignalingPresent( + "rumbleStripPresent"), AUDIBLESIGNALINGPRESENT( 24, - "audibleSignalingPresent"), adaptiveTimingPresent( + "audibleSignalingPresent"), ADAPTIVETIMINGPRESENT( 25, - "adaptiveTimingPresent"), rfSignalRequestPresent( + "adaptiveTimingPresent"), RFSIGNALREQUESTPRESENT( 26, - "rfSignalRequestPresent"), partialCurbIntrusion( + "rfSignalRequestPresent"), PARTIALCURBINTRUSION( 27, - "partialCurbIntrusion"), taperToLeft( + "partialCurbIntrusion"), TAPERTOLEFT( 28, - "taperToLeft"), taperToRight( + "taperToLeft"), TAPERTORIGHT( 29, - "taperToRight"), taperToCenterLine( + "taperToRight"), TAPERTOCENTERLINE( 30, - "taperToCenterLine"), parallelParking( + "taperToCenterLine"), PARALLELPARKING( 31, - "parallelParking"), headInParking( + "parallelParking"), HEADINPARKING( 32, - "headInParking"), freeParking( + "headInParking"), FREEPARKING( 33, - "freeParking"), timeRestrictionsOnParking( + "freeParking"), TIMERESTRICTIONSONPARKING( 34, - "timeRestrictionsOnParking"), costToPark( + "timeRestrictionsOnParking"), COSTTOPARK( 35, - "costToPark"), midBlockCurbPresent( + "costToPark"), MIDBLOCKCURBPRESENT( 36, - "midBlockCurbPresent"), unEvenPavementPresent( + "midBlockCurbPresent"), UNEVENPAVEMENTPRESENT( 37, "unEvenPavementPresent"); private final int index; private final String name; - public int getIndex() { - return index; - } - - public String getName() { - return name; - } - public boolean hasExtensionMarker() { return false; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLDeserializer.java index b5820113e..dcad42c12 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class SegmentAttributeLLDeserializer extends EnumeratedDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLList.java index 70e3a8055..dcc7cf380 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLList.java @@ -7,19 +7,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLSerializer.java index 13786839f..f17cb1d73 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class SegmentAttributeLLSerializer extends EnumeratedSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXY.java index db8bb5d45..18931898f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXY.java @@ -1,94 +1,95 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; +import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter @JsonSerialize(using = SegmentAttributeXYSerializer.class) @JsonDeserialize(using = SegmentAttributeXYDeserializer.class) public enum SegmentAttributeXY implements Asn1Enumerated { - reserved(0, "reserved"), doNotBlock(1, "doNotBlock"), whiteLine(2, "whiteLine"), mergingLaneLeft(3, - "mergingLaneLeft"), mergingLaneRight(4, "mergingLaneRight"), curbOnLeft(5, "curbOnLeft"), curbOnRight(6, - "curbOnRight"), loadingzoneOnLeft(7, "loadingzoneOnLeft"), loadingzoneOnRight(8, - "loadingzoneOnRight"), turnOutPointOnLeft(9, "turnOutPointOnLeft"), turnOutPointOnRight(10, - "turnOutPointOnRight"), adjacentParkingOnLeft(11, - "adjacentParkingOnLeft"), adjacentParkingOnRight(12, - "adjacentParkingOnRight"), adjacentBikeLaneOnLeft(13, - "adjacentBikeLaneOnLeft"), adjacentBikeLaneOnRight(14, - "adjacentBikeLaneOnRight"), sharedBikeLane(15, - "sharedBikeLane"), bikeBoxInFront(16, - "bikeBoxInFront"), transitStopOnLeft( + RESERVED(0, "reserved"), DONOTBLOCK(1, "doNotBlock"), WHITELINE(2, "whiteLine"), MERGINGLANELEFT(3, + "mergingLaneLeft"), MERGINGLANERIGHT(4, "mergingLaneRight"), CURBONLEFT(5, "curbOnLeft"), CURBONRIGHT(6, + "curbOnRight"), LOADINGZONEONLEFT(7, "loadingzoneOnLeft"), LOADINGZONEONRIGHT(8, + "loadingzoneOnRight"), TURNOUTPOINTONLEFT(9, "turnOutPointOnLeft"), TURNOUTPOINTONRIGHT(10, + "turnOutPointOnRight"), ADJACENTPARKINGONLEFT(11, + "adjacentParkingOnLeft"), ADJACENTPARKINGONRIGHT(12, + "adjacentParkingOnRight"), ADJACENTBIKELANEONLEFT(13, + "adjacentBikeLaneOnLeft"), ADJACENTBIKELANEONRIGHT(14, + "adjacentBikeLaneOnRight"), SHAREDBIKELANE(15, + "sharedBikeLane"), BIKEBOXINFRONT(16, + "bikeBoxInFront"), TRANSITSTOPONLEFT( 17, - "transitStopOnLeft"), transitStopOnRight( + "transitStopOnLeft"), TRANSITSTOPONRIGHT( 18, - "transitStopOnRight"), transitStopInLane( + "transitStopOnRight"), TRANSITSTOPINLANE( 19, - "transitStopInLane"), sharedWithTrackedVehicle( + "transitStopInLane"), SHAREDWITHTRACKEDVEHICLE( 20, - "sharedWithTrackedVehicle"), safeIsland( + "sharedWithTrackedVehicle"), SAFEISLAND( 21, - "safeIsland"), lowCurbsPresent( + "safeIsland"), LOWCURBSPRESENT( 22, - "lowCurbsPresent"), rumbleStripPresent( + "lowCurbsPresent"), RUMBLESTRIPPRESENT( 23, - "rumbleStripPresent"), audibleSignalingPresent( + "rumbleStripPresent"), AUDIBLESIGNALINGPRESENT( 24, - "audibleSignalingPresent"), adaptiveTimingPresent( + "audibleSignalingPresent"), ADAPTIVETIMINGPRESENT( 25, - "adaptiveTimingPresent"), rfSignalRequestPresent( + "adaptiveTimingPresent"), RFSIGNALREQUESTPRESENT( 26, - "rfSignalRequestPresent"), partialCurbIntrusion( + "rfSignalRequestPresent"), PARTIALCURBINTRUSION( 27, - "partialCurbIntrusion"), taperToLeft( + "partialCurbIntrusion"), TAPERTOLEFT( 28, - "taperToLeft"), taperToRight( + "taperToLeft"), TAPERTORIGHT( 29, - "taperToRight"), taperToCenterLine( + "taperToRight"), TAPERTOCENTERLINE( 30, - "taperToCenterLine"), parallelParking( + "taperToCenterLine"), PARALLELPARKING( 31, - "parallelParking"), headInParking( + "parallelParking"), HEADINPARKING( 32, - "headInParking"), freeParking( + "headInParking"), FREEPARKING( 33, - "freeParking"), timeRestrictionsOnParking( + "freeParking"), TIMERESTRICTIONSONPARKING( 34, - "timeRestrictionsOnParking"), costToPark( + "timeRestrictionsOnParking"), COSTTOPARK( 35, - "costToPark"), midBlockCurbPresent( + "costToPark"), MIDBLOCKCURBPRESENT( 36, - "midBlockCurbPresent"), unEvenPavementPresent( + "midBlockCurbPresent"), UNEVENPAVEMENTPRESENT( 37, "unEvenPavementPresent"); private final int index; private final String name; - public int getIndex() { - return index; - } - - public String getName() { - return name; - } - public boolean hasExtensionMarker() { return false; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYDeserializer.java index d576fd8fc..fc694eea5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class SegmentAttributeXYDeserializer extends EnumeratedDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYList.java index ad4328245..d128cf679 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYList.java @@ -7,19 +7,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYSerializer.java index 799bf39ee..6fe24c6aa 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class SegmentAttributeXYSerializer extends EnumeratedSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ShapePointSet.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ShapePointSet.java index 40a5e653a..dae1fd519 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ShapePointSet.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ShapePointSet.java @@ -4,28 +4,39 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class ShapePointSet extends Asn1Sequence { @Asn1Property(tag = 0, optional = true) @@ -38,38 +49,6 @@ public class ShapePointSet extends Asn1Sequence { @Asn1Property(tag = 3) private NodeListXY nodeList; - public Position3D getAnchor() { - return anchor; - } - - public void setAnchor(Position3D anchor) { - this.anchor = anchor; - } - - public LaneWidth getLaneWidth() { - return laneWidth; - } - - public void setLaneWidth(LaneWidth laneWidth) { - this.laneWidth = laneWidth; - } - - public DirectionOfUse getDirectionality() { - return directionality; - } - - public void setDirectionality(DirectionOfUse directionality) { - this.directionality = directionality; - } - - public NodeListXY getNodeList() { - return nodeList; - } - - public void setNodeList(NodeListXY nodeList) { - this.nodeList = nodeList; - } - ShapePointSet() { super(true); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SignPrority.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SignPrority.java index ff7768c97..b74fbd134 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SignPrority.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SignPrority.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class SignPrority extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimit.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimit.java index 6c571a6a1..5a4c2fc93 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimit.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimit.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitList.java index c59418f0f..866f454d4 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitList.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitSequence.java index badf6e86a..623c1c48d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitSequence.java @@ -9,33 +9,46 @@ import java.util.List; import java.util.Optional; import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class SpeedLimitSequence extends Asn1Sequence { @Asn1Property(tag = 0) private ItemChoice item; + @Getter + @Setter @JsonInclude(Include.NON_NULL) public static class ItemChoice extends Asn1Choice { @Asn1Property(tag = 0) @@ -48,36 +61,12 @@ public static class ItemChoice extends Asn1Choice { super(false); } - public ITIScodes getItis() { - return itis; - } - - public void setItis(ITIScodes itis) { - this.itis = itis; - } - - public ITIStextPhrase getText() { - return text; - } - - public void setText(ITIStextPhrase text) { - this.text = text; - } - @Override protected List> listTypes() { return null; } } - public ItemChoice getItem() { - return item; - } - - public void setItem(ItemChoice item) { - this.item = item; - } - SpeedLimitSequence() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitType.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitType.java index a1d936415..add530a57 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitType.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitType.java @@ -1,50 +1,51 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; +import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter @JsonSerialize(using = SpeedLimitTypeSerializer.class) @JsonDeserialize(using = SpeedLimitTypeDeserializer.class) public enum SpeedLimitType implements Asn1Enumerated { - unknown(0, "unknown"), maxSpeedInSchoolZone(1, "maxSpeedInSchoolZone"), maxSpeedInSchoolZoneWhenChildrenArePresent( - 2, "maxSpeedInSchoolZoneWhenChildrenArePresent"), maxSpeedInConstructionZone(3, - "maxSpeedInConstructionZone"), vehicleMinSpeed(4, "vehicleMinSpeed"), vehicleMaxSpeed(5, - "vehicleMaxSpeed"), vehicleNightMaxSpeed(6, "vehicleNightMaxSpeed"), truckMinSpeed(7, - "truckMinSpeed"), truckMaxSpeed(8, "truckMaxSpeed"), truckNightMaxSpeed(9, - "truckNightMaxSpeed"), vehiclesWithTrailersMinSpeed(10, - "vehiclesWithTrailersMinSpeed"), vehiclesWithTrailersMaxSpeed(11, - "vehiclesWithTrailersMaxSpeed"), vehiclesWithTrailersNightMaxSpeed( + UNKNOWN(0, "unknown"), MAXSPEEDINSCHOOLZONE(1, "maxSpeedInSchoolZone"), MAXSPEEDINSCHOOLZONEWHENCHILDRENAREPRESENT( + 2, "maxSpeedInSchoolZoneWhenChildrenArePresent"), MAXSPEEDINCONSTRUCTIONZONE(3, + "maxSpeedInConstructionZone"), VEHICLEMINSPEED(4, "vehicleMinSpeed"), VEHICLEMAXSPEED(5, + "vehicleMaxSpeed"), VEHICLENIGHTMAXSPEED(6, "vehicleNightMaxSpeed"), TRUCKMINSPEED(7, + "truckMinSpeed"), TRUCKMAXSPEED(8, "truckMaxSpeed"), TRUCKNIGHTMAXSPEED(9, + "truckNightMaxSpeed"), VEHICLESWITHTRAILERSMINSPEED(10, + "vehiclesWithTrailersMinSpeed"), VEHICLESWITHTRAILERSMAXSPEED(11, + "vehiclesWithTrailersMaxSpeed"), VEHICLESWITHTRAILERSNIGHTMAXSPEED( 12, "vehiclesWithTrailersNightMaxSpeed"); private final int index; private final String name; - public int getIndex() { - return index; - } - - public String getName() { - return name; - } - public boolean hasExtensionMarker() { return false; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeDeserializer.java index a5eff73e4..be7db2377 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class SpeedLimitTypeDeserializer extends EnumeratedDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeSerializer.java index 6f9482bf0..0163b370d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class SpeedLimitTypeSerializer extends EnumeratedSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java index cfe03e8ef..fcd68f442 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; import java.util.List; @@ -16,25 +18,38 @@ import us.dot.its.jpo.ode.plugin.serialization.NestedSequenceOfSerializer; import com.fasterxml.jackson.databind.annotation.JsonSerialize; +/* + * EDITED -> notUsed, notUsed1, notUsed2, notUsed3 fields. + */ + /** - * EDITED: Fixed "notUsed" properties. - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ * + ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT + * + * 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 * - *
- * J2735_201603DA.ASN
- * 
+ * http://www.apache.org/licenses/LICENSE-2.0 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class TravelerDataFrame extends Asn1Sequence { @Asn1Property(tag = 0) @@ -72,22 +87,8 @@ public class TravelerDataFrame extends Asn1Sequence { @Asn1Property(tag = 12, optional = true) private URL_Short url; - public SSPindex getNotUsed() { - return notUsed; - } - - public void setNotUsed(SSPindex notUsed) { - this.notUsed = notUsed; - } - - public TravelerInfoType getFrameType() { - return frameType; - } - - public void setFrameType(TravelerInfoType frameType) { - this.frameType = frameType; - } - + @Getter + @Setter @JsonInclude(Include.NON_NULL) public static class MsgIdChoice extends Asn1Choice { @Asn1Property(tag = 0) @@ -99,76 +100,12 @@ public static class MsgIdChoice extends Asn1Choice { super(false); } - public FurtherInfoID getFurtherInfoID() { - return furtherInfoID; - } - - public void setFurtherInfoID(FurtherInfoID furtherInfoID) { - this.furtherInfoID = furtherInfoID; - } - - public RoadSignID getRoadSignID() { - return roadSignID; - } - - public void setRoadSignID(RoadSignID roadSignID) { - this.roadSignID = roadSignID; - } - @Override protected List> listTypes() { return null; } } - public MsgIdChoice getMsgId() { - return msgId; - } - - public void setMsgId(MsgIdChoice msgId) { - this.msgId = msgId; - } - - public DYear getStartYear() { - return startYear; - } - - public void setStartYear(DYear startYear) { - this.startYear = startYear; - } - - public MinuteOfTheYear getStartTime() { - return startTime; - } - - public void setStartTime(MinuteOfTheYear startTime) { - this.startTime = startTime; - } - - public MinutesDuration getDuratonTime() { - return duratonTime; - } - - public void setDuratonTime(MinutesDuration duratonTime) { - this.duratonTime = duratonTime; - } - - public SignPrority getPriority() { - return priority; - } - - public void setPriority(SignPrority priority) { - this.priority = priority; - } - - public SSPindex getNotUsed1() { - return notUsed1; - } - - public void setNotUsed1(SSPindex notUsed1) { - this.notUsed1 = notUsed1; - } - @JsonInclude(Include.NON_NULL) public static class SequenceOfRegions extends Asn1SequenceOf { SequenceOfRegions() { @@ -176,30 +113,8 @@ public static class SequenceOfRegions extends Asn1SequenceOf { } } - public SequenceOfRegions getRegions() { - return regions; - } - - public void setRegions(SequenceOfRegions regions) { - this.regions = regions; - } - - public SSPindex getNotUsed2() { - return notUsed2; - } - - public void setNotUsed2(SSPindex notUsed2) { - this.notUsed2 = notUsed2; - } - - public SSPindex getNotUsed3() { - return notUsed3; - } - - public void setNotUsed3(SSPindex notUsed3) { - this.notUsed3 = notUsed3; - } - + @Getter + @Setter @JsonInclude(Include.NON_NULL) public static class ContentChoice extends Asn1Choice { @Asn1Property(tag = 0) @@ -227,68 +142,12 @@ public static class ContentChoice extends Asn1Choice { super(false); } - public ITIScodesAndText getAdvisory() { - return advisory; - } - - public void setAdvisory(ITIScodesAndText advisory) { - this.advisory = advisory; - } - - public WorkZone getWorkZone() { - return workZone; - } - - public void setWorkZone(WorkZone workZone) { - this.workZone = workZone; - } - - public GenericSignage getGenericSign() { - return genericSign; - } - - public void setGenericSign(GenericSignage genericSign) { - this.genericSign = genericSign; - } - - public SpeedLimit getSpeedLimit() { - return speedLimit; - } - - public void setSpeedLimit(SpeedLimit speedLimit) { - this.speedLimit = speedLimit; - } - - public ExitService getExitService() { - return exitService; - } - - public void setExitService(ExitService exitService) { - this.exitService = exitService; - } - @Override protected List> listTypes() { return null; } } - public ContentChoice getContent() { - return content; - } - - public void setContent(ContentChoice content) { - this.content = content; - } - - public URL_Short getUrl() { - return url; - } - - public void setUrl(URL_Short url) { - this.url = url; - } - TravelerDataFrame() { super(true); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java_bak b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java_bak new file mode 100644 index 000000000..cfe03e8ef --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java_bak @@ -0,0 +1,355 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import java.util.List; +import java.util.Optional; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import us.dot.its.jpo.ode.plugin.j2735.ITIS.ITIScodesAndText; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.NestedSequenceOfDeserializer; +import us.dot.its.jpo.ode.plugin.serialization.NestedSequenceOfSerializer; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +/** + * EDITED: Fixed "notUsed" properties. + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class TravelerDataFrame extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + private SSPindex notUsed; + @Asn1Property(tag = 1) + private TravelerInfoType frameType; + @Asn1Property(tag = 2) + private MsgIdChoice msgId; + @Asn1Property(tag = 3, optional = true) + @JsonDeserialize(using = DYear.DYearDeserializer.class) + private DYear startYear; + @Asn1Property(tag = 4) + @JsonDeserialize(using = MinuteOfTheYear.MinuteOfTheYearDeserializer.class) + private MinuteOfTheYear startTime; + @Asn1Property(tag = 5) + @JsonDeserialize(using = MinutesDuration.MinutesDurationDeserializer.class) + private MinutesDuration duratonTime; + @Asn1Property(tag = 6) + @JsonDeserialize(using = SignPrority.SignProrityDeserializer.class) + private SignPrority priority; + @Asn1Property(tag = 7) + @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + private SSPindex notUsed1; + @Asn1Property(tag = 8) + private SequenceOfRegions regions; + @Asn1Property(tag = 9) + @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + private SSPindex notUsed2; + @Asn1Property(tag = 10) + @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + private SSPindex notUsed3; + @Asn1Property(tag = 11) + private ContentChoice content; + @Asn1Property(tag = 12, optional = true) + private URL_Short url; + + public SSPindex getNotUsed() { + return notUsed; + } + + public void setNotUsed(SSPindex notUsed) { + this.notUsed = notUsed; + } + + public TravelerInfoType getFrameType() { + return frameType; + } + + public void setFrameType(TravelerInfoType frameType) { + this.frameType = frameType; + } + + @JsonInclude(Include.NON_NULL) + public static class MsgIdChoice extends Asn1Choice { + @Asn1Property(tag = 0) + private FurtherInfoID furtherInfoID; + @Asn1Property(tag = 1) + private RoadSignID roadSignID; + + MsgIdChoice() { + super(false); + } + + public FurtherInfoID getFurtherInfoID() { + return furtherInfoID; + } + + public void setFurtherInfoID(FurtherInfoID furtherInfoID) { + this.furtherInfoID = furtherInfoID; + } + + public RoadSignID getRoadSignID() { + return roadSignID; + } + + public void setRoadSignID(RoadSignID roadSignID) { + this.roadSignID = roadSignID; + } + + @Override + protected List> listTypes() { + return null; + } + } + + public MsgIdChoice getMsgId() { + return msgId; + } + + public void setMsgId(MsgIdChoice msgId) { + this.msgId = msgId; + } + + public DYear getStartYear() { + return startYear; + } + + public void setStartYear(DYear startYear) { + this.startYear = startYear; + } + + public MinuteOfTheYear getStartTime() { + return startTime; + } + + public void setStartTime(MinuteOfTheYear startTime) { + this.startTime = startTime; + } + + public MinutesDuration getDuratonTime() { + return duratonTime; + } + + public void setDuratonTime(MinutesDuration duratonTime) { + this.duratonTime = duratonTime; + } + + public SignPrority getPriority() { + return priority; + } + + public void setPriority(SignPrority priority) { + this.priority = priority; + } + + public SSPindex getNotUsed1() { + return notUsed1; + } + + public void setNotUsed1(SSPindex notUsed1) { + this.notUsed1 = notUsed1; + } + + @JsonInclude(Include.NON_NULL) + public static class SequenceOfRegions extends Asn1SequenceOf { + SequenceOfRegions() { + super(GeographicalPath.class, 1L, 16L); + } + } + + public SequenceOfRegions getRegions() { + return regions; + } + + public void setRegions(SequenceOfRegions regions) { + this.regions = regions; + } + + public SSPindex getNotUsed2() { + return notUsed2; + } + + public void setNotUsed2(SSPindex notUsed2) { + this.notUsed2 = notUsed2; + } + + public SSPindex getNotUsed3() { + return notUsed3; + } + + public void setNotUsed3(SSPindex notUsed3) { + this.notUsed3 = notUsed3; + } + + @JsonInclude(Include.NON_NULL) + public static class ContentChoice extends Asn1Choice { + @Asn1Property(tag = 0) + @JsonDeserialize(using = AdvisoryDeserializer.class) + @JsonSerialize(using = AdvisorySerializer.class) + private ITIScodesAndText advisory; + @Asn1Property(tag = 1) + @JsonDeserialize(using = WorkZoneDeserializer.class) + @JsonSerialize(using = WorkZoneSerializer.class) + private WorkZone workZone; + @Asn1Property(tag = 2) + @JsonDeserialize(using = GenericSignDeserializer.class) + @JsonSerialize(using = GenericSignSerializer.class) + private GenericSignage genericSign; + @Asn1Property(tag = 3) + @JsonDeserialize(using = SpeedLimitDeserializer.class) + @JsonSerialize(using = SpeedLimitSerializer.class) + private SpeedLimit speedLimit; + @Asn1Property(tag = 4) + @JsonDeserialize(using = ExitServiceDeserializer.class) + @JsonSerialize(using = ExitServiceSerializer.class) + private ExitService exitService; + + ContentChoice() { + super(false); + } + + public ITIScodesAndText getAdvisory() { + return advisory; + } + + public void setAdvisory(ITIScodesAndText advisory) { + this.advisory = advisory; + } + + public WorkZone getWorkZone() { + return workZone; + } + + public void setWorkZone(WorkZone workZone) { + this.workZone = workZone; + } + + public GenericSignage getGenericSign() { + return genericSign; + } + + public void setGenericSign(GenericSignage genericSign) { + this.genericSign = genericSign; + } + + public SpeedLimit getSpeedLimit() { + return speedLimit; + } + + public void setSpeedLimit(SpeedLimit speedLimit) { + this.speedLimit = speedLimit; + } + + public ExitService getExitService() { + return exitService; + } + + public void setExitService(ExitService exitService) { + this.exitService = exitService; + } + + @Override + protected List> listTypes() { + return null; + } + } + + public ContentChoice getContent() { + return content; + } + + public void setContent(ContentChoice content) { + this.content = content; + } + + public URL_Short getUrl() { + return url; + } + + public void setUrl(URL_Short url) { + this.url = url; + } + + TravelerDataFrame() { + super(true); + } + + public static class AdvisoryDeserializer extends NestedSequenceOfDeserializer { + public AdvisoryDeserializer() { + super(ITIScodesAndText.class, "SEQUENCE"); + } + } + + public static class AdvisorySerializer extends NestedSequenceOfSerializer { + public AdvisorySerializer() { + super(ITIScodesAndText.class, "SEQUENCE"); + } + } + + public static class WorkZoneDeserializer extends NestedSequenceOfDeserializer { + public WorkZoneDeserializer() { + super(WorkZone.class, "SEQUENCE"); + } + } + + public static class WorkZoneSerializer extends NestedSequenceOfSerializer { + public WorkZoneSerializer() { + super(WorkZone.class, "SEQUENCE"); + } + } + + public static class GenericSignDeserializer extends NestedSequenceOfDeserializer { + public GenericSignDeserializer() { + super(GenericSignage.class, "SEQUENCE"); + } + } + + public static class GenericSignSerializer extends NestedSequenceOfSerializer { + public GenericSignSerializer() { + super(GenericSignage.class, "SEQUENCE"); + } + } + + public static class SpeedLimitDeserializer extends NestedSequenceOfDeserializer { + public SpeedLimitDeserializer() { + super(SpeedLimit.class, "SEQUENCE"); + } + } + + public static class SpeedLimitSerializer extends NestedSequenceOfSerializer { + public SpeedLimitSerializer() { + super(SpeedLimit.class, "SEQUENCE"); + } + } + + public static class ExitServiceDeserializer extends NestedSequenceOfDeserializer { + public ExitServiceDeserializer() { + super(ExitService.class, "SEQUENCE"); + } + } + + public static class ExitServiceSerializer extends NestedSequenceOfSerializer { + public ExitServiceSerializer() { + super(ExitService.class, "SEQUENCE"); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrameList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrameList.java index 4b5e810be..d1d89e199 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrameList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrameList.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoType.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoType.java index 206999c8c..323267c8f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoType.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoType.java @@ -1,43 +1,44 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; +import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ +@Getter @JsonSerialize(using = TravelerInfoTypeSerializer.class) @JsonDeserialize(using = TravelerInfoTypeDeserializer.class) public enum TravelerInfoType implements Asn1Enumerated { - unknown(0, "unknown"), advisory(1, "advisory"), roadSignage(2, "roadSignage"), commercialSignage(3, + UNKNOWN(0, "unknown"), ADVISORY(1, "advisory"), ROADSIGNAGE(2, "roadSignage"), COMMERCIALSIGNAGE(3, "commercialSignage"); private final int index; private final String name; - public int getIndex() { - return index; - } - - public String getName() { - return name; - } - public boolean hasExtensionMarker() { return false; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeDeserializer.java index 7062d0455..15cf06ae1 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeDeserializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class TravelerInfoTypeDeserializer extends EnumeratedDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeSerializer.java index f17d6c568..23c31bc60 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeSerializer.java @@ -4,19 +4,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class TravelerInfoTypeSerializer extends EnumeratedSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java index 804a14f63..6a7cc99eb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java @@ -1,36 +1,51 @@ package us.dot.its.jpo.ode.plugin.j2735.DSRC; -//import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_TravelerInformation; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +/* + * EDITED - Changed base class to Asn1Object + */ + /** - * EDITED: Changed base class to Asn1Object. - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ * EDITED - Change base class to Asn1Object + ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class TravelerInformation extends Asn1Object { @Asn1Property(tag = 0) @@ -50,62 +65,14 @@ public class TravelerInformation extends Asn1Object { @Asn1Property(tag = 5, optional = true) private SequenceOfRegional regional; - public MsgCount getMsgCnt() { - return msgCnt; - } - - public void setMsgCnt(MsgCount msgCnt) { - this.msgCnt = msgCnt; - } - - public MinuteOfTheYear getTimeStamp() { - return timeStamp; - } - - public void setTimeStamp(MinuteOfTheYear timeStamp) { - this.timeStamp = timeStamp; - } - - public UniqueMSGID getPacketID() { - return packetID; - } - - public void setPacketID(UniqueMSGID packetID) { - this.packetID = packetID; - } - - public URL_Base getUrlB() { - return urlB; - } - - public void setUrlB(URL_Base urlB) { - this.urlB = urlB; - } - - public TravelerDataFrameList getDataFrames() { - return dataFrames; - } - - public void setDataFrames(TravelerDataFrameList dataFrames) { - this.dataFrames = dataFrames; - } - @JsonInclude(Include.NON_NULL) public static class SequenceOfRegional extends Asn1SequenceOf { SequenceOfRegional() { - super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_TravelerInformation.class, 1L, 4L); + super(Reg_TravelerInformation.class, 1L, 4L); } } - public SequenceOfRegional getRegional() { - return regional; - } - - public void setRegional(SequenceOfRegional regional) { - this.regional = regional; - } - - // TravelerInformation() { - // super(true); - // } +// TravelerInformation() { +// super(true); +// } } \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java_bak b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java_bak new file mode 100644 index 000000000..804a14f63 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java_bak @@ -0,0 +1,111 @@ +package us.dot.its.jpo.ode.plugin.j2735.DSRC; + +//import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; +import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_TravelerInformation; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +/** + * EDITED: Changed base class to Asn1Object. + *

+ * This source code was generated by a tool. Manual edits are futile. + *

+ *

+ * asn1jvm v1.0-SNAPSHOT + *

+ *

+ * ASN.1 source files: + *

+ * + *
+ * J2735_201603DA.ASN
+ * 
+ * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +public class TravelerInformation extends Asn1Object { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = MsgCount.MsgCountDeserializer.class) + private MsgCount msgCnt; + @Asn1Property(tag = 1, optional = true) + @JsonDeserialize(using = MinuteOfTheYear.MinuteOfTheYearDeserializer.class) + private MinuteOfTheYear timeStamp; + @Asn1Property(tag = 2, optional = true) + private UniqueMSGID packetID; + @Asn1Property(tag = 3, optional = true) + private URL_Base urlB; + @Asn1Property(tag = 4) + @JacksonXmlElementWrapper(localName = "dataFrames") + @JacksonXmlProperty(localName = "TravelerDataFrame") + private TravelerDataFrameList dataFrames; + @Asn1Property(tag = 5, optional = true) + private SequenceOfRegional regional; + + public MsgCount getMsgCnt() { + return msgCnt; + } + + public void setMsgCnt(MsgCount msgCnt) { + this.msgCnt = msgCnt; + } + + public MinuteOfTheYear getTimeStamp() { + return timeStamp; + } + + public void setTimeStamp(MinuteOfTheYear timeStamp) { + this.timeStamp = timeStamp; + } + + public UniqueMSGID getPacketID() { + return packetID; + } + + public void setPacketID(UniqueMSGID packetID) { + this.packetID = packetID; + } + + public URL_Base getUrlB() { + return urlB; + } + + public void setUrlB(URL_Base urlB) { + this.urlB = urlB; + } + + public TravelerDataFrameList getDataFrames() { + return dataFrames; + } + + public void setDataFrames(TravelerDataFrameList dataFrames) { + this.dataFrames = dataFrames; + } + + @JsonInclude(Include.NON_NULL) + public static class SequenceOfRegional extends Asn1SequenceOf { + SequenceOfRegional() { + super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_TravelerInformation.class, 1L, 4L); + } + } + + public SequenceOfRegional getRegional() { + return regional; + } + + public void setRegional(SequenceOfRegional regional) { + this.regional = regional; + } + + // TravelerInformation() { + // super(true); + // } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Base.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Base.java index a93a91c93..62909df7a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Base.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Base.java @@ -5,19 +5,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class URL_Base extends IA5String { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Short.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Short.java index f95536afa..54e2c0329 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Short.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Short.java @@ -5,19 +5,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class URL_Short extends IA5String { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/UniqueMSGID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/UniqueMSGID.java index a700e956b..433cba1e7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/UniqueMSGID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/UniqueMSGID.java @@ -5,19 +5,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class UniqueMSGID extends Asn1OctetString { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ValidRegion.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ValidRegion.java index b6d3bc1c1..2772b975d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ValidRegion.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ValidRegion.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; import java.util.List; @@ -12,23 +14,32 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class ValidRegion extends Asn1Sequence { @Asn1Property(tag = 0) @@ -38,22 +49,8 @@ public class ValidRegion extends Asn1Sequence { @Asn1Property(tag = 2) private AreaChoice area; - public HeadingSlice getDirection() { - return direction; - } - - public void setDirection(HeadingSlice direction) { - this.direction = direction; - } - - public Extent getExtent() { - return extent; - } - - public void setExtent(Extent extent) { - this.extent = extent; - } - + @Getter + @Setter @JsonInclude(Include.NON_NULL) public static class AreaChoice extends Asn1Choice { @Asn1Property(tag = 0) @@ -67,44 +64,12 @@ public static class AreaChoice extends Asn1Choice { super(false); } - public ShapePointSet getShapePointSet() { - return shapePointSet; - } - - public void setShapePointSet(ShapePointSet shapePointSet) { - this.shapePointSet = shapePointSet; - } - - public Circle getCircle() { - return circle; - } - - public void setCircle(Circle circle) { - this.circle = circle; - } - - public RegionPointSet getRegionPointSet() { - return regionPointSet; - } - - public void setRegionPointSet(RegionPointSet regionPointSet) { - this.regionPointSet = regionPointSet; - } - @Override protected List> listTypes() { return null; } } - public AreaChoice getArea() { - return area; - } - - public void setArea(AreaChoice area) { - this.area = area; - } - ValidRegion() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Velocity.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Velocity.java index 959be197f..903873564 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Velocity.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Velocity.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Velocity extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZone.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZone.java index 78268ac2b..01059af20 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZone.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZone.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZoneSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZoneSequence.java index 4d7733b38..697950888 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZoneSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZoneSequence.java @@ -9,33 +9,46 @@ import java.util.List; import java.util.Optional; import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class WorkZoneSequence extends Asn1Sequence { @Asn1Property(tag = 0) private ItemChoice item; + @Getter + @Setter @JsonInclude(Include.NON_NULL) public static class ItemChoice extends Asn1Choice { @Asn1Property(tag = 0) @@ -48,36 +61,12 @@ public static class ItemChoice extends Asn1Choice { super(false); } - public ITIScodes getItis() { - return itis; - } - - public void setItis(ITIScodes itis) { - this.itis = itis; - } - - public ITIStextPhrase getText() { - return text; - } - - public void setText(ITIStextPhrase text) { - this.text = text; - } - @Override protected List> listTypes() { return null; } } - public ItemChoice getItem() { - return item; - } - - public void setItem(ItemChoice item) { - this.item = item; - } - WorkZoneSequence() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Zoom.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Zoom.java index a970950fc..988311b91 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Zoom.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Zoom.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class Zoom extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodes.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodes.java index 5b6079e51..2e43436b9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodes.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodes.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class ITIScodes extends Asn1Integer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndText.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndText.java index 18c2874b2..ee5bf9b34 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndText.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndText.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndTextSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndTextSequence.java index 5a8b4102f..8170f1ff3 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndTextSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndTextSequence.java @@ -8,33 +8,46 @@ import java.util.List; import java.util.Optional; import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import lombok.Getter; +import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter public class ITIScodesAndTextSequence extends Asn1Sequence { @Asn1Property(tag = 0) private ItemChoice item; + @Getter + @Setter @JsonInclude(Include.NON_NULL) public static class ItemChoice extends Asn1Choice { @Asn1Property(tag = 0) @@ -47,36 +60,12 @@ public static class ItemChoice extends Asn1Choice { super(false); } - public ITIScodes getItis() { - return itis; - } - - public void setItis(ITIScodes itis) { - this.itis = itis; - } - - public ITIStext getText() { - return text; - } - - public void setText(ITIStext text) { - this.text = text; - } - @Override protected List> listTypes() { return null; } } - public ItemChoice getItem() { - return item; - } - - public void setItem(ItemChoice item) { - this.item = item; - } - ITIScodesAndTextSequence() { super(false); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIStext.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIStext.java index f517967ae..213baae24 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIStext.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIStext.java @@ -5,19 +5,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ public class ITIStext extends IA5String { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_ComputedLane.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_ComputedLane.java index f979efaa4..a9fa04d1a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_ComputedLane.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_ComputedLane.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeographicalPath.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeographicalPath.java index c31cb1a3d..6ef13814f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeographicalPath.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeographicalPath.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeometricProjection.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeometricProjection.java index 7e1c121f6..00a482bb2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeometricProjection.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeometricProjection.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_LaneDataAttribute.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_LaneDataAttribute.java index 484f60051..1b64c7495 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_LaneDataAttribute.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_LaneDataAttribute.java @@ -9,30 +9,38 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType; +import us.dot.its.jpo.ode.plugin.j2735.AddGrpB.LaneDataAttribute_addGrpBReg_LaneDataAttribute; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonTypeInfo(use = Id.NAME, include = As.EXISTING_PROPERTY, property = "regionId") @JsonSubTypes({ - @JsonSubTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpB.LaneDataAttribute_addGrpBReg_LaneDataAttribute.class, name = "2")}) + @JsonSubTypes.Type(value = LaneDataAttribute_addGrpBReg_LaneDataAttribute.class, name = "2")}) @Asn1ParameterizedTypes(idProperty = "regionId", idType = IdType.INTEGER, valueProperty = "regExtValue", value = { - @Asn1ParameterizedTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpB.LaneDataAttribute_addGrpBReg_LaneDataAttribute.class, intId = 2)}) + @Asn1ParameterizedTypes.Type(value = LaneDataAttribute_addGrpBReg_LaneDataAttribute.class, intId = 2)}) abstract public class Reg_LaneDataAttribute extends RegionalExtension { public Reg_LaneDataAttribute(int id, String name) { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetLL.java index e3cb75c81..07e386bc8 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetLL.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetXY.java index bcc1df192..82bc64922 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetXY.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointLL.java index ea683e0ee..9cccb2a02 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointLL.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointXY.java index 2ac717f5e..86074ae06 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointXY.java @@ -9,30 +9,38 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType; +import us.dot.its.jpo.ode.plugin.j2735.AddGrpB.NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonTypeInfo(use = Id.NAME, include = As.EXISTING_PROPERTY, property = "regionId") @JsonSubTypes({ - @JsonSubTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpB.NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.class, name = "2")}) + @JsonSubTypes.Type(value = NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.class, name = "2")}) @Asn1ParameterizedTypes(idProperty = "regionId", idType = IdType.INTEGER, valueProperty = "regExtValue", value = { - @Asn1ParameterizedTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpB.NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.class, intId = 2)}) + @Asn1ParameterizedTypes.Type(value = NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.class, intId = 2)}) abstract public class Reg_NodeOffsetPointXY extends RegionalExtension { public Reg_NodeOffsetPointXY(int id, String name) { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_Position3D.java index 59e04379c..0c785e5be 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_Position3D.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_Position3D.java @@ -9,31 +9,40 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType; +import us.dot.its.jpo.ode.plugin.j2735.AddGrpB.Position3D_addGrpBReg_Position3D; +import us.dot.its.jpo.ode.plugin.j2735.AddGrpC.Position3D_addGrpCReg_Position3D; /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) @JsonTypeInfo(use = Id.NAME, include = As.EXISTING_PROPERTY, property = "regionId") -@JsonSubTypes({@JsonSubTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpB.Position3D_addGrpBReg_Position3D.class, name = "2"), - @JsonSubTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpC.Position3D_addGrpCReg_Position3D.class, name = "3")}) +@JsonSubTypes({@JsonSubTypes.Type(value = Position3D_addGrpBReg_Position3D.class, name = "2"), + @JsonSubTypes.Type(value = Position3D_addGrpCReg_Position3D.class, name = "3")}) @Asn1ParameterizedTypes(idProperty = "regionId", idType = IdType.INTEGER, valueProperty = "regExtValue", value = { - @Asn1ParameterizedTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpB.Position3D_addGrpBReg_Position3D.class, intId = 2), - @Asn1ParameterizedTypes.Type(value = us.dot.its.jpo.ode.plugin.j2735.AddGrpC.Position3D_addGrpCReg_Position3D.class, intId = 3)}) + @Asn1ParameterizedTypes.Type(value = Position3D_addGrpBReg_Position3D.class, intId = 2), + @Asn1ParameterizedTypes.Type(value = Position3D_addGrpCReg_Position3D.class, intId = 3)}) abstract public class Reg_Position3D extends RegionalExtension { public Reg_Position3D(int id, String name) { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_TravelerInformation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_TravelerInformation.java index 79478a6ca..d2ba1b9da 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_TravelerInformation.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_TravelerInformation.java @@ -6,19 +6,26 @@ /** * - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

+ ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT * - *
- * J2735_201603DA.ASN
- * 
+ * 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 + * + * 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. + ****************************************************************************** * */ @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Field.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Field.java deleted file mode 100644 index 2ee29d0fc..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Field.java +++ /dev/null @@ -1,5 +0,0 @@ -//package asn2pojo.runtime.types; -// -//public record Asn1Field(String name, Asn1Type value, boolean optional, int tag) { -// -//} From f2239886f3912014c12435b910aa33f3dc25b06e Mon Sep 17 00:00:00 2001 From: Ivan Yourshaw <39739503+iyourshaw@users.noreply.github.com> Date: Wed, 4 Dec 2024 17:58:38 -0700 Subject: [PATCH 19/33] Use 2020/2024 modules as package names. Package names lower case. --- .../dot/its/jpo/ode/model/OdeTimPayload.java | 2 +- .../j2735/DSRC/TravelerDataFrame.java_bak | 355 ------------------ .../j2735/DSRC/TravelerInformation.java_bak | 111 ------ .../{AddGrpB => addgrpb}/DegreesLat.java | 2 +- .../{AddGrpB => addgrpb}/DegreesLong.java | 2 +- .../j2735/{AddGrpB => addgrpb}/Elevation.java | 2 +- .../LaneDataAttribute_addGrpB.java | 2 +- ...ttribute_addGrpBReg_LaneDataAttribute.java | 4 +- ...eg_LaneDataAttributeValueDeserializer.java | 2 +- ...BReg_LaneDataAttributeValueSerializer.java | 2 +- .../{AddGrpB => addgrpb}/LatitudeDMS.java | 2 +- .../{AddGrpB => addgrpb}/LatitudeDMS2.java | 2 +- .../{AddGrpB => addgrpb}/LongitudeDMS.java | 2 +- .../{AddGrpB => addgrpb}/LongitudeDMS2.java | 2 +- .../{AddGrpB => addgrpb}/MinutesAngle.java | 2 +- .../NodeOffsetPointXY_addGrpB.java | 2 +- ...tPointXY_addGrpBReg_NodeOffsetPointXY.java | 4 +- ...eg_NodeOffsetPointXYValueDeserializer.java | 2 +- ...BReg_NodeOffsetPointXYValueSerializer.java | 2 +- .../{AddGrpB => addgrpb}/Node_LLdms_48b.java | 2 +- .../{AddGrpB => addgrpb}/Node_LLdms_80b.java | 2 +- .../Position3D_addGrpB.java | 2 +- .../Position3D_addGrpBReg_Position3D.java | 4 +- ...ddGrpBReg_Position3DValueDeserializer.java | 2 +- ..._addGrpBReg_Position3DValueSerializer.java | 2 +- .../{AddGrpB => addgrpb}/SecondsAngle.java | 2 +- .../j2735/{AddGrpC => addgrpc}/Altitude.java | 2 +- .../AltitudeConfidence.java | 2 +- .../AltitudeConfidenceDeserializer.java | 2 +- .../AltitudeConfidenceSerializer.java | 2 +- .../{AddGrpC => addgrpc}/AltitudeValue.java | 2 +- .../Position3D_addGrpC.java | 2 +- .../Position3D_addGrpCReg_Position3D.java | 4 +- ...ddGrpCReg_Position3DValueDeserializer.java | 2 +- ..._addGrpCReg_Position3DValueSerializer.java | 2 +- .../plugin/j2735/{DSRC => common}/Angle.java | 2 +- .../j2735/{DSRC => common}/ComputedLane.java | 4 +- .../plugin/j2735/{DSRC => common}/DYear.java | 2 +- .../j2735/{DSRC => common}/DeltaAngle.java | 2 +- .../{DSRC => common}/DescriptiveName.java | 2 +- .../{DSRC => common}/DrivenLineOffsetLg.java | 2 +- .../{DSRC => common}/DrivenLineOffsetSm.java | 2 +- .../j2735/{DSRC => common}/Elevation.java | 2 +- .../plugin/j2735/{DSRC => common}/Extent.java | 2 +- .../{DSRC => common}/ExtentDeserializer.java | 2 +- .../{DSRC => common}/ExtentSerializer.java | 2 +- .../j2735/{DSRC => common}/FurtherInfoID.java | 2 +- .../j2735/{DSRC => common}/HeadingSlice.java | 2 +- .../HeadingSliceDeserializer.java | 2 +- .../{DSRC => common}/LaneDataAttribute.java | 4 +- .../LaneDataAttributeList.java | 2 +- .../plugin/j2735/{DSRC => common}/LaneID.java | 2 +- .../j2735/{DSRC => common}/LaneWidth.java | 2 +- .../j2735/{DSRC => common}/Latitude.java | 2 +- .../j2735/{DSRC => common}/Longitude.java | 2 +- .../MergeDivergeNodeAngle.java | 2 +- .../{DSRC => common}/MinuteOfTheYear.java | 2 +- .../j2735/{DSRC => common}/MsgCount.java | 2 +- .../{DSRC => common}/NodeAttributeSetXY.java | 4 +- .../{DSRC => common}/NodeAttributeXY.java | 2 +- .../NodeAttributeXYDeserializer.java | 2 +- .../{DSRC => common}/NodeAttributeXYList.java | 2 +- .../NodeAttributeXYSerializer.java | 2 +- .../j2735/{DSRC => common}/NodeListXY.java | 2 +- .../{DSRC => common}/NodeOffsetPointXY.java | 4 +- .../j2735/{DSRC => common}/NodeSetXY.java | 2 +- .../plugin/j2735/{DSRC => common}/NodeXY.java | 2 +- .../j2735/{DSRC => common}/Node_LLmD_64b.java | 2 +- .../j2735/{DSRC => common}/Node_XY_20b.java | 2 +- .../j2735/{DSRC => common}/Node_XY_22b.java | 2 +- .../j2735/{DSRC => common}/Node_XY_24b.java | 2 +- .../j2735/{DSRC => common}/Node_XY_26b.java | 2 +- .../j2735/{DSRC => common}/Node_XY_28b.java | 2 +- .../j2735/{DSRC => common}/Node_XY_32b.java | 2 +- .../j2735/{DSRC => common}/OffsetLL_B12.java | 2 +- .../j2735/{DSRC => common}/OffsetLL_B14.java | 2 +- .../j2735/{DSRC => common}/OffsetLL_B16.java | 2 +- .../j2735/{DSRC => common}/OffsetLL_B18.java | 2 +- .../j2735/{DSRC => common}/OffsetLL_B22.java | 2 +- .../j2735/{DSRC => common}/OffsetLL_B24.java | 2 +- .../j2735/{DSRC => common}/Offset_B10.java | 2 +- .../j2735/{DSRC => common}/Offset_B11.java | 2 +- .../j2735/{DSRC => common}/Offset_B12.java | 2 +- .../j2735/{DSRC => common}/Offset_B13.java | 2 +- .../j2735/{DSRC => common}/Offset_B14.java | 2 +- .../j2735/{DSRC => common}/Offset_B16.java | 2 +- .../j2735/{DSRC => common}/Position3D.java | 4 +- .../j2735/{DSRC => common}/RegionId.java | 2 +- .../{DSRC => common}/RegionalExtension.java | 2 +- .../RegulatorySpeedLimit.java | 2 +- .../{DSRC => common}/RoadRegulatorID.java | 2 +- .../j2735/{DSRC => common}/RoadSegmentID.java | 2 +- .../RoadSegmentReferenceID.java | 2 +- .../{DSRC => common}/RoadwayCrownAngle.java | 2 +- .../j2735/{DSRC => common}/SSPindex.java | 2 +- .../j2735/{DSRC => common}/Scale_B12.java | 2 +- .../{DSRC => common}/SegmentAttributeXY.java | 2 +- .../SegmentAttributeXYDeserializer.java | 2 +- .../SegmentAttributeXYList.java | 2 +- .../SegmentAttributeXYSerializer.java | 2 +- .../{DSRC => common}/SpeedLimitList.java | 2 +- .../{DSRC => common}/SpeedLimitType.java | 2 +- .../SpeedLimitTypeDeserializer.java | 2 +- .../SpeedLimitTypeSerializer.java | 2 +- .../j2735/{DSRC => common}/Velocity.java | 2 +- .../j2735/{ITIS => itis}/ITIScodes.java | 2 +- .../{ITIS => itis}/ITIScodesAndText.java | 2 +- .../ITIScodesAndTextSequence.java | 2 +- .../plugin/j2735/{ITIS => itis}/ITIStext.java | 2 +- .../{REGION => region}/Reg_ComputedLane.java | 4 +- .../Reg_GeographicalPath.java | 4 +- .../Reg_GeometricProjection.java | 4 +- .../Reg_LaneDataAttribute.java | 6 +- .../Reg_NodeAttributeSetLL.java | 4 +- .../Reg_NodeAttributeSetXY.java | 4 +- .../Reg_NodeOffsetPointLL.java | 4 +- .../Reg_NodeOffsetPointXY.java | 6 +- .../{REGION => region}/Reg_Position3D.java | 8 +- .../Reg_TravelerInformation.java | 4 +- .../{DSRC => travelerinformation}/Circle.java | 3 +- .../DirectionOfUse.java | 2 +- .../DirectionOfUseDeserializer.java | 2 +- .../DirectionOfUseSerializer.java | 2 +- .../DistanceUnits.java | 2 +- .../DistanceUnitsDeserializer.java | 2 +- .../DistanceUnitsSerializer.java | 2 +- .../ExitService.java | 2 +- .../ExitServiceSequence.java | 4 +- .../GenericSignage.java | 2 +- .../GenericSignageSequence.java | 4 +- .../GeographicalPath.java | 5 +- .../GeometricProjection.java | 7 +- .../ITIStextPhrase.java | 2 +- .../MUTCDCode.java | 2 +- .../MUTCDCodeDeserializer.java | 2 +- .../MUTCDCodeSerializer.java | 2 +- .../MinutesDuration.java | 2 +- .../{DSRC => travelerinformation}/MsgCRC.java | 2 +- .../NodeAttributeLL.java | 2 +- .../NodeAttributeLLDeserializer.java | 2 +- .../NodeAttributeLLList.java | 2 +- .../NodeAttributeLLSerializer.java | 2 +- .../NodeAttributeSetLL.java | 6 +- .../{DSRC => travelerinformation}/NodeLL.java | 2 +- .../NodeListLL.java | 2 +- .../NodeOffsetPointLL.java | 5 +- .../NodeSetLL.java | 2 +- .../Node_LL_24B.java | 3 +- .../Node_LL_28B.java | 3 +- .../Node_LL_32B.java | 3 +- .../Node_LL_36B.java | 3 +- .../Node_LL_44B.java | 3 +- .../Node_LL_48B.java | 3 +- .../OffsetSystem.java | 3 +- .../Radius_B12.java | 2 +- .../RegionList.java | 2 +- .../RegionOffsets.java | 3 +- .../RegionPointSet.java | 3 +- .../RoadSignID.java | 4 +- .../SegmentAttributeLL.java | 2 +- .../SegmentAttributeLLDeserializer.java | 2 +- .../SegmentAttributeLLList.java | 2 +- .../SegmentAttributeLLSerializer.java | 2 +- .../ShapePointSet.java | 5 +- .../SignPrority.java | 2 +- .../SpeedLimit.java | 2 +- .../SpeedLimitSequence.java | 4 +- .../TravelerDataFrame.java | 8 +- .../TravelerDataFrameList.java | 2 +- .../TravelerInfoType.java | 2 +- .../TravelerInfoTypeDeserializer.java | 2 +- .../TravelerInfoTypeSerializer.java | 2 +- .../TravelerInformation.java | 7 +- .../URL_Base.java | 2 +- .../URL_Short.java | 2 +- .../UniqueMSGID.java | 2 +- .../ValidRegion.java | 4 +- .../WorkZone.java | 2 +- .../WorkZoneSequence.java | 4 +- .../{DSRC => travelerinformation}/Zoom.java | 2 +- .../plugin/j2735/DSRC/HeadingSliceTest.java | 1 + .../ode/coder/OdeTimDataCreatorHelper.java | 2 +- 182 files changed, 243 insertions(+), 679 deletions(-) delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java_bak delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java_bak rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/DegreesLat.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/DegreesLong.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/Elevation.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/LaneDataAttribute_addGrpB.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java (94%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/LatitudeDMS.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/LatitudeDMS2.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/LongitudeDMS.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/LongitudeDMS2.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/MinutesAngle.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/NodeOffsetPointXY_addGrpB.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java (94%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/Node_LLdms_48b.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/Node_LLdms_80b.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/Position3D_addGrpB.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/Position3D_addGrpBReg_Position3D.java (93%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/Position3D_addGrpBReg_Position3DValueDeserializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/Position3D_addGrpBReg_Position3DValueSerializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpB => addgrpb}/SecondsAngle.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpC => addgrpc}/Altitude.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpC => addgrpc}/AltitudeConfidence.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpC => addgrpc}/AltitudeConfidenceDeserializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpC => addgrpc}/AltitudeConfidenceSerializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpC => addgrpc}/AltitudeValue.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpC => addgrpc}/Position3D_addGrpC.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpC => addgrpc}/Position3D_addGrpCReg_Position3D.java (93%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpC => addgrpc}/Position3D_addGrpCReg_Position3DValueDeserializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{AddGrpC => addgrpc}/Position3D_addGrpCReg_Position3DValueSerializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Angle.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/ComputedLane.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/DYear.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/DeltaAngle.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/DescriptiveName.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/DrivenLineOffsetLg.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/DrivenLineOffsetSm.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Elevation.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Extent.java (98%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/ExtentDeserializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/ExtentSerializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/FurtherInfoID.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/HeadingSlice.java (98%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/HeadingSliceDeserializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/LaneDataAttribute.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/LaneDataAttributeList.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/LaneID.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/LaneWidth.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Latitude.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Longitude.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/MergeDivergeNodeAngle.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/MinuteOfTheYear.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/MsgCount.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/NodeAttributeSetXY.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/NodeAttributeXY.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/NodeAttributeXYDeserializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/NodeAttributeXYList.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/NodeAttributeXYSerializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/NodeListXY.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/NodeOffsetPointXY.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/NodeSetXY.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/NodeXY.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Node_LLmD_64b.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Node_XY_20b.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Node_XY_22b.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Node_XY_24b.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Node_XY_26b.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Node_XY_28b.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Node_XY_32b.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/OffsetLL_B12.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/OffsetLL_B14.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/OffsetLL_B16.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/OffsetLL_B18.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/OffsetLL_B22.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/OffsetLL_B24.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Offset_B10.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Offset_B11.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Offset_B12.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Offset_B13.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Offset_B14.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Offset_B16.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Position3D.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/RegionId.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/RegionalExtension.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/RegulatorySpeedLimit.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/RoadRegulatorID.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/RoadSegmentID.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/RoadSegmentReferenceID.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/RoadwayCrownAngle.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/SSPindex.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Scale_B12.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/SegmentAttributeXY.java (99%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/SegmentAttributeXYDeserializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/SegmentAttributeXYList.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/SegmentAttributeXYSerializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/SpeedLimitList.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/SpeedLimitType.java (98%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/SpeedLimitTypeDeserializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/SpeedLimitTypeSerializer.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/Velocity.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{ITIS => itis}/ITIScodes.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{ITIS => itis}/ITIScodesAndText.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{ITIS => itis}/ITIScodesAndTextSequence.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{ITIS => itis}/ITIStext.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{REGION => region}/Reg_ComputedLane.java (91%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{REGION => region}/Reg_GeographicalPath.java (91%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{REGION => region}/Reg_GeometricProjection.java (91%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{REGION => region}/Reg_LaneDataAttribute.java (92%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{REGION => region}/Reg_NodeAttributeSetLL.java (91%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{REGION => region}/Reg_NodeAttributeSetXY.java (91%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{REGION => region}/Reg_NodeOffsetPointLL.java (91%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{REGION => region}/Reg_NodeOffsetPointXY.java (92%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{REGION => region}/Reg_Position3D.java (90%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{REGION => region}/Reg_TravelerInformation.java (91%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/Circle.java (93%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/DirectionOfUse.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/DirectionOfUseDeserializer.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/DirectionOfUseSerializer.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/DistanceUnits.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/DistanceUnitsDeserializer.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/DistanceUnitsSerializer.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/ExitService.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/ExitServiceSequence.java (94%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/GenericSignage.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/GenericSignageSequence.java (94%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/GeographicalPath.java (94%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/GeometricProjection.java (88%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/ITIStextPhrase.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/MUTCDCode.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/MUTCDCodeDeserializer.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/MUTCDCodeSerializer.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/MinutesDuration.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/MsgCRC.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/NodeAttributeLL.java (97%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/NodeAttributeLLDeserializer.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/NodeAttributeLLList.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/NodeAttributeLLSerializer.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/NodeAttributeSetLL.java (92%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/NodeLL.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/NodeListLL.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/NodeOffsetPointLL.java (92%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/NodeSetLL.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/Node_LL_24B.java (93%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/Node_LL_28B.java (93%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/Node_LL_32B.java (93%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/Node_LL_36B.java (93%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/Node_LL_44B.java (93%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/Node_LL_48B.java (93%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/OffsetSystem.java (94%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/Radius_B12.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/RegionList.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/RegionOffsets.java (94%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/RegionPointSet.java (94%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/RoadSignID.java (90%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/SegmentAttributeLL.java (98%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/SegmentAttributeLLDeserializer.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/SegmentAttributeLLList.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/SegmentAttributeLLSerializer.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/ShapePointSet.java (89%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/SignPrority.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/SpeedLimit.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/SpeedLimitSequence.java (94%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/TravelerDataFrame.java (94%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/TravelerDataFrameList.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/TravelerInfoType.java (96%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/TravelerInfoTypeDeserializer.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/TravelerInfoTypeSerializer.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/TravelerInformation.java (91%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/URL_Base.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/URL_Short.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/UniqueMSGID.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/ValidRegion.java (92%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/WorkZone.java (95%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/WorkZoneSequence.java (94%) rename jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => travelerinformation}/Zoom.java (96%) diff --git a/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java b/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java index 37cea2c0a..a0466e197 100644 --- a/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java +++ b/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java @@ -16,7 +16,7 @@ package us.dot.its.jpo.ode.model; import us.dot.its.jpo.ode.plugin.j2735.OdeTravelerInformationMessage; -import us.dot.its.jpo.ode.plugin.j2735.DSRC.TravelerInformation; +import us.dot.its.jpo.ode.plugin.j2735.travelerinformation.TravelerInformation; public class OdeTimPayload extends OdeMsgPayload { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java_bak b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java_bak deleted file mode 100644 index cfe03e8ef..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java_bak +++ /dev/null @@ -1,355 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import java.util.List; -import java.util.Optional; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import us.dot.its.jpo.ode.plugin.j2735.ITIS.ITIScodesAndText; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import us.dot.its.jpo.ode.plugin.serialization.NestedSequenceOfDeserializer; -import us.dot.its.jpo.ode.plugin.serialization.NestedSequenceOfSerializer; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; - -/** - * EDITED: Fixed "notUsed" properties. - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

- * - *
- * J2735_201603DA.ASN
- * 
- * - */ -@JsonInclude(Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown = true) -public class TravelerDataFrame extends Asn1Sequence { - - @Asn1Property(tag = 0) - @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) - private SSPindex notUsed; - @Asn1Property(tag = 1) - private TravelerInfoType frameType; - @Asn1Property(tag = 2) - private MsgIdChoice msgId; - @Asn1Property(tag = 3, optional = true) - @JsonDeserialize(using = DYear.DYearDeserializer.class) - private DYear startYear; - @Asn1Property(tag = 4) - @JsonDeserialize(using = MinuteOfTheYear.MinuteOfTheYearDeserializer.class) - private MinuteOfTheYear startTime; - @Asn1Property(tag = 5) - @JsonDeserialize(using = MinutesDuration.MinutesDurationDeserializer.class) - private MinutesDuration duratonTime; - @Asn1Property(tag = 6) - @JsonDeserialize(using = SignPrority.SignProrityDeserializer.class) - private SignPrority priority; - @Asn1Property(tag = 7) - @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) - private SSPindex notUsed1; - @Asn1Property(tag = 8) - private SequenceOfRegions regions; - @Asn1Property(tag = 9) - @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) - private SSPindex notUsed2; - @Asn1Property(tag = 10) - @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) - private SSPindex notUsed3; - @Asn1Property(tag = 11) - private ContentChoice content; - @Asn1Property(tag = 12, optional = true) - private URL_Short url; - - public SSPindex getNotUsed() { - return notUsed; - } - - public void setNotUsed(SSPindex notUsed) { - this.notUsed = notUsed; - } - - public TravelerInfoType getFrameType() { - return frameType; - } - - public void setFrameType(TravelerInfoType frameType) { - this.frameType = frameType; - } - - @JsonInclude(Include.NON_NULL) - public static class MsgIdChoice extends Asn1Choice { - @Asn1Property(tag = 0) - private FurtherInfoID furtherInfoID; - @Asn1Property(tag = 1) - private RoadSignID roadSignID; - - MsgIdChoice() { - super(false); - } - - public FurtherInfoID getFurtherInfoID() { - return furtherInfoID; - } - - public void setFurtherInfoID(FurtherInfoID furtherInfoID) { - this.furtherInfoID = furtherInfoID; - } - - public RoadSignID getRoadSignID() { - return roadSignID; - } - - public void setRoadSignID(RoadSignID roadSignID) { - this.roadSignID = roadSignID; - } - - @Override - protected List> listTypes() { - return null; - } - } - - public MsgIdChoice getMsgId() { - return msgId; - } - - public void setMsgId(MsgIdChoice msgId) { - this.msgId = msgId; - } - - public DYear getStartYear() { - return startYear; - } - - public void setStartYear(DYear startYear) { - this.startYear = startYear; - } - - public MinuteOfTheYear getStartTime() { - return startTime; - } - - public void setStartTime(MinuteOfTheYear startTime) { - this.startTime = startTime; - } - - public MinutesDuration getDuratonTime() { - return duratonTime; - } - - public void setDuratonTime(MinutesDuration duratonTime) { - this.duratonTime = duratonTime; - } - - public SignPrority getPriority() { - return priority; - } - - public void setPriority(SignPrority priority) { - this.priority = priority; - } - - public SSPindex getNotUsed1() { - return notUsed1; - } - - public void setNotUsed1(SSPindex notUsed1) { - this.notUsed1 = notUsed1; - } - - @JsonInclude(Include.NON_NULL) - public static class SequenceOfRegions extends Asn1SequenceOf { - SequenceOfRegions() { - super(GeographicalPath.class, 1L, 16L); - } - } - - public SequenceOfRegions getRegions() { - return regions; - } - - public void setRegions(SequenceOfRegions regions) { - this.regions = regions; - } - - public SSPindex getNotUsed2() { - return notUsed2; - } - - public void setNotUsed2(SSPindex notUsed2) { - this.notUsed2 = notUsed2; - } - - public SSPindex getNotUsed3() { - return notUsed3; - } - - public void setNotUsed3(SSPindex notUsed3) { - this.notUsed3 = notUsed3; - } - - @JsonInclude(Include.NON_NULL) - public static class ContentChoice extends Asn1Choice { - @Asn1Property(tag = 0) - @JsonDeserialize(using = AdvisoryDeserializer.class) - @JsonSerialize(using = AdvisorySerializer.class) - private ITIScodesAndText advisory; - @Asn1Property(tag = 1) - @JsonDeserialize(using = WorkZoneDeserializer.class) - @JsonSerialize(using = WorkZoneSerializer.class) - private WorkZone workZone; - @Asn1Property(tag = 2) - @JsonDeserialize(using = GenericSignDeserializer.class) - @JsonSerialize(using = GenericSignSerializer.class) - private GenericSignage genericSign; - @Asn1Property(tag = 3) - @JsonDeserialize(using = SpeedLimitDeserializer.class) - @JsonSerialize(using = SpeedLimitSerializer.class) - private SpeedLimit speedLimit; - @Asn1Property(tag = 4) - @JsonDeserialize(using = ExitServiceDeserializer.class) - @JsonSerialize(using = ExitServiceSerializer.class) - private ExitService exitService; - - ContentChoice() { - super(false); - } - - public ITIScodesAndText getAdvisory() { - return advisory; - } - - public void setAdvisory(ITIScodesAndText advisory) { - this.advisory = advisory; - } - - public WorkZone getWorkZone() { - return workZone; - } - - public void setWorkZone(WorkZone workZone) { - this.workZone = workZone; - } - - public GenericSignage getGenericSign() { - return genericSign; - } - - public void setGenericSign(GenericSignage genericSign) { - this.genericSign = genericSign; - } - - public SpeedLimit getSpeedLimit() { - return speedLimit; - } - - public void setSpeedLimit(SpeedLimit speedLimit) { - this.speedLimit = speedLimit; - } - - public ExitService getExitService() { - return exitService; - } - - public void setExitService(ExitService exitService) { - this.exitService = exitService; - } - - @Override - protected List> listTypes() { - return null; - } - } - - public ContentChoice getContent() { - return content; - } - - public void setContent(ContentChoice content) { - this.content = content; - } - - public URL_Short getUrl() { - return url; - } - - public void setUrl(URL_Short url) { - this.url = url; - } - - TravelerDataFrame() { - super(true); - } - - public static class AdvisoryDeserializer extends NestedSequenceOfDeserializer { - public AdvisoryDeserializer() { - super(ITIScodesAndText.class, "SEQUENCE"); - } - } - - public static class AdvisorySerializer extends NestedSequenceOfSerializer { - public AdvisorySerializer() { - super(ITIScodesAndText.class, "SEQUENCE"); - } - } - - public static class WorkZoneDeserializer extends NestedSequenceOfDeserializer { - public WorkZoneDeserializer() { - super(WorkZone.class, "SEQUENCE"); - } - } - - public static class WorkZoneSerializer extends NestedSequenceOfSerializer { - public WorkZoneSerializer() { - super(WorkZone.class, "SEQUENCE"); - } - } - - public static class GenericSignDeserializer extends NestedSequenceOfDeserializer { - public GenericSignDeserializer() { - super(GenericSignage.class, "SEQUENCE"); - } - } - - public static class GenericSignSerializer extends NestedSequenceOfSerializer { - public GenericSignSerializer() { - super(GenericSignage.class, "SEQUENCE"); - } - } - - public static class SpeedLimitDeserializer extends NestedSequenceOfDeserializer { - public SpeedLimitDeserializer() { - super(SpeedLimit.class, "SEQUENCE"); - } - } - - public static class SpeedLimitSerializer extends NestedSequenceOfSerializer { - public SpeedLimitSerializer() { - super(SpeedLimit.class, "SEQUENCE"); - } - } - - public static class ExitServiceDeserializer extends NestedSequenceOfDeserializer { - public ExitServiceDeserializer() { - super(ExitService.class, "SEQUENCE"); - } - } - - public static class ExitServiceSerializer extends NestedSequenceOfSerializer { - public ExitServiceSerializer() { - super(ExitService.class, "SEQUENCE"); - } - } -} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java_bak b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java_bak deleted file mode 100644 index 804a14f63..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java_bak +++ /dev/null @@ -1,111 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; - -//import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_TravelerInformation; -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; - -/** - * EDITED: Changed base class to Asn1Object. - *

- * This source code was generated by a tool. Manual edits are futile. - *

- *

- * asn1jvm v1.0-SNAPSHOT - *

- *

- * ASN.1 source files: - *

- * - *
- * J2735_201603DA.ASN
- * 
- * - */ -@JsonInclude(Include.NON_NULL) -@JsonIgnoreProperties(ignoreUnknown = true) -public class TravelerInformation extends Asn1Object { - - @Asn1Property(tag = 0) - @JsonDeserialize(using = MsgCount.MsgCountDeserializer.class) - private MsgCount msgCnt; - @Asn1Property(tag = 1, optional = true) - @JsonDeserialize(using = MinuteOfTheYear.MinuteOfTheYearDeserializer.class) - private MinuteOfTheYear timeStamp; - @Asn1Property(tag = 2, optional = true) - private UniqueMSGID packetID; - @Asn1Property(tag = 3, optional = true) - private URL_Base urlB; - @Asn1Property(tag = 4) - @JacksonXmlElementWrapper(localName = "dataFrames") - @JacksonXmlProperty(localName = "TravelerDataFrame") - private TravelerDataFrameList dataFrames; - @Asn1Property(tag = 5, optional = true) - private SequenceOfRegional regional; - - public MsgCount getMsgCnt() { - return msgCnt; - } - - public void setMsgCnt(MsgCount msgCnt) { - this.msgCnt = msgCnt; - } - - public MinuteOfTheYear getTimeStamp() { - return timeStamp; - } - - public void setTimeStamp(MinuteOfTheYear timeStamp) { - this.timeStamp = timeStamp; - } - - public UniqueMSGID getPacketID() { - return packetID; - } - - public void setPacketID(UniqueMSGID packetID) { - this.packetID = packetID; - } - - public URL_Base getUrlB() { - return urlB; - } - - public void setUrlB(URL_Base urlB) { - this.urlB = urlB; - } - - public TravelerDataFrameList getDataFrames() { - return dataFrames; - } - - public void setDataFrames(TravelerDataFrameList dataFrames) { - this.dataFrames = dataFrames; - } - - @JsonInclude(Include.NON_NULL) - public static class SequenceOfRegional extends Asn1SequenceOf { - SequenceOfRegional() { - super(us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_TravelerInformation.class, 1L, 4L); - } - } - - public SequenceOfRegional getRegional() { - return regional; - } - - public void setRegional(SequenceOfRegional regional) { - this.regional = regional; - } - - // TravelerInformation() { - // super(true); - // } -} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLat.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/DegreesLat.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLat.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/DegreesLat.java index ea73f2537..ff18a437c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLat.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/DegreesLat.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLong.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/DegreesLong.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLong.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/DegreesLong.java index 32e97c7a2..5dccdd43c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/DegreesLong.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/DegreesLong.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Elevation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Elevation.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Elevation.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Elevation.java index 21a1d67f0..10fea8d79 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Elevation.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Elevation.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpB.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpB.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpB.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpB.java index 6a8596d1e..ab7e1bb75 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpB.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpB.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java similarity index 94% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java index 8cdd2bf74..95943a384 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java @@ -1,7 +1,7 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import com.fasterxml.jackson.annotation.JsonRootName; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_LaneDataAttribute; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_LaneDataAttribute; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java index f00fe29aa..4ffa829a2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java index 34604a6c5..3b81922f9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LatitudeDMS.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LatitudeDMS.java index 4afd65dcd..39c9544b8 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LatitudeDMS.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS2.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LatitudeDMS2.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS2.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LatitudeDMS2.java index 8b256dda5..96b95f99f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LatitudeDMS2.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LatitudeDMS2.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LongitudeDMS.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LongitudeDMS.java index 8a2f506b0..684a69bd7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LongitudeDMS.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS2.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LongitudeDMS2.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS2.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LongitudeDMS2.java index 7654c3a49..3f6ea906b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/LongitudeDMS2.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LongitudeDMS2.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/MinutesAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/MinutesAngle.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/MinutesAngle.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/MinutesAngle.java index c84d8d850..0d0a221b1 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/MinutesAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/MinutesAngle.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpB.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpB.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpB.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpB.java index 029269f47..604133f8a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpB.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpB.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; import lombok.Getter; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java similarity index 94% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java index bcc1722bd..1555a9d9e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java @@ -1,7 +1,7 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import com.fasterxml.jackson.annotation.JsonRootName; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeOffsetPointXY; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_NodeOffsetPointXY; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java index 2344e977e..5dc245e26 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java index 0f5fd8d5e..00e8dbb98 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_48b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Node_LLdms_48b.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_48b.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Node_LLdms_48b.java index 74d3f60b2..1713a3328 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_48b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Node_LLdms_48b.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_80b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Node_LLdms_80b.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_80b.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Node_LLdms_80b.java index b8fead586..36fac5ed0 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Node_LLdms_80b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Node_LLdms_80b.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpB.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpB.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpB.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpB.java index 61bbcddc3..5b8146824 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpB.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpB.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3D.java similarity index 93% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3D.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3D.java index dea08570a..04ecf4e39 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3D.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3D.java @@ -1,7 +1,7 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import com.fasterxml.jackson.annotation.JsonRootName; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_Position3D; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_Position3D; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3DValueDeserializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3DValueDeserializer.java index 323cee785..e2107d551 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3DValueDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3DValueSerializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3DValueSerializer.java index de281a657..2103b40b8 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/Position3D_addGrpBReg_Position3DValueSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3DValueSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/SecondsAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/SecondsAngle.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/SecondsAngle.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/SecondsAngle.java index 694530556..8178aa106 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpB/SecondsAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/SecondsAngle.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpB; +package us.dot.its.jpo.ode.plugin.j2735.addgrpb; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Altitude.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Altitude.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Altitude.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Altitude.java index bd3ec24c7..fe678d880 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Altitude.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Altitude.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; +package us.dot.its.jpo.ode.plugin.j2735.addgrpc; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidence.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidence.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidence.java index 79717dc3d..2039629f6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidence.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; +package us.dot.its.jpo.ode.plugin.j2735.addgrpc; import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidenceDeserializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidenceDeserializer.java index 903cda72c..c12e33d2d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidenceDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; +package us.dot.its.jpo.ode.plugin.j2735.addgrpc; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidenceSerializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidenceSerializer.java index a71c84133..f24b494d7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeConfidenceSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidenceSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; +package us.dot.its.jpo.ode.plugin.j2735.addgrpc; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeValue.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeValue.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeValue.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeValue.java index 4c7f21602..d7c7ba0e3 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/AltitudeValue.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeValue.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; +package us.dot.its.jpo.ode.plugin.j2735.addgrpc; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpC.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpC.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpC.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpC.java index 9c271ad64..85c0dfa1f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpC.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpC.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; +package us.dot.its.jpo.ode.plugin.j2735.addgrpc; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3D.java similarity index 93% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3D.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3D.java index a0cfb8ea5..3a09e4f61 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3D.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3D.java @@ -1,7 +1,7 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; +package us.dot.its.jpo.ode.plugin.j2735.addgrpc; import com.fasterxml.jackson.annotation.JsonRootName; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_Position3D; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_Position3D; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3DValueDeserializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3DValueDeserializer.java index 86fd9fcc9..f4871f3dd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3DValueDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; +package us.dot.its.jpo.ode.plugin.j2735.addgrpc; import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3DValueSerializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3DValueSerializer.java index 6de20e887..dba7643ba 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/AddGrpC/Position3D_addGrpCReg_Position3DValueSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3DValueSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.AddGrpC; +package us.dot.its.jpo.ode.plugin.j2735.addgrpc; import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Angle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Angle.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Angle.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Angle.java index d0dc9dd0d..a4b45ab87 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Angle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Angle.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ComputedLane.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ComputedLane.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ComputedLane.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ComputedLane.java index 843a44660..1e8169cd9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ComputedLane.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ComputedLane.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; @@ -11,7 +11,7 @@ import java.util.List; import java.util.Optional; import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_ComputedLane; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_ComputedLane; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DYear.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DYear.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DYear.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DYear.java index 302c1f6c4..17c229bb9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DYear.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DYear.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DeltaAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DeltaAngle.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DeltaAngle.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DeltaAngle.java index 5d632870f..3dcecb25d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DeltaAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DeltaAngle.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DescriptiveName.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DescriptiveName.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DescriptiveName.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DescriptiveName.java index 209d62c92..fcb3562d8 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DescriptiveName.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DescriptiveName.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.IA5String; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetLg.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DrivenLineOffsetLg.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetLg.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DrivenLineOffsetLg.java index bde781fb0..2a1693bf1 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetLg.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DrivenLineOffsetLg.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetSm.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DrivenLineOffsetSm.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetSm.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DrivenLineOffsetSm.java index 8a0c983d1..321f5e403 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DrivenLineOffsetSm.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DrivenLineOffsetSm.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Elevation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Elevation.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Elevation.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Elevation.java index fe6af2266..c1a2dd49f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Elevation.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Elevation.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Extent.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Extent.java similarity index 98% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Extent.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Extent.java index 3b6af79ff..4c37d2047 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Extent.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Extent.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ExtentDeserializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ExtentDeserializer.java index 27adb0aca..e2552a24d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ExtentDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ExtentSerializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ExtentSerializer.java index 2ff569353..58a9f53e6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExtentSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ExtentSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/FurtherInfoID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/FurtherInfoID.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/FurtherInfoID.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/FurtherInfoID.java index e15b0e398..f6e89eeff 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/FurtherInfoID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/FurtherInfoID.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1OctetString; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSlice.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSlice.java similarity index 98% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSlice.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSlice.java index 8ded5b3c7..2d79f0c9c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSlice.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSlice.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Bitstring; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceDeserializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceDeserializer.java index 9c307388d..d2ff8085c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.serialization.BitStringDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttribute.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneDataAttribute.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttribute.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneDataAttribute.java index 9da23b8cf..eb41a08cf 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttribute.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneDataAttribute.java @@ -1,10 +1,10 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_LaneDataAttribute; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_LaneDataAttribute; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import java.util.Optional; import java.util.List; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttributeList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneDataAttributeList.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttributeList.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneDataAttributeList.java index d3b770fc7..22af32c0a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneDataAttributeList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneDataAttributeList.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneID.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneID.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneID.java index 721c384e2..d936442fd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneID.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneWidth.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneWidth.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneWidth.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneWidth.java index eed9f59e3..9501bbc96 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/LaneWidth.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneWidth.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Latitude.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Latitude.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Latitude.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Latitude.java index df8cd9661..22137e9eb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Latitude.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Latitude.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Longitude.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Longitude.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Longitude.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Longitude.java index 15f170200..4184924b0 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Longitude.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Longitude.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MergeDivergeNodeAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MergeDivergeNodeAngle.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MergeDivergeNodeAngle.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MergeDivergeNodeAngle.java index e5886ccc0..19c61d8ae 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MergeDivergeNodeAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MergeDivergeNodeAngle.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinuteOfTheYear.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MinuteOfTheYear.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinuteOfTheYear.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MinuteOfTheYear.java index 47ace2e45..e2bd1edf4 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinuteOfTheYear.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MinuteOfTheYear.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCount.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MsgCount.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCount.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MsgCount.java index c34e0b6ef..98f1c6fb8 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCount.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MsgCount.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeSetXY.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetXY.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeSetXY.java index 3a0bcece0..c8ce8ca5b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeSetXY.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; @@ -7,7 +7,7 @@ import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeAttributeSetXY; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_NodeAttributeSetXY; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXY.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXY.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXY.java index b71a0694f..fa99c7604 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXY.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYDeserializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYDeserializer.java index 92875722d..0259fc5dc 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYList.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYList.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYList.java index 0cf0e274c..18cac154a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYList.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYSerializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYSerializer.java index f44a009a9..b463c0300 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeXYSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeListXY.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListXY.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeListXY.java index ee341ab76..34bf65551 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeListXY.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; import lombok.Getter; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeOffsetPointXY.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointXY.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeOffsetPointXY.java index e3a1db4ef..f0bd1b166 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeOffsetPointXY.java @@ -1,11 +1,11 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.annotation.JsonProperty; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeOffsetPointXY; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_NodeOffsetPointXY; import java.util.Optional; import java.util.List; import us.dot.its.jpo.ode.plugin.types.Asn1Type; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeSetXY.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetXY.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeSetXY.java index c61b29358..b7dfa2aa7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeSetXY.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeXY.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeXY.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeXY.java index 8d515eebb..b6cc8a04b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeXY.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LLmD_64b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_LLmD_64b.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LLmD_64b.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_LLmD_64b.java index ba38d3954..59055849e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LLmD_64b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_LLmD_64b.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_20b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_20b.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_20b.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_20b.java index 67f04a51f..d0066ba70 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_20b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_20b.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_22b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_22b.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_22b.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_22b.java index 8a10cfc34..919cf175b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_22b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_22b.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_24b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_24b.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_24b.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_24b.java index 9d9a5f16d..a43dc1063 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_24b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_24b.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_26b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_26b.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_26b.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_26b.java index a38aa0ff0..a1a51aa56 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_26b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_26b.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_28b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_28b.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_28b.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_28b.java index 0847fbdeb..3e1a7286b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_28b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_28b.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_32b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_32b.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_32b.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_32b.java index 15f837c63..dac1b425c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_XY_32b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_32b.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B12.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B12.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B12.java index b5e1d9638..252e7b646 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B12.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B12.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B14.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B14.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B14.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B14.java index bed70b10b..a80b1baa1 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B14.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B14.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B16.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B16.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B16.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B16.java index f387a6f5b..ed1d6b972 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B16.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B16.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B18.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B18.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B18.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B18.java index 89976805d..00390c1a2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B18.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B18.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B22.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B22.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B22.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B22.java index 0c68b8470..ab1a3fb3f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B22.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B22.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B24.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B24.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B24.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B24.java index e7e3320f6..5c9f8ac1f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetLL_B24.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B24.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B10.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B10.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B10.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B10.java index 7059da2c5..b690c2a6d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B10.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B10.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B11.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B11.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B11.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B11.java index b475f1ae7..e61837b32 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B11.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B11.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B12.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B12.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B12.java index 363dc133f..0d8616b48 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B12.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B12.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B13.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B13.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B13.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B13.java index f825ac517..b1deca14a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B13.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B13.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B14.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B14.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B14.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B14.java index 0c006d132..98f41e859 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B14.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B14.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B16.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B16.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B16.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B16.java index d0d02996d..118af18cd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Offset_B16.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B16.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Position3D.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Position3D.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Position3D.java index d69ca2954..981acd100 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Position3D.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Position3D.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; @@ -8,7 +8,7 @@ import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.annotation.JsonProperty; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_Position3D; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_Position3D; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionId.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegionId.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionId.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegionId.java index 6213f3ea2..b4e67d810 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionId.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegionId.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionalExtension.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegionalExtension.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionalExtension.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegionalExtension.java index 707a1e3f7..3fd317611 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionalExtension.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegionalExtension.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegulatorySpeedLimit.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegulatorySpeedLimit.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegulatorySpeedLimit.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegulatorySpeedLimit.java index 44214b7b6..4c614a605 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegulatorySpeedLimit.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegulatorySpeedLimit.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadRegulatorID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadRegulatorID.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadRegulatorID.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadRegulatorID.java index 69a71723a..c6306bd10 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadRegulatorID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadRegulatorID.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadSegmentID.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentID.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadSegmentID.java index 1600c20bf..f17376267 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadSegmentID.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentReferenceID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadSegmentReferenceID.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentReferenceID.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadSegmentReferenceID.java index 9d6a4c0d6..a8c1bfdaa 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSegmentReferenceID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadSegmentReferenceID.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadwayCrownAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadwayCrownAngle.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadwayCrownAngle.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadwayCrownAngle.java index a1568b765..8d9d168f6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadwayCrownAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadwayCrownAngle.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SSPindex.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SSPindex.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SSPindex.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SSPindex.java index 02738fb21..10a9e6fdc 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SSPindex.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SSPindex.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Scale_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Scale_B12.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Scale_B12.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Scale_B12.java index f9e6c41c5..2d22269be 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Scale_B12.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Scale_B12.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXY.java similarity index 99% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXY.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXY.java index 18931898f..47d517b09 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXY.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYDeserializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYDeserializer.java index fc694eea5..05bf3e958 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYList.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYList.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYList.java index d128cf679..c49e2831c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYList.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYSerializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYSerializer.java index 6fe24c6aa..197276af0 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeXYSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitList.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitList.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitList.java index 866f454d4..d9afbcc34 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitList.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitType.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitType.java similarity index 98% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitType.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitType.java index add530a57..41c14c7fb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitType.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitType.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitTypeDeserializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitTypeDeserializer.java index be7db2377..e05b38fdd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitTypeDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitTypeSerializer.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitTypeSerializer.java index 0163b370d..42ca329a9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitTypeSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitTypeSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Velocity.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Velocity.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Velocity.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Velocity.java index 903873564..4a056a83e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Velocity.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Velocity.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodes.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodes.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodes.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodes.java index 2e43436b9..a1533f7bf 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodes.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodes.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.ITIS; +package us.dot.its.jpo.ode.plugin.j2735.itis; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndText.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodesAndText.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndText.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodesAndText.java index ee5bf9b34..10263c63a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndText.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodesAndText.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.ITIS; +package us.dot.its.jpo.ode.plugin.j2735.itis; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndTextSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodesAndTextSequence.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndTextSequence.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodesAndTextSequence.java index 8170f1ff3..e7cbc6926 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIScodesAndTextSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodesAndTextSequence.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.ITIS; +package us.dot.its.jpo.ode.plugin.j2735.itis; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIStext.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIStext.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIStext.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIStext.java index 213baae24..6af08f7e5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/ITIS/ITIStext.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIStext.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.ITIS; +package us.dot.its.jpo.ode.plugin.j2735.itis; import us.dot.its.jpo.ode.plugin.types.IA5String; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_ComputedLane.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_ComputedLane.java similarity index 91% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_ComputedLane.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_ComputedLane.java index a9fa04d1a..3410edc35 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_ComputedLane.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_ComputedLane.java @@ -1,8 +1,8 @@ -package us.dot.its.jpo.ode.plugin.j2735.REGION; +package us.dot.its.jpo.ode.plugin.j2735.region; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; /** * diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeographicalPath.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_GeographicalPath.java similarity index 91% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeographicalPath.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_GeographicalPath.java index 6ef13814f..9c629cc83 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeographicalPath.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_GeographicalPath.java @@ -1,8 +1,8 @@ -package us.dot.its.jpo.ode.plugin.j2735.REGION; +package us.dot.its.jpo.ode.plugin.j2735.region; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; /** * diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeometricProjection.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_GeometricProjection.java similarity index 91% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeometricProjection.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_GeometricProjection.java index 00a482bb2..711b68a85 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_GeometricProjection.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_GeometricProjection.java @@ -1,8 +1,8 @@ -package us.dot.its.jpo.ode.plugin.j2735.REGION; +package us.dot.its.jpo.ode.plugin.j2735.region; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; /** * diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_LaneDataAttribute.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_LaneDataAttribute.java similarity index 92% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_LaneDataAttribute.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_LaneDataAttribute.java index 1b64c7495..4c2319fcc 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_LaneDataAttribute.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_LaneDataAttribute.java @@ -1,15 +1,15 @@ -package us.dot.its.jpo.ode.plugin.j2735.REGION; +package us.dot.its.jpo.ode.plugin.j2735.region; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; import com.fasterxml.jackson.annotation.JsonTypeInfo.As; import com.fasterxml.jackson.annotation.JsonSubTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType; -import us.dot.its.jpo.ode.plugin.j2735.AddGrpB.LaneDataAttribute_addGrpBReg_LaneDataAttribute; +import us.dot.its.jpo.ode.plugin.j2735.addgrpb.LaneDataAttribute_addGrpBReg_LaneDataAttribute; /** * diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeAttributeSetLL.java similarity index 91% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetLL.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeAttributeSetLL.java index 07e386bc8..609034278 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeAttributeSetLL.java @@ -1,8 +1,8 @@ -package us.dot.its.jpo.ode.plugin.j2735.REGION; +package us.dot.its.jpo.ode.plugin.j2735.region; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; /** * diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeAttributeSetXY.java similarity index 91% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetXY.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeAttributeSetXY.java index 82bc64922..e2c39d8f7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeAttributeSetXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeAttributeSetXY.java @@ -1,8 +1,8 @@ -package us.dot.its.jpo.ode.plugin.j2735.REGION; +package us.dot.its.jpo.ode.plugin.j2735.region; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; /** * diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeOffsetPointLL.java similarity index 91% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointLL.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeOffsetPointLL.java index 9cccb2a02..7ecbbd259 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeOffsetPointLL.java @@ -1,8 +1,8 @@ -package us.dot.its.jpo.ode.plugin.j2735.REGION; +package us.dot.its.jpo.ode.plugin.j2735.region; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; /** * diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeOffsetPointXY.java similarity index 92% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointXY.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeOffsetPointXY.java index 86074ae06..56bc82e1f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_NodeOffsetPointXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeOffsetPointXY.java @@ -1,15 +1,15 @@ -package us.dot.its.jpo.ode.plugin.j2735.REGION; +package us.dot.its.jpo.ode.plugin.j2735.region; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; import com.fasterxml.jackson.annotation.JsonTypeInfo.As; import com.fasterxml.jackson.annotation.JsonSubTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType; -import us.dot.its.jpo.ode.plugin.j2735.AddGrpB.NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY; +import us.dot.its.jpo.ode.plugin.j2735.addgrpb.NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY; /** * diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_Position3D.java similarity index 90% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_Position3D.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_Position3D.java index 0c785e5be..29ddd373b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_Position3D.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_Position3D.java @@ -1,16 +1,16 @@ -package us.dot.its.jpo.ode.plugin.j2735.REGION; +package us.dot.its.jpo.ode.plugin.j2735.region; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; import com.fasterxml.jackson.annotation.JsonTypeInfo.As; import com.fasterxml.jackson.annotation.JsonSubTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType; -import us.dot.its.jpo.ode.plugin.j2735.AddGrpB.Position3D_addGrpBReg_Position3D; -import us.dot.its.jpo.ode.plugin.j2735.AddGrpC.Position3D_addGrpCReg_Position3D; +import us.dot.its.jpo.ode.plugin.j2735.addgrpb.Position3D_addGrpBReg_Position3D; +import us.dot.its.jpo.ode.plugin.j2735.addgrpc.Position3D_addGrpCReg_Position3D; /** * diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_TravelerInformation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_TravelerInformation.java similarity index 91% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_TravelerInformation.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_TravelerInformation.java index d2ba1b9da..6a817cb5b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/REGION/Reg_TravelerInformation.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_TravelerInformation.java @@ -1,8 +1,8 @@ -package us.dot.its.jpo.ode.plugin.j2735.REGION; +package us.dot.its.jpo.ode.plugin.j2735.region; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.DSRC.RegionalExtension; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; /** * diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Circle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Circle.java similarity index 93% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Circle.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Circle.java index 32d6f2325..13fe811df 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Circle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Circle.java @@ -1,5 +1,6 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.Position3D; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUse.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUse.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUse.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUse.java index 46e7b4757..da671f402 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUse.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUse.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUseDeserializer.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUseDeserializer.java index e9ff794f6..0c5b4c673 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUseDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUseSerializer.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUseSerializer.java index 1337c92ab..17b71f89c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DirectionOfUseSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUseSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnits.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnits.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnits.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnits.java index 4051b56c6..7de461351 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnits.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnits.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnitsDeserializer.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnitsDeserializer.java index 2fe639254..62c5e9233 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnitsDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnitsSerializer.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnitsSerializer.java index 1214e84de..d0d7c9848 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/DistanceUnitsSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnitsSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitService.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ExitService.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitService.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ExitService.java index 9eb660042..28b0db664 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitService.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ExitService.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitServiceSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ExitServiceSequence.java similarity index 94% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitServiceSequence.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ExitServiceSequence.java index e5bc0b622..e45be02f8 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ExitServiceSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ExitServiceSequence.java @@ -1,10 +1,10 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import us.dot.its.jpo.ode.plugin.j2735.ITIS.ITIScodes; +import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodes; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; import java.util.List; import java.util.Optional; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignage.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GenericSignage.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignage.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GenericSignage.java index c9a1f2e48..48d2230ab 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignage.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GenericSignage.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignageSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GenericSignageSequence.java similarity index 94% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignageSequence.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GenericSignageSequence.java index b7c3e3aca..8c9c20877 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GenericSignageSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GenericSignageSequence.java @@ -1,10 +1,10 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import us.dot.its.jpo.ode.plugin.j2735.ITIS.ITIScodes; +import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodes; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; import java.util.List; import java.util.Optional; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeographicalPath.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GeographicalPath.java similarity index 94% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeographicalPath.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GeographicalPath.java index 9d3d12b49..4251898bd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeographicalPath.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GeographicalPath.java @@ -1,5 +1,6 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.*; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; @@ -12,7 +13,7 @@ import java.util.List; import java.util.Optional; import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_GeographicalPath; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_GeographicalPath; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeometricProjection.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GeometricProjection.java similarity index 88% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeometricProjection.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GeometricProjection.java index 4d61a2b9b..d1d76f883 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/GeometricProjection.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GeometricProjection.java @@ -1,5 +1,8 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.Extent; +import us.dot.its.jpo.ode.plugin.j2735.common.HeadingSlice; +import us.dot.its.jpo.ode.plugin.j2735.common.LaneWidth; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; @@ -7,7 +10,7 @@ import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_GeometricProjection; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_GeometricProjection; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ITIStextPhrase.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ITIStextPhrase.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ITIStextPhrase.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ITIStextPhrase.java index b84fbb099..8dc8a0631 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ITIStextPhrase.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ITIStextPhrase.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.IA5String; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCode.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCode.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCode.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCode.java index 7dba15957..66947881e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCode.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCode.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCodeDeserializer.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCodeDeserializer.java index b67f017c5..a699b83e2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCodeDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCodeSerializer.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCodeSerializer.java index 4ee4a94b4..cd570d7cc 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MUTCDCodeSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCodeSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinutesDuration.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MinutesDuration.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinutesDuration.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MinutesDuration.java index 63664052a..5a8b5a919 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MinutesDuration.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MinutesDuration.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCRC.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MsgCRC.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCRC.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MsgCRC.java index 6606f5ec8..44dcfdb01 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/MsgCRC.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MsgCRC.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1OctetString; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLL.java similarity index 97% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLL.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLL.java index 573e8f895..cb089e5f6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLL.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLDeserializer.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLDeserializer.java index 9854db23f..327ba21d1 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLList.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLList.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLList.java index 29f77a0bd..8772cad1b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLList.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLSerializer.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLSerializer.java index e616bbd24..1d74fa8dc 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeLLSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLL.java similarity index 92% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetLL.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLL.java index 2617746dd..c52a2f41e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeAttributeSetLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLL.java @@ -1,5 +1,7 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.LaneDataAttributeList; +import us.dot.its.jpo.ode.plugin.j2735.common.Offset_B10; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; @@ -7,7 +9,7 @@ import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeAttributeSetLL; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_NodeAttributeSetLL; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeLL.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeLL.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeLL.java index 32ab8e66c..17596168e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeLL.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeListLL.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListLL.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeListLL.java index 9cc390cd7..f16e9cb93 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeListLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeListLL.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; import lombok.Getter; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeOffsetPointLL.java similarity index 92% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointLL.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeOffsetPointLL.java index bae1cd87a..c0caf658f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeOffsetPointLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeOffsetPointLL.java @@ -1,11 +1,12 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.Node_LLmD_64b; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import com.fasterxml.jackson.annotation.JsonProperty; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_NodeOffsetPointLL; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_NodeOffsetPointLL; import java.util.Optional; import java.util.List; import us.dot.its.jpo.ode.plugin.types.Asn1Type; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeSetLL.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetLL.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeSetLL.java index 83eaa5b1b..aafce72c7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/NodeSetLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeSetLL.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_24B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_24B.java similarity index 93% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_24B.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_24B.java index efafc4339..574f7165f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_24B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_24B.java @@ -1,5 +1,6 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B12; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_28B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_28B.java similarity index 93% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_28B.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_28B.java index fae4ecdbb..065861345 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_28B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_28B.java @@ -1,5 +1,6 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B14; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_32B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_32B.java similarity index 93% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_32B.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_32B.java index df36b4c3a..b1f6274ba 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_32B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_32B.java @@ -1,5 +1,6 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B16; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_36B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_36B.java similarity index 93% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_36B.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_36B.java index 6583e78a5..625fd2dc7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_36B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_36B.java @@ -1,5 +1,6 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B18; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_44B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_44B.java similarity index 93% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_44B.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_44B.java index a14c641db..40499b07e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_44B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_44B.java @@ -1,5 +1,6 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B22; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_48B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_48B.java similarity index 93% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_48B.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_48B.java index e5946e86d..0e906159f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Node_LL_48B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_48B.java @@ -1,5 +1,6 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B24; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetSystem.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/OffsetSystem.java similarity index 94% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetSystem.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/OffsetSystem.java index ad999cc1e..aac5dc2af 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/OffsetSystem.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/OffsetSystem.java @@ -1,5 +1,6 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.NodeListXY; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Radius_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Radius_B12.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Radius_B12.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Radius_B12.java index c328df226..c4de7e997 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Radius_B12.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Radius_B12.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionList.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionList.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionList.java index 0bf8005f0..963ea6bf2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionList.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionOffsets.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionOffsets.java similarity index 94% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionOffsets.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionOffsets.java index 6adab3e16..ad689e04b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionOffsets.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionOffsets.java @@ -1,5 +1,6 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B16; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionPointSet.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionPointSet.java similarity index 94% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionPointSet.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionPointSet.java index 30cf329b1..613faf01e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RegionPointSet.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionPointSet.java @@ -1,5 +1,6 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.Position3D; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSignID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RoadSignID.java similarity index 90% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSignID.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RoadSignID.java index de9148479..fcdf96ac2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/RoadSignID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RoadSignID.java @@ -1,5 +1,7 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.HeadingSlice; +import us.dot.its.jpo.ode.plugin.j2735.common.Position3D; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLL.java similarity index 98% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLL.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLL.java index 2a0ffc1ec..e8e0827e5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLL.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLDeserializer.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLDeserializer.java index dcad42c12..1a765b7d7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLList.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLList.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLList.java index dcc7cf380..4b0b2b36d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLList.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLSerializer.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLSerializer.java index f17cb1d73..ec5a9f31b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SegmentAttributeLLSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ShapePointSet.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ShapePointSet.java similarity index 89% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ShapePointSet.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ShapePointSet.java index dae1fd519..e2bb76be4 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ShapePointSet.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ShapePointSet.java @@ -1,5 +1,8 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.LaneWidth; +import us.dot.its.jpo.ode.plugin.j2735.common.NodeListXY; +import us.dot.its.jpo.ode.plugin.j2735.common.Position3D; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SignPrority.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SignPrority.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SignPrority.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SignPrority.java index b74fbd134..a3335e2fe 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SignPrority.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SignPrority.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimit.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SpeedLimit.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimit.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SpeedLimit.java index 5a4c2fc93..840dc1a0f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimit.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SpeedLimit.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SpeedLimitSequence.java similarity index 94% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitSequence.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SpeedLimitSequence.java index 623c1c48d..382e88f2e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/SpeedLimitSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SpeedLimitSequence.java @@ -1,10 +1,10 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import us.dot.its.jpo.ode.plugin.j2735.ITIS.ITIScodes; +import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodes; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; import java.util.List; import java.util.Optional; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java similarity index 94% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java index fcd68f442..6fe034246 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrame.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java @@ -1,5 +1,9 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.DYear; +import us.dot.its.jpo.ode.plugin.j2735.common.FurtherInfoID; +import us.dot.its.jpo.ode.plugin.j2735.common.MinuteOfTheYear; +import us.dot.its.jpo.ode.plugin.j2735.common.SSPindex; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; @@ -12,7 +16,7 @@ import java.util.Optional; import us.dot.its.jpo.ode.plugin.types.Asn1Type; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import us.dot.its.jpo.ode.plugin.j2735.ITIS.ITIScodesAndText; +import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodesAndText; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import us.dot.its.jpo.ode.plugin.serialization.NestedSequenceOfDeserializer; import us.dot.its.jpo.ode.plugin.serialization.NestedSequenceOfSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrameList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrameList.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrameList.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrameList.java index d1d89e199..0842e5c0b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerDataFrameList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrameList.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoType.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoType.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoType.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoType.java index 323267c8f..60b430f05 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoType.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoType.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import lombok.Getter; import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoTypeDeserializer.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeDeserializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoTypeDeserializer.java index 15cf06ae1..cbd2b76b9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoTypeDeserializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoTypeSerializer.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeSerializer.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoTypeSerializer.java index 23c31bc60..4b59b649a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInfoTypeSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoTypeSerializer.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInformation.java similarity index 91% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInformation.java index 6a7cc99eb..acc409ab7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/TravelerInformation.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInformation.java @@ -1,14 +1,15 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import us.dot.its.jpo.ode.plugin.j2735.REGION.Reg_TravelerInformation; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_TravelerInformation; +import us.dot.its.jpo.ode.plugin.j2735.common.MinuteOfTheYear; +import us.dot.its.jpo.ode.plugin.j2735.common.MsgCount; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Base.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/URL_Base.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Base.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/URL_Base.java index 62909df7a..0d0bb8e67 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Base.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/URL_Base.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.IA5String; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Short.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/URL_Short.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Short.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/URL_Short.java index 54e2c0329..11e75d3a6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/URL_Short.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/URL_Short.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.IA5String; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/UniqueMSGID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/UniqueMSGID.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/UniqueMSGID.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/UniqueMSGID.java index 433cba1e7..5bce94e6b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/UniqueMSGID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/UniqueMSGID.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1OctetString; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ValidRegion.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ValidRegion.java similarity index 92% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ValidRegion.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ValidRegion.java index 2772b975d..e331f99e2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/ValidRegion.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ValidRegion.java @@ -1,5 +1,7 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import us.dot.its.jpo.ode.plugin.j2735.common.Extent; +import us.dot.its.jpo.ode.plugin.j2735.common.HeadingSlice; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZone.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/WorkZone.java similarity index 95% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZone.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/WorkZone.java index 01059af20..c561e4e04 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZone.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/WorkZone.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.annotation.JsonInclude; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZoneSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/WorkZoneSequence.java similarity index 94% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZoneSequence.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/WorkZoneSequence.java index 697950888..da8de75fe 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/WorkZoneSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/WorkZoneSequence.java @@ -1,10 +1,10 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import us.dot.its.jpo.ode.plugin.j2735.ITIS.ITIScodes; +import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodes; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; import java.util.List; import java.util.Optional; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Zoom.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Zoom.java similarity index 96% rename from jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Zoom.java rename to jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Zoom.java index 988311b91..178ebad5b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/Zoom.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Zoom.java @@ -1,4 +1,4 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.annotation.JsonCreator; diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceTest.java index 47e4c1405..f71e623ee 100644 --- a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceTest.java +++ b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceTest.java @@ -3,6 +3,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; +import us.dot.its.jpo.ode.plugin.j2735.common.HeadingSlice; import static org.junit.jupiter.api.Assertions.*; diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java index d3b58b204..9c60aed6b 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java @@ -14,7 +14,7 @@ import us.dot.its.jpo.ode.model.OdeTimPayload; import us.dot.its.jpo.ode.model.ReceivedMessageDetails; import us.dot.its.jpo.ode.model.RxSource; -import us.dot.its.jpo.ode.plugin.j2735.DSRC.TravelerInformation; +import us.dot.its.jpo.ode.plugin.j2735.travelerinformation.TravelerInformation; import us.dot.its.jpo.ode.util.JsonUtils; import us.dot.its.jpo.ode.util.XmlUtils; import us.dot.its.jpo.ode.util.XmlUtils.XmlUtilsException; From ff5a742c04b35e0853288203855b99b3417a0b6b Mon Sep 17 00:00:00 2001 From: Ivan Yourshaw <39739503+iyourshaw@users.noreply.github.com> Date: Wed, 4 Dec 2024 18:01:47 -0700 Subject: [PATCH 20/33] Fix test namespace --- .../ode/plugin/j2735/{DSRC => common}/HeadingSliceTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) rename jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/{DSRC => common}/HeadingSliceTest.java (93%) diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java similarity index 93% rename from jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceTest.java rename to jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java index f71e623ee..50d1cf62b 100644 --- a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/DSRC/HeadingSliceTest.java +++ b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java @@ -1,9 +1,8 @@ -package us.dot.its.jpo.ode.plugin.j2735.DSRC; +package us.dot.its.jpo.ode.plugin.j2735.common; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; -import us.dot.its.jpo.ode.plugin.j2735.common.HeadingSlice; import static org.junit.jupiter.api.Assertions.*; From c726baaf36ec8e744d3e57ce029988f5ffffca17 Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Thu, 5 Dec 2024 04:02:24 -0700 Subject: [PATCH 21/33] Remove unused older POJOs and update the TIM test with a better XML test case for testing deserialization of XER and serialization into JSON --- .../ode/plugin/j2735/J2735Description.java | 35 - .../ode/plugin/j2735/J2735DirectionOfUse.java | 23 - .../plugin/j2735/J2735GeographicalPath.java | 71 -- .../j2735/J2735GeometricProjection.java | 45 - .../ode/plugin/j2735/J2735HeadingSlice.java | 20 - .../its/jpo/ode/plugin/j2735/J2735NodeLL.java | 27 - .../jpo/ode/plugin/j2735/J2735NodeListLL.java | 17 - .../plugin/j2735/J2735NodeOffsetPointLL.java | 72 -- .../jpo/ode/plugin/j2735/J2735Node_LL.java | 53 - .../its/jpo/ode/plugin/j2735/J2735Offset.java | 26 - .../ode/plugin/j2735/J2735OffsetSystem.java | 26 - .../its/jpo/ode/plugin/j2735/J2735Tim.java | 53 - .../plugin/j2735/J2735TravelerDataFrame.java | 126 --- .../plugin/j2735/J2735TravelerInfoType.java | 8 - .../builders/GeographicalPathBuilder.java | 89 -- .../plugin/j2735/builders/NodeLLBuilder.java | 185 ---- .../j2735/builders/NodeListLLBuilder.java | 41 - .../j2735/builders/OffsetSystemBuilder.java | 39 - .../ode/plugin/j2735/builders/TIMBuilder.java | 67 -- .../builders/TravelerDataFrameBuilder.java | 122 --- .../plugin/j2735/J2735DirectionOfUseTest.java | 42 - .../plugin/j2735/builders/TimBuilderTest.java | 30 - .../ode/coder/OdeTimDataCreatorHelper.java | 3 - .../coder/OdeTimDataCreatorHelperTest.java | 42 + .../OdeTimDataCreatorHelper_TIM_JSON.json | 1 + .../OdeTimDataCreatorHelper_TIM_XER.xml | 989 ++++++++++++++++++ 26 files changed, 1032 insertions(+), 1220 deletions(-) delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Description.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUse.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeographicalPath.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeometricProjection.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735HeadingSlice.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeLL.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListLL.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeOffsetPointLL.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Node_LL.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Offset.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735OffsetSystem.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Tim.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerDataFrame.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerInfoType.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/GeographicalPathBuilder.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeLLBuilder.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListLLBuilder.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/OffsetSystemBuilder.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TIMBuilder.java delete mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TravelerDataFrameBuilder.java delete mode 100644 jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUseTest.java delete mode 100644 jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/TimBuilderTest.java create mode 100644 jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java create mode 100644 jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json create mode 100644 jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Description.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Description.java deleted file mode 100644 index c36022d89..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Description.java +++ /dev/null @@ -1,35 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735Description extends Asn1Object { - private static final long serialVersionUID = 1L; - - private J2735OffsetSystem path; - private J2735GeometricProjection geometry; - private String oldRegion; //TODO - - public J2735OffsetSystem getPath() { - return path; - } - - public void setPath(J2735OffsetSystem path) { - this.path = path; - } - - public J2735GeometricProjection getGeometry() { - return geometry; - } - - public void setGeometry(J2735GeometricProjection geometry) { - this.geometry = geometry; - } - - public String getOldRegion() { - return oldRegion; - } - - public void setOldRegion(String oldRegion) { - this.oldRegion = oldRegion; - } -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUse.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUse.java deleted file mode 100644 index 3a44d0349..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUse.java +++ /dev/null @@ -1,23 +0,0 @@ -/******************************************************************************* - * Copyright 2018 572682 - * - * 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 - * - * 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.plugin.j2735; - -public enum J2735DirectionOfUse { - unavailable, - forward, - reverse, - both -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeographicalPath.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeographicalPath.java deleted file mode 100644 index 6f7ddcf64..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeographicalPath.java +++ /dev/null @@ -1,71 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735GeographicalPath extends Asn1Object { - private static final long serialVersionUID = 1L; - - private String name; - private J2735RoadSegmentReferenceID id; - private OdePosition3D anchor; - private int laneWidth; - private J2735DirectionOfUse directionality; - private boolean closedPath; - private J2735Description description; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public J2735RoadSegmentReferenceID getId() { - return id; - } - - public void setId(J2735RoadSegmentReferenceID id) { - this.id = id; - } - - public OdePosition3D getAnchor() { - return anchor; - } - - public void setAnchor(OdePosition3D anchor) { - this.anchor = anchor; - } - - public int getLaneWidth() { - return laneWidth; - } - - public void setLaneWidth(int laneWidth) { - this.laneWidth = laneWidth; - } - - public J2735DirectionOfUse getDirectionality() { - return directionality; - } - - public void setDirectionality(J2735DirectionOfUse directionality) { - this.directionality = directionality; - } - - public boolean getClosedPath() { - return closedPath; - } - - public void setClosedPath(boolean closedPath) { - this.closedPath = closedPath; - } - - public J2735Description getDescription() { - return description; - } - - public void setDescription(J2735Description description) { - this.description = description; - } -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeometricProjection.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeometricProjection.java deleted file mode 100644 index 81a8bfe38..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735GeometricProjection.java +++ /dev/null @@ -1,45 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; -import us.dot.its.jpo.ode.plugin.j2735.timstorage.Circle; - -public class J2735GeometricProjection extends Asn1Object { - private static final long serialVersionUID = 1L; - - private J2735HeadingSlice direction; - private J2735Extent extent; - private String laneWidth; - private Circle circle; - - public J2735HeadingSlice getDirection() { - return direction; - } - - public void setDirection(J2735HeadingSlice direction) { - this.direction = direction; - } - - public J2735Extent getExtent() { - return extent; - } - - public void setExtent(J2735Extent extent) { - this.extent = extent; - } - - public String getLaneWidth() { - return laneWidth; - } - - public void setLaneWidth(String laneWidth) { - this.laneWidth = laneWidth; - } - - public Circle getCircle() { - return circle; - } - - public void setCircle(Circle circle) { - this.circle = circle; - } -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735HeadingSlice.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735HeadingSlice.java deleted file mode 100644 index ad11b8a7b..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735HeadingSlice.java +++ /dev/null @@ -1,20 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -public enum J2735HeadingSlice { - from000_0to022_5degrees, - from022_5to045_0degrees, - from045_0to067_5degrees, - from067_5to090_0degrees, - from090_0to112_5degrees, - from112_5to135_0degrees, - from135_0to157_5degrees, - from157_5to180_0degrees, - from180_0to202_5degrees, - from202_5to225_0degrees, - from225_0to247_5degrees, - from247_5to270_0degrees, - from270_0to292_5degrees, - from292_5to315_0degrees, - from315_0to337_5degrees, - from337_5to360_0degrees -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeLL.java deleted file mode 100644 index 4ac84417a..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeLL.java +++ /dev/null @@ -1,27 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735NodeLL extends Asn1Object { - private static final long serialVersionUID = 1L; - - private J2735NodeOffsetPointLL delta; - private J2735NodeAttributeSet attributes; - - public J2735NodeOffsetPointLL getDelta() { - return delta; - } - - public void setDelta(J2735NodeOffsetPointLL delta) { - this.delta = delta; - } - - public J2735NodeAttributeSet getAttributes() { - return attributes; - } - - public void setAttributes(J2735NodeAttributeSet attributes) { - this.attributes = attributes; - } - -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListLL.java deleted file mode 100644 index 009650712..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListLL.java +++ /dev/null @@ -1,17 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735NodeListLL extends Asn1Object { - private static final long serialVersionUID = 1L; - - private J2735NodeLL[] nodes; - - public J2735NodeLL[] getNodes() { - return nodes; - } - - public void setNodes(J2735NodeLL[] nodes) { - this.nodes = nodes; - } -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeOffsetPointLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeOffsetPointLL.java deleted file mode 100644 index 2465bbadb..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeOffsetPointLL.java +++ /dev/null @@ -1,72 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735NodeOffsetPointLL extends Asn1Object { - private static final long serialVersionUID = 1L; - - private J2735Node_LL nodeLL1; - private J2735Node_LL nodeLL2; - private J2735Node_LL nodeLL3; - private J2735Node_LL nodeLL4; - private J2735Node_LL nodeLL5; - private J2735Node_LL nodeLL6; - private J2735NodeLLmD64b nodeLatLon; - - public J2735Node_LL getNodeLL1() { - return nodeLL1; - } - - public void setNodeLL1(J2735Node_LL nodeLL1) { - this.nodeLL1 = nodeLL1; - } - - public J2735Node_LL getNodeLL2() { - return nodeLL2; - } - - public void setNodeLL2(J2735Node_LL nodeLL2) { - this.nodeLL2 = nodeLL2; - } - - public J2735Node_LL getNodeLL3() { - return nodeLL3; - } - - public void setNodeLL3(J2735Node_LL nodeLL3) { - this.nodeLL3 = nodeLL3; - } - - public J2735Node_LL getNodeLL4() { - return nodeLL4; - } - - public void setNodeLL4(J2735Node_LL nodeLL4) { - this.nodeLL4 = nodeLL4; - } - - public J2735Node_LL getNodeLL5() { - return nodeLL5; - } - - public void setNodeLL5(J2735Node_LL nodeLL5) { - this.nodeLL5 = nodeLL5; - } - - public J2735Node_LL getNodeLL6() { - return nodeLL6; - } - - public void setNodeLL6(J2735Node_LL nodeLL6) { - this.nodeLL6 = nodeLL6; - } - - public J2735NodeLLmD64b getNodeLatLon() { - return nodeLatLon; - } - - public void setNodeLatLon(J2735NodeLLmD64b nodeLatLon) { - this.nodeLatLon = nodeLatLon; - } - -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Node_LL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Node_LL.java deleted file mode 100644 index fa3e18c36..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Node_LL.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright 2018 572682 - * - * 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 - * - * 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.plugin.j2735; - -import java.math.BigDecimal; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735Node_LL extends Asn1Object { - private static final long serialVersionUID = 1L; - - private BigDecimal lon; - private BigDecimal lat; - - public J2735Node_LL() { - super(); - } - - public J2735Node_LL(BigDecimal lon, BigDecimal lat) { - super(); - this.lon = lon; - this.lat = lat; - } - - public BigDecimal getLon() { - return lon; - } - - public void setLon(BigDecimal lon) { - this.lon = lon; - } - - public BigDecimal getLat() { - return lat; - } - - public void setLat(BigDecimal lat) { - this.lat = lat; - } -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Offset.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Offset.java deleted file mode 100644 index 788cdc71b..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Offset.java +++ /dev/null @@ -1,26 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735Offset extends Asn1Object { - private static final long serialVersionUID = 1L; - - private J2735NodeListXY xy; - private J2735NodeListLL ll; - - public J2735NodeListXY getXY() { - return xy; - } - - public void setXY(J2735NodeListXY xy) { - this.xy = xy; - } - - public J2735NodeListLL getLL() { - return ll; - } - - public void setLL(J2735NodeListLL ll) { - this.ll = ll; - } -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735OffsetSystem.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735OffsetSystem.java deleted file mode 100644 index 186af2e1f..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735OffsetSystem.java +++ /dev/null @@ -1,26 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735OffsetSystem extends Asn1Object { - private static final long serialVersionUID = 1L; - - private int scale; - private J2735Offset offset; - - public int getScale() { - return scale; - } - - public void setScale(int scale) { - this.scale = scale; - } - - public J2735Offset getOffset() { - return offset; - } - - public void setOffset(J2735Offset offset) { - this.offset = offset; - } -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Tim.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Tim.java deleted file mode 100644 index 3be7eb30d..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Tim.java +++ /dev/null @@ -1,53 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; - -public class J2735Tim extends Asn1Object { - private static final long serialVersionUID = 1L; - - private String msgCnt; - private String timeStamp; - private String packetID; - private String urlB; - private J2735TravelerDataFrame[] dataFrames; - - public String getMsgCnt() { - return msgCnt; - } - - public void setMsgCnt(String msgCnt) { - this.msgCnt = msgCnt; - } - - public String getTimeStamp() { - return timeStamp; - } - - public void setTimeStamp(String timeStamp) { - this.timeStamp = timeStamp; - } - - public String getPacketID() { - return packetID; - } - - public void setPacketID(String packetID) { - this.packetID = packetID; - } - - public String getUrlB() { - return urlB; - } - - public void setUrlB(String urlB) { - this.urlB = urlB; - } - - public J2735TravelerDataFrame[] getDataFrames() { - return dataFrames; - } - - public void setDataFrames(J2735TravelerDataFrame[] dataFrames) { - this.dataFrames = dataFrames; - } -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerDataFrame.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerDataFrame.java deleted file mode 100644 index 1093f1cc9..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerDataFrame.java +++ /dev/null @@ -1,126 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; -import us.dot.its.jpo.ode.plugin.j2735.timstorage.Content; - -public class J2735TravelerDataFrame extends Asn1Object { - private static final long serialVersionUID = 1L; - - private String notUsed; - private J2735TravelerInfoType frameType; - private J2735MsgId msgId; - private String startYear; - private String startTime; - private String durationTime; - private String priority; - private String notUsed1; - private J2735GeographicalPath[] regions; - private String notUsed2; - private String notUsed3; - private Content content; - private String url; - - public String getNotUsed() { - return notUsed; - } - - public void setNotUsed(String notUsed) { - this.notUsed = notUsed; - } - - public J2735TravelerInfoType getFrameType() { - return frameType; - } - - public void setFrameType(J2735TravelerInfoType frameType) { - this.frameType = frameType; - } - - public J2735MsgId getMsgId() { - return msgId; - } - - public void setMsgId(J2735MsgId msgId) { - this.msgId = msgId; - } - - public String getStartYear() { - return startYear; - } - - public void setStartYear(String startYear) { - this.startYear = startYear; - } - - public String getStartTime() { - return startTime; - } - - public void setStartTime(String startTime) { - this.startTime = startTime; - } - - public String getDurationTime() { - return durationTime; - } - - public void setDurationTime(String durationTime) { - this.durationTime = durationTime; - } - - public String getPriority() { - return priority; - } - - public void setPriority(String priority) { - this.priority = priority; - } - - public String getNotUsed1() { - return notUsed1; - } - - public void setNotUsed1(String notUsed1) { - this.notUsed1 = notUsed1; - } - - public J2735GeographicalPath[] getRegions() { - return regions; - } - - public void setRegions(J2735GeographicalPath[] regions) { - this.regions = regions; - } - - public String getNotUsed2() { - return notUsed2; - } - - public void setNotUsed2(String notUsed2) { - this.notUsed2 = notUsed2; - } - - public String getNotUsed3() { - return notUsed3; - } - - public void setNotUsed3(String notUsed3) { - this.notUsed3 = notUsed3; - } - - public Content getContent() { - return content; - } - - public void setContent(Content content) { - this.content = content; - } - - public String getUrl() { - return url; - } - - public void setUrl(String url) { - this.url = url; - } -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerInfoType.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerInfoType.java deleted file mode 100644 index 016f9b1d1..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735TravelerInfoType.java +++ /dev/null @@ -1,8 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735; - -public enum J2735TravelerInfoType { - unknown, - advisory, - roadSignage, - commercialSignage, -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/GeographicalPathBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/GeographicalPathBuilder.java deleted file mode 100644 index b5e6045ba..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/GeographicalPathBuilder.java +++ /dev/null @@ -1,89 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735.builders; - -import com.fasterxml.jackson.databind.JsonNode; - -import us.dot.its.jpo.ode.plugin.j2735.DsrcPosition3D; -import us.dot.its.jpo.ode.plugin.j2735.J2735Description; -import us.dot.its.jpo.ode.plugin.j2735.J2735DirectionOfUse; -import us.dot.its.jpo.ode.plugin.j2735.J2735GeographicalPath; -import us.dot.its.jpo.ode.plugin.j2735.J2735RoadSegmentReferenceID; - -public class GeographicalPathBuilder { - private GeographicalPathBuilder() { - throw new UnsupportedOperationException(); - } - - public static J2735GeographicalPath genericGeographicalPath(JsonNode geographicalPath) { - J2735GeographicalPath genericGeographicalPath = new J2735GeographicalPath(); - - JsonNode name = geographicalPath.get("name"); - if (name != null) { - genericGeographicalPath.setName(name.asText()); - } - - JsonNode id = geographicalPath.get("id"); - if (id != null) { - J2735RoadSegmentReferenceID idObj = new J2735RoadSegmentReferenceID(); - - JsonNode idRegion = id.get("region"); - if (idRegion != null) { - idObj.setRegion(idRegion.asInt()); - } - - JsonNode idId = id.get("id"); - if (idId != null) { - idObj.setId(idId.asInt()); - } - - genericGeographicalPath.setId(idObj); - } - - JsonNode anchor = geographicalPath.get("anchor"); - if (anchor != null) { - DsrcPosition3D dsrcPosition3d = Position3DBuilder.dsrcPosition3D(anchor); - genericGeographicalPath.setAnchor(Position3DBuilder.odePosition3D(dsrcPosition3d)); - } - - JsonNode laneWidth = geographicalPath.get("laneWidth"); - if (laneWidth != null) { - genericGeographicalPath.setLaneWidth(laneWidth.asInt()); - } - - JsonNode directionality = geographicalPath.get("directionality"); - if (directionality != null) { - String directionalityValue = directionality.fields().next().getKey(); - genericGeographicalPath.setDirectionality(J2735DirectionOfUse.valueOf(directionalityValue)); - } - - JsonNode closedPath = geographicalPath.get("closedPath"); - if (closedPath != null) { - boolean closedPathValue = "true".equals(closedPath.fields().next().getKey()); - genericGeographicalPath.setClosedPath(closedPathValue); - } - - JsonNode description = geographicalPath.get("description"); - if (description != null) { - J2735Description descriptionObj = new J2735Description(); - - JsonNode path = description.get("path"); - if (path != null) { - descriptionObj.setPath(OffsetSystemBuilder.genericOffsetSystem(path)); - } - - JsonNode geometry = description.get("geometry"); - if (geometry != null) { - // RoadSignIdBuilder.genericRoadSignId(roadSignID) - descriptionObj.setGeometry(null); - } - - JsonNode oldRegion = description.get("oldRegion"); - if (oldRegion != null) { - descriptionObj.setOldRegion(null); - } - - genericGeographicalPath.setDescription(descriptionObj); - } - - return genericGeographicalPath; - } -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeLLBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeLLBuilder.java deleted file mode 100644 index 3d96b68c2..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeLLBuilder.java +++ /dev/null @@ -1,185 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735.builders; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import com.fasterxml.jackson.databind.JsonNode; - -import us.dot.its.jpo.ode.plugin.j2735.J2735LaneDataAttribute; -import us.dot.its.jpo.ode.plugin.j2735.J2735NodeAttribute; -import us.dot.its.jpo.ode.plugin.j2735.J2735NodeAttributeSet; -import us.dot.its.jpo.ode.plugin.j2735.J2735NodeLL; -import us.dot.its.jpo.ode.plugin.j2735.J2735NodeLLmD64b; -import us.dot.its.jpo.ode.plugin.j2735.J2735NodeOffsetPointLL; -import us.dot.its.jpo.ode.plugin.j2735.J2735Node_LL; -import us.dot.its.jpo.ode.plugin.j2735.J2735SegmentAttribute; - -public class NodeLLBuilder { - private NodeLLBuilder() { - throw new UnsupportedOperationException(); - } - - public static J2735NodeLL genericNodeLL(JsonNode NodeJson) { - J2735NodeLL nodeLL = new J2735NodeLL(); - if (NodeJson.get("delta") != null) { - J2735NodeOffsetPointLL pointoffsetLL = new J2735NodeOffsetPointLL(); - JsonNode NodeOffsetNode = NodeJson.get("delta"); - if(NodeOffsetNode.get("node-LL1") != null) - { - BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LL1").get("lon").asInt()); - BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LL1").get("lat").asInt()); - J2735Node_LL point = new J2735Node_LL(lon,lat); - pointoffsetLL.setNodeLL1(point); - } - if(NodeOffsetNode.get("node-LL2") != null) - { - BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LL2").get("lon").asInt()); - BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LL2").get("lat").asInt()); - J2735Node_LL point = new J2735Node_LL(lon,lat); - pointoffsetLL.setNodeLL2(point); - } - if(NodeOffsetNode.get("node-LL3") != null) - { - BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LL3").get("lon").asInt()); - BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LL3").get("lat").asInt()); - J2735Node_LL point = new J2735Node_LL(lon,lat); - pointoffsetLL.setNodeLL3(point); - } - if(NodeOffsetNode.get("node-LL4") != null) - { - BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LL4").get("lon").asInt()); - BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LL4").get("lat").asInt()); - J2735Node_LL point = new J2735Node_LL(lon,lat); - pointoffsetLL.setNodeLL4(point); - } - if(NodeOffsetNode.get("node-LL5") != null) - { - BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LL5").get("lon").asInt()); - BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LL5").get("lat").asInt()); - J2735Node_LL point = new J2735Node_LL(lon,lat); - pointoffsetLL.setNodeLL5(point); - } - if(NodeOffsetNode.get("node-LL6") != null) - { - BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LL6").get("lon").asInt()); - BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LL6").get("lat").asInt()); - J2735Node_LL point = new J2735Node_LL(lon,lat); - pointoffsetLL.setNodeLL6(point); - } - if(NodeOffsetNode.get("node-LatLon") != null) - { - BigDecimal lon =BigDecimal.valueOf( NodeOffsetNode.get("node-LatLon").get("lon").asInt()); - BigDecimal lat =BigDecimal.valueOf( NodeOffsetNode.get("node-LatLon").get("lat").asInt()); - J2735NodeLLmD64b point = new J2735NodeLLmD64b(lon,lat); - pointoffsetLL.setNodeLatLon(point); - } - nodeLL.setDelta(pointoffsetLL); - } - - if (NodeJson.get("attributes") != null) { - J2735NodeAttributeSet attributeSet = new J2735NodeAttributeSet(); - JsonNode attributes = NodeJson.get("attributes"); - - JsonNode localNode = attributes.get("localNode"); - if (localNode != null) { - JsonNode nodeAttributeLL = localNode.get("NodeAttributeLL"); - if (nodeAttributeLL != null) { - List naList = new ArrayList<>(); - - if (nodeAttributeLL.isArray()) { - Iterator elements = nodeAttributeLL.elements(); - - while (elements.hasNext()) { - String nodeAttributeValue = elements.next().fields().next().getKey(); - naList.add(J2735NodeAttribute.valueOf(nodeAttributeValue)); - } - } else { - String nodeAttributeValue = nodeAttributeLL.fields().next().getKey(); - naList.add(J2735NodeAttribute.valueOf(nodeAttributeValue)); - } - - attributeSet.setLocalNode(naList.toArray(new J2735NodeAttribute[0])); - } - } - - JsonNode disabled = attributes.get("disabled"); - if (disabled != null) { - JsonNode segmentAttributeLL = disabled.get("SegmentAttributeLL"); - if (segmentAttributeLL != null) { - List saList = new ArrayList<>(); - - if (segmentAttributeLL.isArray()) { - Iterator elements = segmentAttributeLL.elements(); - - while (elements.hasNext()) { - String segmentAttributeValue = elements.next().fields().next().getKey(); - saList.add(J2735SegmentAttribute.valueOf(segmentAttributeValue)); - } - } else { - String segmentAttributeValue = segmentAttributeLL.fields().next().getKey(); - saList.add(J2735SegmentAttribute.valueOf(segmentAttributeValue)); - } - - attributeSet.setDisabled(saList.toArray(new J2735SegmentAttribute[0])); - } - } - - JsonNode enabled = attributes.get("enabled"); - if (enabled != null) { - JsonNode segmentAttributeLL = enabled.get("SegmentAttributeLL"); - if (segmentAttributeLL != null) { - List saList = new ArrayList<>(); - - if (segmentAttributeLL.isArray()) { - Iterator elements = segmentAttributeLL.elements(); - - while (elements.hasNext()) { - String segmentAttributeValue = elements.next().fields().next().getKey(); - saList.add(J2735SegmentAttribute.valueOf(segmentAttributeValue)); - } - } else { - String segmentAttributeValue = segmentAttributeLL.fields().next().getKey(); - saList.add(J2735SegmentAttribute.valueOf(segmentAttributeValue)); - } - - attributeSet.setEnabled(saList.toArray(new J2735SegmentAttribute[0])); - } - } - - JsonNode data = attributes.get("data"); - if (data != null) { - JsonNode laneDataAttribute = data.get("LaneDataAttribute"); - if (laneDataAttribute != null) { - List ldaList = new ArrayList<>(); - - if (laneDataAttribute.isArray()) { - Iterator elements = laneDataAttribute.elements(); - - while (elements.hasNext()) { - ldaList.add(LaneDataAttributeBuilder.genericLaneDataAttribute(elements.next())); - } - } else { - ldaList.add(LaneDataAttributeBuilder.genericLaneDataAttribute(laneDataAttribute)); - } - - attributeSet.setData(ldaList.toArray(new J2735LaneDataAttribute[0])); - } - } - - if(attributes.get("dWidth") != null) - { - attributeSet.setdWidth(attributes.get("dWidth").asInt()); - } - - if(attributes.get("dElevation") != null) - { - attributeSet.setdElevation(attributes.get("dElevation").asInt()); - } - - nodeLL.setAttributes(attributeSet); - } - return nodeLL; - } -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListLLBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListLLBuilder.java deleted file mode 100644 index 949266536..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListLLBuilder.java +++ /dev/null @@ -1,41 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735.builders; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import com.fasterxml.jackson.databind.JsonNode; - -import us.dot.its.jpo.ode.plugin.j2735.J2735NodeLL; -import us.dot.its.jpo.ode.plugin.j2735.J2735NodeListLL; - -public class NodeListLLBuilder { - private NodeListLLBuilder() { - throw new UnsupportedOperationException(); - } - - public static J2735NodeListLL genericNodeListLL(JsonNode nodeListNode) { - J2735NodeListLL nodeList = new J2735NodeListLL(); - - if (nodeListNode.get("nodes") != null) { - JsonNode nodeLL = nodeListNode.get("nodes").get("NodeLL"); - if (nodeLL != null) { - List nllList = new ArrayList<>(); - - if (nodeLL.isArray()) { - Iterator elements = nodeLL.elements(); - - while (elements.hasNext()) { - nllList.add(NodeLLBuilder.genericNodeLL(elements.next())); - } - } else { - nllList.add(NodeLLBuilder.genericNodeLL(nodeLL)); - } - - nodeList.setNodes(nllList.toArray(new J2735NodeLL[0])); - } - } - - return nodeList; - } -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/OffsetSystemBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/OffsetSystemBuilder.java deleted file mode 100644 index 5fb86c895..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/OffsetSystemBuilder.java +++ /dev/null @@ -1,39 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735.builders; - -import com.fasterxml.jackson.databind.JsonNode; - -import us.dot.its.jpo.ode.plugin.j2735.J2735Offset; -import us.dot.its.jpo.ode.plugin.j2735.J2735OffsetSystem; - -public class OffsetSystemBuilder { - private OffsetSystemBuilder() { - throw new UnsupportedOperationException(); - } - - public static J2735OffsetSystem genericOffsetSystem(JsonNode offsetSystem) { - J2735OffsetSystem genericOffsetSystem = new J2735OffsetSystem(); - - JsonNode scale = offsetSystem.get("scale"); - if (scale != null) { - genericOffsetSystem.setScale(scale.asInt()); - } - - JsonNode offset = offsetSystem.get("offset"); - if (offset != null) { - J2735Offset offsetObj = new J2735Offset(); - - JsonNode xy = offset.get("xy"); - JsonNode ll = offset.get("ll"); - - if (xy != null) { - offsetObj.setXY(NodeListXYBuilder.genericNodeListXY(xy)); - } else if (ll != null) { - offsetObj.setLL(NodeListLLBuilder.genericNodeListLL(ll)); - } - - genericOffsetSystem.setOffset(offsetObj); - } - - return genericOffsetSystem; - } -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TIMBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TIMBuilder.java deleted file mode 100644 index 26bd1a627..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TIMBuilder.java +++ /dev/null @@ -1,67 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735.builders; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import com.fasterxml.jackson.databind.JsonNode; - -import us.dot.its.jpo.ode.plugin.j2735.J2735Tim; -import us.dot.its.jpo.ode.plugin.j2735.J2735TravelerDataFrame; - -public class TIMBuilder { - private TIMBuilder() { - throw new UnsupportedOperationException(); - } - - public static J2735Tim genericTim(JsonNode TimMessage) { - J2735Tim genericTim = new J2735Tim(); - - JsonNode msgCnt = TimMessage.get("msgCnt"); - if (msgCnt != null) { - genericTim.setMsgCnt(msgCnt.asText()); - } - - JsonNode timeStamp = TimMessage.get("timeStamp"); - if (timeStamp != null) { - genericTim.setTimeStamp(timeStamp.asText()); - } - - JsonNode packetID = TimMessage.get("packetID"); - if (packetID != null) { - genericTim.setPacketID(packetID.asText()); - } - - // The decoder makes a null URL a literal string value of "null" when it is not specified - JsonNode urlB = TimMessage.get("urlB"); - if (urlB != null) { - String urlBValue = urlB.asText(); - if ("null".equals(urlBValue)) { - urlBValue = null; - } - genericTim.setUrlB(urlBValue); - } - - JsonNode dataFrames = TimMessage.get("dataFrames"); - if (dataFrames != null) { - JsonNode travelerDataFrame = dataFrames.get("TravelerDataFrame"); - if (travelerDataFrame != null) { - List dfList = new ArrayList<>(); - - if (travelerDataFrame.isArray()) { - Iterator elements = travelerDataFrame.elements(); - - while (elements.hasNext()) { - dfList.add(TravelerDataFrameBuilder.genericTravelerDataFrame(elements.next())); - } - } else { - dfList.add(TravelerDataFrameBuilder.genericTravelerDataFrame(travelerDataFrame)); - } - - genericTim.setDataFrames(dfList.toArray(new J2735TravelerDataFrame[0])); - } - } - - return genericTim; - } -} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TravelerDataFrameBuilder.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TravelerDataFrameBuilder.java deleted file mode 100644 index 290356b0e..000000000 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/TravelerDataFrameBuilder.java +++ /dev/null @@ -1,122 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735.builders; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import com.fasterxml.jackson.databind.JsonNode; - -import us.dot.its.jpo.ode.plugin.j2735.J2735GeographicalPath; -import us.dot.its.jpo.ode.plugin.j2735.J2735MsgId; -import us.dot.its.jpo.ode.plugin.j2735.J2735TravelerDataFrame; -import us.dot.its.jpo.ode.plugin.j2735.J2735TravelerInfoType; - -public class TravelerDataFrameBuilder { - private TravelerDataFrameBuilder() { - throw new UnsupportedOperationException(); - } - - public static J2735TravelerDataFrame genericTravelerDataFrame(JsonNode travelerDataFrame) { - J2735TravelerDataFrame genericTravelerDataFrame = new J2735TravelerDataFrame(); - - JsonNode notUsed = travelerDataFrame.get("notUsed"); - if (notUsed != null) { - genericTravelerDataFrame.setNotUsed(notUsed.asText()); - } - - JsonNode frameType = travelerDataFrame.get("frameType"); - if (frameType != null) { - String frameTypeValue = frameType.fields().next().getKey(); - genericTravelerDataFrame.setFrameType(J2735TravelerInfoType.valueOf(frameTypeValue)); - } - - JsonNode msgId = travelerDataFrame.get("msgId"); - if (msgId != null) { - J2735MsgId msgIdObj = new J2735MsgId(); - - JsonNode furtherInfoID = msgId.get("furtherInfoID"); - if (furtherInfoID != null) { - msgIdObj.setFurtherInfoId(furtherInfoID.asText()); - } - - JsonNode roadSignID = msgId.get("roadSignID"); - if (roadSignID != null) { - msgIdObj.setRoadSignID(RoadSignIdBuilder.genericRoadSignId(roadSignID)); - } - - genericTravelerDataFrame.setMsgId(msgIdObj); - } - - JsonNode startYear = travelerDataFrame.get("startYear"); - if (startYear != null) { - genericTravelerDataFrame.setStartYear(startYear.asText()); - } - - JsonNode startTime = travelerDataFrame.get("startTime"); - if (startTime != null) { - genericTravelerDataFrame.setStartTime(startTime.asText()); - } - - JsonNode durationTime = travelerDataFrame.get("durationTime"); - if (durationTime != null) { - genericTravelerDataFrame.setDurationTime(durationTime.asText()); - } - - JsonNode priority = travelerDataFrame.get("priority"); - if (priority != null) { - genericTravelerDataFrame.setPriority(priority.asText()); - } - - JsonNode notUsed1 = travelerDataFrame.get("notUsed1"); - if (notUsed1 != null) { - genericTravelerDataFrame.setNotUsed1(notUsed1.asText()); - } - - JsonNode regions = travelerDataFrame.get("regions"); - if (regions != null) { - JsonNode geographicalPath = regions.get("GeographicalPath"); - if (geographicalPath != null) { - List gpList = new ArrayList<>(); - - if (geographicalPath.isArray()) { - Iterator elements = geographicalPath.elements(); - - while (elements.hasNext()) { - gpList.add(GeographicalPathBuilder.genericGeographicalPath(elements.next())); - } - } else { - gpList.add(GeographicalPathBuilder.genericGeographicalPath(geographicalPath)); - } - - genericTravelerDataFrame.setRegions(gpList.toArray(new J2735GeographicalPath[0])); - } - } - - JsonNode notUsed2 = travelerDataFrame.get("notUsed2"); - if (notUsed2 != null) { - genericTravelerDataFrame.setNotUsed2(notUsed2.asText()); - } - - JsonNode notUsed3 = travelerDataFrame.get("notUsed3"); - if (notUsed3 != null) { - genericTravelerDataFrame.setNotUsed3(notUsed3.asText()); - } - - JsonNode content = travelerDataFrame.get("content"); - if (content != null) { - genericTravelerDataFrame.setContent(ContentBuilder.genericContent(content)); - } - - // The decoder makes a null URL a literal string value of "null" when it is not specified - JsonNode url = travelerDataFrame.get("url"); - if (url != null) { - String urlValue = url.asText(); - if ("null".equals(urlValue)) { - urlValue = null; - } - genericTravelerDataFrame.setUrl(urlValue); - } - - return genericTravelerDataFrame; - } -} diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUseTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUseTest.java deleted file mode 100644 index 04726b71e..000000000 --- a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUseTest.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright 2018 572682 - * - * 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 - * - * 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.plugin.j2735; - -import static org.junit.Assert.assertNotNull; - -import org.junit.jupiter.api.Test; - -public class J2735DirectionOfUseTest { - @Test - public void checkUnavailable() { - assertNotNull(J2735DirectionOfUse.unavailable); - } - - @Test - public void checkForward() { - assertNotNull(J2735DirectionOfUse.forward); - } - - @Test - public void checkReverse() { - assertNotNull(J2735DirectionOfUse.reverse); - } - - @Test - public void checkBoth() { - assertNotNull(J2735DirectionOfUse.both); - } -} diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/TimBuilderTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/TimBuilderTest.java deleted file mode 100644 index d62061ee5..000000000 --- a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/TimBuilderTest.java +++ /dev/null @@ -1,30 +0,0 @@ -package us.dot.its.jpo.ode.plugin.j2735.builders; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; - -import org.junit.jupiter.api.Test; - -import com.fasterxml.jackson.databind.JsonNode; - -import us.dot.its.jpo.ode.plugin.j2735.J2735Tim; -import us.dot.its.jpo.ode.util.XmlUtils; -import us.dot.its.jpo.ode.util.XmlUtils.XmlUtilsException; - -public class TimBuilderTest { - @Test - public void shouldTranslateTim() { - - JsonNode jsonMap = null; - try { - jsonMap = XmlUtils.toObjectNode( - "timMsgsuccessunsecuredDataMessageFrameUPERus.dot.its.jpo.ode.model.OdeAsn1Payload4d476fdf-9103-464d-88c5-5de24b9f3ef910002024-11-21T01:17:47.998Z70RSUfalse001F810A701607988D44FF260FFFD00C010F775D9B0B01C2715BDE59674A61AFFFF93F4310B021C0A007F91A54ED2088C10346A820F2C7A105164CE000000002715BDE59674A61A9388CE00021100CFA9460EE711C707B8C97B45536D12F62A75A8B8E0F329509879F9AF683B375AAC1B8AEAF70D60B3DA000C80218312D11081EEEBB36301C2715DFCC1673BB4FFFFF93F4310B021C0A007F99A54ED2088C10346A820E8CB8722083CB1E8CBC905164CE000000002715DFCC1673BB4F9388C7C0021160A5A4000E1D8955078014AA83CFCA84C1F47D5ED1521A3AF68AAD25DED055B4CF7B42AF9D7D5515A5DBFB40AE11A05EC559B908E42A8888555001A00430601C312D11080D404F775D9B00358C2614C511ABFC4ED8D5830858CC42A5B1B0023B5A84F612289408C096D7DFC084AA26FA6023C7D787B119AC3920090449C099FE4A4DF873D6B46EC2FC98916754931A4C5A500000000134E749ACB3149E209C46003C10B02211F450076888E5258B044869CC2E211098FF7108FC9E41897CCDC1704B9FCE4D42435E7023127413C78893C4DF7E848769083412036397111DCCC1B089CBA66C4435093DE2205BCA4D7089754160D73EF8A0E8441EB237825E3184501296941CB88E972102448D87064A3520F20A170A0350E408AABE263849C0B0D302157C8CC612CE3C3CA893FB247C420300172.18.0.1MessageFrame3113951608D44FF260FFFD00C01null0411472587-104651309811111111111111112024401760864050RSZ D0 45 Arch Q2300411472587-10465130985000011100000000000001274326594491070521517106782427100742958654825796649303457423414362728072821197200268125898720null0411489944-104663331211111111111111112024401760864050RSZ D0 45 Ahead Archer Q2300411489944-1046633312500000111110000000000602-10244332-34146145-34146649-30347455-25799268-257911081-212411686-106212189-68313499-15214406379114841138103761365002681230212589872013569null"); - } catch (XmlUtilsException e) { - fail("XML parsing error:" + e); - } - J2735Tim actualTim = TIMBuilder.genericTim(jsonMap.findValue("TravelerInformation")); - String actualTimString = actualTim.toString(); - String expected ="{\"msgCnt\":\"1\",\"timeStamp\":\"395160\",\"packetID\":\"8D44FF260FFFD00C01\",\"dataFrames\":[{\"notUsed\":\"0\",\"frameType\":\"advisory\",\"msgId\":{\"roadSignID\":{\"position\":{\"latitude\":41.1472587,\"longitude\":-104.6513098},\"viewAngle\":\"1111111111111111\",\"mutcdCode\":\"warning\"}},\"startYear\":\"2024\",\"startTime\":\"401760\",\"durationTime\":\"8640\",\"priority\":\"5\",\"notUsed1\":\"0\",\"regions\":[{\"name\":\"RSZ D0 45 Arch Q23\",\"id\":{\"region\":0,\"id\":0},\"anchor\":{\"latitude\":41.1472587,\"longitude\":-104.6513098},\"laneWidth\":5000,\"directionality\":\"both\",\"closedPath\":true,\"description\":{\"path\":{\"scale\":0,\"offset\":{\"ll\":{\"nodes\":[{\"delta\":{\"nodeLL1\":{\"lon\":1274,\"lat\":326}}},{\"delta\":{\"nodeLL2\":{\"lon\":5944,\"lat\":910}}},{\"delta\":{\"nodeLL2\":{\"lon\":7052,\"lat\":1517}}},{\"delta\":{\"nodeLL3\":{\"lon\":10678,\"lat\":2427}}},{\"delta\":{\"nodeLL3\":{\"lon\":10074,\"lat\":2958}}},{\"delta\":{\"nodeLL2\":{\"lon\":6548,\"lat\":2579}}},{\"delta\":{\"nodeLL2\":{\"lon\":6649,\"lat\":3034}}},{\"delta\":{\"nodeLL2\":{\"lon\":5742,\"lat\":3414}}},{\"delta\":{\"nodeLL2\":{\"lon\":3627,\"lat\":2807}}},{\"delta\":{\"nodeLL2\":{\"lon\":2821,\"lat\":1972}}}]}}}}}],\"notUsed2\":\"0\",\"notUsed3\":\"0\",\"content\":{\"speedLimit\":{\"SEQUENCE\":[{\"item\":{\"itis\":\"268\"}},{\"item\":{\"itis\":\"12589\"}},{\"item\":{\"itis\":\"8720\"}}]}}},{\"notUsed\":\"0\",\"frameType\":\"advisory\",\"msgId\":{\"roadSignID\":{\"position\":{\"latitude\":41.1489944,\"longitude\":-104.6633312},\"viewAngle\":\"1111111111111111\",\"mutcdCode\":\"warning\"}},\"startYear\":\"2024\",\"startTime\":\"401760\",\"durationTime\":\"8640\",\"priority\":\"5\",\"notUsed1\":\"0\",\"regions\":[{\"name\":\"RSZ D0 45 Ahead Archer Q23\",\"id\":{\"region\":0,\"id\":0},\"anchor\":{\"latitude\":41.1489944,\"longitude\":-104.6633312},\"laneWidth\":5000,\"directionality\":\"both\",\"closedPath\":false,\"description\":{\"path\":{\"scale\":0,\"offset\":{\"ll\":{\"nodes\":[{\"delta\":{\"nodeLL1\":{\"lon\":602,\"lat\":-1024}}},{\"delta\":{\"nodeLL2\":{\"lon\":4332,\"lat\":-3414}}},{\"delta\":{\"nodeLL2\":{\"lon\":6145,\"lat\":-3414}}},{\"delta\":{\"nodeLL2\":{\"lon\":6649,\"lat\":-3034}}},{\"delta\":{\"nodeLL2\":{\"lon\":7455,\"lat\":-2579}}},{\"delta\":{\"nodeLL3\":{\"lon\":9268,\"lat\":-2579}}},{\"delta\":{\"nodeLL3\":{\"lon\":11081,\"lat\":-2124}}},{\"delta\":{\"nodeLL3\":{\"lon\":11686,\"lat\":-1062}}},{\"delta\":{\"nodeLL3\":{\"lon\":12189,\"lat\":-683}}},{\"delta\":{\"nodeLL3\":{\"lon\":13499,\"lat\":-152}}},{\"delta\":{\"nodeLL3\":{\"lon\":14406,\"lat\":379}}},{\"delta\":{\"nodeLL3\":{\"lon\":11484,\"lat\":1138}}},{\"delta\":{\"nodeLL3\":{\"lon\":10376,\"lat\":1365}}}]}}}}}],\"notUsed2\":\"0\",\"notUsed3\":\"0\",\"content\":{\"speedLimit\":{\"SEQUENCE\":[{\"item\":{\"itis\":\"268\"}},{\"item\":{\"itis\":\"12302\"}},{\"item\":{\"itis\":\"12589\"}},{\"item\":{\"itis\":\"8720\"}},{\"item\":{\"itis\":\"13569\"}}]}}}]}"; - assertEquals(expected, actualTimString); - } -} diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java index 9c60aed6b..3e9c440fa 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java @@ -21,9 +21,6 @@ public class OdeTimDataCreatorHelper { - public OdeTimDataCreatorHelper() { - } - public static OdeTimData createOdeTimDataFromDecoded(String consumedData) throws XmlUtilsException { ObjectNode consumed = XmlUtils.toObjectNode(consumedData); diff --git a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java new file mode 100644 index 000000000..87dce220f --- /dev/null +++ b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java @@ -0,0 +1,42 @@ +package us.dot.its.jpo.ode.coder; + +import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; + +import org.junit.jupiter.api.Test; + +import us.dot.its.jpo.ode.model.OdeTimData; +import us.dot.its.jpo.ode.util.XmlUtils; +import us.dot.its.jpo.ode.util.XmlUtils.XmlUtilsException; + +public class OdeTimDataCreatorHelperTest { + @Test + public void testCreateOdeTimDataFromDecoded() throws IOException { + String xmlFilePath = "src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml"; + File xmlFile = new File(xmlFilePath); + byte[] xmlData = Files.readAllBytes(xmlFile.toPath()); + String xmlString = new String(xmlData); + try { + XmlUtils.toObjectNode(xmlString); + } catch (XmlUtilsException e) { + fail("XML parsing error:" + e); + } + + String jsonFilePath = "src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json"; + File jsonFile = new File(jsonFilePath); + byte[] jsonData = Files.readAllBytes(jsonFile.toPath()); + String expectedJsonString = new String(jsonData); + OdeTimData timData; + try { + timData = OdeTimDataCreatorHelper.createOdeTimDataFromDecoded(xmlString); + assertEquals(expectedJsonString, timData.toString()); + } catch (XmlUtilsException e) { + e.printStackTrace(); + } + + } +} diff --git a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json new file mode 100644 index 000000000..60efd713f --- /dev/null +++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json @@ -0,0 +1 @@ +{"metadata":{"logFileName":"","recordType":"timMsg","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeTimPayload","serialId":{"streamId":"adb022ef-9a97-4aa3-8bab-1fde55b620a1","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-05T10:21:33.228Z","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":[{"notUsed":29,"frameType":"commercialSignage","msgId":{"furtherInfoID":"4F43"},"startYear":425,"startTime":306216,"priority":2,"notUsed1":1,"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,"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,"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,"dwidth":245,"delevation":247}},{"delta":{"node-LL1":{"lon":-172,"lat":525}},"attributes":{"localNode":["closedToTraffic","roundedCapStyleA"],"disabled":["partialCurbIntrusion"],"enabled":["adaptiveTimingPresent"],"dWidth":206,"dElevation":144,"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,"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,"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,"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,"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"}}}}],"notUsed2":15,"notUsed3":9,"content":{"exitService":[{"item":{"itis":599}}]},"url":"IA5S"},{"notUsed":11,"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,"priority":5,"notUsed1":10,"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,"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,"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,"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"}}}}],"notUsed2":11,"notUsed3":23,"content":{"exitService":[{"item":{"text":"I"}},{"item":{"text":"IA5St"}},{"item":{"text":"IA5"}}]},"url":"IA5St"},{"notUsed":13,"frameType":"unknown","msgId":{"furtherInfoID":"4F43"},"startYear":2776,"startTime":408571,"priority":5,"notUsed1":6,"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"}}}}}],"notUsed2":31,"notUsed3":12,"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/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml new file mode 100644 index 000000000..b03a4ba6d --- /dev/null +++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml @@ -0,0 +1,989 @@ + + + + timMsg + success + + + + unsecuredData + MessageFrame + UPER + + + us.dot.its.jpo.ode.model.OdeAsn1Payload + + adb022ef-9a97-4aa3-8bab-1fde55b620a1 + 1 + 0 + 0 + 0 + + 2024-12-05T10:21:33.228Z + 7 + 0 + + RSU + false + + + 001F830A752544F94F4354455420535452124C16B4FA27D64F431A94AC28F232828FF05260B5CA82DDFB227A687CA09CFDE87C4B0ED1C8800280204A865BB2C265D1E4F5D3A877C07F8093FC3D820142C4EB15C7AC09CE3356F45A90200118358186A148D3F13220B227C18569099E2D1232A28B5F2579208E479151D45D438BEFF80DB0C08CED3F45A50103103102088C1A44A152889AFA7F62218940E831C20F35EA1232777BF31146022C71408809E5EB7BA1D52835D8A040D83367520C4AB397658B07E21393A041060D049E825C15FCF56AFF05260B58E40024126EDBD550F6D519709FDE4CF880201602008CEE4ACA5DE274975513846DD7AD77F839305AD383175AA8A497954C284E668FFE4F0710D80802810030EAC2535BCD6AE047899B1CE75405C8E6936419C672A85F8900C50B428CA3188CA4E1101B485DEE47349B20CE339542FC5654852A1484C9C0A0B6DEBB81DB91CD26C8338CE550BF31188B6041101F08134A407147800DFCF8E5FE0A4C16B2BF3A3A253269429B3B8198F71B71F8C902002C008005DD1174A86649950714134C54C82F4C0012B9C982D69B5BEADBF1C99BEFD660C6A4200201A7A1ECCA540B60B0AA27F8093AC4BF831472A28ECD2E0203575E8F15F5000818817507D68CC505CF4497E8219CA2288A03C81503120AEB852B7507D68CC505CF4497E2121346A090E8061520293D37841E41530E9BF4214E93C326CF8502830F0C081FF9D71FE064C1BAA780A12351A24D300B6FD25F085703880101600022BE028AC1105C1D5CB0F0E001A42F7F849305AD3E9B408EB43464DC861E6234918C8667857300022C400087E511D765E294CF3507435289D7EBBC2849A4982D69F494982D524C16B4FA36827A1D6C31DFDBE55A627F819307EA49F19AA77C773D119EA690CE094883E0100588001E1832A00950E876B85589726EF3EDFE0E4C16B4F8EB0ECDE8A23F3F9E839831CE316170D2000858080178162BF959EDACD55B2CD3721A1EDFE064C1AEC1B3F02442FEC92E119DFAF82D6EC3884002C0004A9FEDD617613A307F791C6D74FB1A27C451F6139305AD394982D582367260B5A600 + 172.18.0.1 + + + MessageFrame + + + 31 + + + 82 + 345337 + 4F4354455420535452 + IA5St + + + 29 + + + + + 4F43 + + 425 + 306216 + 31001 + 2 + 1 + + + IA5 + + 38149 + 48118 + + + -567387419 + -1717691068 + 53848 + + 15175 + + + + + + + 0001000000000000 + + + 0000000001000000 + + + + + +
+ -686654332 + 1616508908 + 38736 +
+ 3832 + + + +
+ +
+
+
+ + I + + 64573 + 33281 + + + -714161321 + -1285139143 + 48475 + + 26805 + + + + + + + 0000001000000000 + + + 1 + + + + + + + -127947 + -120550 + + + + + + + + + + + + + + + + + + + + + + 101 + + + + + + 5822 + + + + + + 3017 + + + -8 + 62 + 35 + + 162 + 424 + + + + + + -998896073 + 735850714 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3453 + + + + + + 7876 + + + -82 + + + + + + 2097 + + + + 264 + -269 + + + + + + 86161 + 20207 + + + + + + + + + + + + + + + + + + + -68 + + 245 + 247 + + + + + + -172 + 525 + + + + + + + + + + + + + + 206 + 144 + + + + + + -873243 + 1464496 + + + + + + + + + + + + + + + + 58 + 137 + 1 + 25 + + 414 + 181 + + + + + + + + + + IA5 + + 7296 + 1154 + + + 29950376 + 270580409 + 16367 + + 4926 + + + + + + + 0000000001000000 + + + 0000001000000000 + + + + 26482 + +
+ 598135630 + 664850545 + 32186 +
+ 3930 + + + +
+
+
+
+ + IA5S + + 1582 + 46417 + + + -283655839 + -685153664 + 57976 + + 7235 + + + + + + + 0000000100000000 + + + 0000001000000000 + + + + + + + 581272185 + 1108489970 + 9059 + + 20085 + + + + + + + + + -605370079 + 829743521 + + + + + + + + + + + + + + + + + + + -87 + 4 + -167 + + 144 + 239 + + + + + + -605370079 + 829743521 + + + + + + + + + + + + + + + + + + + + + + + + 3517 + + + + -36 + -453 + + + + + + -605370079 + 829743521 + + + + + + + + + + + + + + + + + + + + + + + + 60 + -95 + + 463 + 57 + + + + + + + + + + + IA5 + + 11251 + 41890 + + + 385181606 + 1670812734 + 46812 + + 16153 + + + + + + + 0000001000000000 + + + 0000000001000000 + + + + 6004 + +
+ -509239964 + 772185922 + 9413 +
+ 1224 + + + +
+
+
+
+
+ 15 + 9 + + + + + 599 + + + + + IA5S +
+ + 11 + + + + + + + 634998835 + 313588249 + 50308 + + 0000000001000000 + + + + 4F43 + + + 3481 + 305174 + 24752 + 5 + 10 + + + I + + 44107 + 63537 + + + -419185997 + -533287210 + 51107 + + 25278 + + + + + + + 0000000000001000 + + + 8 + + + + + + + 900792217 + 448269129 + + + + + + + + + + + + + + + + + + + 18 + 9 + 24 + + 225 + -213 + + + + + + 900792217 + 448269129 + + + + + + + + + + + + + + + + + + + + -109 + 83 + + -31 + -482 + + + + + + -1370 + -1581 + + + + + + + + + + + + + + + + + + + + + + + + -121 + + 505 + 348 + + + + + + + + + + IA + + 30031 + 322 + + + -454547095 + 353479827 + 59458 + + 23566 + + + + + + + 0000000000100000 + + + 0000000000000010 + + + + 24321 + +
+ -539150408 + -814772254 + 45059 +
+ 1157 + + + +
+
+
+
+ + IA5St + + 46088 + 60227 + + + -476956537 + 759386724 + 4505 + + 28846 + + + + + + + 0000000000000010 + + + 0010000000000000 + + + + 8084 + +
+ -405703383 + -508985739 + 9512 +
+ 2519 + + + +
+
+
+
+
+ 11 + 23 + + + + + I + + + + + IA5St + + + + + IA5 + + + + + IA5St +
+ + 13 + + + + + 4F43 + + 2776 + 408571 + 15957 + 5 + 6 + + + IA + + 62756 + 63693 + + + 424936826 + -1208779998 + 35858 + + 18563 + + + + + + + 0000000010000000 + + + 0010000000000000 + + + + 17158 + +
+ 442482548 + -804103995 + 43319 +
+ 1951 + + + +
+
+
+
+ + IA5S + + 51032 + 30319 + + + -559743245 + 1697199162 + 46636 + + 5901 + + + + + + + 0000000000000100 + + + 0000001000000000 + + + + 28716 + +
+ 707126893 + -77527193 + 35728 +
+ 3343 + + + +
+
+
+
+ + IA + + 23939 + 26592 + + + -328004279 + 88284632 + 45419 + + 15118 + + + + + + + 0000100000000000 + + + 1000000000000000 + + + + + +
+ 171361070 + 1462406911 + 57912 +
+ 3502 + + + +
+ +
+
+
+
+ 31 + 12 + + + + + 40721 + + + + + 36784 + + + + + IA5S + + + + + IA5 + + + + + 49435 + + + + + IA5S +
+
+
+
+
+
+
+
\ No newline at end of file From 37e5399e5bf73d75fc9088c16ff796246bcae787 Mon Sep 17 00:00:00 2001 From: Ivan Yourshaw <39739503+iyourshaw@users.noreply.github.com> Date: Thu, 5 Dec 2024 10:29:30 -0700 Subject: [PATCH 22/33] Add test for NodeAttributeSetLL. Fix JSON serialization of dElevation and dWidth properties. Fix OdeTimDataCreatorHelperTest data --- .../j2735/common/NodeAttributeSetXY.java | 5 +++ .../NodeAttributeSetLL.java | 5 +++ .../NodeAttributeSetLLTest.java | 38 +++++++++++++++++++ .../OdeTimDataCreatorHelper_TIM_JSON.json | 2 +- scripts/tests/udpsender_tim.py | 4 +- 5 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeSetXY.java index c8ce8ca5b..af3fd9034 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeSetXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeSetXY.java @@ -1,5 +1,6 @@ package us.dot.its.jpo.ode.plugin.j2735.common; +import com.fasterxml.jackson.annotation.JsonProperty; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; @@ -13,6 +14,8 @@ import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; /** + * + * EDITED: Add @JsonProperty annotations to dWidth and dElevation * ******************************************************************************* * @@ -56,9 +59,11 @@ public class NodeAttributeSetXY extends Asn1Sequence { private LaneDataAttributeList data; @Asn1Property(tag = 4, optional = true) @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + @JsonProperty("dWidth") private Offset_B10 dWidth; @Asn1Property(tag = 5, optional = true) @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + @JsonProperty("dElevation") private Offset_B10 dElevation; @Asn1Property(tag = 6, optional = true) private SequenceOfRegional regional; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLL.java index c52a2f41e..37ca7cf0d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLL.java @@ -1,5 +1,6 @@ package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import com.fasterxml.jackson.annotation.JsonProperty; import us.dot.its.jpo.ode.plugin.j2735.common.LaneDataAttributeList; import us.dot.its.jpo.ode.plugin.j2735.common.Offset_B10; import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; @@ -15,6 +16,8 @@ import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; /** + * + * EDITED: Add @JsonProperty annotations to dWidth and dElevation * ******************************************************************************* * @@ -58,9 +61,11 @@ public class NodeAttributeSetLL extends Asn1Sequence { private LaneDataAttributeList data; @Asn1Property(tag = 4, optional = true) @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + @JsonProperty("dWidth") private Offset_B10 dWidth; @Asn1Property(tag = 5, optional = true) @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + @JsonProperty("dElevation") private Offset_B10 dElevation; @Asn1Property(tag = 6, optional = true) private SequenceOfRegional regional; diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java new file mode 100644 index 000000000..21fd63f21 --- /dev/null +++ b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java @@ -0,0 +1,38 @@ +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.jupiter.api.Test; +import us.dot.its.jpo.ode.plugin.j2735.common.Offset_B10; + +import static org.junit.jupiter.api.Assertions.*; + +/** + * Test serializing and deserializing a NodeAttributeSetLL to and from ODE JSON + */ +public class NodeAttributeSetLLTest { + + private final static ObjectMapper mapper = new ObjectMapper(); + + @Test + public void testDeserializeJson_dWidth_dElevation() throws JsonProcessingException { + final NodeAttributeSetLL nasll = mapper.readValue(DWITDH_DELEVATION_ONLY_JSON, NodeAttributeSetLL.class); + assertNotNull(nasll); + final long dElevation = nasll.getDElevation().getValue(); + assertEquals(424, dElevation); + final long dWidth = nasll.getDWidth().getValue(); + assertEquals(162, dWidth); + } + + @Test + public void testSerializeJson_dWidth_dElevation() throws JsonProcessingException { + final var nasll = new NodeAttributeSetLL(); + nasll.setDElevation(new Offset_B10(424L)); + nasll.setDWidth(new Offset_B10(162L)); + final String jsonResult = mapper.writeValueAsString(nasll); + assertEquals(DWITDH_DELEVATION_ONLY_JSON, jsonResult); + } + + private final static String DWITDH_DELEVATION_ONLY_JSON = """ + {"dWidth":162,"dElevation":424}"""; +} diff --git a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json index 60efd713f..0f7dd9c1f 100644 --- a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json +++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json @@ -1 +1 @@ -{"metadata":{"logFileName":"","recordType":"timMsg","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeTimPayload","serialId":{"streamId":"adb022ef-9a97-4aa3-8bab-1fde55b620a1","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-05T10:21:33.228Z","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":[{"notUsed":29,"frameType":"commercialSignage","msgId":{"furtherInfoID":"4F43"},"startYear":425,"startTime":306216,"priority":2,"notUsed1":1,"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,"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,"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,"dwidth":245,"delevation":247}},{"delta":{"node-LL1":{"lon":-172,"lat":525}},"attributes":{"localNode":["closedToTraffic","roundedCapStyleA"],"disabled":["partialCurbIntrusion"],"enabled":["adaptiveTimingPresent"],"dWidth":206,"dElevation":144,"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,"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,"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,"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,"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"}}}}],"notUsed2":15,"notUsed3":9,"content":{"exitService":[{"item":{"itis":599}}]},"url":"IA5S"},{"notUsed":11,"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,"priority":5,"notUsed1":10,"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,"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,"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,"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"}}}}],"notUsed2":11,"notUsed3":23,"content":{"exitService":[{"item":{"text":"I"}},{"item":{"text":"IA5St"}},{"item":{"text":"IA5"}}]},"url":"IA5St"},{"notUsed":13,"frameType":"unknown","msgId":{"furtherInfoID":"4F43"},"startYear":2776,"startTime":408571,"priority":5,"notUsed1":6,"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"}}}}}],"notUsed2":31,"notUsed3":12,"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":"adb022ef-9a97-4aa3-8bab-1fde55b620a1","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-05T10:21:33.228Z","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":[{"notUsed":29,"frameType":"commercialSignage","msgId":{"furtherInfoID":"4F43"},"startYear":425,"startTime":306216,"priority":2,"notUsed1":1,"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"}}}}],"notUsed2":15,"notUsed3":9,"content":{"exitService":[{"item":{"itis":599}}]},"url":"IA5S"},{"notUsed":11,"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,"priority":5,"notUsed1":10,"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"}}}}],"notUsed2":11,"notUsed3":23,"content":{"exitService":[{"item":{"text":"I"}},{"item":{"text":"IA5St"}},{"item":{"text":"IA5"}}]},"url":"IA5St"},{"notUsed":13,"frameType":"unknown","msgId":{"furtherInfoID":"4F43"},"startYear":2776,"startTime":408571,"priority":5,"notUsed1":6,"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"}}}}}],"notUsed2":31,"notUsed3":12,"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/scripts/tests/udpsender_tim.py b/scripts/tests/udpsender_tim.py index 3638e8317..1856766df 100644 --- a/scripts/tests/udpsender_tim.py +++ b/scripts/tests/udpsender_tim.py @@ -10,10 +10,10 @@ #MESSAGE = "005f498718cca69ec1a04600000100105d9b46ec5be401003a0103810040038081d4001f80d07016da410000000000000bbc2b0f775d9b0309c271431fa166ee0a27fff93f136b8205a0a107fb2ef979f4c5bfaeec97e4ad70c2fb36cd9730becdb355cc2fd2a7556b160b98b46ab98ae62c185fa55efb468d5b4000000004e2863f42cddc144ff7980040401262cdd7b809c509f5c62cdd35519c507b9062cdcee129c505cf262cdca5ff9c50432c62cdc5d3d9c502e3e62cdc13e79c501e9262cdbca2d9c5013ee62cdb80359c500e6a62cdb36299c500bc862cdaec1d9c50093c62cdaa2109c5006ea1080203091a859eeebb36006001830001aad27f4ff7580001aad355e39b5880a30029d6585009ef808332d8d9f80c3855151b38c772f765007967ec1170bcb7937f5cb880a25a52863493bcb87570dbcb5abc6bfb2faec606cfa34eb95a24790b2017366d3aabe7729e" # Complex random example (with computed lanes) -#MESSAGE = "001F83A175D472274F43544554205354520A4C16B18193D0D1F9CDF54733FB1BFC0C983FCFC48D24FF97A474B8A754A9112A6F690200192EFCB5FF96D90FA32D4E83FC0C9830B5F5FC150A5059C545235AC20227C697080018815F84759CB3BF452C850424643A30E028544E9C511560A9DD8C2629F0D4470DBB3DDB4316096FC100800809BC746A108C8F26FC4C3208DA0E61091B7429182D3BFC0C98359EA8B4B454C16E606F037AE007A1CDE32000152E6C0ECDF612A90558D403FC049BF003734AC1C240EC930B39E850A7990A808008C033EFC47606FDDFA252B4A9942280C1020C9D818700EC4B4A76680C001D9F981240013111914408214602F8173D850A0D48F09F5D75264929260B5A7D27260B5A65260B56744F43999104E394B5204FF09260B5A7D3E32C5F74A0DB09EA975B8C1724DC92D9201005800092D84A89EF67BC1B27429C710979A5FE0E4C16B4F5EE874A08F2404C40AA60E2A09E79F91602003E5DB0AA9B32A2E0A6F36507F829305ACEE93E6B134C1CCC3C2EF3FA5CB5D02ECE000142002950BD8FB7D02D26BB6CAFCB848BE4A9260B5A7D29260B5A7D19D28125C17566972EA98F7172471344010153D0C21C1D69E158731BFC1C982D69E2E4FEDB544A012D60EDDB5D7569995CCC001CB02000CB8B449E02D39DB1072106F80B79BFC14982D666D178E4A198A3579B12B09915D01723B0000A10002A973AEAF40B82284427D9124DFE024F9230F8DD6AD73490518F80A3B259CF3FC40014001266976FBC88CB08E20EE8AD087EC16463A2B7AC5E62CB83FC9C830B7275F28A3128CDB2491AFF05260B580BDABD3249C784B718EFDC1906727B228001160002B10C89FAF5F0E9BA4F0AC74920F4947402561EBFB6201930424BF9E8112A39CA22519425D8E01001A7A1E0222723B864CB17F849305AD3E92E6884164E2CE7F0A6BD84FE4E38949D300081A01A290029F8111120048308876C910829B04B5148014FC9621814460542FAA24A460FBF82D2CF1A8CE66032A7E6A0807028A04283228610217947C12CE3FFF20CA031F809A2007D242408F0B4510F23D2A2646294D48A41F4F8494C87B58CCFE2983829A707069C17A4BBF23992859B3A528C03ACD3506FF07260B5A7BBA7391E53AAABAA44EA1584A857727A910002C0020391DD0DEDC78D916CBD8D839D52DABDB084919305C975AABA210D2D0CDF7A0ABC1000D3D0D9D071298F916D83FC049B2CFCF26A78A5951B5CC28075CAF1EAC780042808048EB0ADE229537A0161356A3A68175E5809621740382083BEDD5810921240" +MESSAGE = "001F83A175D472274F43544554205354520A4C16B18193D0D1F9CDF54733FB1BFC0C983FCFC48D24FF97A474B8A754A9112A6F690200192EFCB5FF96D90FA32D4E83FC0C9830B5F5FC150A5059C545235AC20227C697080018815F84759CB3BF452C850424643A30E028544E9C511560A9DD8C2629F0D4470DBB3DDB4316096FC100800809BC746A108C8F26FC4C3208DA0E61091B7429182D3BFC0C98359EA8B4B454C16E606F037AE007A1CDE32000152E6C0ECDF612A90558D403FC049BF003734AC1C240EC930B39E850A7990A808008C033EFC47606FDDFA252B4A9942280C1020C9D818700EC4B4A76680C001D9F981240013111914408214602F8173D850A0D48F09F5D75264929260B5A7D27260B5A65260B56744F43999104E394B5204FF09260B5A7D3E32C5F74A0DB09EA975B8C1724DC92D9201005800092D84A89EF67BC1B27429C710979A5FE0E4C16B4F5EE874A08F2404C40AA60E2A09E79F91602003E5DB0AA9B32A2E0A6F36507F829305ACEE93E6B134C1CCC3C2EF3FA5CB5D02ECE000142002950BD8FB7D02D26BB6CAFCB848BE4A9260B5A7D29260B5A7D19D28125C17566972EA98F7172471344010153D0C21C1D69E158731BFC1C982D69E2E4FEDB544A012D60EDDB5D7569995CCC001CB02000CB8B449E02D39DB1072106F80B79BFC14982D666D178E4A198A3579B12B09915D01723B0000A10002A973AEAF40B82284427D9124DFE024F9230F8DD6AD73490518F80A3B259CF3FC40014001266976FBC88CB08E20EE8AD087EC16463A2B7AC5E62CB83FC9C830B7275F28A3128CDB2491AFF05260B580BDABD3249C784B718EFDC1906727B228001160002B10C89FAF5F0E9BA4F0AC74920F4947402561EBFB6201930424BF9E8112A39CA22519425D8E01001A7A1E0222723B864CB17F849305AD3E92E6884164E2CE7F0A6BD84FE4E38949D300081A01A290029F8111120048308876C910829B04B5148014FC9621814460542FAA24A460FBF82D2CF1A8CE66032A7E6A0807028A04283228610217947C12CE3FFF20CA031F809A2007D242408F0B4510F23D2A2646294D48A41F4F8494C87B58CCFE2983829A707069C17A4BBF23992859B3A528C03ACD3506FF07260B5A7BBA7391E53AAABAA44EA1584A857727A910002C0020391DD0DEDC78D916CBD8D839D52DABDB084919305C975AABA210D2D0CDF7A0ABC1000D3D0D9D071298F916D83FC049B2CFCF26A78A5951B5CC28075CAF1EAC780042808048EB0ADE229537A0161356A3A68175E5809621740382083BEDD5810921240" # Complex random example -MESSAGE = "001F830A752544F94F4354455420535452124C16B4FA27D64F431A94AC28F232828FF05260B5CA82DDFB227A687CA09CFDE87C4B0ED1C8800280204A865BB2C265D1E4F5D3A877C07F8093FC3D820142C4EB15C7AC09CE3356F45A90200118358186A148D3F13220B227C18569099E2D1232A28B5F2579208E479151D45D438BEFF80DB0C08CED3F45A50103103102088C1A44A152889AFA7F62218940E831C20F35EA1232777BF31146022C71408809E5EB7BA1D52835D8A040D83367520C4AB397658B07E21393A041060D049E825C15FCF56AFF05260B58E40024126EDBD550F6D519709FDE4CF880201602008CEE4ACA5DE274975513846DD7AD77F839305AD383175AA8A497954C284E668FFE4F0710D80802810030EAC2535BCD6AE047899B1CE75405C8E6936419C672A85F8900C50B428CA3188CA4E1101B485DEE47349B20CE339542FC5654852A1484C9C0A0B6DEBB81DB91CD26C8338CE550BF31188B6041101F08134A407147800DFCF8E5FE0A4C16B2BF3A3A253269429B3B8198F71B71F8C902002C008005DD1174A86649950714134C54C82F4C0012B9C982D69B5BEADBF1C99BEFD660C6A4200201A7A1ECCA540B60B0AA27F8093AC4BF831472A28ECD2E0203575E8F15F5000818817507D68CC505CF4497E8219CA2288A03C81503120AEB852B7507D68CC505CF4497E2121346A090E8061520293D37841E41530E9BF4214E93C326CF8502830F0C081FF9D71FE064C1BAA780A12351A24D300B6FD25F085703880101600022BE028AC1105C1D5CB0F0E001A42F7F849305AD3E9B408EB43464DC861E6234918C8667857300022C400087E511D765E294CF3507435289D7EBBC2849A4982D69F494982D524C16B4FA36827A1D6C31DFDBE55A627F819307EA49F19AA77C773D119EA690CE094883E0100588001E1832A00950E876B85589726EF3EDFE0E4C16B4F8EB0ECDE8A23F3F9E839831CE316170D2000858080178162BF959EDACD55B2CD3721A1EDFE064C1AEC1B3F02442FEC92E119DFAF82D6EC3884002C0004A9FEDD617613A307F791C6D74FB1A27C451F6139305AD394982D582367260B5A6" +#MESSAGE = "001F830A752544F94F4354455420535452124C16B4FA27D64F431A94AC28F232828FF05260B5CA82DDFB227A687CA09CFDE87C4B0ED1C8800280204A865BB2C265D1E4F5D3A877C07F8093FC3D820142C4EB15C7AC09CE3356F45A90200118358186A148D3F13220B227C18569099E2D1232A28B5F2579208E479151D45D438BEFF80DB0C08CED3F45A50103103102088C1A44A152889AFA7F62218940E831C20F35EA1232777BF31146022C71408809E5EB7BA1D52835D8A040D83367520C4AB397658B07E21393A041060D049E825C15FCF56AFF05260B58E40024126EDBD550F6D519709FDE4CF880201602008CEE4ACA5DE274975513846DD7AD77F839305AD383175AA8A497954C284E668FFE4F0710D80802810030EAC2535BCD6AE047899B1CE75405C8E6936419C672A85F8900C50B428CA3188CA4E1101B485DEE47349B20CE339542FC5654852A1484C9C0A0B6DEBB81DB91CD26C8338CE550BF31188B6041101F08134A407147800DFCF8E5FE0A4C16B2BF3A3A253269429B3B8198F71B71F8C902002C008005DD1174A86649950714134C54C82F4C0012B9C982D69B5BEADBF1C99BEFD660C6A4200201A7A1ECCA540B60B0AA27F8093AC4BF831472A28ECD2E0203575E8F15F5000818817507D68CC505CF4497E8219CA2288A03C81503120AEB852B7507D68CC505CF4497E2121346A090E8061520293D37841E41530E9BF4214E93C326CF8502830F0C081FF9D71FE064C1BAA780A12351A24D300B6FD25F085703880101600022BE028AC1105C1D5CB0F0E001A42F7F849305AD3E9B408EB43464DC861E6234918C8667857300022C400087E511D765E294CF3507435289D7EBBC2849A4982D69F494982D524C16B4FA36827A1D6C31DFDBE55A627F819307EA49F19AA77C773D119EA690CE094883E0100588001E1832A00950E876B85589726EF3EDFE0E4C16B4F8EB0ECDE8A23F3F9E839831CE316170D2000858080178162BF959EDACD55B2CD3721A1EDFE064C1AEC1B3F02442FEC92E119DFAF82D6EC3884002C0004A9FEDD617613A307F791C6D74FB1A27C451F6139305AD394982D582367260B5A6" print("UDP target IP:", UDP_IP) print("UDP target port:", UDP_PORT) From f676a6b517cfe720c373049d9085a2c6749c339b Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Thu, 5 Dec 2024 23:35:29 -0700 Subject: [PATCH 23/33] Code styling changes to appease the code styling lords --- .../us/dot/its/jpo/ode/util/XmlUtils.java | 330 +-- .../serialization/BitStringDeserializer.java | 52 +- .../serialization/BitstringSerializer.java | 43 +- .../serialization/BooleanDeserializer.java | 61 +- .../serialization/BooleanSerializer.java | 38 +- .../CharacterStringSerializer.java | 23 +- .../serialization/EnumeratedDeserializer.java | 75 +- .../serialization/EnumeratedSerializer.java | 74 +- .../serialization/IntegerDeserializer.java | 59 +- .../NestedSequenceOfDeserializer.java | 77 +- .../NestedSequenceOfSerializer.java | 78 +- .../serialization/OpenTypeDeserializer.java | 72 +- .../serialization/OpenTypeSerializer.java | 53 +- .../ParameterizedTypeDeserializer.java | 87 +- .../SequenceOfEnumeratedDeserializer.java | 84 +- .../serialization/SerializationUtil.java | 21 +- .../jpo/ode/plugin/types/Asn1Bitstring.java | 258 ++- .../its/jpo/ode/plugin/types/Asn1Boolean.java | 72 +- .../ode/plugin/types/Asn1CharacterString.java | 67 +- .../its/jpo/ode/plugin/types/Asn1Choice.java | 98 +- .../jpo/ode/plugin/types/Asn1Enumerated.java | 13 +- .../its/jpo/ode/plugin/types/Asn1Integer.java | 100 +- .../jpo/ode/plugin/types/Asn1OctetString.java | 11 +- .../jpo/ode/plugin/types/Asn1Sequence.java | 51 +- .../jpo/ode/plugin/types/Asn1SequenceOf.java | 71 +- .../its/jpo/ode/plugin/types/IA5String.java | 8 +- .../its/jpo/ode/plugin/types/UnknownType.java | 1 + .../ode/coder/OdeTimDataCreatorHelper.java | 97 +- .../ode/traveler/TimDepositController.java | 517 +++-- .../OdeTimDataCreatorHelper_TIM_XER.xml | 1974 ++++++++--------- 30 files changed, 2372 insertions(+), 2193 deletions(-) diff --git a/jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java b/jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java index 5e0341fd9..03b007a4d 100644 --- a/jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java +++ b/jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java @@ -26,170 +26,170 @@ import com.fasterxml.jackson.dataformat.xml.XmlMapper.Builder; public class XmlUtils { - public static class XmlUtilsException extends Exception { - - private static final long serialVersionUID = 1L; - - public XmlUtilsException(String string) { - super(string); - } - - public XmlUtilsException(String string, Exception e) { - super(string, e); - } - - } - - private XmlMapper xmlMapper = new XmlMapper(); - private static XmlMapper staticXmlMapper = new XmlMapper(); - - static { - var builder = new Builder(staticXmlMapper); - builder.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - builder.defaultUseWrapper(true); - staticXmlMapper = builder.build(); - } - - public XmlUtils() { - super(); - var builder = new Builder(xmlMapper); - builder.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - builder.defaultUseWrapper(true); - xmlMapper = builder.build(); - } - - public String toXml(Object o) throws JsonProcessingException { - String xml = xmlMapper.writeValueAsString(o); - return xml; - } - - // public static String toXml(Object o) throws XmlUtilsException { - // try { - // JSONObject root = new JSONObject(); - // JSONObject object = new JSONObject(o); - // root.put(o.getClass().getSimpleName(), object); - // return XML.toString(root); - // } catch (JSONException e) { - // throw new XmlUtilsException("Error encoding object to XML", e); - // } - // } - - public Object fromXml(String xml, Class clazz) throws XmlUtilsException { - try { - return xmlMapper.readValue(xml, clazz); - } catch (Exception e) { - throw new XmlUtilsException("Error decoding " + xml + " to " + clazz.getName(), e); - } - } - - /** - * Embeds the arrayNode into an ObjectNode with the given childKey. By default a - * JSON array such as {"parent":[1, 2, 3,]} will be converted to: - * 123. - * This is not often desired as there is no paren object to encompass the array. - * By calling this method given childKey = "child" and arrayNode = [1, 2, 3,], - * method will return {"parent":{"child":[1, 2, 3,]}} which as a result will be - * encoded to - * 123. - * Which is a more representative of the JSON ObjectNode. - * - * @param childKey: The key to be given to the child array object - * @param arrayNode: The array node to be embedded in a ObjectNode - * @return OBjectNode representation of the given arrayNode redy to be converted - * to XML - */ - public static ObjectNode createEmbeddedJsonArrayForXmlConversion(String childKey, JsonNode arrayNode) { - ObjectNode childNode = staticXmlMapper.createObjectNode(); - childNode.set(childKey, arrayNode); - return childNode; - } - - public static String findXmlContentString(String xml, String tagName) { - // Construct the start and end tag strings - String startTag = "<" + tagName + ">"; - String endTag = ""; - - // Find the start index of the start tag - int startIndex = xml.indexOf(startTag); - if (startIndex == -1) { - // Tag not found - return null; - } - - // Find the end index of the end tag, after the start tag - int endIndex = xml.indexOf(endTag, startIndex); - if (endIndex == -1) { - // End tag not found - return null; - } - - // Add the length of the end tag to get the complete end index - endIndex += endTag.length(); - - return xml.substring(startIndex, endIndex); - } - - public static String toXmlStatic(Object o) throws XmlUtilsException { - String xml; - try { - xml = staticXmlMapper.writeValueAsString(o); - } catch (Exception e) { - throw new XmlUtilsException("Error encoding object to XML", e); - } - return xml; - } - - public static Object fromXmlS(String xml, Class clazz) throws XmlUtilsException { - try { - return staticXmlMapper.readValue(xml, clazz); - } catch (Exception e) { - throw new XmlUtilsException("Error decoding " + xml + " to " + clazz.getName(), e); - } - } - - public static ObjectNode toObjectNode(String xml) throws XmlUtilsException { - try { - JSONObject jsonObject = XML.toJSONObject(xml, true); - String jsonString = jsonObject.toString(); - return JsonUtils.toObjectNode(jsonString); - - /* - * Due to issues with XmlMapper converting "xml arrays" to a valid DOM - * collection we could not use it in this context. Hence the above workaround - * was adopted. See: - * https://github.com/FasterXML/jackson-dataformat-xml/issues/187 - * https://github.com/FasterXML/jackson-dataformat-xml/issues/205 - */ - // return (ObjectNode) staticXmlMapper.readTree(xml); - } catch (Exception e) { - throw new XmlUtilsException("Error decoding " + xml + "to ObjectNode", e); - } - } - - public static JSONObject toJSONObject(String xml) throws XmlUtilsException { - try { - return XML.toJSONObject(xml, true); - } catch (Exception e) { - throw new XmlUtilsException("Error decoding " + xml + "to JSONObject", e); - } - } - - public static JsonNode getJsonNode(String tree, String fieldName) throws XmlUtilsException { - JsonNode jsonNode; - try { - jsonNode = staticXmlMapper.readTree(tree); - } catch (Exception e) { - throw new XmlUtilsException("Error getting field name " + fieldName + " from " + tree, e); - } - return jsonNode.get(fieldName); - } - - public XmlMapper getXmlMapper() { - return xmlMapper; - } - - public static XmlMapper getStaticXmlMapper() { - return staticXmlMapper; - } + public static class XmlUtilsException extends Exception { + + private static final long serialVersionUID = 1L; + + public XmlUtilsException(String string) { + super(string); + } + + public XmlUtilsException(String string, Exception e) { + super(string, e); + } + + } + + private XmlMapper xmlMapper = new XmlMapper(); + private static XmlMapper staticXmlMapper = new XmlMapper(); + + static { + var builder = new Builder(staticXmlMapper); + builder.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + builder.defaultUseWrapper(true); + staticXmlMapper = builder.build(); + } + + public XmlUtils() { + super(); + var builder = new Builder(xmlMapper); + builder.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + builder.defaultUseWrapper(true); + xmlMapper = builder.build(); + } + + public String toXml(Object o) throws JsonProcessingException { + String xml = xmlMapper.writeValueAsString(o); + return xml; + } + + // public static String toXml(Object o) throws XmlUtilsException { + // try { + // JSONObject root = new JSONObject(); + // JSONObject object = new JSONObject(o); + // root.put(o.getClass().getSimpleName(), object); + // return XML.toString(root); + // } catch (JSONException e) { + // throw new XmlUtilsException("Error encoding object to XML", e); + // } + // } + + public Object fromXml(String xml, Class clazz) throws XmlUtilsException { + try { + return xmlMapper.readValue(xml, clazz); + } catch (Exception e) { + throw new XmlUtilsException("Error decoding " + xml + " to " + clazz.getName(), e); + } + } + + /** + * Embeds the arrayNode into an ObjectNode with the given childKey. By default a + * JSON array such as {"parent":[1, 2, 3,]} will be converted to: + * 123. + * This is not often desired as there is no paren object to encompass the array. + * By calling this method given childKey = "child" and arrayNode = [1, 2, 3,], + * method will return {"parent":{"child":[1, 2, 3,]}} which as a result will be + * encoded to + * 123. + * Which is a more representative of the JSON ObjectNode. + * + * @param childKey: The key to be given to the child array object + * @param arrayNode: The array node to be embedded in a ObjectNode + * @return OBjectNode representation of the given arrayNode redy to be converted + * to XML + */ + public static ObjectNode createEmbeddedJsonArrayForXmlConversion(String childKey, JsonNode arrayNode) { + ObjectNode childNode = staticXmlMapper.createObjectNode(); + childNode.set(childKey, arrayNode); + return childNode; + } + + public static String findXmlContentString(String xml, String tagName) { + // Construct the start and end tag strings + String startTag = "<" + tagName + ">"; + String endTag = ""; + + // Find the start index of the start tag + int startIndex = xml.indexOf(startTag); + if (startIndex == -1) { + // Tag not found + return null; + } + + // Find the end index of the end tag, after the start tag + int endIndex = xml.indexOf(endTag, startIndex); + if (endIndex == -1) { + // End tag not found + return null; + } + + // Add the length of the end tag to get the complete end index + endIndex += endTag.length(); + + return xml.substring(startIndex, endIndex); + } + + public static String toXmlStatic(Object o) throws XmlUtilsException { + String xml; + try { + xml = staticXmlMapper.writeValueAsString(o); + } catch (Exception e) { + throw new XmlUtilsException("Error encoding object to XML", e); + } + return xml; + } + + public static Object fromXmlS(String xml, Class clazz) throws XmlUtilsException { + try { + return staticXmlMapper.readValue(xml, clazz); + } catch (Exception e) { + throw new XmlUtilsException("Error decoding " + xml + " to " + clazz.getName(), e); + } + } + + public static ObjectNode toObjectNode(String xml) throws XmlUtilsException { + try { + JSONObject jsonObject = XML.toJSONObject(xml, true); + String jsonString = jsonObject.toString(); + return JsonUtils.toObjectNode(jsonString); + + /* + * Due to issues with XmlMapper converting "xml arrays" to a valid DOM + * collection we could not use it in this context. Hence the above workaround + * was adopted. See: + * https://github.com/FasterXML/jackson-dataformat-xml/issues/187 + * https://github.com/FasterXML/jackson-dataformat-xml/issues/205 + */ + // return (ObjectNode) staticXmlMapper.readTree(xml); + } catch (Exception e) { + throw new XmlUtilsException("Error decoding " + xml + "to ObjectNode", e); + } + } + + public static JSONObject toJSONObject(String xml) throws XmlUtilsException { + try { + return XML.toJSONObject(xml, true); + } catch (Exception e) { + throw new XmlUtilsException("Error decoding " + xml + "to JSONObject", e); + } + } + + public static JsonNode getJsonNode(String tree, String fieldName) throws XmlUtilsException { + JsonNode jsonNode; + try { + jsonNode = staticXmlMapper.readTree(tree); + } catch (Exception e) { + throw new XmlUtilsException("Error getting field name " + fieldName + " from " + tree, e); + } + return jsonNode.get(fieldName); + } + + public XmlMapper getXmlMapper() { + return xmlMapper; + } + + public static XmlMapper getStaticXmlMapper() { + return staticXmlMapper; + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitStringDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitStringDeserializer.java index b90f4fee0..21b3a13ae 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitStringDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitStringDeserializer.java @@ -1,47 +1,49 @@ package us.dot.its.jpo.ode.plugin.serialization; -import com.fasterxml.jackson.core.JsonToken; -import com.fasterxml.jackson.core.type.TypeReference; -import us.dot.its.jpo.ode.plugin.types.Asn1Bitstring; import com.fasterxml.jackson.core.JacksonException; import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import com.fasterxml.jackson.dataformat.xml.XmlMapper; - import java.io.IOException; import java.util.Map; +import us.dot.its.jpo.ode.plugin.types.Asn1Bitstring; /** * Deserialize an ASN.1 Bitstring from XER or JER. + * *

Note that this deserializer expects ODE JSON, not standard JER. - * @param The bitstring type + * + * @param The bitstring type. * @author Ivan Yourshaw */ public abstract class BitStringDeserializer extends StdDeserializer { - protected abstract T construct(); + protected abstract T construct(); - protected BitStringDeserializer(Class valueClass) { - super(valueClass); - } + protected BitStringDeserializer(Class valueClass) { + super(valueClass); + } - @Override - public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { - T bitstring = construct(); - if (jsonParser.getCodec() instanceof XmlMapper) { - // XML: binary - String str = jsonParser.getText(); - bitstring.fromBinaryString(str); - } else { - // ODE JSON dialect: read verbose map - TypeReference> boolMapType = new TypeReference<>() {}; - Map map = jsonParser.readValueAs(boolMapType); - for (var keyValue : map.entrySet()) { - bitstring.set(keyValue.getKey(), keyValue.getValue()); - } - } - return bitstring; + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) + throws IOException, JacksonException { + T bitstring = construct(); + if (jsonParser.getCodec() instanceof XmlMapper) { + // XML: binary + String str = jsonParser.getText(); + bitstring.fromBinaryString(str); + } else { + // ODE JSON dialect: read verbose map + TypeReference> boolMapType = new TypeReference<>() { + }; + Map map = jsonParser.readValueAs(boolMapType); + for (var keyValue : map.entrySet()) { + bitstring.set(keyValue.getKey(), keyValue.getValue()); + } } + return bitstring; + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java index 122cb1fa2..b86c73dc4 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BitstringSerializer.java @@ -1,39 +1,40 @@ package us.dot.its.jpo.ode.plugin.serialization; -import us.dot.its.jpo.ode.plugin.types.Asn1Bitstring; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; import com.fasterxml.jackson.dataformat.xml.ser.XmlSerializerProvider; - import java.io.IOException; -import java.util.LinkedHashMap; +import us.dot.its.jpo.ode.plugin.types.Asn1Bitstring; /** * Serializer for ASN.1 Bitstring types to XER or JER + * *

Note that this serializer writes ODE JSON, not standard JER. + * * @author Ivan Yourshaw */ public class BitstringSerializer extends StdSerializer { - protected BitstringSerializer() { - super(Asn1Bitstring.class); - } + protected BitstringSerializer() { + super(Asn1Bitstring.class); + } - @Override - public void serialize(Asn1Bitstring asn1Bitstring, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { - if (serializerProvider instanceof XmlSerializerProvider) { - // XER serializes bitstrings as binary strings - jsonGenerator.writeString(asn1Bitstring.binaryString()); - } else { - // ODE JSON dialect serializes bitstrings as verbose maps - jsonGenerator.writeStartObject(); - for (int i = 0; i < asn1Bitstring.size(); i++) { - String name = asn1Bitstring.name(i); - boolean isSet = asn1Bitstring.get(i); - jsonGenerator.writeBooleanField(name, isSet); - } - jsonGenerator.writeEndObject(); - } + @Override + public void serialize(Asn1Bitstring asn1Bitstring, JsonGenerator jsonGenerator, + SerializerProvider serializerProvider) throws IOException { + if (serializerProvider instanceof XmlSerializerProvider) { + // XER serializes bitstrings as binary strings + jsonGenerator.writeString(asn1Bitstring.binaryString()); + } else { + // ODE JSON dialect serializes bitstrings as verbose maps + jsonGenerator.writeStartObject(); + for (int i = 0; i < asn1Bitstring.size(); i++) { + String name = asn1Bitstring.name(i); + boolean isSet = asn1Bitstring.get(i); + jsonGenerator.writeBooleanField(name, isSet); + } + jsonGenerator.writeEndObject(); } + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanDeserializer.java index 05e37dbb0..a8ad54e6d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanDeserializer.java @@ -1,45 +1,50 @@ package us.dot.its.jpo.ode.plugin.serialization; -import us.dot.its.jpo.ode.plugin.types.Asn1Boolean; import com.fasterxml.jackson.core.JacksonException; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.TreeNode; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import com.fasterxml.jackson.dataformat.xml.XmlMapper; - import java.io.IOException; +import us.dot.its.jpo.ode.plugin.types.Asn1Boolean; -@SuppressWarnings({"unchecked", "rawtypes"}) +/** + * Deserializer for ASN.1 Boolean types to XER or JER + * + * @author Ivan Yourshaw + */ +@SuppressWarnings({ "unchecked" }) public class BooleanDeserializer extends StdDeserializer { - protected Asn1Boolean construct() { - return new Asn1Boolean(); - } + protected Asn1Boolean construct() { + return new Asn1Boolean(); + } - public BooleanDeserializer() { - super(Asn1Boolean.class); - } + public BooleanDeserializer() { + super(Asn1Boolean.class); + } - protected BooleanDeserializer(Class valueType) { - super(Asn1Boolean.class); - } + protected BooleanDeserializer(Class valueType) { + super(Asn1Boolean.class); + } - @Override - public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { - Asn1Boolean result = construct(); - if (jsonParser.getCodec() instanceof XmlMapper) { - // XML: unwrap empty element - TreeNode node = jsonParser.getCodec().readTree(jsonParser); - var iterator = node.fieldNames(); - if (iterator.hasNext()) { - String str = node.fieldNames().next(); - result.setValue(Boolean.parseBoolean(str)); - } - } else { - // JSON - result.setValue(jsonParser.getBooleanValue()); - } - return (T)result; + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) + throws IOException, JacksonException { + Asn1Boolean result = construct(); + if (jsonParser.getCodec() instanceof XmlMapper) { + // XML: unwrap empty element + TreeNode node = jsonParser.getCodec().readTree(jsonParser); + var iterator = node.fieldNames(); + if (iterator.hasNext()) { + String str = node.fieldNames().next(); + result.setValue(Boolean.parseBoolean(str)); + } + } else { + // JSON + result.setValue(jsonParser.getBooleanValue()); } + return (T) result; + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanSerializer.java index 35fe77d62..a4e3b9100 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/BooleanSerializer.java @@ -1,29 +1,35 @@ package us.dot.its.jpo.ode.plugin.serialization; -import us.dot.its.jpo.ode.plugin.types.Asn1Boolean; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; import com.fasterxml.jackson.dataformat.xml.ser.XmlSerializerProvider; - import java.io.IOException; +import us.dot.its.jpo.ode.plugin.types.Asn1Boolean; +/** + * Serializer for ASN.1 Boolean types to XER or JER + * + * @author Ivan Yourshaw + */ public class BooleanSerializer extends StdSerializer { - protected BooleanSerializer() { - super(Asn1Boolean.class); - } + protected BooleanSerializer() { + super(Asn1Boolean.class); + } - @Override - public void serialize(Asn1Boolean asn1Boolean, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { - if (serializerProvider instanceof XmlSerializerProvider) { - // XER uses and for booleans - jsonGenerator.writeStartObject(); - jsonGenerator.writeRaw(String.format("<%s/>", asn1Boolean.getValue())); - jsonGenerator.writeEndObject(); - } else { - // JER - jsonGenerator.writeBoolean(asn1Boolean.getValue()); - } + @Override + public void serialize(Asn1Boolean asn1Boolean, JsonGenerator jsonGenerator, + SerializerProvider serializerProvider) + throws IOException { + if (serializerProvider instanceof XmlSerializerProvider) { + // XER uses and for booleans + jsonGenerator.writeStartObject(); + jsonGenerator.writeRaw(String.format("<%s/>", asn1Boolean.getValue())); + jsonGenerator.writeEndObject(); + } else { + // JER + jsonGenerator.writeBoolean(asn1Boolean.getValue()); } + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/CharacterStringSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/CharacterStringSerializer.java index 7d34858b4..532aa387c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/CharacterStringSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/CharacterStringSerializer.java @@ -1,20 +1,25 @@ package us.dot.its.jpo.ode.plugin.serialization; -import us.dot.its.jpo.ode.plugin.types.Asn1CharacterString; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; - import java.io.IOException; +import us.dot.its.jpo.ode.plugin.types.Asn1CharacterString; +/** + * Serializer for ASN.1 character string types to XER or JER + * + * @author Ivan Yourshaw + */ public class CharacterStringSerializer extends StdSerializer { - protected CharacterStringSerializer() { - super(Asn1CharacterString.class); - } + protected CharacterStringSerializer() { + super(Asn1CharacterString.class); + } - @Override - public void serialize(Asn1CharacterString asn1CharacterString, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { - jsonGenerator.writeString(asn1CharacterString.getValue()); - } + @Override + public void serialize(Asn1CharacterString asn1CharacterString, JsonGenerator jsonGenerator, + SerializerProvider serializerProvider) throws IOException { + jsonGenerator.writeString(asn1CharacterString.getValue()); + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedDeserializer.java index 524feb68c..bcb07ac83 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedDeserializer.java @@ -1,48 +1,55 @@ package us.dot.its.jpo.ode.plugin.serialization; -import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; import com.fasterxml.jackson.core.JacksonException; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.TreeNode; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import com.fasterxml.jackson.dataformat.xml.XmlMapper; - import java.io.IOException; import java.util.Objects; +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; -public abstract class EnumeratedDeserializer & Asn1Enumerated> extends StdDeserializer { - - protected abstract T[] listEnumValues(); - - protected EnumeratedDeserializer(Class valueClass) { - super(valueClass); +/** + * Base class for ENUMERATED value deserializers to produce both XER and JER. + * + * @param The ENUMERATED type + * @author Ivan Yourshaw + */ +public abstract class EnumeratedDeserializer & Asn1Enumerated> + extends StdDeserializer { + + protected abstract T[] listEnumValues(); + + protected EnumeratedDeserializer(Class valueClass) { + super(valueClass); + } + + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) + throws IOException, JacksonException { + String name = null; + if (jsonParser.getCodec() instanceof XmlMapper) { + // XML + // The enum in BASIC-XER is an empty element, so Jackson thinks it's an object + // with a key + // of that name with no value + TreeNode node = jsonParser.getCodec().readTree(jsonParser); + var iterator = node.fieldNames(); + if (iterator.hasNext()) { + name = node.fieldNames().next(); + } + } else { + // JSON + // Behaves normally: The enum name is the text + name = jsonParser.getText(); } - - @Override - public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { - String name = null; - if (jsonParser.getCodec() instanceof XmlMapper) { - // XML - // The enum in BASIC-XER is an empty element, so Jackson thinks it's an object with a key - // of that name with no value - TreeNode node = jsonParser.getCodec().readTree(jsonParser); - var iterator = node.fieldNames(); - if (iterator.hasNext()) { - name = node.fieldNames().next(); - } - } else { - // JSON - // Behaves normally: The enum name is the text - name = jsonParser.getText(); - } - for (T enumValue : listEnumValues()) { - if (Objects.equals(enumValue.getName(), name)) { - return enumValue; - } - } - - - return null; + for (T enumValue : listEnumValues()) { + if (Objects.equals(enumValue.getName(), name)) { + return enumValue; + } } + + return null; + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedSerializer.java index 013cd53d5..dd314cff1 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/EnumeratedSerializer.java @@ -1,53 +1,53 @@ package us.dot.its.jpo.ode.plugin.serialization; -import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; import com.fasterxml.jackson.dataformat.xml.ser.XmlSerializerProvider; - import java.io.IOException; +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; /** - * Base class for ENUMERATED value serializers to produce both XER and JER + * Base class for ENUMERATED value serializers to produce both XER and JER. + * * @param The ENUMERATED type - * TODO: this doesn't need to be generic * @author Ivan Yourshaw */ -@SuppressWarnings({"unchecked", "rawtypes"}) +@SuppressWarnings({ "rawtypes" }) public class EnumeratedSerializer extends StdSerializer { - - protected EnumeratedSerializer(Class t) { - super(t); - } - - @Override - public void serialize(T t, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { - if (serializerProvider instanceof XmlSerializerProvider) { - jsonGenerator.writeStartObject(); - - // - // BASIC-XER's weird way of writing enums. - // - // Ref. ITU-T X.693 (02/2021) Sec. 8.3.7 which says: - // - // The "XMLEnumeratedValue" specified in Rec. ITU-T X.680 | ISO/IEC 8824-1, 20.8, shall only be - // "EmptyElementEnumerated" - // - // and ITU-T X.680 (02/2021) Sec. 20.8 which says: - // - // EmptyElementEnumerated ::= "<" & identifier "/>" - // - jsonGenerator.writeRaw(String.format("<%s/>", t.getName())); - - jsonGenerator.writeEndObject(); - } else { - // - // JER: Just write the enum value as a string like a normal person. - // Does not handle TEXT encoding instructions per X.697 sec 22.2 - // - jsonGenerator.writeString(t.getName()); - } + protected EnumeratedSerializer(Class t) { + super(t); + } + + @Override + public void serialize(T t, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) + throws IOException { + if (serializerProvider instanceof XmlSerializerProvider) { + jsonGenerator.writeStartObject(); + + // + // BASIC-XER's weird way of writing enums. + // + // Ref. ITU-T X.693 (02/2021) Sec. 8.3.7 which says: + // + // The "XMLEnumeratedValue" specified in Rec. ITU-T X.680 | ISO/IEC 8824-1, + // 20.8, shall only be + // "EmptyElementEnumerated" + // + // and ITU-T X.680 (02/2021) Sec. 20.8 which says: + // + // EmptyElementEnumerated ::= "<" & identifier "/>" + // + jsonGenerator.writeRaw(String.format("<%s/>", t.getName())); + + jsonGenerator.writeEndObject(); + } else { + // + // JER: Just write the enum value as a string like a normal person. + // Does not handle TEXT encoding instructions per X.697 sec 22.2 + // + jsonGenerator.writeString(t.getName()); } + } } \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java index 5ccf5f343..72b4639d5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java @@ -1,6 +1,5 @@ package us.dot.its.jpo.ode.plugin.serialization; -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; import com.fasterxml.jackson.core.JacksonException; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.TreeNode; @@ -9,36 +8,44 @@ import com.fasterxml.jackson.databind.node.NumericNode; import com.fasterxml.jackson.databind.node.TextNode; import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser; - import java.io.IOException; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; +/** + * Base class for INTEGER value deserializers to produce both XER and JER. + * + * @param The INTEGER type + * @author Ivan Yourshaw + */ public abstract class IntegerDeserializer extends StdDeserializer { - protected final Class thisClass; - protected abstract T construct(); + protected final Class thisClass; - protected IntegerDeserializer(Class vc) { - super(vc); - this.thisClass = vc; - } + protected abstract T construct(); + + protected IntegerDeserializer(Class vc) { + super(vc); + this.thisClass = vc; + } - @Override - public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { - T result = null; - if (jsonParser instanceof FromXmlParser xmlParser) { - result = construct(); - TreeNode node = xmlParser.getCodec().readTree(xmlParser); - if (node instanceof NumericNode numNode) { - result.setValue(numNode.longValue()); - } else if (node instanceof TextNode textNode) { - // Sometimes happens, since XML values are ambiguous between text and numbers - String textValue = textNode.textValue(); - long value = Long.parseLong(textValue); - result.setValue(value); - } - } else { - result = jsonParser.getCodec().readValue(jsonParser, thisClass); - } - return result; + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) + throws IOException, JacksonException { + T result = null; + if (jsonParser instanceof FromXmlParser xmlParser) { + result = construct(); + TreeNode node = xmlParser.getCodec().readTree(xmlParser); + if (node instanceof NumericNode numNode) { + result.setValue(numNode.longValue()); + } else if (node instanceof TextNode textNode) { + // Sometimes happens, since XML values are ambiguous between text and numbers + String textValue = textNode.textValue(); + long value = Long.parseLong(textValue); + result.setValue(value); + } + } else { + result = jsonParser.getCodec().readValue(jsonParser, thisClass); } + return result; + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfDeserializer.java index 3e97059e0..267ffd5f5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfDeserializer.java @@ -1,6 +1,5 @@ package us.dot.its.jpo.ode.plugin.serialization; -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.core.JacksonException; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.TreeNode; @@ -11,50 +10,54 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser; - import java.io.IOException; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; /** - * Serializer for nested, anonymous SEQUENCE-OF types. Handles XER's way of wrapping these. + * Deserializer for nested, anonymous SEQUENCE-OF types. Handles XER's way of + * wrapping these. + * * @param The Sequence Of type * @author Ivan Yourshaw */ public class NestedSequenceOfDeserializer> extends StdDeserializer { - protected final Class thisClass; - protected final String wrapped; - - protected NestedSequenceOfDeserializer(Class vc, String wrapped) { - super(vc); - this.thisClass = vc; - this.wrapped = wrapped; - } - - @Override - public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { - T result = null; - if (jsonParser instanceof FromXmlParser xmlParser) { - // For XML, we need to remove the wrapper and distinguish between single items and arrays - XmlMapper xmlMapper = (XmlMapper)xmlParser.getCodec(); - TreeNode node = xmlParser.getCodec().readTree(xmlParser); - - if (node instanceof ObjectNode objectNode) { - JsonNode unwrapped = objectNode.findValue(wrapped); - if (unwrapped instanceof ObjectNode unwrappedObject) { - - // Single item not identified as array, so put it in an array - ArrayNode arrayNode = xmlMapper.createArrayNode(); - arrayNode.add(unwrappedObject); - result = xmlMapper.convertValue(arrayNode, thisClass); - - } else if (unwrapped instanceof ArrayNode arrayNode) { - - result = xmlMapper.convertValue(arrayNode, thisClass); - } - } - }else { - result = jsonParser.getCodec().readValue(jsonParser, thisClass); + protected final Class thisClass; + protected final String wrapped; + + protected NestedSequenceOfDeserializer(Class vc, String wrapped) { + super(vc); + this.thisClass = vc; + this.wrapped = wrapped; + } + + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) + throws IOException, JacksonException { + T result = null; + if (jsonParser instanceof FromXmlParser xmlParser) { + // For XML, we need to remove the wrapper and distinguish between single items + // and arrays + XmlMapper xmlMapper = (XmlMapper) xmlParser.getCodec(); + TreeNode node = xmlParser.getCodec().readTree(xmlParser); + + if (node instanceof ObjectNode objectNode) { + JsonNode unwrapped = objectNode.findValue(wrapped); + if (unwrapped instanceof ObjectNode unwrappedObject) { + + // Single item not identified as array, so put it in an array + ArrayNode arrayNode = xmlMapper.createArrayNode(); + arrayNode.add(unwrappedObject); + result = xmlMapper.convertValue(arrayNode, thisClass); + + } else if (unwrapped instanceof ArrayNode arrayNode) { + + result = xmlMapper.convertValue(arrayNode, thisClass); } - return result; + } + } else { + result = jsonParser.getCodec().readValue(jsonParser, thisClass); } + return result; + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfSerializer.java index 4ca05d752..154aafc73 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/NestedSequenceOfSerializer.java @@ -1,55 +1,57 @@ package us.dot.its.jpo.ode.plugin.serialization; -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; import com.fasterxml.jackson.dataformat.xml.ser.XmlSerializerProvider; - -import javax.xml.namespace.QName; import java.io.IOException; +import javax.xml.namespace.QName; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; /** - * Serializer for nested, anonymous SEQUENCT-OF types + * Serializer for nested, anonymous SEQUENCT-OF types. + * * @param The Sequence-of type * @author Ivan Yourshaw */ public class NestedSequenceOfSerializer> extends StdSerializer { - protected final QName wrapped; - - protected NestedSequenceOfSerializer(Class t, String wrapped) { - super(t); - this.wrapped = new QName(wrapped); - } - - @Override - public void serialize(T t, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { - if (serializerProvider instanceof XmlSerializerProvider) { - // Wrapped XER - var xmlGen = (ToXmlGenerator)jsonGenerator; - for (var item : t) { - - xmlGen.writeRaw(String.format("<%s>", wrapped)); - var mapper = SerializationUtil.xmlMapper(); - String itemXml = mapper.writeValueAsString(item); - - // Horrible hack to write the item value without being wrapped by the class name. - // Probably a better way exists, but this works. - String itemClassName = item.getClass().getSimpleName(); - String startElement = String.format("<%s>", itemClassName); - String endElement = String.format("", itemClassName); - String strippedXml = itemXml.replace(startElement, "").replace(endElement, ""); - - xmlGen.writeRaw(strippedXml); - - xmlGen.writeRaw(String.format("", wrapped)); - } - - } else { - // Pass through JER - jsonGenerator.writeObject(t); - } + protected final QName wrapped; + + protected NestedSequenceOfSerializer(Class t, String wrapped) { + super(t); + this.wrapped = new QName(wrapped); + } + + @Override + public void serialize(T t, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) + throws IOException { + if (serializerProvider instanceof XmlSerializerProvider) { + // Wrapped XER + var xmlGen = (ToXmlGenerator) jsonGenerator; + for (var item : t) { + + xmlGen.writeRaw(String.format("<%s>", wrapped)); + var mapper = SerializationUtil.xmlMapper(); + String itemXml = mapper.writeValueAsString(item); + + // Horrible hack to write the item value without being wrapped by the class + // name. + // Probably a better way exists, but this works. + String itemClassName = item.getClass().getSimpleName(); + String startElement = String.format("<%s>", itemClassName); + String endElement = String.format("", itemClassName); + String strippedXml = itemXml.replace(startElement, "").replace(endElement, ""); + + xmlGen.writeRaw(strippedXml); + + xmlGen.writeRaw(String.format("", wrapped)); + } + + } else { + // Pass through JER + jsonGenerator.writeObject(t); } + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeDeserializer.java index 28f93a108..dbae0a082 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeDeserializer.java @@ -1,6 +1,5 @@ package us.dot.its.jpo.ode.plugin.serialization; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; import com.fasterxml.jackson.core.JacksonException; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.TreeNode; @@ -10,45 +9,50 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser; - import java.io.IOException; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; /** - * See description in {@link OpenTypeSerializer} + * See description in {@link OpenTypeSerializer}. + * * @author Ivan Yourshaw */ public abstract class OpenTypeDeserializer extends StdDeserializer { - protected final Class thisClass; - protected final String wrapped; - - protected OpenTypeDeserializer(Class vc, String wrapped) { - super(vc); - thisClass = vc; - this.wrapped = wrapped; - } - - @Override - public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { - T result = null; - if (jsonParser instanceof FromXmlParser xmlParser) { - XmlMapper xmlMapper = (XmlMapper)xmlParser.getCodec(); - TreeNode node = xmlParser.getCodec().readTree(xmlParser); - if (node instanceof ObjectNode objectNode) { - JsonNode unwrapped = objectNode.findValue(wrapped); - - // HACK: serialization annotations are ignored here. - // ideally we would like to just unwrap the original literal xml and pass it through - // but Jackson's XML parser insists on converting everything to JSON, so the original XML is - // not preserved. Specifically, empty elements like are expanded to , - // but the boolean and enumerated deserializers can still handle this. - String unwrappedXml = xmlMapper.writeValueAsString(unwrapped); - - result = xmlMapper.readValue(unwrappedXml, thisClass); - } - } else { - result = jsonParser.getCodec().readValue(jsonParser, thisClass); - } - return result; + protected final Class thisClass; + protected final String wrapped; + + protected OpenTypeDeserializer(Class vc, String wrapped) { + super(vc); + thisClass = vc; + this.wrapped = wrapped; + } + + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) + throws IOException, JacksonException { + T result = null; + if (jsonParser instanceof FromXmlParser xmlParser) { + XmlMapper xmlMapper = (XmlMapper) xmlParser.getCodec(); + TreeNode node = xmlParser.getCodec().readTree(xmlParser); + if (node instanceof ObjectNode objectNode) { + JsonNode unwrapped = objectNode.findValue(wrapped); + + // HACK: serialization annotations are ignored here. + // ideally we would like to just unwrap the original literal xml and pass it + // through + // but Jackson's XML parser insists on converting everything to JSON, so the + // original XML is + // not preserved. Specifically, empty elements like are expanded to + // , + // but the boolean and enumerated deserializers can still handle this. + String unwrappedXml = xmlMapper.writeValueAsString(unwrapped); + + result = xmlMapper.readValue(unwrappedXml, thisClass); + } + } else { + result = jsonParser.getCodec().readValue(jsonParser, thisClass); } + return result; + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeSerializer.java index 5a2d0bfa6..a672b47fc 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeSerializer.java @@ -1,24 +1,25 @@ package us.dot.its.jpo.ode.plugin.serialization; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.ser.std.StdSerializer; import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; import com.fasterxml.jackson.dataformat.xml.ser.XmlSerializerProvider; - -import javax.xml.namespace.QName; import java.io.IOException; +import javax.xml.namespace.QName; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; /** * Serializer for ASN.1 "open types" which are fields without a specific type, * for dealing with parameterized fields with value sets of different types that - * can be plugged in. In this Java implementation these are represented by type parameters + * can be plugged in. In this Java implementation these are represented by type + * parameters * in abstract types. * *

For example, the contents of the "value" field in a J2735 MessageFrame. * *

XER wraps open types with the type name like: + * *

{@code
  *
  *     
@@ -31,9 +32,11 @@
  *     
  *
  *  }
+ * *

See XMLOpenTypeFieldValue: ITU-T Rec. X.681 (02/2021) Section 14.6. * *

JER does not wrap them: + * *

{@code
  *
  *     {
@@ -44,33 +47,35 @@
  *     }
  *
  * }
+ * *

See "Encoding of open type values", ITU-T Rec X.697 (02/2021), Sec 41. * * @author Ivan Yourshaw */ public abstract class OpenTypeSerializer extends StdSerializer { - protected final QName wrapper; - protected final QName wrapped; + protected final QName wrapper; + protected final QName wrapped; - protected OpenTypeSerializer(Class t, String wrapper, String wrapped) { - super(t); - this.wrapper = new QName(wrapper); - this.wrapped = new QName(wrapped); - } - - @Override - public void serialize(T t, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { - if (serializerProvider instanceof XmlSerializerProvider) { - // Wrapped XER - var xmlGen = (ToXmlGenerator)jsonGenerator; - xmlGen.startWrappedValue(wrapper, wrapped); - xmlGen.writeObject(t); - xmlGen.finishWrappedValue(wrapper, wrapped); - } else { - // Pass through JER - jsonGenerator.writeObject(t); - } + protected OpenTypeSerializer(Class t, String wrapper, String wrapped) { + super(t); + this.wrapper = new QName(wrapper); + this.wrapped = new QName(wrapped); + } + @Override + public void serialize(T t, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) + throws IOException { + if (serializerProvider instanceof XmlSerializerProvider) { + // Wrapped XER + var xmlGen = (ToXmlGenerator) jsonGenerator; + xmlGen.startWrappedValue(wrapper, wrapped); + xmlGen.writeObject(t); + xmlGen.finishWrappedValue(wrapper, wrapped); + } else { + // Pass through JER + jsonGenerator.writeObject(t); } + + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/ParameterizedTypeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/ParameterizedTypeDeserializer.java index 72dea516c..fe9a57e63 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/ParameterizedTypeDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/ParameterizedTypeDeserializer.java @@ -1,7 +1,7 @@ package us.dot.its.jpo.ode.plugin.serialization; -import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import static us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType.INTEGER; + import com.fasterxml.jackson.core.JacksonException; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.TreeNode; @@ -9,60 +9,63 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import com.fasterxml.jackson.databind.node.ObjectNode; - import java.io.IOException; - -import static us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType.INTEGER; +import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; /** * Deserialize a parameterized SEQUENCE type. - * Determines the subtype to deserialize to using the {@link Asn1ParameterizedTypes} annotation that + * Determines the subtype to deserialize to using the + * {@link Asn1ParameterizedTypes} annotation that * must be present. * * @param The Sequence Type * * @author Ivan Yourshaw */ -@SuppressWarnings({"unchecked", "rawtypes"}) -public abstract class ParameterizedTypeDeserializer extends StdDeserializer { +@SuppressWarnings({ "unchecked" }) +public abstract class ParameterizedTypeDeserializer + extends StdDeserializer { - protected final Class thisClass; + protected final Class thisClass; - protected ParameterizedTypeDeserializer(Class vc) { - super(vc); - thisClass = vc; - } + protected ParameterizedTypeDeserializer(Class vc) { + super(vc); + thisClass = vc; + } - @Override - public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { - final var typeAnnot = thisClass.getAnnotation(Asn1ParameterizedTypes.class); - if (typeAnnot == null) { - throw new RuntimeException("Missing Asn1ParameterizedTypes annotation."); - } - final String idPropName = typeAnnot.idProperty(); - final Asn1ParameterizedTypes.IdType idType = typeAnnot.idType(); - final Asn1ParameterizedTypes.Type[] types = typeAnnot.value(); - if (types == null || types.length == 0) { - throw new RuntimeException("No Types are defined in the Asn1ParameterizedTypes annotation."); - } - TreeNode node = jsonParser.getCodec().readTree(jsonParser); - if (node instanceof ObjectNode objectNode) { - JsonNode idPropNode = objectNode.findValue(idPropName); - final Object id = (idType == INTEGER) ? idPropNode.asInt() : idPropNode.asText(); - Class subType = getSubtypeForId(id, idType, types); - return (T)jsonParser.getCodec().readValue(jsonParser, subType); - } else { - throw new RuntimeException("Not instance of object"); - } + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) + throws IOException, JacksonException { + final var typeAnnot = thisClass.getAnnotation(Asn1ParameterizedTypes.class); + if (typeAnnot == null) { + throw new RuntimeException("Missing Asn1ParameterizedTypes annotation."); + } + final String idPropName = typeAnnot.idProperty(); + final Asn1ParameterizedTypes.IdType idType = typeAnnot.idType(); + final Asn1ParameterizedTypes.Type[] types = typeAnnot.value(); + if (types == null || types.length == 0) { + throw new RuntimeException("No Types are defined in the Asn1ParameterizedTypes annotation."); + } + TreeNode node = jsonParser.getCodec().readTree(jsonParser); + if (node instanceof ObjectNode objectNode) { + JsonNode idPropNode = objectNode.findValue(idPropName); + final Object id = (idType == INTEGER) ? idPropNode.asInt() : idPropNode.asText(); + Class subType = getSubtypeForId(id, idType, types); + return (T) jsonParser.getCodec().readValue(jsonParser, subType); + } else { + throw new RuntimeException("Not instance of object"); } + } - private Class getSubtypeForId(final Object id, Asn1ParameterizedTypes.IdType idType, Asn1ParameterizedTypes.Type[] types) { - for (var theType : types) { - Object idValue = (idType == INTEGER) ? theType.intId() : theType.stringId(); - if (id.equals(idValue)) { - return theType.value(); - } - } - throw new RuntimeException(String.format("Id %s not found in list of types", id)); + private Class getSubtypeForId(final Object id, Asn1ParameterizedTypes.IdType idType, + Asn1ParameterizedTypes.Type[] types) { + for (var theType : types) { + Object idValue = (idType == INTEGER) ? theType.intId() : theType.stringId(); + if (id.equals(idValue)) { + return theType.value(); + } } + throw new RuntimeException(String.format("Id %s not found in list of types", id)); + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfEnumeratedDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfEnumeratedDeserializer.java index 6b69eb5f8..c798fc5e8 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfEnumeratedDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfEnumeratedDeserializer.java @@ -1,52 +1,60 @@ package us.dot.its.jpo.ode.plugin.serialization; -import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; import com.fasterxml.jackson.core.JacksonException; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.TreeNode; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser; - import java.io.IOException; import java.util.Objects; +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -public abstract class SequenceOfEnumeratedDeserializer & Asn1Enumerated, T extends Asn1SequenceOf> - extends StdDeserializer { - - protected final Class thisClass; - protected final Class enumClass; - protected abstract S[] listEnumValues(); - protected abstract T construct(); - - protected SequenceOfEnumeratedDeserializer(Class sequenceOfEnumType, Class enumType) { - super(sequenceOfEnumType); - this.thisClass = sequenceOfEnumType; - this.enumClass = enumType; - } - - @Override - public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { - T result = null; - if (jsonParser instanceof FromXmlParser xmlParser) { - // Unwrapped enum items - result = construct(); - TreeNode node = xmlParser.getCodec().readTree(xmlParser); - - var fieldNameIterator = node.fieldNames(); - while (fieldNameIterator.hasNext()) { - String name = fieldNameIterator.next(); - - for (S enumValue : listEnumValues()) { - if (Objects.equals(enumValue.getName(), name)) { - result.add(enumValue); - } - } - } - } else { - result = jsonParser.getCodec().readValue(jsonParser, thisClass); +/** + * Base class for deserializers for SEQUENCE-OF ENUMERATED types. + * + * @param The Sequence Of ENUMERATED type. + * @author Ivan Yourshaw + */ +public abstract class SequenceOfEnumeratedDeserializer & Asn1Enumerated, + T extends Asn1SequenceOf> extends StdDeserializer { + + protected final Class thisClass; + protected final Class enumClass; + + protected abstract S[] listEnumValues(); + + protected abstract T construct(); + + protected SequenceOfEnumeratedDeserializer(Class sequenceOfEnumType, Class enumType) { + super(sequenceOfEnumType); + this.thisClass = sequenceOfEnumType; + this.enumClass = enumType; + } + + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) + throws IOException, JacksonException { + T result = null; + if (jsonParser instanceof FromXmlParser xmlParser) { + // Unwrapped enum items + result = construct(); + TreeNode node = xmlParser.getCodec().readTree(xmlParser); + + var fieldNameIterator = node.fieldNames(); + while (fieldNameIterator.hasNext()) { + String name = fieldNameIterator.next(); + + for (S enumValue : listEnumValues()) { + if (Objects.equals(enumValue.getName(), name)) { + result.add(enumValue); + } } - return result; + } + } else { + result = jsonParser.getCodec().readValue(jsonParser, thisClass); } + return result; + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SerializationUtil.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SerializationUtil.java index 8b7cb9f5a..bad8dd867 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SerializationUtil.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SerializationUtil.java @@ -3,16 +3,21 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.xml.XmlMapper; +/** + * Utility class to perform serialization and deserialization with static JSON and XML mappers. + * + * @author Ivan Yourshaw + */ public class SerializationUtil { - private static final ObjectMapper jsonMapper = new ObjectMapper(); - private static final XmlMapper xmlMapper = new XmlMapper(); + private static final ObjectMapper jsonMapper = new ObjectMapper(); + private static final XmlMapper xmlMapper = new XmlMapper(); - public static ObjectMapper jsonMapper() { - return jsonMapper; - } + public static ObjectMapper jsonMapper() { + return jsonMapper; + } - public static XmlMapper xmlMapper() { - return xmlMapper; - } + public static XmlMapper xmlMapper() { + return xmlMapper; + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java index eb0cce231..e14381551 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Bitstring.java @@ -1,135 +1,167 @@ package us.dot.its.jpo.ode.plugin.types; -import com.fasterxml.jackson.annotation.JsonIgnore; -import us.dot.its.jpo.ode.plugin.serialization.BitstringSerializer; +import static us.dot.its.jpo.ode.plugin.utils.BitUtils.reverseBits; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.databind.annotation.JsonSerialize; - import java.util.BitSet; import java.util.HexFormat; -import java.util.LinkedHashMap; -import java.util.Map; - -import static us.dot.its.jpo.ode.plugin.utils.BitUtils.reverseBits; +import us.dot.its.jpo.ode.plugin.serialization.BitstringSerializer; +/** + * Base class for an ASN.1 bitstring. + */ @JsonSerialize(using = BitstringSerializer.class) public abstract class Asn1Bitstring implements Asn1Type { - @JsonIgnore - final BitSet bits; - - @JsonIgnore - final int size; - - @JsonIgnore - final boolean hasExtensionMarker; - - @JsonIgnore - final String[] names; - - public Asn1Bitstring(int size, boolean hasExtensionMarker, String[] names) { - this.size = size; - this.hasExtensionMarker = hasExtensionMarker; - this.bits = new BitSet(size); - this.names = names; - } - - public int size() { - return size; - } - - public boolean hasExtensionMarker() { - return hasExtensionMarker; - } - - public boolean get(int bitIndex) { - return bits.get(bitIndex); + @JsonIgnore + final BitSet bits; + + @JsonIgnore + final int size; + + @JsonIgnore + final boolean hasExtensionMarker; + + @JsonIgnore + final String[] names; + + /** + * Creates a Asn1Bitstring with the specified number of items and name values. + * + * @param size The length of the bitstring. + * @param hasExtensionMarker Presence of any ASN.1 bitstring extension values. + * @param names The String name values corresponding to each bit in the bitstring. + */ + public Asn1Bitstring(int size, boolean hasExtensionMarker, String[] names) { + this.size = size; + this.hasExtensionMarker = hasExtensionMarker; + this.bits = new BitSet(size); + this.names = names; + } + + public int size() { + return size; + } + + public boolean hasExtensionMarker() { + return hasExtensionMarker; + } + + public boolean get(int bitIndex) { + return bits.get(bitIndex); + } + + public void set(int bitIndex, boolean value) { + bits.set(bitIndex, value); + } + + /** + * Set the corresponding bit from the bitstring based on the name value. + * + * @param name The name String value for the corresponding bit in the bitstring. + * @param value The value for the bit to be set. + */ + public void set(String name, boolean value) { + for (int i = 0; i < size; i++) { + if (name(i).equals(name)) { + set(i, value); + return; + } } - - public void set(int bitIndex, boolean value) { - bits.set(bitIndex, value); + throw new IllegalArgumentException("Unknown name " + name); + } + + /** + * Gets the String value of the bitstring represented in binary. + */ + public String binaryString() { + char[] chars = new char[size]; + for (int i = 0; i < size; i++) { + chars[i] = get(i) ? '1' : '0'; } - - public void set(String name, boolean value) { - for (int i = 0; i < size; i++) { - if (name(i).equals(name)) { - set(i, value); - return; - } - } - throw new IllegalArgumentException("Unknown name " + name); - } - - public String binaryString() { - char[] chars = new char[size]; - for (int i = 0; i < size; i++) { - chars[i] = get(i) ? '1' : '0'; - } - return new String(chars); + return new String(chars); + } + + public String hexString() { + HexFormat hex = HexFormat.of(); + return hex.formatHex(reverseBits(bits.toByteArray())); + } + + /** + * Sets the Asn1Bitstring values from a String binary representation of a bitstring. + * + * @param str The bitstring represented in binary. + */ + public void fromBinaryString(String str) { + if (str == null) { + bits.clear(); + return; } - - public String hexString() { - HexFormat hex = HexFormat.of(); - return hex.formatHex(reverseBits(bits.toByteArray())); + char[] chars = str.toCharArray(); + if (chars.length < size) { + throw new IllegalArgumentException("Not enough characters in string " + str); } - - public void fromBinaryString(String str) { - if (str == null) { - bits.clear(); - return; - } - char[] chars = str.toCharArray(); - if (chars.length < size) { - throw new IllegalArgumentException("Not enough characters in string " + str); - } - for (int i = 0; i < size; i++) { - char c = chars[i]; - set(i, c == '1'); - } + for (int i = 0; i < size; i++) { + char c = chars[i]; + set(i, c == '1'); } - - public void fromHexString(String str) { - System.out.println(str); - if (str == null) { - bits.clear(); - return; - } - HexFormat hex = HexFormat.of(); - byte[] bytes = reverseBits(hex.parseHex(str)); - System.out.println(bytes.length); - BitSet newBits = BitSet.valueOf(bytes); - System.out.println(newBits); - - bits.clear(); - bits.or(newBits); - System.out.println(binaryString()); + } + + /** + * Sets the Asn1Bitstring values from a String hex representation of a bitstring. + * + * @param str The bitstring represented in hex. + */ + public void fromHexString(String str) { + System.out.println(str); + if (str == null) { + bits.clear(); + return; } - - public String name(int index) { - if (index < 0 || index >= size()) { - throw new IllegalArgumentException(String.format("Index %s out of range %s-%s", index, 0, size())); - } - return names[index]; + HexFormat hex = HexFormat.of(); + byte[] bytes = reverseBits(hex.parseHex(str)); + System.out.println(bytes.length); + BitSet newBits = BitSet.valueOf(bytes); + System.out.println(newBits); + + bits.clear(); + bits.or(newBits); + System.out.println(binaryString()); + } + + /** + * Get the name representing the requested index. + * + * @param index The index value of the bitstring being requested. + */ + public String name(int index) { + if (index < 0 || index >= size()) { + throw new IllegalArgumentException( + String.format("Index %s out of range %s-%s", index, 0, size())); } - - @Override - public int hashCode() { - return bits.hashCode(); + return names[index]; + } + + @Override + public int hashCode() { + return bits.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if (obj == null) { + return false; } - - @Override - public boolean equals(Object obj) { - if (obj == null) return false; - if (obj instanceof Asn1Bitstring bitstring) { - return bits.equals(bitstring.bits); - } else { - return false; - } + if (obj instanceof Asn1Bitstring bitstring) { + return bits.equals(bitstring.bits); + } else { + return false; } + } - @Override - public String toString() { - return binaryString(); - } + @Override + public String toString() { + return binaryString(); + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Boolean.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Boolean.java index f20dd969a..371845a5c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Boolean.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Boolean.java @@ -1,55 +1,59 @@ package us.dot.its.jpo.ode.plugin.types; -import us.dot.its.jpo.ode.plugin.serialization.BooleanDeserializer; -import us.dot.its.jpo.ode.plugin.serialization.BooleanSerializer; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; - import java.util.Objects; +import us.dot.its.jpo.ode.plugin.serialization.BooleanDeserializer; +import us.dot.its.jpo.ode.plugin.serialization.BooleanSerializer; - - +/** + * Class representing an ASN.1 boolean. + */ @JsonSerialize(using = BooleanSerializer.class) @JsonDeserialize(using = BooleanDeserializer.class) public class Asn1Boolean implements Asn1Type { - public Asn1Boolean() {} + public Asn1Boolean() { + } - @JsonCreator - public Asn1Boolean(boolean value) { - this.value = value; - } + @JsonCreator + public Asn1Boolean(boolean value) { + this.value = value; + } - private boolean value; + private boolean value; - @JsonValue - public boolean getValue() { - return value; - } + @JsonValue + public boolean getValue() { + return value; + } - public void setValue(boolean value) { - this.value = value; - } + public void setValue(boolean value) { + this.value = value; + } - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - Asn1Boolean that = (Asn1Boolean) o; - return value == that.value; + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hashCode(value); + if (o == null || getClass() != o.getClass()) { + return false; } - - @Override - public String toString() { - return Boolean.toString(value); - } - + Asn1Boolean that = (Asn1Boolean) o; + return value == that.value; + } + + @Override + public int hashCode() { + return Objects.hashCode(value); + } + + @Override + public String toString() { + return Boolean.toString(value); + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1CharacterString.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1CharacterString.java index 095a00cc8..7249096ac 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1CharacterString.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1CharacterString.java @@ -2,40 +2,49 @@ import com.fasterxml.jackson.annotation.JsonValue; -//@JsonSerialize(using = CharacterStringSerializer.class) +/** + * Base class for an ASN.1 character string. + */ public abstract class Asn1CharacterString implements Asn1Type { - protected final int minLength; - protected final int maxLength; - protected String value; - - public Asn1CharacterString(int minLength, int maxLength) { - this.minLength = minLength; - this.maxLength = maxLength; - } - - @JsonValue - public String getValue() { - return value; + protected final int minLength; + protected final int maxLength; + protected String value; + + public Asn1CharacterString(int minLength, int maxLength) { + this.minLength = minLength; + this.maxLength = maxLength; + } + + @JsonValue + public String getValue() { + return value; + } + + /** + * Sets the character string to value. + * + * @param value The String value that the Asn1CharacterString will be set to. + */ + public void setValue(String value) { + if (!validate(value)) { + throw new IllegalArgumentException( + String.format("String '%s' has invalid length. Must be between %d and %s", + value, minLength, maxLength)); } + this.value = value; + } - public void setValue(String value) { - if (!validate(value)) { - throw new IllegalArgumentException( - String.format("String '%s' has invalid length. Must be between %d and %s", - value, minLength, maxLength)); - } - this.value = value; + protected boolean validate(String valueA) { + if (valueA == null) { + return true; } + return valueA.length() >= minLength && valueA.length() <= maxLength; + } - protected boolean validate(String aValue) { - if (aValue == null) return true; - return aValue.length() >= minLength && aValue.length() <= maxLength; - } - - @Override - public String toString() { - return value; - } + @Override + public String toString() { + return value; + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java index f6805baaa..a9fab258d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java @@ -1,62 +1,62 @@ package us.dot.its.jpo.ode.plugin.types; -import com.fasterxml.jackson.annotation.JsonIgnore; -import us.dot.its.jpo.ode.plugin.serialization.SerializationUtil; - import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.List; import java.util.Optional; +import us.dot.its.jpo.ode.plugin.serialization.SerializationUtil; +/** + * Base class for an ASN.1 choice. + */ public abstract class Asn1Choice implements Asn1Type { - @JsonIgnore - final boolean hasExtensionMarker; - - public Asn1Choice(boolean hasExtensionMarker) { - this.hasExtensionMarker = hasExtensionMarker; - } - - /** - * Validates if one and only one option is selected for the choice - */ - protected boolean isValid() { - var types = listTypes(); - long numChosen = types.stream().filter(Optional::isPresent).count(); - return numChosen == 1; + @JsonIgnore + final boolean hasExtensionMarker; + + public Asn1Choice(boolean hasExtensionMarker) { + this.hasExtensionMarker = hasExtensionMarker; + } + + /** + * Validates if one and only one option is selected for the choice. + */ + protected boolean isValid() { + var types = listTypes(); + long numChosen = types.stream().filter(Optional::isPresent).count(); + return numChosen == 1; + } + + /** + * Ref ITU-T X.691 (02/2021) Section 23. + * + * @return the index of the chosen alternative + */ + protected int chosenIndex() { + List> types = listTypes(); + for (int i = 0; i < types.size(); i++) { + if (types.get(i).isPresent()) { + return i; + } } - - /** - * Ref ITU-T X.691 (02/2021) Section 23 - * @return the index of the chosen alternative - */ - protected int chosenIndex() { - List> types = listTypes(); - for (int i = 0; i < types.size(); i++) { - if (types.get(i).isPresent()) return i; - } - return -1; - } - - protected int maxIndex() { - return listTypes().size() - 1; - } - - abstract protected List> listTypes(); - - - - - @Override - public String toString() { - ObjectMapper mapper = SerializationUtil.jsonMapper(); - try { - return mapper.writeValueAsString(this); - } catch (JsonProcessingException e) { - System.err.println(e.getMessage()); - return ""; - } + return -1; + } + + protected int maxIndex() { + return listTypes().size() - 1; + } + + protected abstract List> listTypes(); + + @Override + public String toString() { + ObjectMapper mapper = SerializationUtil.jsonMapper(); + try { + return mapper.writeValueAsString(this); + } catch (JsonProcessingException e) { + System.err.println(e.getMessage()); + return ""; } + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Enumerated.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Enumerated.java index 6257707b3..0728eecb6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Enumerated.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Enumerated.java @@ -1,10 +1,15 @@ package us.dot.its.jpo.ode.plugin.types; +/** + * Class for an ASN.1 enumerated object. + */ public interface Asn1Enumerated extends Asn1Type { - int getIndex(); - String getName(); - boolean hasExtensionMarker(); - int maxIndex(); + int getIndex(); + String getName(); + + boolean hasExtensionMarker(); + + int maxIndex(); } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java index c3ef31ccb..b27348b93 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Integer.java @@ -2,72 +2,76 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonValue; - import java.util.Objects; /** * A constrained integer type with lower bound and upper bound. - * Unconstrained integer types and extensibility markers in integer constraints are not supported. + * Unconstrained integer types and extensibility markers in integer constraints + * are not supported. */ -//@JsonSerialize(using = IntegerSerializer.class) public class Asn1Integer implements Asn1Type, Comparable { - protected long value; + protected long value; - @JsonIgnore - final long lowerBound; + @JsonIgnore + final long lowerBound; - @JsonIgnore - final long upperBound; + @JsonIgnore + final long upperBound; - public Asn1Integer(long lowerBound, long upperBound) { - this.lowerBound = lowerBound; - this.upperBound = upperBound; - } + public Asn1Integer(long lowerBound, long upperBound) { + this.lowerBound = lowerBound; + this.upperBound = upperBound; + } - @JsonValue - public long getValue() { - return value; - } + @JsonValue + public long getValue() { + return value; + } - public void setValue(long value) { - this.value = value; - } + public void setValue(long value) { + this.value = value; + } - public int intValue() { - return (int)value; - } + public int intValue() { + return (int) value; + } - @Override - public int compareTo(Asn1Integer other) { - if (other == null) return -1; - return Long.compare(value, other.value); + @Override + public int compareTo(Asn1Integer other) { + if (other == null) { + return -1; } + return Long.compare(value, other.value); + } - public long getLowerBound() { - return lowerBound; - } - - public long getUpperBound() { - return upperBound; - } + public long getLowerBound() { + return lowerBound; + } + public long getUpperBound() { + return upperBound; + } - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - Asn1Integer that = (Asn1Integer) o; - return value == that.value; + @Override + public boolean equals(Object o) { + if (this == o) { + return true; } - - @Override - public int hashCode() { - return Objects.hashCode(value); - } - - @Override - public String toString() { - return Long.toString(value); + if (o == null || getClass() != o.getClass()) { + return false; } + Asn1Integer that = (Asn1Integer) o; + return value == that.value; + } + + @Override + public int hashCode() { + return Objects.hashCode(value); + } + + @Override + public String toString() { + return Long.toString(value); + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1OctetString.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1OctetString.java index 14081d391..927eff5af 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1OctetString.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1OctetString.java @@ -1,11 +1,12 @@ package us.dot.its.jpo.ode.plugin.types; +/** + * Class for an ASN.1 octet string. + */ public class Asn1OctetString extends Asn1CharacterString { - public Asn1OctetString(int minLength, int maxLength) { - super(minLength, maxLength); - } - - + public Asn1OctetString(int minLength, int maxLength) { + super(minLength, maxLength); + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java index 0f0d49a50..ce18cfcfa 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Sequence.java @@ -1,36 +1,35 @@ package us.dot.its.jpo.ode.plugin.types; -import com.fasterxml.jackson.annotation.JsonIgnore; -import us.dot.its.jpo.ode.plugin.serialization.SerializationUtil; - import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import us.dot.its.jpo.ode.plugin.serialization.SerializationUtil; +/** + * Base class for an ASN.1 sequence. + */ public abstract class Asn1Sequence implements Asn1Type { - @JsonIgnore - final boolean extensionMarker; - - public Asn1Sequence(boolean hasExtensionMarker) { - this.extensionMarker = hasExtensionMarker; - } - - @JsonIgnore - public boolean hasExtensionMarker() { - return extensionMarker; - } - - - - @Override - public String toString() { - ObjectMapper mapper = SerializationUtil.jsonMapper(); - try { - return mapper.writeValueAsString(this); - } catch (JsonProcessingException e) { - System.err.println(e.getMessage()); - return ""; - } + @JsonIgnore + final boolean extensionMarker; + + public Asn1Sequence(boolean hasExtensionMarker) { + this.extensionMarker = hasExtensionMarker; + } + + @JsonIgnore + public boolean hasExtensionMarker() { + return extensionMarker; + } + + @Override + public String toString() { + ObjectMapper mapper = SerializationUtil.jsonMapper(); + try { + return mapper.writeValueAsString(this); + } catch (JsonProcessingException e) { + System.err.println(e.getMessage()); + return ""; } + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1SequenceOf.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1SequenceOf.java index 703fa802f..96d6f1d13 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1SequenceOf.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1SequenceOf.java @@ -1,41 +1,50 @@ package us.dot.its.jpo.ode.plugin.types; import com.fasterxml.jackson.annotation.JsonIgnore; - import java.util.ArrayList; - +/** + * Base class for an ASN.1 sequence-of. + */ public abstract class Asn1SequenceOf extends ArrayList implements Asn1Type { - final Class itemClass; - final long sizeLowerBound; - final long sizeUpperBound; - - public Asn1SequenceOf(Class itemClass, long sizeLowerBound, long sizeUpperBound) { - this.itemClass = itemClass; - this.sizeLowerBound = sizeLowerBound; - this.sizeUpperBound = sizeUpperBound; - } - - @JsonIgnore - public Class getItemClass() { - return itemClass; - } - - @JsonIgnore - public long getSizeLowerBound() { - return sizeLowerBound; - } - - @JsonIgnore - public long getSizeUpperBound() { - return sizeUpperBound; - } - - @SuppressWarnings("unchecked") - public boolean add(Asn1Type item) { - return super.add((T)item); - } + final Class itemClass; + final long sizeLowerBound; + final long sizeUpperBound; + + /** + * Creates a Asn1SequenceOf with the specified generic object type along with + * an upper and lower number of items in the sequence-of array. + * + * @param itemClass The type of object the SequenceOf consists of. + * @param sizeLowerBound The lowest allowed number of items inside the Asn1SequenceOf array. + * @param sizeUpperBound The highest allowed number of items inside the Asn1SequenceOf array. + */ + public Asn1SequenceOf(Class itemClass, long sizeLowerBound, long sizeUpperBound) { + this.itemClass = itemClass; + this.sizeLowerBound = sizeLowerBound; + this.sizeUpperBound = sizeUpperBound; + } + + @JsonIgnore + public Class getItemClass() { + return itemClass; + } + + @JsonIgnore + public long getSizeLowerBound() { + return sizeLowerBound; + } + + @JsonIgnore + public long getSizeUpperBound() { + return sizeUpperBound; + } + + @SuppressWarnings("unchecked") + public boolean add(Asn1Type item) { + return super.add((T) item); + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/IA5String.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/IA5String.java index 54a4d3834..11f549558 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/IA5String.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/IA5String.java @@ -6,10 +6,8 @@ */ public class IA5String extends Asn1CharacterString { - - public IA5String(int minLength, int maxLength) { - super(minLength, maxLength); - } - + public IA5String(int minLength, int maxLength) { + super(minLength, maxLength); + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/UnknownType.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/UnknownType.java index 101408f14..3152fc04c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/UnknownType.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/UnknownType.java @@ -3,6 +3,7 @@ /** * Placeholder for unknown types in the generated source. * If classes of this type exist, it means the ASN.1 specification has an unsupported feature. + * * @author Ivan Yourshaw */ public class UnknownType implements Asn1Type { diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java index 3e9c440fa..08cc320a5 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java @@ -1,12 +1,10 @@ package us.dot.its.jpo.ode.coder; -import java.io.IOException; - import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; - +import java.io.IOException; import us.dot.its.jpo.ode.context.AppContext; import us.dot.its.jpo.ode.model.OdeMsgMetadata; import us.dot.its.jpo.ode.model.OdeTimData; @@ -19,48 +17,69 @@ import us.dot.its.jpo.ode.util.XmlUtils; import us.dot.its.jpo.ode.util.XmlUtils.XmlUtilsException; +/** + * Helper class for deserializing TIM messages in XML/XER format into POJOs. + */ public class OdeTimDataCreatorHelper { - public static OdeTimData createOdeTimDataFromDecoded(String consumedData) throws XmlUtilsException { - ObjectNode consumed = XmlUtils.toObjectNode(consumedData); + /** + * Deserializes XML/XER from the UDP decoded pipeline. + * + * @param consumedData The XML/XER as a String. + */ + public static OdeTimData createOdeTimDataFromDecoded(String consumedData) + throws XmlUtilsException { + ObjectNode consumed = XmlUtils.toObjectNode(consumedData); - JsonNode metadataNode = consumed.findValue(AppContext.METADATA_STRING); - if (metadataNode instanceof ObjectNode) { - ObjectNode object = (ObjectNode) metadataNode; - object.remove(AppContext.ENCODINGS_STRING); + JsonNode metadataNode = consumed.findValue(AppContext.METADATA_STRING); + if (metadataNode instanceof ObjectNode) { + ObjectNode object = (ObjectNode) metadataNode; + object.remove(AppContext.ENCODINGS_STRING); - // Map header file does not have a location and use predefined set required - // RxSource - ReceivedMessageDetails receivedMessageDetails = new ReceivedMessageDetails(); - receivedMessageDetails.setRxSource(RxSource.NA); - ObjectMapper objectMapper = new ObjectMapper(); - JsonNode jsonNode; - try { - jsonNode = objectMapper.readTree(receivedMessageDetails.toJson()); - object.set(AppContext.RECEIVEDMSGDETAILS_STRING, jsonNode); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } + // Map header file does not have a location and use predefined set required + // RxSource + ReceivedMessageDetails receivedMessageDetails = new ReceivedMessageDetails(); + receivedMessageDetails.setRxSource(RxSource.NA); + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode jsonNode; + try { + jsonNode = objectMapper.readTree(receivedMessageDetails.toJson()); + object.set(AppContext.RECEIVEDMSGDETAILS_STRING, jsonNode); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } - OdeTimMetadata metadata = (OdeTimMetadata) JsonUtils.fromJson(metadataNode.toString(), OdeTimMetadata.class); + OdeTimMetadata metadata = (OdeTimMetadata) JsonUtils.fromJson(metadataNode.toString(), + OdeTimMetadata.class); - if (metadata.getSchemaVersion() <= 4) { - metadata.setReceivedMessageDetails(null); - } + if (metadata.getSchemaVersion() <= 4) { + metadata.setReceivedMessageDetails(null); + } - String travelerInformationXml = XmlUtils.findXmlContentString(consumedData, "TravelerInformation"); - TravelerInformation timObject = (TravelerInformation)XmlUtils.fromXmlS(travelerInformationXml, TravelerInformation.class); - OdeTimPayload payload = new OdeTimPayload(timObject); - return new OdeTimData(metadata, payload); - } + String travelerInformationXml = XmlUtils.findXmlContentString(consumedData, + "TravelerInformation"); + TravelerInformation timObject = (TravelerInformation) XmlUtils.fromXmlS(travelerInformationXml, + TravelerInformation.class); + OdeTimPayload payload = new OdeTimPayload(timObject); + return new OdeTimData(metadata, payload); + } - public static OdeTimData createOdeTimDataFromCreator(String consumedData, OdeMsgMetadata metadata) throws XmlUtilsException { - String travelerInformationXml = XmlUtils.findXmlContentString(consumedData, "TravelerInformation"); - TravelerInformation timObject = (TravelerInformation)XmlUtils.fromXmlS(travelerInformationXml, TravelerInformation.class); - OdeTimPayload payload = new OdeTimPayload(timObject); - return new OdeTimData(metadata, payload); - } + /** + * Deserializes XML/XER from the TIM creator endpoint. + * + * @param consumedData The XML/XER as a String. + * @param metadata The pre-built ODE metadata object with unique TIM creator data. + */ + public static OdeTimData createOdeTimDataFromCreator(String consumedData, OdeMsgMetadata metadata) + throws XmlUtilsException { + String travelerInformationXml = XmlUtils.findXmlContentString(consumedData, + "TravelerInformation"); + TravelerInformation timObject = (TravelerInformation) XmlUtils.fromXmlS(travelerInformationXml, + TravelerInformation.class); + OdeTimPayload payload = new OdeTimPayload(timObject); + return new OdeTimData(metadata, payload); + } } diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimDepositController.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimDepositController.java index b2726e389..76071de23 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimDepositController.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/traveler/TimDepositController.java @@ -1,34 +1,49 @@ /******************************************************************************* * 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.traveler; import com.fasterxml.jackson.databind.node.ObjectNode; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.format.DateTimeParseException; +import java.util.Date; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; - +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; import us.dot.its.jpo.ode.coder.OdeTimDataCreatorHelper; +import us.dot.its.jpo.ode.kafka.OdeKafkaProperties; import us.dot.its.jpo.ode.kafka.topics.Asn1CoderTopics; import us.dot.its.jpo.ode.kafka.topics.JsonTopics; -import us.dot.its.jpo.ode.kafka.OdeKafkaProperties; import us.dot.its.jpo.ode.kafka.topics.PojoTopics; import us.dot.its.jpo.ode.model.OdeMsgMetadata.GeneratedBy; -import us.dot.its.jpo.ode.model.*; +import us.dot.its.jpo.ode.model.OdeMsgPayload; +import us.dot.its.jpo.ode.model.OdeObject; +import us.dot.its.jpo.ode.model.OdeRequestMsgMetadata; +import us.dot.its.jpo.ode.model.OdeTimData; +import us.dot.its.jpo.ode.model.OdeTravelerInputData; +import us.dot.its.jpo.ode.model.SerialId; import us.dot.its.jpo.ode.plugin.ServiceRequest; import us.dot.its.jpo.ode.plugin.ServiceRequest.OdeInternal; import us.dot.its.jpo.ode.plugin.ServiceRequest.OdeInternal.RequestVerb; @@ -45,269 +60,289 @@ import us.dot.its.jpo.ode.wrapper.MessageProducer; import us.dot.its.jpo.ode.wrapper.serdes.OdeTimSerializer; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.time.format.DateTimeParseException; -import java.util.Date; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; - +/** + * The REST controller for handling TIM creation requests. + */ @RestController @Slf4j public class TimDepositController { - private static final TimIngestTracker INGEST_MONITOR = TimIngestTracker.getInstance(); + private static final TimIngestTracker INGEST_MONITOR = TimIngestTracker.getInstance(); - private static final String ERRSTR = "error"; - private static final String WARNING = "warning"; - private static final String SUCCESS = "success"; + private static final String ERRSTR = "error"; + private static final String WARNING = "warning"; + private static final String SUCCESS = "success"; - private final Asn1CoderTopics asn1CoderTopics; - private final PojoTopics pojoTopics; - private final JsonTopics jsonTopics; + private final Asn1CoderTopics asn1CoderTopics; + private final PojoTopics pojoTopics; + private final JsonTopics jsonTopics; - private final SerialId serialIdJ2735; - private final SerialId serialIdOde; + private final SerialId serialIdJ2735; + private final SerialId serialIdOde; - private final MessageProducer stringMsgProducer; - private final MessageProducer timProducer; + private final MessageProducer stringMsgProducer; + private final MessageProducer timProducer; - private final boolean dataSigningEnabledSDW; + private final boolean dataSigningEnabledSDW; - public static class TimDepositControllerException extends Exception { + /** + * Unique exception for the TimDepositController to handle error state responses to the client. + */ + public static class TimDepositControllerException extends Exception { - private static final long serialVersionUID = 1L; - - public TimDepositControllerException(String errMsg) { - super(errMsg); - } + private static final long serialVersionUID = 1L; + public TimDepositControllerException(String errMsg) { + super(errMsg); } - @Autowired - public TimDepositController(OdeKafkaProperties odeKafkaProperties, - Asn1CoderTopics asn1CoderTopics, - PojoTopics pojoTopics, - JsonTopics jsonTopics, - TimIngestTrackerProperties ingestTrackerProperties, - SecurityServicesProperties securityServicesProperties) { - super(); - - this.asn1CoderTopics = asn1CoderTopics; - this.pojoTopics = pojoTopics; - this.jsonTopics = jsonTopics; - this.serialIdJ2735 = new SerialId(); - this.serialIdOde = new SerialId(); - - this.stringMsgProducer = MessageProducer.defaultStringMessageProducer(odeKafkaProperties.getBrokers(), - odeKafkaProperties.getKafkaType(), odeKafkaProperties.getDisabledTopics()); - this.timProducer = new MessageProducer<>(odeKafkaProperties.getBrokers(), odeKafkaProperties.getKafkaType(), - null, OdeTimSerializer.class.getName(), odeKafkaProperties.getDisabledTopics()); - - this.dataSigningEnabledSDW = securityServicesProperties.getIsSdwSigningEnabled(); - - // start the TIM ingest monitoring service if enabled - if (ingestTrackerProperties.isTrackingEnabled()) { - log.info("TIM ingest monitoring enabled."); - - ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor(); - - scheduledExecutorService.scheduleAtFixedRate( - new TimIngestWatcher(ingestTrackerProperties.getInterval()), - ingestTrackerProperties.getInterval(), - ingestTrackerProperties.getInterval(), - java.util.concurrent.TimeUnit.SECONDS); - } else { - log.info("TIM ingest monitoring disabled."); - } + } + + /** + * Spring Autowired constructor for the REST controller to properly initialize. + */ + @Autowired + public TimDepositController(OdeKafkaProperties odeKafkaProperties, + Asn1CoderTopics asn1CoderTopics, + PojoTopics pojoTopics, + JsonTopics jsonTopics, + TimIngestTrackerProperties ingestTrackerProperties, + SecurityServicesProperties securityServicesProperties) { + super(); + + this.asn1CoderTopics = asn1CoderTopics; + this.pojoTopics = pojoTopics; + this.jsonTopics = jsonTopics; + this.serialIdJ2735 = new SerialId(); + this.serialIdOde = new SerialId(); + + this.stringMsgProducer = MessageProducer.defaultStringMessageProducer( + odeKafkaProperties.getBrokers(), odeKafkaProperties.getKafkaType(), + odeKafkaProperties.getDisabledTopics()); + this.timProducer = new MessageProducer<>(odeKafkaProperties.getBrokers(), + odeKafkaProperties.getKafkaType(), null, + OdeTimSerializer.class.getName(), odeKafkaProperties.getDisabledTopics()); + + this.dataSigningEnabledSDW = securityServicesProperties.getIsSdwSigningEnabled(); + + // start the TIM ingest monitoring service if enabled + if (ingestTrackerProperties.isTrackingEnabled()) { + log.info("TIM ingest monitoring enabled."); + + ScheduledExecutorService scheduledExecutorService = Executors + .newSingleThreadScheduledExecutor(); + + scheduledExecutorService.scheduleAtFixedRate( + new TimIngestWatcher(ingestTrackerProperties.getInterval()), + ingestTrackerProperties.getInterval(), + ingestTrackerProperties.getInterval(), + java.util.concurrent.TimeUnit.SECONDS); + } else { + log.info("TIM ingest monitoring disabled."); + } + } + + /** + * Send a TIM with the appropriate deposit type, ODE.PUT or ODE.POST + * + * @param jsonString The value of the JSON message + * @param verb The HTTP verb being requested + * @return The request completion status + */ + public synchronized ResponseEntity depositTim(String jsonString, RequestVerb verb) { + + if (null == jsonString || jsonString.isEmpty()) { + String errMsg = "Empty request."; + log.error(errMsg); + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body( + JsonUtils.jsonKeyValue(ERRSTR, errMsg)); } - /** - * Send a TIM with the appropriate deposit type, ODE.PUT or ODE.POST - * - * @param jsonString - * @param verb - * @return - */ - public synchronized ResponseEntity depositTim(String jsonString, RequestVerb verb) { - - if (null == jsonString || jsonString.isEmpty()) { - String errMsg = "Empty request."; - log.error(errMsg); - return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(JsonUtils.jsonKeyValue(ERRSTR, errMsg)); - } - - OdeTravelerInputData odeTID; - ServiceRequest request; - try { - // Convert JSON to POJO - odeTID = (OdeTravelerInputData) JsonUtils.jacksonFromJson(jsonString, OdeTravelerInputData.class, true); - if (odeTID == null) { - String errMsg = "Malformed or non-compliant JSON syntax."; - log.error(errMsg); - return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(JsonUtils.jsonKeyValue(ERRSTR, errMsg)); - } - - request = odeTID.getRequest(); - if (request == null) { - throw new TimDepositControllerException("Request element is required as of version 3."); - } - - if (request.getOde() == null) { - request.setOde(new OdeInternal()); - } - - request.getOde().setVerb(verb); - - } catch (TimDepositControllerException e) { - String errMsg = "Missing or invalid argument: " + e.getMessage(); - log.error(errMsg, e); - return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(JsonUtils.jsonKeyValue(ERRSTR, errMsg)); - } catch (JsonUtilsException e) { - String errMsg = "Malformed or non-compliant JSON syntax."; - log.error(errMsg, e); - return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(JsonUtils.jsonKeyValue(ERRSTR, errMsg)); - } - - // Add metadata to message and publish to kafka - OdeTravelerInformationMessage tim = odeTID.getTim(); - OdeMsgPayload timDataPayload = new OdeMsgPayload(tim); - OdeRequestMsgMetadata timMetadata = new OdeRequestMsgMetadata(timDataPayload, request); - - // set packetID in tim Metadata - timMetadata.setOdePacketID(tim.getPacketID()); - // set maxDurationTime in tim Metadata and set latest startDatetime in tim - // metadata - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); - if (null != tim.getDataframes() && tim.getDataframes().length > 0) { - int maxDurationTime = 0; - Date latestStartDateTime = null; - for (DataFrame dataFrameItem : tim.getDataframes()) { - maxDurationTime = Math.max(maxDurationTime, dataFrameItem.getDurationTime()); - try { - latestStartDateTime = (latestStartDateTime == null || (latestStartDateTime != null - && latestStartDateTime.before(dateFormat.parse(dataFrameItem.getStartDateTime()))) - ? dateFormat.parse(dataFrameItem.getStartDateTime()) - : latestStartDateTime); - } catch (ParseException e) { - log.error("Invalid dateTime parse: ", e); - } - } - timMetadata.setMaxDurationTime(maxDurationTime); - timMetadata.setOdeTimStartDateTime(dateFormat.format(latestStartDateTime)); - } - // Setting the SerialId to OdeBradcastTim serialId to be changed to - // J2735BroadcastTim serialId after the message has been published to - // OdeTimBrodcast topic - timMetadata.setSerialId(serialIdOde); - timMetadata.setRecordGeneratedBy(GeneratedBy.TMC); + OdeTravelerInputData odeTID; + ServiceRequest request; + try { + // Convert JSON to POJO + odeTID = (OdeTravelerInputData) JsonUtils.jacksonFromJson(jsonString, + OdeTravelerInputData.class, true); + if (odeTID == null) { + String errMsg = "Malformed or non-compliant JSON syntax."; + log.error(errMsg); + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body( + JsonUtils.jsonKeyValue(ERRSTR, errMsg)); + } + + request = odeTID.getRequest(); + if (request == null) { + throw new TimDepositControllerException("Request element is required as of version 3."); + } + + if (request.getOde() == null) { + request.setOde(new OdeInternal()); + } + + request.getOde().setVerb(verb); + + } catch (TimDepositControllerException e) { + String errMsg = "Missing or invalid argument: " + e.getMessage(); + log.error(errMsg, e); + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body( + JsonUtils.jsonKeyValue(ERRSTR, errMsg)); + } catch (JsonUtilsException e) { + String errMsg = "Malformed or non-compliant JSON syntax."; + log.error(errMsg, e); + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body( + JsonUtils.jsonKeyValue(ERRSTR, errMsg)); + } + // Add metadata to message and publish to kafka + OdeTravelerInformationMessage tim = odeTID.getTim(); + OdeMsgPayload timDataPayload = new OdeMsgPayload(tim); + OdeRequestMsgMetadata timMetadata = new OdeRequestMsgMetadata(timDataPayload, request); + + // set packetID in tim Metadata + timMetadata.setOdePacketID(tim.getPacketID()); + // set maxDurationTime in tim Metadata and set latest startDatetime in tim + // metadata + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); + if (null != tim.getDataframes() && tim.getDataframes().length > 0) { + int maxDurationTime = 0; + Date latestStartDateTime = null; + for (DataFrame dataFrameItem : tim.getDataframes()) { + maxDurationTime = Math.max(maxDurationTime, dataFrameItem.getDurationTime()); try { - timMetadata.setRecordGeneratedAt(DateTimeUtils.isoDateTime(DateTimeUtils.isoDateTime(tim.getTimeStamp()))); - } catch (DateTimeParseException e) { - String errMsg = "Invalid timestamp in tim record: " + tim.getTimeStamp(); - log.error(errMsg, e); - return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(JsonUtils.jsonKeyValue(ERRSTR, errMsg)); + latestStartDateTime = (latestStartDateTime == null || (latestStartDateTime != null + && latestStartDateTime.before(dateFormat.parse(dataFrameItem.getStartDateTime()))) + ? dateFormat.parse(dataFrameItem.getStartDateTime()) + : latestStartDateTime); + } catch (ParseException e) { + log.error("Invalid dateTime parse: ", e); } + } + timMetadata.setMaxDurationTime(maxDurationTime); + timMetadata.setOdeTimStartDateTime(dateFormat.format(latestStartDateTime)); + } + // Setting the SerialId to OdeBradcastTim serialId to be changed to + // J2735BroadcastTim serialId after the message has been published to + // OdeTimBrodcast topic + timMetadata.setSerialId(serialIdOde); + timMetadata.setRecordGeneratedBy(GeneratedBy.TMC); + + try { + timMetadata.setRecordGeneratedAt(DateTimeUtils.isoDateTime( + DateTimeUtils.isoDateTime(tim.getTimeStamp()))); + } catch (DateTimeParseException e) { + String errMsg = "Invalid timestamp in tim record: " + tim.getTimeStamp(); + log.error(errMsg, e); + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body( + JsonUtils.jsonKeyValue(ERRSTR, errMsg)); + } - OdeTimData odeTimData = new OdeTimData(timMetadata, timDataPayload); - timProducer.send(pojoTopics.getTimBroadcast(), null, odeTimData); - - String obfuscatedTimData = TimTransmogrifier.obfuscateRsuPassword(odeTimData.toJson()); - stringMsgProducer.send(jsonTopics.getTimBroadcast(), null, obfuscatedTimData); - - // Now that the message has been published to OdeBroadcastTim topic, it should - // be - // changed to J2735BroadcastTim serialId - timMetadata.setSerialId(serialIdJ2735); + OdeTimData odeTimData = new OdeTimData(timMetadata, timDataPayload); + timProducer.send(pojoTopics.getTimBroadcast(), null, odeTimData); - // Short circuit - // If the TIM has no RSU/SNMP or SDW structures, we are done - if ((request.getRsus() == null || request.getSnmp() == null) && request.getSdw() == null) { - String warningMsg = "Warning: TIM contains no RSU, SNMP, or SDW fields. Message only published to broadcast streams."; - log.warn(warningMsg); - return ResponseEntity.status(HttpStatus.OK).body(JsonUtils.jsonKeyValue(WARNING, warningMsg)); - } + String obfuscatedTimData = TimTransmogrifier.obfuscateRsuPassword(odeTimData.toJson()); + stringMsgProducer.send(jsonTopics.getTimBroadcast(), null, obfuscatedTimData); - // Craft ASN-encodable TIM - ObjectNode encodableTid; - try { - encodableTid = JsonUtils.toObjectNode(odeTID.toJson()); - TravelerMessageFromHumanToAsnConverter.convertTravelerInputDataToEncodableTim(encodableTid); + // Now that the message has been published to OdeBroadcastTim topic, it should + // be + // changed to J2735BroadcastTim serialId + timMetadata.setSerialId(serialIdJ2735); - log.debug("Encodable Traveler Information Data: {}", encodableTid); + // Short circuit + // If the TIM has no RSU/SNMP or SDW structures, we are done + if ((request.getRsus() == null || request.getSnmp() == null) && request.getSdw() == null) { + String warningMsg = "Warning: TIM contains no RSU, SNMP, or SDW fields. " + + "Message only published to broadcast streams."; + log.warn(warningMsg); + return ResponseEntity.status(HttpStatus.OK).body(JsonUtils.jsonKeyValue(WARNING, warningMsg)); + } - } catch (JsonUtilsException e) { - String errMsg = "Error converting to encodable TravelerInputData."; - log.error(errMsg, e); - return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(JsonUtils.jsonKeyValue(ERRSTR, errMsg)); - } + // Craft ASN-encodable TIM + ObjectNode encodableTid; + try { + encodableTid = JsonUtils.toObjectNode(odeTID.toJson()); + TravelerMessageFromHumanToAsnConverter.convertTravelerInputDataToEncodableTim(encodableTid); - try { - String xmlMsg; - DdsAdvisorySituationData asd = null; - if (!this.dataSigningEnabledSDW) { - // We need to send data UNSECURED, so we should try to build the ASD as well as - // MessageFrame - asd = TimTransmogrifier.buildASD(odeTID.getRequest()); - } - xmlMsg = TimTransmogrifier.convertToXml(asd, encodableTid, timMetadata, serialIdJ2735); - - if (xmlMsg != null) { - log.debug("XML representation: {}", xmlMsg); - - // Convert XML into ODE TIM JSON object and obfuscate RSU password - OdeTimData odeTimObj = OdeTimDataCreatorHelper.createOdeTimDataFromCreator(xmlMsg, timMetadata); - String j2735Tim = odeTimObj.toString(); - String obfuscatedJ2735Tim = TimTransmogrifier.obfuscateRsuPassword(j2735Tim); - - // publish Broadcast TIM to a J2735 compliant topic. - stringMsgProducer.send(jsonTopics.getJ2735TimBroadcast(), null, obfuscatedJ2735Tim); - - // publish J2735 TIM also to general un-filtered TIM topic with streamID as key - stringMsgProducer.send(jsonTopics.getTim(), serialIdJ2735.getStreamId(), obfuscatedJ2735Tim); - - // Write XML to the encoder input topic at the end to ensure the correct order of operations to pair - // each message to an OdeTimJson streamId key - stringMsgProducer.send(asn1CoderTopics.getEncoderInput(), null, xmlMsg); - } - - serialIdOde.increment(); - serialIdJ2735.increment(); - } catch (JsonUtils.JsonUtilsException | XmlUtils.XmlUtilsException | TimTransmogrifierException e) { - String errMsg = "Error sending data to ASN.1 Encoder module: " + e.getMessage(); - log.error(errMsg, e); - return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(JsonUtils.jsonKeyValue(ERRSTR, errMsg)); - } + log.debug("Encodable Traveler Information Data: {}", encodableTid); - INGEST_MONITOR.incrementTotalMessagesReceived(); - return ResponseEntity.status(HttpStatus.OK).body(JsonUtils.jsonKeyValue(SUCCESS, "true")); + } catch (JsonUtilsException e) { + String errMsg = "Error converting to encodable TravelerInputData."; + log.error(errMsg, e); + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body( + JsonUtils.jsonKeyValue(ERRSTR, errMsg)); } - /** - * Update an already-deposited TIM - * - * @param jsonString TIM in JSON - * @return list of success/failures - */ - @PutMapping(value = "/tim", produces = "application/json") - @CrossOrigin - public ResponseEntity putTim(@RequestBody String jsonString) { - - return depositTim(jsonString, ServiceRequest.OdeInternal.RequestVerb.PUT); + try { + String xmlMsg; + DdsAdvisorySituationData asd = null; + if (!this.dataSigningEnabledSDW) { + // We need to send data UNSECURED, so we should try to build the ASD as well as + // MessageFrame + asd = TimTransmogrifier.buildASD(odeTID.getRequest()); + } + xmlMsg = TimTransmogrifier.convertToXml(asd, encodableTid, timMetadata, serialIdJ2735); + + if (xmlMsg != null) { + log.debug("XML representation: {}", xmlMsg); + + // Convert XML into ODE TIM JSON object and obfuscate RSU password + OdeTimData odeTimObj = OdeTimDataCreatorHelper.createOdeTimDataFromCreator( + xmlMsg, timMetadata); + String j2735Tim = odeTimObj.toString(); + String obfuscatedJ2735Tim = TimTransmogrifier.obfuscateRsuPassword(j2735Tim); + + // publish Broadcast TIM to a J2735 compliant topic. + stringMsgProducer.send(jsonTopics.getJ2735TimBroadcast(), null, obfuscatedJ2735Tim); + + // publish J2735 TIM also to general un-filtered TIM topic with streamID as key + stringMsgProducer.send(jsonTopics.getTim(), serialIdJ2735.getStreamId(), + obfuscatedJ2735Tim); + + // Write XML to the encoder input topic at the end to ensure the correct order + // of operations to pair + // each message to an OdeTimJson streamId key + stringMsgProducer.send(asn1CoderTopics.getEncoderInput(), null, xmlMsg); + } + + serialIdOde.increment(); + serialIdJ2735.increment(); + } catch (JsonUtils.JsonUtilsException + | XmlUtils.XmlUtilsException + | TimTransmogrifierException e) { + String errMsg = "Error sending data to ASN.1 Encoder module: " + e.getMessage(); + log.error(errMsg, e); + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body( + JsonUtils.jsonKeyValue(ERRSTR, errMsg)); } - /** - * Deposit a new TIM - * - * @param jsonString TIM in JSON - * @return list of success/failures - */ - @PostMapping(value = "/tim", produces = "application/json") - @CrossOrigin - public ResponseEntity postTim(@RequestBody String jsonString) { - - return depositTim(jsonString, ServiceRequest.OdeInternal.RequestVerb.POST); - } + INGEST_MONITOR.incrementTotalMessagesReceived(); + return ResponseEntity.status(HttpStatus.OK).body(JsonUtils.jsonKeyValue(SUCCESS, "true")); + } + + /** + * Update an already-deposited TIM. + * + * @param jsonString TIM in JSON + * @return list of success/failures + */ + @PutMapping(value = "/tim", produces = "application/json") + @CrossOrigin + public ResponseEntity putTim(@RequestBody String jsonString) { + + return depositTim(jsonString, ServiceRequest.OdeInternal.RequestVerb.PUT); + } + + /** + * Deposit a new TIM. + * + * @param jsonString TIM in JSON + * @return list of success/failures + */ + @PostMapping(value = "/tim", produces = "application/json") + @CrossOrigin + public ResponseEntity postTim(@RequestBody String jsonString) { + + return depositTim(jsonString, ServiceRequest.OdeInternal.RequestVerb.POST); + } } diff --git a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml index b03a4ba6d..072580466 100644 --- a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml +++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml @@ -1,989 +1,989 @@ - - - timMsg - success - - - - unsecuredData - MessageFrame - UPER - - - us.dot.its.jpo.ode.model.OdeAsn1Payload - - adb022ef-9a97-4aa3-8bab-1fde55b620a1 - 1 - 0 - 0 - 0 - - 2024-12-05T10:21:33.228Z - 7 - 0 - - RSU - false - - - 001F830A752544F94F4354455420535452124C16B4FA27D64F431A94AC28F232828FF05260B5CA82DDFB227A687CA09CFDE87C4B0ED1C8800280204A865BB2C265D1E4F5D3A877C07F8093FC3D820142C4EB15C7AC09CE3356F45A90200118358186A148D3F13220B227C18569099E2D1232A28B5F2579208E479151D45D438BEFF80DB0C08CED3F45A50103103102088C1A44A152889AFA7F62218940E831C20F35EA1232777BF31146022C71408809E5EB7BA1D52835D8A040D83367520C4AB397658B07E21393A041060D049E825C15FCF56AFF05260B58E40024126EDBD550F6D519709FDE4CF880201602008CEE4ACA5DE274975513846DD7AD77F839305AD383175AA8A497954C284E668FFE4F0710D80802810030EAC2535BCD6AE047899B1CE75405C8E6936419C672A85F8900C50B428CA3188CA4E1101B485DEE47349B20CE339542FC5654852A1484C9C0A0B6DEBB81DB91CD26C8338CE550BF31188B6041101F08134A407147800DFCF8E5FE0A4C16B2BF3A3A253269429B3B8198F71B71F8C902002C008005DD1174A86649950714134C54C82F4C0012B9C982D69B5BEADBF1C99BEFD660C6A4200201A7A1ECCA540B60B0AA27F8093AC4BF831472A28ECD2E0203575E8F15F5000818817507D68CC505CF4497E8219CA2288A03C81503120AEB852B7507D68CC505CF4497E2121346A090E8061520293D37841E41530E9BF4214E93C326CF8502830F0C081FF9D71FE064C1BAA780A12351A24D300B6FD25F085703880101600022BE028AC1105C1D5CB0F0E001A42F7F849305AD3E9B408EB43464DC861E6234918C8667857300022C400087E511D765E294CF3507435289D7EBBC2849A4982D69F494982D524C16B4FA36827A1D6C31DFDBE55A627F819307EA49F19AA77C773D119EA690CE094883E0100588001E1832A00950E876B85589726EF3EDFE0E4C16B4F8EB0ECDE8A23F3F9E839831CE316170D2000858080178162BF959EDACD55B2CD3721A1EDFE064C1AEC1B3F02442FEC92E119DFAF82D6EC3884002C0004A9FEDD617613A307F791C6D74FB1A27C451F6139305AD394982D582367260B5A600 - 172.18.0.1 - - - MessageFrame - - - 31 - - - 82 - 345337 - 4F4354455420535452 - IA5St - - - 29 - - - - - 4F43 - - 425 - 306216 - 31001 - 2 - 1 - - - IA5 - - 38149 - 48118 - - - -567387419 - -1717691068 - 53848 - - 15175 - - - - - - - 0001000000000000 - - - 0000000001000000 - - - - - -

- -686654332 - 1616508908 - 38736 -
- 3832 - - - - - - - -
- - I - - 64573 - 33281 - - - -714161321 - -1285139143 - 48475 - - 26805 - - - - - - - 0000001000000000 - - - 1 - - - - - - - -127947 - -120550 - - - - - - - - - - - - - - - - - - - - - - 101 - - - - - - 5822 - - - - - - 3017 - - - -8 - 62 - 35 - - 162 - 424 - - - - - - -998896073 - 735850714 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3453 - - - - - - 7876 - - - -82 - - - - - - 2097 - - - - 264 - -269 - - - - - - 86161 - 20207 - - - - - - - - - - - - - - - - - - - -68 - - 245 - 247 - - - - - - -172 - 525 - - - - - - - - - - - - - - 206 - 144 - - - - - - -873243 - 1464496 - - - - - - - - - - - - - - - - 58 - 137 - 1 - 25 - - 414 - 181 - - - - - - - - - - IA5 - - 7296 - 1154 - - - 29950376 - 270580409 - 16367 - - 4926 - - - - - - - 0000000001000000 - - - 0000001000000000 - - - - 26482 - -
- 598135630 - 664850545 - 32186 -
- 3930 - - - -
-
-
-
- - IA5S - - 1582 - 46417 - - - -283655839 - -685153664 - 57976 - - 7235 - - - - - - - 0000000100000000 - - - 0000001000000000 - - - - - - - 581272185 - 1108489970 - 9059 - - 20085 - - - - - - - - - -605370079 - 829743521 - - - - - - - - - - - - - - - - - - - -87 - 4 - -167 - - 144 - 239 - - - - - - -605370079 - 829743521 - - - - - - - - - - - - - - - - - - - - - - - - 3517 - - - - -36 - -453 - - - - - - -605370079 - 829743521 - - - - - - - - - - - - - - - - - - - - - - - - 60 - -95 - - 463 - 57 - - - - - - - - - - - IA5 - - 11251 - 41890 - - - 385181606 - 1670812734 - 46812 - - 16153 - - - - - - - 0000001000000000 - - - 0000000001000000 - - - - 6004 - -
- -509239964 - 772185922 - 9413 -
- 1224 - - - -
-
-
-
- - 15 - 9 - - - - - 599 - - - - - IA5S -
- - 11 - - - - - - - 634998835 - 313588249 - 50308 - - 0000000001000000 - - - - 4F43 - - - 3481 - 305174 - 24752 - 5 - 10 - - - I - - 44107 - 63537 - - - -419185997 - -533287210 - 51107 - - 25278 - - - - - - - 0000000000001000 - - - 8 - - - - - - - 900792217 - 448269129 - - - - - - - - - - - - - - - - - - - 18 - 9 - 24 - - 225 - -213 - - - - - - 900792217 - 448269129 - - - - - - - - - - - - - - - - - - - - -109 - 83 - - -31 - -482 - - - - - - -1370 - -1581 - - - - - - - - - - - - - - - - - - - - - - - - -121 - - 505 - 348 - - - - - - - - - - IA - - 30031 - 322 - - - -454547095 - 353479827 - 59458 - - 23566 - - - - - - - 0000000000100000 - - - 0000000000000010 - - - - 24321 - -
- -539150408 - -814772254 - 45059 -
- 1157 - - - -
-
-
-
- - IA5St - - 46088 - 60227 - - - -476956537 - 759386724 - 4505 - - 28846 - - - - - - - 0000000000000010 - - - 0010000000000000 - - - - 8084 - -
- -405703383 - -508985739 - 9512 -
- 2519 - - - -
-
-
-
-
- 11 - 23 - - - - - I - - - - - IA5St - - - - - IA5 - - - - - IA5St -
- - 13 - - - - - 4F43 - - 2776 - 408571 - 15957 - 5 - 6 - - - IA - - 62756 - 63693 - - - 424936826 - -1208779998 - 35858 - - 18563 - - - - - - - 0000000010000000 - - - 0010000000000000 - - - - 17158 - -
- 442482548 - -804103995 - 43319 -
- 1951 - - - -
-
-
-
- - IA5S - - 51032 - 30319 - - - -559743245 - 1697199162 - 46636 - - 5901 - - - - - - - 0000000000000100 - - - 0000001000000000 - - - - 28716 - -
- 707126893 - -77527193 - 35728 -
- 3343 - - - -
-
-
-
- - IA - - 23939 - 26592 - - - -328004279 - 88284632 - 45419 - - 15118 - - - - - - - 0000100000000000 - - - 1000000000000000 - - - - - -
- 171361070 - 1462406911 - 57912 -
- 3502 - - - -
- -
-
-
-
- 31 - 12 - - - - - 40721 - - - - - 36784 - - - - - IA5S - - - - - IA5 - - - - - 49435 - - - - - IA5S -
- - - - - - + + + timMsg + success + + + + unsecuredData + MessageFrame + UPER + + + us.dot.its.jpo.ode.model.OdeAsn1Payload + + adb022ef-9a97-4aa3-8bab-1fde55b620a1 + 1 + 0 + 0 + 0 + + 2024-12-05T10:21:33.228Z + 7 + 0 + + RSU + false + + + 001F830A752544F94F4354455420535452124C16B4FA27D64F431A94AC28F232828FF05260B5CA82DDFB227A687CA09CFDE87C4B0ED1C8800280204A865BB2C265D1E4F5D3A877C07F8093FC3D820142C4EB15C7AC09CE3356F45A90200118358186A148D3F13220B227C18569099E2D1232A28B5F2579208E479151D45D438BEFF80DB0C08CED3F45A50103103102088C1A44A152889AFA7F62218940E831C20F35EA1232777BF31146022C71408809E5EB7BA1D52835D8A040D83367520C4AB397658B07E21393A041060D049E825C15FCF56AFF05260B58E40024126EDBD550F6D519709FDE4CF880201602008CEE4ACA5DE274975513846DD7AD77F839305AD383175AA8A497954C284E668FFE4F0710D80802810030EAC2535BCD6AE047899B1CE75405C8E6936419C672A85F8900C50B428CA3188CA4E1101B485DEE47349B20CE339542FC5654852A1484C9C0A0B6DEBB81DB91CD26C8338CE550BF31188B6041101F08134A407147800DFCF8E5FE0A4C16B2BF3A3A253269429B3B8198F71B71F8C902002C008005DD1174A86649950714134C54C82F4C0012B9C982D69B5BEADBF1C99BEFD660C6A4200201A7A1ECCA540B60B0AA27F8093AC4BF831472A28ECD2E0203575E8F15F5000818817507D68CC505CF4497E8219CA2288A03C81503120AEB852B7507D68CC505CF4497E2121346A090E8061520293D37841E41530E9BF4214E93C326CF8502830F0C081FF9D71FE064C1BAA780A12351A24D300B6FD25F085703880101600022BE028AC1105C1D5CB0F0E001A42F7F849305AD3E9B408EB43464DC861E6234918C8667857300022C400087E511D765E294CF3507435289D7EBBC2849A4982D69F494982D524C16B4FA36827A1D6C31DFDBE55A627F819307EA49F19AA77C773D119EA690CE094883E0100588001E1832A00950E876B85589726EF3EDFE0E4C16B4F8EB0ECDE8A23F3F9E839831CE316170D2000858080178162BF959EDACD55B2CD3721A1EDFE064C1AEC1B3F02442FEC92E119DFAF82D6EC3884002C0004A9FEDD617613A307F791C6D74FB1A27C451F6139305AD394982D582367260B5A600 + 172.18.0.1 + + + MessageFrame + + + 31 + + + 82 + 345337 + 4F4354455420535452 + IA5St + + + 29 + + + + + 4F43 + + 425 + 306216 + 31001 + 2 + 1 + + + IA5 + + 38149 + 48118 + + + -567387419 + -1717691068 + 53848 + + 15175 + + + + + + + 0001000000000000 + + + 0000000001000000 + + + + + +
+ -686654332 + 1616508908 + 38736 +
+ 3832 + + + +
+ +
+
+
+ + I + + 64573 + 33281 + + + -714161321 + -1285139143 + 48475 + + 26805 + + + + + + + 0000001000000000 + + + 1 + + + + + + + -127947 + -120550 + + + + + + + + + + + + + + + + + + + + + + 101 + + + + + + 5822 + + + + + + 3017 + + + -8 + 62 + 35 + + 162 + 424 + + + + + + -998896073 + 735850714 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3453 + + + + + + 7876 + + + -82 + + + + + + 2097 + + + + 264 + -269 + + + + + + 86161 + 20207 + + + + + + + + + + + + + + + + + + + -68 + + 245 + 247 + + + + + + -172 + 525 + + + + + + + + + + + + + + 206 + 144 + + + + + + -873243 + 1464496 + + + + + + + + + + + + + + + + 58 + 137 + 1 + 25 + + 414 + 181 + + + + + + + + + + IA5 + + 7296 + 1154 + + + 29950376 + 270580409 + 16367 + + 4926 + + + + + + + 0000000001000000 + + + 0000001000000000 + + + + 26482 + +
+ 598135630 + 664850545 + 32186 +
+ 3930 + + + +
+
+
+
+ + IA5S + + 1582 + 46417 + + + -283655839 + -685153664 + 57976 + + 7235 + + + + + + + 0000000100000000 + + + 0000001000000000 + + + + + + + 581272185 + 1108489970 + 9059 + + 20085 + + + + + + + + + -605370079 + 829743521 + + + + + + + + + + + + + + + + + + + -87 + 4 + -167 + + 144 + 239 + + + + + + -605370079 + 829743521 + + + + + + + + + + + + + + + + + + + + + + + + 3517 + + + + -36 + -453 + + + + + + -605370079 + 829743521 + + + + + + + + + + + + + + + + + + + + + + + + 60 + -95 + + 463 + 57 + + + + + + + + + + + IA5 + + 11251 + 41890 + + + 385181606 + 1670812734 + 46812 + + 16153 + + + + + + + 0000001000000000 + + + 0000000001000000 + + + + 6004 + +
+ -509239964 + 772185922 + 9413 +
+ 1224 + + + +
+
+
+
+
+ 15 + 9 + + + + + 599 + + + + + IA5S +
+ + 11 + + + + + + + 634998835 + 313588249 + 50308 + + 0000000001000000 + + + + 4F43 + + + 3481 + 305174 + 24752 + 5 + 10 + + + I + + 44107 + 63537 + + + -419185997 + -533287210 + 51107 + + 25278 + + + + + + + 0000000000001000 + + + 8 + + + + + + + 900792217 + 448269129 + + + + + + + + + + + + + + + + + + + 18 + 9 + 24 + + 225 + -213 + + + + + + 900792217 + 448269129 + + + + + + + + + + + + + + + + + + + + -109 + 83 + + -31 + -482 + + + + + + -1370 + -1581 + + + + + + + + + + + + + + + + + + + + + + + + -121 + + 505 + 348 + + + + + + + + + + IA + + 30031 + 322 + + + -454547095 + 353479827 + 59458 + + 23566 + + + + + + + 0000000000100000 + + + 0000000000000010 + + + + 24321 + +
+ -539150408 + -814772254 + 45059 +
+ 1157 + + + +
+
+
+
+ + IA5St + + 46088 + 60227 + + + -476956537 + 759386724 + 4505 + + 28846 + + + + + + + 0000000000000010 + + + 0010000000000000 + + + + 8084 + +
+ -405703383 + -508985739 + 9512 +
+ 2519 + + + +
+
+
+
+
+ 11 + 23 + + + + + I + + + + + IA5St + + + + + IA5 + + + + + IA5St +
+ + 13 + + + + + 4F43 + + 2776 + 408571 + 15957 + 5 + 6 + + + IA + + 62756 + 63693 + + + 424936826 + -1208779998 + 35858 + + 18563 + + + + + + + 0000000010000000 + + + 0010000000000000 + + + + 17158 + +
+ 442482548 + -804103995 + 43319 +
+ 1951 + + + +
+
+
+
+ + IA5S + + 51032 + 30319 + + + -559743245 + 1697199162 + 46636 + + 5901 + + + + + + + 0000000000000100 + + + 0000001000000000 + + + + 28716 + +
+ 707126893 + -77527193 + 35728 +
+ 3343 + + + +
+
+
+
+ + IA + + 23939 + 26592 + + + -328004279 + 88284632 + 45419 + + 15118 + + + + + + + 0000100000000000 + + + 1000000000000000 + + + + + +
+ 171361070 + 1462406911 + 57912 +
+ 3502 + + + +
+ +
+
+
+
+ 31 + 12 + + + + + 40721 + + + + + 36784 + + + + + IA5S + + + + + IA5 + + + + + 49435 + + + + + IA5S +
+
+
+
+
+
+
\ No newline at end of file From 2fc4615d58f15cca093ff01489d110c0fa11feaf Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Thu, 5 Dec 2024 23:37:19 -0700 Subject: [PATCH 24/33] Update checkstyle xml --- checkstyle.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/checkstyle.xml b/checkstyle.xml index 842f596c3..fc79dfe84 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -27,6 +27,15 @@ + + + + + + + Date: Fri, 6 Dec 2024 00:47:03 -0700 Subject: [PATCH 25/33] Even more code styling changes --- .../us/dot/its/jpo/ode/util/XmlUtils.java | 81 ++++- .../dot/its/jpo/ode/model/OdeTimPayload.java | 35 ++- .../dot/its/jpo/ode/model/OdeTimDataTest.java | 52 ++-- .../test/resources/CVMessages/TIM_test.json | 1 + .../annotations/Asn1ParameterizedTypes.java | 97 +++--- .../ode/plugin/annotations/Asn1Property.java | 81 +++-- .../its/jpo/ode/plugin/utils/BitUtils.java | 39 ++- .../plugin/j2735/common/HeadingSliceTest.java | 47 +-- .../NodeAttributeSetLLTest.java | 48 +-- .../dot/its/jpo/ode/OdeTimJsonTopology.java | 86 +++--- .../services/asn1/Asn1DecodedDataRouter.java | 277 ++++++++++-------- .../coder/OdeTimDataCreatorHelperTest.java | 37 +-- 12 files changed, 531 insertions(+), 350 deletions(-) create mode 100644 jpo-ode-core/src/test/resources/CVMessages/TIM_test.json diff --git a/jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java b/jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java index 03b007a4d..9d7d746d9 100644 --- a/jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java +++ b/jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java @@ -1,22 +1,20 @@ /******************************************************************************* * 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.util; -import org.json.JSONObject; -import org.json.XML; +package us.dot.its.jpo.ode.util; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; @@ -24,8 +22,16 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import com.fasterxml.jackson.dataformat.xml.XmlMapper.Builder; +import org.json.JSONObject; +import org.json.XML; +/** + * Utility class for XML manipulation. + */ public class XmlUtils { + /** + * Custom XML exception for handling XML parsing errors. + */ public static class XmlUtilsException extends Exception { private static final long serialVersionUID = 1L; @@ -50,6 +56,9 @@ public XmlUtilsException(String string, Exception e) { staticXmlMapper = builder.build(); } + /** + * Instantiates the XML utility as an object instead of using static methods. + */ public XmlUtils() { super(); var builder = new Builder(xmlMapper); @@ -74,6 +83,13 @@ public String toXml(Object o) throws JsonProcessingException { // } // } + /** + * Attempt to convert an XML String into the specified class type. + * + * @param xml The XML String value + * @param clazz The class type + * @return The deserialized object that is of type clazz + */ public Object fromXml(String xml, Class clazz) throws XmlUtilsException { try { return xmlMapper.readValue(xml, clazz); @@ -92,18 +108,26 @@ public Object fromXml(String xml, Class clazz) throws XmlUtilsException { * encoded to * 123. * Which is a more representative of the JSON ObjectNode. - * - * @param childKey: The key to be given to the child array object - * @param arrayNode: The array node to be embedded in a ObjectNode + * + * @param childKey The key to be given to the child array object + * @param arrayNode The array node to be embedded in a ObjectNode * @return OBjectNode representation of the given arrayNode redy to be converted * to XML */ - public static ObjectNode createEmbeddedJsonArrayForXmlConversion(String childKey, JsonNode arrayNode) { + public static ObjectNode createEmbeddedJsonArrayForXmlConversion(String childKey, + JsonNode arrayNode) { ObjectNode childNode = staticXmlMapper.createObjectNode(); childNode.set(childKey, arrayNode); return childNode; } + /** + * Find a component of an XML string by specifying the tag name. + * + * @param xml The XML String to be searched + * @param tagName The tag name to be identified + * @return The XML String only consisting of the tag and its children + */ public static String findXmlContentString(String xml, String tagName) { // Construct the start and end tag strings String startTag = "<" + tagName + ">"; @@ -129,6 +153,13 @@ public static String findXmlContentString(String xml, String tagName) { return xml.substring(startIndex, endIndex); } + /** + * Static method to attempt to serialize an object into XML. + * + * @param o The object to be serialized + * @return The serialized XML String + * @throws XmlUtilsException Throws an exception when failing to serialize the object + */ public static String toXmlStatic(Object o) throws XmlUtilsException { String xml; try { @@ -139,6 +170,14 @@ public static String toXmlStatic(Object o) throws XmlUtilsException { return xml; } + /** + * Static method to attempt to deserialize an XML String into a specified object type. + * + * @param xml The xml String to be deserialized + * @param clazz The class type + * @return The deserialized object of class type clazz + * @throws XmlUtilsException Throws an exception when failing to deserialize the XML String + */ public static Object fromXmlS(String xml, Class clazz) throws XmlUtilsException { try { return staticXmlMapper.readValue(xml, clazz); @@ -147,6 +186,13 @@ public static Object fromXmlS(String xml, Class clazz) throws XmlUtilsExcepti } } + /** + * Static method to attempt to transform an XML String into an ObjectNode. + * + * @param xml The xml String to be transformed + * @return An ObjectNode representing the XML + * @throws XmlUtilsException Throws an exception when failing to transform into an ObjectNode + */ public static ObjectNode toObjectNode(String xml) throws XmlUtilsException { try { JSONObject jsonObject = XML.toJSONObject(xml, true); @@ -166,6 +212,13 @@ public static ObjectNode toObjectNode(String xml) throws XmlUtilsException { } } + /** + * Static method to attempt to transform an XML String into a JSONObject. + * + * @param xml The xml String to be transformed + * @return A JSONObject representing the XML + * @throws XmlUtilsException Throws an exception when failing to transform into an JSONObject + */ public static JSONObject toJSONObject(String xml) throws XmlUtilsException { try { return XML.toJSONObject(xml, true); @@ -174,6 +227,14 @@ public static JSONObject toJSONObject(String xml) throws XmlUtilsException { } } + /** + * Get a specific JSON node from an XML String based on a field name. + * + * @param tree The xml String to be parsed + * @param fieldName The field name to be parsed for + * @return The JsonNode for the specified field name + * @throws XmlUtilsException Throws an exception when failing to parse the XML String + */ public static JsonNode getJsonNode(String tree, String fieldName) throws XmlUtilsException { JsonNode jsonNode; try { diff --git a/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java b/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java index a0466e197..1a642b0ca 100644 --- a/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java +++ b/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java @@ -1,38 +1,43 @@ /******************************************************************************* * 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 us.dot.its.jpo.ode.plugin.j2735.OdeTravelerInformationMessage; import us.dot.its.jpo.ode.plugin.j2735.travelerinformation.TravelerInformation; +/** + * ODE TIM payload class for both J2735 TravelerInformation and ODE + * TIM Creator OdeTravelerInformationMessage. + */ public class OdeTimPayload extends OdeMsgPayload { - private static final long serialVersionUID = 7061315628111448390L; + private static final long serialVersionUID = 7061315628111448390L; - public OdeTimPayload() { - this(new OdeTravelerInformationMessage()); - } + public OdeTimPayload() { + this(new OdeTravelerInformationMessage()); + } - public OdeTimPayload(OdeTravelerInformationMessage tim) { - super(tim); - this.setData(tim); - } + public OdeTimPayload(OdeTravelerInformationMessage tim) { + super(tim); + this.setData(tim); + } - public OdeTimPayload(TravelerInformation tim) { - super(tim); - this.setData(tim); - } + public OdeTimPayload(TravelerInformation tim) { + super(tim); + this.setData(tim); + } } diff --git a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeTimDataTest.java b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeTimDataTest.java index 5a1b0debb..6a92a0ce7 100644 --- a/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeTimDataTest.java +++ b/jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeTimDataTest.java @@ -1,36 +1,40 @@ package us.dot.its.jpo.ode.model; +import static org.junit.Assert.assertEquals; + import com.fasterxml.jackson.databind.JsonNode; import com.networknt.schema.JsonSchema; import com.networknt.schema.JsonSchemaFactory; import com.networknt.schema.SpecVersion; import com.networknt.schema.ValidationMessage; - -import us.dot.its.jpo.ode.util.JsonUtils; - +import java.io.File; +import java.nio.file.Files; import java.util.Set; - import org.junit.jupiter.api.Test; +import us.dot.its.jpo.ode.util.JsonUtils; -import static org.junit.Assert.*; - +/** + * Tests for verifying the TIM schema is functional with the TIM JSON output. + */ public class OdeTimDataTest { - private static final String SCHEMA_VERSION = "7"; - private static final String ASN1_STRING = "001F80AE70165E87AD5DB73EE53601D49C0F775D9B0B01C266509C496663068FFFF93F43448C001EA007F95937EAD35AC9A5FA54EADF62C17316CB99385CDA00000000266509C4966630689388C200021000EBE86F264E051097630004008027BBAECD8C070999427125998C1A3FFFE4FD0D1230007A801FE564DFAB4D6B2697E953AB7D8B05CC5B2E64E1736800000000999427125998C1A24E230800084003AFA1BC993814425D8C0000003023DDD766C0913189880FB96879A18B9BEE7183450F963D09BEACCD8A5B06FB639381F59F27808066C418702727350EEAB14E752EA27C0AF0540260F9187757E2192FECE54EF4F0032D653EFB5938AE340F6D3122636E7F61F9BD3A1CB5B4695B634BFFADD4018543C5862B4D608430EA9F2FCE99599935425B5DD64F77EC1495571FB50D0B03FF442529D80EA12704C08088E30204E84B3BD03B6001002009EEEBB360A4000801004F775D9B00C1265E25E2A8F3809BC14F804485CC84244966B611857569128444CB48453B9DC84ACCB06E225C6B7C36122F9B9E008F85DC55C42092CD4611CE5A3B107BFB25F0864A19C5049086E7A024071790208BE4FAF8D63F87FC1027B83FF235FF8DFFC6116EAC028093B920DF0468311194237188767113D84037081D31FE2C6B3443FED434C4F1FF3311F183E46892F5DE8D049958EF3E21B27675C100"; - - private static final String json = String.format("{\"metadata\":{\"logFileName\":\"\",\"recordType\":\"timMsg\",\"securityResultCode\":\"success\",\"receivedMessageDetails\":{\"rxSource\":\"NA\"},\"payloadType\":\"us.dot.its.jpo.ode.model.OdeTimPayload\",\"serialId\":{\"streamId\":\"89b9de68-7e91-4491-886f-d95276b67907\",\"bundleSize\":1,\"bundleId\":0,\"recordId\":0,\"serialNumber\":0},\"odeReceivedAt\":\"2024-11-26T07:29:12.257Z\",\"schemaVersion\":7,\"maxDurationTime\":0,\"recordGeneratedAt\":\"\",\"recordGeneratedBy\":\"RSU\",\"sanitized\":false,\"odePacketID\":\"\",\"odeTimStartDateTime\":\"\",\"asn1\":\"001F80AE70165E87AD5DB73EE53601D49C0F775D9B0B01C266509C496663068FFFF93F43448C001EA007F95937EAD35AC9A5FA54EADF62C17316CB99385CDA00000000266509C4966630689388C200021000EBE86F264E051097630004008027BBAECD8C070999427125998C1A3FFFE4FD0D1230007A801FE564DFAB4D6B2697E953AB7D8B05CC5B2E64E1736800000000999427125998C1A24E230800084003AFA1BC993814425D8C0000003023DDD766C0913189880FB96879A18B9BEE7183450F963D09BEACCD8A5B06FB639381F59F27808066C418702727350EEAB14E752EA27C0AF0540260F9187757E2192FECE54EF4F0032D653EFB5938AE340F6D3122636E7F61F9BD3A1CB5B4695B634BFFADD4018543C5862B4D608430EA9F2FCE99599935425B5DD64F77EC1495571FB50D0B03FF442529D80EA12704C08088E30204E84B3BD03B6001002009EEEBB360A4000801004F775D9B00C1265E25E2A8F3809BC14F804485CC84244966B611857569128444CB48453B9DC84ACCB06E225C6B7C36122F9B9E008F85DC55C42092CD4611CE5A3B107BFB25F0864A19C5049086E7A024071790208BE4FAF8D63F87FC1027B83FF235FF8DFFC6116EAC028093B920DF0468311194237188767113D84037081D31FE2C6B3443FED434C4F1FF3311F183E46892F5DE8D049958EF3E21B27675C100\",\"originIp\":\"172.18.0.1\"},\"payload\":{\"dataType\":\"us.dot.its.jpo.ode.plugin.j2735.J2735Tim\",\"data\":{\"msgCnt\":\"1\",\"timeStamp\":\"417415\",\"packetID\":\"AD5DB73EE53601D49C\",\"dataFrames\":[{\"notUsed\":\"0\",\"frameType\":\"advisory\",\"msgId\":{\"roadSignID\":{\"position\":{\"latitude\":38.8311689,\"longitude\":-104.8408366},\"viewAngle\":\"1111111111111111\",\"mutcdCode\":\"warning\"}},\"startYear\":\"2024\",\"startTime\":\"428312\",\"durationTime\":\"30\",\"priority\":\"5\",\"notUsed1\":\"0\",\"regions\":[{\"name\":\"I_US-24_RSU_10.16.28.6\",\"id\":{\"region\":0,\"id\":0},\"anchor\":{\"latitude\":38.8311689,\"longitude\":-104.8408366},\"laneWidth\":5000,\"directionality\":\"both\",\"closedPath\":false,\"description\":{\"path\":{\"scale\":0,\"offset\":{\"ll\":{\"nodes\":[{\"delta\":{\"nodeLL1\":{\"lon\":1726,\"lat\":111}}},{\"delta\":{\"nodeLL5\":{\"lon\":1208360,\"lat\":77510}}}]}}}}}],\"notUsed2\":\"0\",\"notUsed3\":\"0\",\"content\":{\"workZone\":{\"SEQUENCE\":[{\"item\":{\"itis\":\"1025\"}}]}}},{\"notUsed\":\"0\",\"frameType\":\"advisory\",\"msgId\":{\"roadSignID\":{\"position\":{\"latitude\":38.8311689,\"longitude\":-104.8408366},\"viewAngle\":\"1111111111111111\",\"mutcdCode\":\"warning\"}},\"startYear\":\"2024\",\"startTime\":\"428312\",\"durationTime\":\"30\",\"priority\":\"5\",\"notUsed1\":\"0\",\"regions\":[{\"name\":\"I_US-24_RSU_10.16.28.6\",\"id\":{\"region\":0,\"id\":0},\"anchor\":{\"latitude\":38.8311689,\"longitude\":-104.8408366},\"laneWidth\":5000,\"directionality\":\"both\",\"closedPath\":false,\"description\":{\"path\":{\"scale\":0,\"offset\":{\"ll\":{\"nodes\":[{\"delta\":{\"nodeLL1\":{\"lon\":1726,\"lat\":111}}},{\"delta\":{\"nodeLL5\":{\"lon\":1208360,\"lat\":77510}}}]}}}}}],\"notUsed2\":\"0\",\"notUsed3\":\"0\",\"content\":{\"advisory\":{\"SEQUENCE\":[{\"item\":{\"itis\":\"770\"}}]}}}]}}}", SCHEMA_VERSION, ASN1_STRING); - - // - // Note that OdeTimData does not have annotations to support deserialization, so serialization/deserialization is not tested here. - // - - @Test - public void shouldValidateJson() throws Exception { - // Load json schema from resource - JsonSchemaFactory factory = JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V202012); - final JsonSchema schema = factory.getSchema(getClass().getClassLoader().getResource("schemas/schema-tim.json").toURI()); - final JsonNode node = (JsonNode)JsonUtils.fromJson(json, JsonNode.class); - Set validationMessages = schema.validate(node); - assertEquals(String.format("Json validation errors: %s", validationMessages), 0, validationMessages.size()); - } + @Test + public void shouldValidateJson() throws Exception { + // Load test JSON + String jsonFilePath = + "src/test/resources/CVMessages/TIM_test.json"; + File jsonFile = new File(jsonFilePath); + byte[] jsonData = Files.readAllBytes(jsonFile.toPath()); + String json = new String(jsonData); + + // Load JSON schema from resource + JsonSchemaFactory factory = JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V202012); + final JsonSchema schema = factory + .getSchema(getClass().getClassLoader().getResource("schemas/schema-tim.json").toURI()); + final JsonNode node = (JsonNode) JsonUtils.fromJson(json, JsonNode.class); + Set validationMessages = schema.validate(node); + assertEquals( + String.format("Json validation errors: %s", validationMessages), + 0, + validationMessages.size()); + } } diff --git a/jpo-ode-core/src/test/resources/CVMessages/TIM_test.json b/jpo-ode-core/src/test/resources/CVMessages/TIM_test.json new file mode 100644 index 000000000..8d38a5a14 --- /dev/null +++ b/jpo-ode-core/src/test/resources/CVMessages/TIM_test.json @@ -0,0 +1 @@ +{"metadata":{"logFileName":"","recordType":"timMsg","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeTimPayload","serialId":{"streamId":"89b9de68-7e91-4491-886f-d95276b67907","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-11-26T07:29:12.257Z","schemaVersion":7,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"RSU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"001F80AE70165E87AD5DB73EE53601D49C0F775D9B0B01C266509C496663068FFFF93F43448C001EA007F95937EAD35AC9A5FA54EADF62C17316CB99385CDA00000000266509C4966630689388C200021000EBE86F264E051097630004008027BBAECD8C070999427125998C1A3FFFE4FD0D1230007A801FE564DFAB4D6B2697E953AB7D8B05CC5B2E64E1736800000000999427125998C1A24E230800084003AFA1BC993814425D8C0000003023DDD766C0913189880FB96879A18B9BEE7183450F963D09BEACCD8A5B06FB639381F59F27808066C418702727350EEAB14E752EA27C0AF0540260F9187757E2192FECE54EF4F0032D653EFB5938AE340F6D3122636E7F61F9BD3A1CB5B4695B634BFFADD4018543C5862B4D608430EA9F2FCE99599935425B5DD64F77EC1495571FB50D0B03FF442529D80EA12704C08088E30204E84B3BD03B6001002009EEEBB360A4000801004F775D9B00C1265E25E2A8F3809BC14F804485CC84244966B611857569128444CB48453B9DC84ACCB06E225C6B7C36122F9B9E008F85DC55C42092CD4611CE5A3B107BFB25F0864A19C5049086E7A024071790208BE4FAF8D63F87FC1027B83FF235FF8DFFC6116EAC028093B920DF0468311194237188767113D84037081D31FE2C6B3443FED434C4F1FF3311F183E46892F5DE8D049958EF3E21B27675C100","originIp":"172.18.0.1"},"payload":{"dataType":"us.dot.its.jpo.ode.plugin.j2735.J2735Tim","data":{"msgCnt":"1","timeStamp":"417415","packetID":"AD5DB73EE53601D49C","dataFrames":[{"notUsed":"0","frameType":"advisory","msgId":{"roadSignID":{"position":{"latitude":38.8311689,"longitude":-104.8408366},"viewAngle":"1111111111111111","mutcdCode":"warning"}},"startYear":"2024","startTime":"428312","durationTime":"30","priority":"5","notUsed1":"0","regions":[{"name":"I_US-24_RSU_10.16.28.6","id":{"region":0,"id":0},"anchor":{"latitude":38.8311689,"longitude":-104.8408366},"laneWidth":5000,"directionality":"both","closedPath":false,"description":{"path":{"scale":0,"offset":{"ll":{"nodes":[{"delta":{"nodeLL1":{"lon":1726,"lat":111}}},{"delta":{"nodeLL5":{"lon":1208360,"lat":77510}}}]}}}}}],"notUsed2":"0","notUsed3":"0","content":{"workZone":{"SEQUENCE":[{"item":{"itis":"1025"}}]}}},{"notUsed":"0","frameType":"advisory","msgId":{"roadSignID":{"position":{"latitude":38.8311689,"longitude":-104.8408366},"viewAngle":"1111111111111111","mutcdCode":"warning"}},"startYear":"2024","startTime":"428312","durationTime":"30","priority":"5","notUsed1":"0","regions":[{"name":"I_US-24_RSU_10.16.28.6","id":{"region":0,"id":0},"anchor":{"latitude":38.8311689,"longitude":-104.8408366},"laneWidth":5000,"directionality":"both","closedPath":false,"description":{"path":{"scale":0,"offset":{"ll":{"nodes":[{"delta":{"nodeLL1":{"lon":1726,"lat":111}}},{"delta":{"nodeLL5":{"lon":1208360,"lat":77510}}}]}}}}}],"notUsed2":"0","notUsed3":"0","content":{"advisory":{"SEQUENCE":[{"item":{"itis":"770"}}]}}}]}}} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java index 0777c6dd2..a877ec076 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java @@ -7,59 +7,80 @@ /** * Annotation to specify how to deserialize an ASN1 parameterized type, which - * is represented by an abstract generic class in Java. Modeled after the JsonTypeInfo and - * JsonSubTypes annotations in Jackson, but adding the ability to specify that the + * is represented by an abstract generic class in Java. Modeled after the + * JsonTypeInfo and + * JsonSubTypes annotations in Jackson, but adding the ability to specify that + * the * id field is an integer, not restricted to being a string like in Jackson. + * * @author Ivan Yourshaw */ -@Target({ElementType.TYPE}) +@Target({ ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) public @interface Asn1ParameterizedTypes { - /** - * @return Name of the property used to determine which type to deserialize - */ - String idProperty(); + /** + * Id property. + * + * @return Name of the property used to determine which type to deserialize + */ + String idProperty(); - /** - * @return Type of the id property, which may be integer or string - */ - IdType idType(); + /** + * Type id property. + * + * @return Type of the id property, which may be integer or string + */ + IdType idType(); + + /** + * Name of the value property. + * + * @return Name of the value property containing the payload which can be + * various types + * depending on the generic type parameters. + */ + String valueProperty(); + /** + * Value property. + * + * @return Array of value types mapped to ids. + */ + Type[] value(); + + /** + * Id type enumeration. + */ + enum IdType { + INTEGER, + STRING + } + + /** + * Annotation to specify the type corresponding to an id. + */ + @interface Type { /** - * @return Name of the value property containing the payload which can be various types - * depending on the generic type parameters. + * Int id property. + * + * @return The id if it is an integer */ - String valueProperty(); + int intId() default -1; /** - * @return Array of value types mapped to ids. + * String id property. + * + * @return The id if it is a string */ - Type[] value(); - - enum IdType { - INTEGER, - STRING - } + String stringId() default ""; /** - * Annotation to specify the type corresponding to an id. + * Class value property. + * + * @return The specific class to deserialize to */ - @interface Type { - /** - * @return The id if it is an integer - */ - int intId() default -1; - - /** - * @return The id if it is a string - */ - String stringId() default ""; - - /** - * @return The specific class to deserialize to - */ - Class value(); - } + Class value(); + } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java index 2b5f58954..666434f8f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java @@ -6,42 +6,59 @@ import java.lang.annotation.Target; /** - * Provides metadata for a property of an Asn.1 class: components of Asn1Sequence, or alternatives of Asn1Choice. + * Provides metadata for a property of an Asn.1 class: components of + * Asn1Sequence, or alternatives of Asn1Choice. + * * @author Ivan Yourshaw */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface Asn1Property { - /** - * @return Tag number indicating the canonical order of serialization - */ - int tag(); - - /** - * @return Name of the original non-normalized property. Not required if the Java property name is the same as - * the ASN.1 name. - */ - String name() default ""; - - /** - * @return True if the property is an extension, false if part of the root - */ - boolean extension() default false; - - /** - * @return True if the ASN.1 OPTIONAL marker is present - */ - boolean optional() default false; - - /** - * @return Default value specified by the ASN.1 DEFAULT marker. String can be converted to an integer for int types. - */ - String defaultValue() default ""; - - /** - * @return Indicates that the property is an ASN1 Open Type, so UPER encoding needs to use a length determinant - * as described in T-REC-X.691 (2021/2) section 11.2. - */ - boolean openType() default false; + /** + * Tag number property. + * + * @return Tag number indicating the canonical order of serialization + */ + int tag(); + + /** + * Name property. + * + * @return Name of the original non-normalized property. Not required if the + * Java property name is the same as + * the ASN.1 name. + */ + String name() default ""; + + /** + * Extensions present property. + * + * @return True if the property is an extension, false if part of the root + */ + boolean extension() default false; + + /** + * Optional field property. + * + * @return True if the ASN.1 OPTIONAL marker is present + */ + boolean optional() default false; + + /** + * Default value property. + * + * @return Default value specified by the ASN.1 DEFAULT marker. String can be + * converted to an integer for int types. + */ + String defaultValue() default ""; + + /** + * Open type property. + * + * @return Indicates that the property is an ASN1 Open Type, so UPER encoding + * needs to use a length determinant + * as described in T-REC-X.691 (2021/2) section 11.2. + */ + boolean openType() default false; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java index 901238fe3..69d7f4761 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java @@ -1,22 +1,31 @@ package us.dot.its.jpo.ode.plugin.utils; - +/** + * Utility class containing static methods for bit manipulation. + */ public class BitUtils { - - public static byte reverseBits(final byte b) { - var reversedInt = Integer.reverse((int)b << 24) & 0xff; - return (byte)reversedInt; - } - - public static byte[] reverseBits(final byte[] bytes) { - byte[] reversed = new byte[bytes.length]; - for (int i = 0; i < bytes.length; i++) { - reversed[i] = reverseBits(bytes[i]); - } - return reversed; + /** + * Reverse bits in a single byte. + * + * @return The reversed byte. + */ + public static byte reverseBits(final byte b) { + var reversedInt = Integer.reverse((int) b << 24) & 0xff; + return (byte) reversedInt; + } + + /** + * Reverse bits in a byte array. + * + * @return The reversed byte array. + */ + public static byte[] reverseBits(final byte[] bytes) { + byte[] reversed = new byte[bytes.length]; + for (int i = 0; i < bytes.length; i++) { + reversed[i] = reverseBits(bytes[i]); } - + return reversed; + } } - diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java index 50d1cf62b..8da6c48bd 100644 --- a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java +++ b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java @@ -1,37 +1,44 @@ package us.dot.its.jpo.ode.plugin.j2735.common; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; - /** * Test serializing and deserializing a HeadingSlice bitstring to ODE JSON. */ public class HeadingSliceTest { - private final static ObjectMapper mapper = new ObjectMapper(); + private static final ObjectMapper mapper = new ObjectMapper(); - @Test - public void testDeserializeJson() throws JsonProcessingException { - HeadingSlice hs = mapper.readValue(EXPECTED_JSON, HeadingSlice.class); - assertNotNull(hs); - for (int i = 0; i < hs.size(); i++) { - assertTrue(hs.get(i)); - } + @Test + public void testDeserializeJson() throws JsonProcessingException { + HeadingSlice hs = mapper.readValue(EXPECTED_JSON, HeadingSlice.class); + assertNotNull(hs); + for (int i = 0; i < hs.size(); i++) { + assertTrue(hs.get(i)); } + } - @Test - public void testSerializeJson() throws JsonProcessingException { - var hs = new HeadingSlice(); - for (int i = 0; i < hs.size(); i++) { - hs.set(i, true); - } - String json = mapper.writeValueAsString(hs); - assertEquals(EXPECTED_JSON, json); + @Test + public void testSerializeJson() throws JsonProcessingException { + var hs = new HeadingSlice(); + for (int i = 0; i < hs.size(); i++) { + hs.set(i, true); } + String json = mapper.writeValueAsString(hs); + assertEquals(EXPECTED_JSON, json); + } - private final static String EXPECTED_JSON = """ - {"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}"""; + private static final String EXPECTED_JSON = """ + {"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}"""; } diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java index 21fd63f21..56b627476 100644 --- a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java +++ b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java @@ -1,38 +1,40 @@ package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import us.dot.its.jpo.ode.plugin.j2735.common.Offset_B10; -import static org.junit.jupiter.api.Assertions.*; - /** - * Test serializing and deserializing a NodeAttributeSetLL to and from ODE JSON + * Test serializing and deserializing a NodeAttributeSetLL to and from ODE JSON. */ public class NodeAttributeSetLLTest { - private final static ObjectMapper mapper = new ObjectMapper(); + private static final ObjectMapper mapper = new ObjectMapper(); - @Test - public void testDeserializeJson_dWidth_dElevation() throws JsonProcessingException { - final NodeAttributeSetLL nasll = mapper.readValue(DWITDH_DELEVATION_ONLY_JSON, NodeAttributeSetLL.class); - assertNotNull(nasll); - final long dElevation = nasll.getDElevation().getValue(); - assertEquals(424, dElevation); - final long dWidth = nasll.getDWidth().getValue(); - assertEquals(162, dWidth); - } + @Test + public void testDeserializeJson_dWidth_dElevation() throws JsonProcessingException { + final NodeAttributeSetLL nasll = mapper.readValue( + DWITDH_DELEVATION_ONLY_JSON, NodeAttributeSetLL.class); + assertNotNull(nasll); + final long dElevation = nasll.getDElevation().getValue(); + assertEquals(424, dElevation); + final long dWidth = nasll.getDWidth().getValue(); + assertEquals(162, dWidth); + } - @Test - public void testSerializeJson_dWidth_dElevation() throws JsonProcessingException { - final var nasll = new NodeAttributeSetLL(); - nasll.setDElevation(new Offset_B10(424L)); - nasll.setDWidth(new Offset_B10(162L)); - final String jsonResult = mapper.writeValueAsString(nasll); - assertEquals(DWITDH_DELEVATION_ONLY_JSON, jsonResult); - } + @Test + public void testSerializeJson_dWidth_dElevation() throws JsonProcessingException { + final var nasll = new NodeAttributeSetLL(); + nasll.setDElevation(new Offset_B10(424L)); + nasll.setDWidth(new Offset_B10(162L)); + final String jsonResult = mapper.writeValueAsString(nasll); + assertEquals(DWITDH_DELEVATION_ONLY_JSON, jsonResult); + } - private final static String DWITDH_DELEVATION_ONLY_JSON = """ - {"dWidth":162,"dElevation":424}"""; + private static final String DWITDH_DELEVATION_ONLY_JSON = """ + {"dWidth":162,"dElevation":424}"""; } diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/OdeTimJsonTopology.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/OdeTimJsonTopology.java index 14d9eddc3..448d56036 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/OdeTimJsonTopology.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/OdeTimJsonTopology.java @@ -1,5 +1,6 @@ package us.dot.its.jpo.ode; +import java.util.Properties; import lombok.extern.slf4j.Slf4j; import org.apache.kafka.common.serialization.Serdes; import org.apache.kafka.streams.KafkaStreams; @@ -11,7 +12,6 @@ import org.apache.kafka.streams.state.QueryableStoreTypes; import org.apache.kafka.streams.state.Stores; import us.dot.its.jpo.ode.kafka.OdeKafkaProperties; -import java.util.Properties; /** * The OdeTimJsonTopology class sets up and manages a Kafka Streams topology @@ -23,46 +23,62 @@ @Slf4j public class OdeTimJsonTopology { - private final KafkaStreams streams; + private final KafkaStreams streams; - public OdeTimJsonTopology(OdeKafkaProperties odeKafkaProps, String topic) { + /** + * Constructs a new OdeTimJsonTopology. + * + * @param odeKafkaProps The Apache Kafka properties that will be used by the topology with Kafka. + * @param topic The Apache Kafka topic name. + **/ + public OdeTimJsonTopology(OdeKafkaProperties odeKafkaProps, String topic) { - Properties streamsProperties = new Properties(); - streamsProperties.put(StreamsConfig.APPLICATION_ID_CONFIG, "KeyedOdeTimJson"); - streamsProperties.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, odeKafkaProps.getBrokers()); - streamsProperties.put(StreamsConfig.DEFAULT_KEY_SERDE_CLASS_CONFIG, Serdes.StringSerde.class); - streamsProperties.put(StreamsConfig.DEFAULT_VALUE_SERDE_CLASS_CONFIG, Serdes.StringSerde.class); + Properties streamsProperties = new Properties(); + streamsProperties.put(StreamsConfig.APPLICATION_ID_CONFIG, "KeyedOdeTimJson"); + streamsProperties.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, odeKafkaProps.getBrokers()); + streamsProperties.put(StreamsConfig.DEFAULT_KEY_SERDE_CLASS_CONFIG, Serdes.StringSerde.class); + streamsProperties.put(StreamsConfig.DEFAULT_VALUE_SERDE_CLASS_CONFIG, Serdes.StringSerde.class); - if ("CONFLUENT".equals(odeKafkaProps.getKafkaType())) { - streamsProperties.put("sasl.jaas.config", odeKafkaProps.getConfluent().getSaslJaasConfig()); - } - streams = new KafkaStreams(buildTopology(topic), streamsProperties); - streams.setStateListener((newState, oldState) -> - log.info("Transitioning from {} to {}", oldState, newState) - ); - streams.start(); + if ("CONFLUENT".equals(odeKafkaProps.getKafkaType())) { + streamsProperties.put("sasl.jaas.config", odeKafkaProps.getConfluent().getSaslJaasConfig()); } + streams = new KafkaStreams(buildTopology(topic), streamsProperties); + streams.setStateListener((newState, oldState) -> + log.info("Transitioning from {} to {}", oldState, newState)); + streams.start(); + } - public void stop() { - log.info("Stopping Ode Tim Json Topology"); - streams.close(); - } + public void stop() { + log.info("Stopping Ode Tim Json Topology"); + streams.close(); + } - public boolean isRunning() { - return streams.state().isRunningOrRebalancing(); - } + public boolean isRunning() { + return streams.state().isRunningOrRebalancing(); + } - public Topology buildTopology(String topic) { - StreamsBuilder builder = new StreamsBuilder(); - builder.table(topic, Materialized.as(Stores.inMemoryKeyValueStore("timjson-store"))); - return builder.build(); - } + /** + * Build the topology with a provided topic name. + * + * @param topic The topic name. + **/ + public Topology buildTopology(String topic) { + StreamsBuilder builder = new StreamsBuilder(); + builder.table(topic, Materialized.as( + Stores.inMemoryKeyValueStore("timjson-store"))); + return builder.build(); + } - public String query(String uuid) { - return (String) streams.store( - StoreQueryParameters.fromNameAndType( - "timjson-store", - QueryableStoreTypes.keyValueStore())) - .get(uuid); - } + /** + * Query the K-Table by a specified UUID. + * + * @param uuid The specified UUID to query for. + **/ + public String query(String uuid) { + return (String) streams.store( + StoreQueryParameters.fromNameAndType( + "timjson-store", + QueryableStoreTypes.keyValueStore())) + .get(uuid); + } } diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java index b70fe8ab7..3a1e9619b 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java @@ -1,26 +1,32 @@ /******************************************************************************* * 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.services.asn1; import lombok.extern.slf4j.Slf4j; import org.json.JSONObject; -import us.dot.its.jpo.ode.coder.*; +import us.dot.its.jpo.ode.coder.OdeBsmDataCreatorHelper; +import us.dot.its.jpo.ode.coder.OdePsmDataCreatorHelper; +import us.dot.its.jpo.ode.coder.OdeSpatDataCreatorHelper; +import us.dot.its.jpo.ode.coder.OdeSrmDataCreatorHelper; +import us.dot.its.jpo.ode.coder.OdeSsmDataCreatorHelper; +import us.dot.its.jpo.ode.coder.OdeTimDataCreatorHelper; import us.dot.its.jpo.ode.context.AppContext; -import us.dot.its.jpo.ode.kafka.topics.JsonTopics; import us.dot.its.jpo.ode.kafka.OdeKafkaProperties; +import us.dot.its.jpo.ode.kafka.topics.JsonTopics; import us.dot.its.jpo.ode.kafka.topics.PojoTopics; import us.dot.its.jpo.ode.model.OdeAsn1Data; import us.dot.its.jpo.ode.model.OdeBsmData; @@ -31,141 +37,170 @@ import us.dot.its.jpo.ode.wrapper.MessageProducer; import us.dot.its.jpo.ode.wrapper.serdes.OdeBsmSerializer; +/** + * The Asn1DecodedDataRouter is responsible for routing all decoded messages + * from the topic.Asn1DecoderOutput Kafka topic to become deserialized POJOs + * and be written back to Kafka. + **/ @Slf4j public class Asn1DecodedDataRouter extends AbstractSubscriberProcessor { - private final PojoTopics pojoTopics; - private final JsonTopics jsonTopics; - private final MessageProducer bsmProducer; - private final MessageProducer timProducer; - private final MessageProducer spatProducer; - private final MessageProducer ssmProducer; - private final MessageProducer srmProducer; - private final MessageProducer psmProducer; + private final PojoTopics pojoTopics; + private final JsonTopics jsonTopics; + private final MessageProducer bsmProducer; + private final MessageProducer timProducer; + private final MessageProducer spatProducer; + private final MessageProducer ssmProducer; + private final MessageProducer srmProducer; + private final MessageProducer psmProducer; - public Asn1DecodedDataRouter(OdeKafkaProperties odeKafkaProperties, PojoTopics pojoTopics, JsonTopics jsonTopics) { - super(); + /** + * Creates a copy of Asn1DecodedDataRouter to actively consume from Kafka and write the + * deserialized output to the specified POJO and JSON topics. + * + * @param odeKafkaProperties The Kafka properties used to consume and produce to Kafka + * @param pojoTopics The specified POJO topics to write the deserialized POJO output to + * @param jsonTopics The specified JSON topics to write the deserialized JSON output to + **/ + public Asn1DecodedDataRouter(OdeKafkaProperties odeKafkaProperties, PojoTopics pojoTopics, + JsonTopics jsonTopics) { + super(); - this.pojoTopics = pojoTopics; - this.jsonTopics = jsonTopics; - this.bsmProducer = new MessageProducer<>(odeKafkaProperties.getBrokers(), - odeKafkaProperties.getKafkaType(), - null, - OdeBsmSerializer.class.getName(), - odeKafkaProperties.getDisabledTopics()); - this.timProducer = MessageProducer.defaultStringMessageProducer(odeKafkaProperties.getBrokers(), - odeKafkaProperties.getKafkaType(), - odeKafkaProperties.getDisabledTopics()); - this.spatProducer = MessageProducer.defaultStringMessageProducer(odeKafkaProperties.getBrokers(), - odeKafkaProperties.getKafkaType(), - odeKafkaProperties.getDisabledTopics()); - this.ssmProducer = MessageProducer.defaultStringMessageProducer(odeKafkaProperties.getBrokers(), - odeKafkaProperties.getKafkaType(), - odeKafkaProperties.getDisabledTopics()); - this.srmProducer = MessageProducer.defaultStringMessageProducer(odeKafkaProperties.getBrokers(), - odeKafkaProperties.getKafkaType(), - odeKafkaProperties.getDisabledTopics()); - this.psmProducer = MessageProducer.defaultStringMessageProducer(odeKafkaProperties.getBrokers(), - odeKafkaProperties.getKafkaType(), - odeKafkaProperties.getDisabledTopics()); - } + this.pojoTopics = pojoTopics; + this.jsonTopics = jsonTopics; + this.bsmProducer = new MessageProducer<>( + odeKafkaProperties.getBrokers(), + odeKafkaProperties.getKafkaType(), + null, + OdeBsmSerializer.class.getName(), + odeKafkaProperties.getDisabledTopics()); + this.timProducer = MessageProducer.defaultStringMessageProducer( + odeKafkaProperties.getBrokers(), + odeKafkaProperties.getKafkaType(), + odeKafkaProperties.getDisabledTopics()); + this.spatProducer = MessageProducer.defaultStringMessageProducer( + odeKafkaProperties.getBrokers(), + odeKafkaProperties.getKafkaType(), + odeKafkaProperties.getDisabledTopics()); + this.ssmProducer = MessageProducer.defaultStringMessageProducer( + odeKafkaProperties.getBrokers(), + odeKafkaProperties.getKafkaType(), + odeKafkaProperties.getDisabledTopics()); + this.srmProducer = MessageProducer.defaultStringMessageProducer( + odeKafkaProperties.getBrokers(), + odeKafkaProperties.getKafkaType(), + odeKafkaProperties.getDisabledTopics()); + this.psmProducer = MessageProducer.defaultStringMessageProducer( + odeKafkaProperties.getBrokers(), + odeKafkaProperties.getKafkaType(), + odeKafkaProperties.getDisabledTopics()); + } - @Override - public Object process(String consumedData) { - try { - JSONObject consumed = XmlUtils.toJSONObject(consumedData).getJSONObject(OdeAsn1Data.class.getSimpleName()); - J2735DSRCmsgID messageId = J2735DSRCmsgID.valueOf( - consumed.getJSONObject(AppContext.PAYLOAD_STRING) - .getJSONObject(AppContext.DATA_STRING) - .getJSONObject("MessageFrame") - .getInt("messageId") - ); + @Override + public Object process(String consumedData) { + try { + JSONObject consumed = XmlUtils.toJSONObject(consumedData).getJSONObject( + OdeAsn1Data.class.getSimpleName()); + J2735DSRCmsgID messageId = J2735DSRCmsgID.valueOf( + consumed.getJSONObject(AppContext.PAYLOAD_STRING) + .getJSONObject(AppContext.DATA_STRING) + .getJSONObject("MessageFrame") + .getInt("messageId")); - RecordType recordType = RecordType - .valueOf(consumed.getJSONObject(AppContext.METADATA_STRING).getString("recordType")); + RecordType recordType = RecordType + .valueOf(consumed.getJSONObject(AppContext.METADATA_STRING).getString("recordType")); - switch (messageId) { - case BasicSafetyMessage -> routeBSM(consumedData, recordType); - case TravelerInformation -> routeTIM(consumedData, recordType); - case SPATMessage -> routeSPAT(consumedData, recordType); - case MAPMessage -> log.debug("MAP data processing no longer supported in this router."); - case SSMMessage -> routeSSM(consumedData, recordType); - case SRMMessage -> routeSRM(consumedData, recordType); - case PersonalSafetyMessage -> routePSM(consumedData, recordType); - case null, default -> log.warn("Unknown message type: {}", messageId); - } - } catch (Exception e) { - log.error("Failed to route received data: {}", consumedData, e); - } - return null; + switch (messageId) { + case BasicSafetyMessage -> routeBSM(consumedData, recordType); + case TravelerInformation -> routeTIM(consumedData, recordType); + case SPATMessage -> routeSPAT(consumedData, recordType); + case MAPMessage -> log.debug("MAP data processing no longer supported in this router."); + case SSMMessage -> routeSSM(consumedData, recordType); + case SRMMessage -> routeSRM(consumedData, recordType); + case PersonalSafetyMessage -> routePSM(consumedData, recordType); + case null, default -> log.warn("Unknown message type: {}", messageId); + } + } catch (Exception e) { + log.error("Failed to route received data: {}", consumedData, e); } + return null; + } - private void routePSM(String consumedData, RecordType recordType) throws XmlUtils.XmlUtilsException { - String odePsmData = OdePsmDataCreatorHelper.createOdePsmData(consumedData).toString(); - if (recordType == RecordType.psmTx) { - psmProducer.send(pojoTopics.getTxPsm(), getRecord().key(), odePsmData); - } - // Send all PSMs also to OdePsmJson - psmProducer.send(jsonTopics.getPsm(), getRecord().key(), odePsmData); - log.debug("Submitted to PSM Pojo topic {}", jsonTopics.getPsm()); + private void routePSM(String consumedData, RecordType recordType) + throws XmlUtils.XmlUtilsException { + String odePsmData = OdePsmDataCreatorHelper.createOdePsmData(consumedData).toString(); + if (recordType == RecordType.psmTx) { + psmProducer.send(pojoTopics.getTxPsm(), getRecord().key(), odePsmData); } + // Send all PSMs also to OdePsmJson + psmProducer.send(jsonTopics.getPsm(), getRecord().key(), odePsmData); + log.debug("Submitted to PSM Pojo topic {}", jsonTopics.getPsm()); + } - private void routeSRM(String consumedData, RecordType recordType) throws XmlUtils.XmlUtilsException { - String odeSrmData = OdeSrmDataCreatorHelper.createOdeSrmData(consumedData).toString(); - if (recordType == RecordType.srmTx) { - srmProducer.send(pojoTopics.getTxSrm(), getRecord().key(), odeSrmData); - } - // Send all SRMs also to OdeSrmJson - srmProducer.send(jsonTopics.getSrm(), getRecord().key(), odeSrmData); - log.debug("Submitted to SRM Pojo topic {}", jsonTopics.getSrm()); + private void routeSRM(String consumedData, RecordType recordType) + throws XmlUtils.XmlUtilsException { + String odeSrmData = OdeSrmDataCreatorHelper.createOdeSrmData(consumedData).toString(); + if (recordType == RecordType.srmTx) { + srmProducer.send(pojoTopics.getTxSrm(), getRecord().key(), odeSrmData); } + // Send all SRMs also to OdeSrmJson + srmProducer.send(jsonTopics.getSrm(), getRecord().key(), odeSrmData); + log.debug("Submitted to SRM Pojo topic {}", jsonTopics.getSrm()); + } - private void routeSSM(String consumedData, RecordType recordType) throws XmlUtils.XmlUtilsException { - String odeSsmData = OdeSsmDataCreatorHelper.createOdeSsmData(consumedData).toString(); - if (recordType == RecordType.ssmTx) { - ssmProducer.send(pojoTopics.getSsm(), getRecord().key(), odeSsmData); - } - // Send all SSMs also to OdeSsmJson - ssmProducer.send(jsonTopics.getSsm(), getRecord().key(), odeSsmData); - log.debug("Submitted to SSM Pojo topic {}", jsonTopics.getSsm()); + private void routeSSM(String consumedData, RecordType recordType) + throws XmlUtils.XmlUtilsException { + String odeSsmData = OdeSsmDataCreatorHelper.createOdeSsmData(consumedData).toString(); + if (recordType == RecordType.ssmTx) { + ssmProducer.send(pojoTopics.getSsm(), getRecord().key(), odeSsmData); } + // Send all SSMs also to OdeSsmJson + ssmProducer.send(jsonTopics.getSsm(), getRecord().key(), odeSsmData); + log.debug("Submitted to SSM Pojo topic {}", jsonTopics.getSsm()); + } - private void routeSPAT(String consumedData, RecordType recordType) throws XmlUtils.XmlUtilsException { - String odeSpatData = OdeSpatDataCreatorHelper.createOdeSpatData(consumedData).toString(); - switch (recordType) { - case dnMsg -> spatProducer.send(jsonTopics.getDnMessage(), getRecord().key(), odeSpatData); - case rxMsg -> spatProducer.send(jsonTopics.getRxSpat(), getRecord().key(), odeSpatData); - case spatTx -> spatProducer.send(pojoTopics.getTxSpat(), getRecord().key(), odeSpatData); - default -> log.trace("Consumed SPAT data with record type: {}", recordType); - } - // Send all SPATs also to OdeSpatJson - spatProducer.send(jsonTopics.getSpat(), getRecord().key(), odeSpatData); - log.debug("Submitted to SPAT Pojo topic {}", jsonTopics.getSpat()); + private void routeSPAT(String consumedData, RecordType recordType) + throws XmlUtils.XmlUtilsException { + String odeSpatData = OdeSpatDataCreatorHelper.createOdeSpatData(consumedData).toString(); + switch (recordType) { + case dnMsg -> spatProducer.send(jsonTopics.getDnMessage(), getRecord().key(), odeSpatData); + case rxMsg -> spatProducer.send(jsonTopics.getRxSpat(), getRecord().key(), odeSpatData); + case spatTx -> spatProducer.send(pojoTopics.getTxSpat(), getRecord().key(), odeSpatData); + default -> log.trace("Consumed SPAT data with record type: {}", recordType); } + // Send all SPATs also to OdeSpatJson + spatProducer.send(jsonTopics.getSpat(), getRecord().key(), odeSpatData); + log.debug("Submitted to SPAT Pojo topic {}", jsonTopics.getSpat()); + } - private void routeTIM(String consumedData, RecordType recordType) throws XmlUtils.XmlUtilsException { - String odeTimData = OdeTimDataCreatorHelper.createOdeTimDataFromDecoded(consumedData).toString(); - switch (recordType) { - case dnMsg -> timProducer.send(jsonTopics.getDnMessage(), getRecord().key(), odeTimData); - case rxMsg -> timProducer.send(jsonTopics.getRxTim(), getRecord().key(), odeTimData); - default -> log.trace("Consumed TIM data with record type: {}", recordType); - } - // Send all TIMs also to OdeTimJson - timProducer.send(jsonTopics.getTim(), getRecord().key(), odeTimData); - log.debug("Submitted to TIM Pojo topic: {}", jsonTopics.getTim()); + private void routeTIM(String consumedData, RecordType recordType) + throws XmlUtils.XmlUtilsException { + String odeTimData = OdeTimDataCreatorHelper.createOdeTimDataFromDecoded( + consumedData).toString(); + switch (recordType) { + case dnMsg -> timProducer.send(jsonTopics.getDnMessage(), getRecord().key(), odeTimData); + case rxMsg -> timProducer.send(jsonTopics.getRxTim(), getRecord().key(), odeTimData); + default -> log.trace("Consumed TIM data with record type: {}", recordType); } + // Send all TIMs also to OdeTimJson + timProducer.send(jsonTopics.getTim(), getRecord().key(), odeTimData); + log.debug("Submitted to TIM Pojo topic: {}", jsonTopics.getTim()); + } - private void routeBSM(String consumedData, RecordType recordType) throws XmlUtils.XmlUtilsException { - // ODE-518/ODE-604 Demultiplex the messages to appropriate topics based on the "recordType" - OdeBsmData odeBsmData = OdeBsmDataCreatorHelper.createOdeBsmData(consumedData); - switch (recordType) { - case bsmLogDuringEvent -> bsmProducer.send(pojoTopics.getBsmDuringEvent(), getRecord().key(), odeBsmData); - case rxMsg -> bsmProducer.send(pojoTopics.getRxBsm(), getRecord().key(), odeBsmData); - case bsmTx -> bsmProducer.send(pojoTopics.getTxBsm(), getRecord().key(), odeBsmData); - default -> log.trace("Consumed BSM data with record type: {}", recordType); - } - // Send all BSMs also to OdeBsmPojo - bsmProducer.send(pojoTopics.getBsm(), getRecord().key(), odeBsmData); - log.debug("Submitted to BSM Pojo topic {}", pojoTopics.getBsm()); + private void routeBSM(String consumedData, RecordType recordType) + throws XmlUtils.XmlUtilsException { + // ODE-518/ODE-604 Demultiplex the messages to appropriate topics based on the + // "recordType" + OdeBsmData odeBsmData = OdeBsmDataCreatorHelper.createOdeBsmData(consumedData); + switch (recordType) { + case bsmLogDuringEvent -> bsmProducer.send(pojoTopics.getBsmDuringEvent(), + getRecord().key(), odeBsmData); + case rxMsg -> bsmProducer.send(pojoTopics.getRxBsm(), getRecord().key(), odeBsmData); + case bsmTx -> bsmProducer.send(pojoTopics.getTxBsm(), getRecord().key(), odeBsmData); + default -> log.trace("Consumed BSM data with record type: {}", recordType); } + // Send all BSMs also to OdeBsmPojo + bsmProducer.send(pojoTopics.getBsm(), getRecord().key(), odeBsmData); + log.debug("Submitted to BSM Pojo topic {}", pojoTopics.getBsm()); + } } diff --git a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java index 87dce220f..37a491a76 100644 --- a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java +++ b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java @@ -6,37 +6,40 @@ import java.io.File; import java.io.IOException; import java.nio.file.Files; - import org.junit.jupiter.api.Test; - import us.dot.its.jpo.ode.model.OdeTimData; import us.dot.its.jpo.ode.util.XmlUtils; import us.dot.its.jpo.ode.util.XmlUtils.XmlUtilsException; +/** + * Tests for the OdeTimDataCreatorHelper class. + */ public class OdeTimDataCreatorHelperTest { @Test - public void testCreateOdeTimDataFromDecoded() throws IOException { - String xmlFilePath = "src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml"; + public void testCreateOdeTimDataFromDecoded() throws IOException { + String xmlFilePath = + "src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml"; File xmlFile = new File(xmlFilePath); byte[] xmlData = Files.readAllBytes(xmlFile.toPath()); String xmlString = new String(xmlData); try { - XmlUtils.toObjectNode(xmlString); - } catch (XmlUtilsException e) { - fail("XML parsing error:" + e); - } + XmlUtils.toObjectNode(xmlString); + } catch (XmlUtilsException e) { + fail("XML parsing error:" + e); + } - String jsonFilePath = "src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json"; + String jsonFilePath = + "src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json"; File jsonFile = new File(jsonFilePath); byte[] jsonData = Files.readAllBytes(jsonFile.toPath()); String expectedJsonString = new String(jsonData); - OdeTimData timData; - try { - timData = OdeTimDataCreatorHelper.createOdeTimDataFromDecoded(xmlString); - assertEquals(expectedJsonString, timData.toString()); - } catch (XmlUtilsException e) { - e.printStackTrace(); - } + OdeTimData timData; + try { + timData = OdeTimDataCreatorHelper.createOdeTimDataFromDecoded(xmlString); + assertEquals(expectedJsonString, timData.toString()); + } catch (XmlUtilsException e) { + e.printStackTrace(); + } - } + } } From fb4f577bb5353c76add1ee31568906cb12465c41 Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Fri, 6 Dec 2024 01:11:26 -0700 Subject: [PATCH 26/33] Last bit of code styling. Please. --- .../plugin/j2735/builders/MAPBuilderTest.java | 67 +- .../services/asn1/Asn1EncodedDataRouter.java | 817 ++++++++++-------- 2 files changed, 490 insertions(+), 394 deletions(-) diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java index 3803a9bfc..a9c3118a9 100644 --- a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java +++ b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java @@ -3,27 +3,64 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; -import org.junit.jupiter.api.Test; - import com.fasterxml.jackson.databind.JsonNode; - +import org.junit.jupiter.api.Test; import us.dot.its.jpo.ode.plugin.j2735.J2735MAP; import us.dot.its.jpo.ode.util.XmlUtils; import us.dot.its.jpo.ode.util.XmlUtils.XmlUtilsException; +/** + * Testing the Map POJO builder classes. + */ public class MAPBuilderTest { - @Test - public void shouldTranslateMap() { + @Test + public void shouldTranslateMap() { + String mapXml = """ + us.dot.its.jpo.ode.model.OdeAsn1Payload + d07badec-84f0-48d8-8d4c-898fceaf4ecc1 + 000 + 2020-11-30T23:45:24.913657Z6 + 0 + false + mapTxsuccess + unsecuredData + MessageFrameUPER + V2XMessageFrame + 18 + 412 + 1561 + 389284111-772410713 + 100 + 000000000000000000 + 4324 + 4324 + + + """; - JsonNode jsonMap = null; - try { - jsonMap = XmlUtils.toObjectNode( - "us.dot.its.jpo.ode.model.OdeAsn1Payloadd07badec-84f0-48d8-8d4c-898fceaf4ecc10002020-11-30T23:45:24.913657Z60falsemapTxsuccessunsecuredDataMessageFrameUPERV2XMessageFrame184121561389284111-77241071310000000000000000000043244324"); - } catch (XmlUtilsException e) { - fail("XML parsing error:" + e); - } - J2735MAP actualMap = MAPBuilder.genericMAP(jsonMap.findValue("MapData")); - String expected = "{\"msgIssueRevision\":4,\"layerType\":\"mixedContent\",\"layerID\":12,\"intersections\":{\"intersectionGeometry\":[{\"id\":{\"id\":156},\"revision\":1,\"refPoint\":{\"latitude\":38.9284111,\"longitude\":-77.2410713},\"laneSet\":{\"GenericLane\":[{\"laneID\":1,\"laneAttributes\":{\"directionalUse\":{\"ingressPath\":false,\"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}}},\"nodeList\":{\"nodes\":[{\"delta\":{\"nodeXY2\":{\"x\":43,\"y\":24}}},{\"delta\":{\"nodeXY2\":{\"x\":43,\"y\":24}}}]}}]}}]}}"; - assertEquals(expected, actualMap.toJson()); + JsonNode jsonMap = null; + try { + jsonMap = XmlUtils.toObjectNode(mapXml); + } catch (XmlUtilsException e) { + fail("XML parsing error:" + e); } + J2735MAP actualMap = MAPBuilder.genericMAP(jsonMap.findValue("MapData")); + String expected = """ + {\"msgIssueRevision\":4,\"layerType\":\"mixedContent\",\"layerID\":12,\"intersections\": + {\"intersectionGeometry\":[{\"id\":{\"id\":156},\"revision\":1,\"refPoint\": + {\"latitude\":38.9284111,\"longitude\":-77.2410713},\"laneSet\":{\"GenericLane\":[ + {\"laneID\":1,\"laneAttributes\":{\"directionalUse\":{\"ingressPath\":false, + \"egressPath\":false},\"shareWith\":{\"busVehicleTraffic\":false,\"trackedVehicl + eTraffic\":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\":{\"nodeXY2\":{\"x\":43,\"y\":24}}},{\"delta\":{\"nodeXY2\": + {\"x\":43,\"y\":24}}}]}}]}}]}} + """; + assertEquals(expected, actualMap.toJson()); + } } diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1EncodedDataRouter.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1EncodedDataRouter.java index 95347eaa2..297dcaade 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1EncodedDataRouter.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1EncodedDataRouter.java @@ -1,20 +1,24 @@ /******************************************************************************* * 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.services.asn1; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; import lombok.extern.slf4j.Slf4j; import org.json.JSONArray; import org.json.JSONException; @@ -22,9 +26,9 @@ import us.dot.its.jpo.ode.OdeTimJsonTopology; import us.dot.its.jpo.ode.context.AppContext; import us.dot.its.jpo.ode.eventlog.EventLogger; +import us.dot.its.jpo.ode.kafka.OdeKafkaProperties; import us.dot.its.jpo.ode.kafka.topics.Asn1CoderTopics; import us.dot.its.jpo.ode.kafka.topics.JsonTopics; -import us.dot.its.jpo.ode.kafka.OdeKafkaProperties; import us.dot.its.jpo.ode.kafka.topics.SDXDepositorTopics; import us.dot.its.jpo.ode.model.OdeAsn1Data; import us.dot.its.jpo.ode.plugin.ServiceRequest; @@ -39,405 +43,460 @@ import us.dot.its.jpo.ode.wrapper.AbstractSubscriberProcessor; import us.dot.its.jpo.ode.wrapper.MessageProducer; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; - +/** + * The Asn1EncodedDataRouter is responsible for routing encoded TIM messages + * that are consumed from the Kafka topic.Asn1EncoderOutput topic and decide + * whether to route to the SDX or an RSU. + **/ @Slf4j public class Asn1EncodedDataRouter extends AbstractSubscriberProcessor { - private static final String BYTES = "bytes"; - private static final String MESSAGE_FRAME = "MessageFrame"; - private static final String ERROR_ON_SDX_DEPOSIT = "Error on SDX deposit."; + private static final String BYTES = "bytes"; + private static final String MESSAGE_FRAME = "MessageFrame"; + private static final String ERROR_ON_SDX_DEPOSIT = "Error on SDX deposit."; - public static class Asn1EncodedDataRouterException extends Exception { - private static final long serialVersionUID = 1L; + /** + * Exception for Asn1EncodedDataRouter specific failures. + */ + public static class Asn1EncodedDataRouterException extends Exception { + private static final long serialVersionUID = 1L; - public Asn1EncodedDataRouterException(String string) { - super(string); - } - } - - private final Asn1CoderTopics asn1CoderTopics; - private final JsonTopics jsonTopics; - - private final MessageProducer stringMsgProducer; - private final OdeTimJsonTopology odeTimJsonTopology; - private final Asn1CommandManager asn1CommandManager; - private final boolean dataSigningEnabledSDW; - private final boolean dataSigningEnabledRSU; - - public Asn1EncodedDataRouter(OdeKafkaProperties odeKafkaProperties, - Asn1CoderTopics asn1CoderTopics, - JsonTopics jsonTopics, - SDXDepositorTopics sdxDepositorTopics, - RsuProperties rsuProperties, - SecurityServicesProperties securityServicesProperties) { - super(); - - this.asn1CoderTopics = asn1CoderTopics; - this.jsonTopics = jsonTopics; - - this.stringMsgProducer = MessageProducer.defaultStringMessageProducer(odeKafkaProperties.getBrokers(), - odeKafkaProperties.getKafkaType(), - odeKafkaProperties.getDisabledTopics()); - - this.asn1CommandManager = new Asn1CommandManager(odeKafkaProperties, sdxDepositorTopics, rsuProperties, securityServicesProperties); - this.dataSigningEnabledSDW = securityServicesProperties.getIsSdwSigningEnabled(); - this.dataSigningEnabledRSU = securityServicesProperties.getIsRsuSigningEnabled(); - - odeTimJsonTopology = new OdeTimJsonTopology(odeKafkaProperties, jsonTopics.getTim()); + public Asn1EncodedDataRouterException(String string) { + super(string); } - - @Override - public Object process(String consumedData) { - try { - log.debug("Consumed: {}", consumedData); - JSONObject consumedObj = XmlUtils.toJSONObject(consumedData).getJSONObject(OdeAsn1Data.class.getSimpleName()); - - /* - * When receiving the 'rsus' in xml, since there is only one 'rsu' and - * there is no construct for array in xml, the rsus does not translate - * to an array of 1 element. The following workaround, resolves this - * issue. - */ - JSONObject metadata = consumedObj.getJSONObject(AppContext.METADATA_STRING); - - if (metadata.has(TimTransmogrifier.REQUEST_STRING)) { - JSONObject request = metadata.getJSONObject(TimTransmogrifier.REQUEST_STRING); - if (request.has(TimTransmogrifier.RSUS_STRING)) { - Object rsus = request.get(TimTransmogrifier.RSUS_STRING); - if (rsus instanceof JSONObject) { - JSONObject rsusIn = (JSONObject) request.get(TimTransmogrifier.RSUS_STRING); - if (rsusIn.has(TimTransmogrifier.RSUS_STRING)) { - Object rsu = rsusIn.get(TimTransmogrifier.RSUS_STRING); - JSONArray rsusOut = new JSONArray(); - if (rsu instanceof JSONArray) { - log.debug("Multiple RSUs exist in the request: {}", request); - JSONArray rsusInArray = (JSONArray) rsu; - for (int i = 0; i < rsusInArray.length(); i++) { - rsusOut.put(rsusInArray.get(i)); - } - request.put(TimTransmogrifier.RSUS_STRING, rsusOut); - } else if (rsu instanceof JSONObject) { - log.debug("Single RSU exists in the request: {}", request); - rsusOut.put(rsu); - request.put(TimTransmogrifier.RSUS_STRING, rsusOut); - } else { - log.debug("No RSUs exist in the request: {}", request); - request.remove(TimTransmogrifier.RSUS_STRING); - } - } - } + } + + private final Asn1CoderTopics asn1CoderTopics; + private final JsonTopics jsonTopics; + + private final MessageProducer stringMsgProducer; + private final OdeTimJsonTopology odeTimJsonTopology; + private final Asn1CommandManager asn1CommandManager; + private final boolean dataSigningEnabledSDW; + private final boolean dataSigningEnabledRSU; + + /** + * Instantiates the Asn1EncodedDataRouter to actively consume from Kafka and route the + * the encoded TIM messages to the SDX and RSUs. + * + * @param odeKafkaProperties The Kafka properties used to consume and produce to Kafka + * @param asn1CoderTopics The specified ASN1 Coder topics + * @param jsonTopics The specified JSON topics to write to + * @param sdxDepositorTopics The SDX depositor topics to write to + * @param rsuProperties The RSU properties to use + * @param securityServicesProperties The security services properties to use + **/ + public Asn1EncodedDataRouter(OdeKafkaProperties odeKafkaProperties, + Asn1CoderTopics asn1CoderTopics, + JsonTopics jsonTopics, + SDXDepositorTopics sdxDepositorTopics, + RsuProperties rsuProperties, + SecurityServicesProperties securityServicesProperties) { + super(); + + this.asn1CoderTopics = asn1CoderTopics; + this.jsonTopics = jsonTopics; + + this.stringMsgProducer = MessageProducer.defaultStringMessageProducer( + odeKafkaProperties.getBrokers(), + odeKafkaProperties.getKafkaType(), + odeKafkaProperties.getDisabledTopics()); + + this.asn1CommandManager = new Asn1CommandManager( + odeKafkaProperties, + sdxDepositorTopics, + rsuProperties, + securityServicesProperties); + this.dataSigningEnabledSDW = securityServicesProperties.getIsSdwSigningEnabled(); + this.dataSigningEnabledRSU = securityServicesProperties.getIsRsuSigningEnabled(); + + odeTimJsonTopology = new OdeTimJsonTopology(odeKafkaProperties, jsonTopics.getTim()); + } + + @Override + public Object process(String consumedData) { + try { + log.debug("Consumed: {}", consumedData); + JSONObject consumedObj = XmlUtils.toJSONObject(consumedData).getJSONObject( + OdeAsn1Data.class.getSimpleName()); + + /* + * When receiving the 'rsus' in xml, since there is only one 'rsu' and + * there is no construct for array in xml, the rsus does not translate + * to an array of 1 element. The following workaround, resolves this + * issue. + */ + JSONObject metadata = consumedObj.getJSONObject(AppContext.METADATA_STRING); + + if (metadata.has(TimTransmogrifier.REQUEST_STRING)) { + JSONObject request = metadata.getJSONObject(TimTransmogrifier.REQUEST_STRING); + if (request.has(TimTransmogrifier.RSUS_STRING)) { + Object rsus = request.get(TimTransmogrifier.RSUS_STRING); + if (rsus instanceof JSONObject) { + JSONObject rsusIn = (JSONObject) request.get(TimTransmogrifier.RSUS_STRING); + if (rsusIn.has(TimTransmogrifier.RSUS_STRING)) { + Object rsu = rsusIn.get(TimTransmogrifier.RSUS_STRING); + JSONArray rsusOut = new JSONArray(); + if (rsu instanceof JSONArray) { + log.debug("Multiple RSUs exist in the request: {}", request); + JSONArray rsusInArray = (JSONArray) rsu; + for (int i = 0; i < rsusInArray.length(); i++) { + rsusOut.put(rsusInArray.get(i)); } - - // Convert JSON to POJO - ServiceRequest servicerequest = getServicerequest(consumedObj); - - processEncodedTim(servicerequest, consumedObj); - } else { - throw new Asn1EncodedDataRouterException("Invalid or missing '" - + TimTransmogrifier.REQUEST_STRING + "' object in the encoder response"); - } - } catch (Exception e) { - String msg = "Error in processing received message from ASN.1 Encoder module: " + consumedData; - if (log.isDebugEnabled()) { - // print error message and stack trace - EventLogger.logger.error(msg, e); - log.error(msg, e); - } else { - // print error message only - EventLogger.logger.error(msg); - log.error(msg); + request.put(TimTransmogrifier.RSUS_STRING, rsusOut); + } else if (rsu instanceof JSONObject) { + log.debug("Single RSU exists in the request: {}", request); + rsusOut.put(rsu); + request.put(TimTransmogrifier.RSUS_STRING, rsusOut); + } else { + log.debug("No RSUs exist in the request: {}", request); + request.remove(TimTransmogrifier.RSUS_STRING); + } } + } } - return null; - } - - public ServiceRequest getServicerequest(JSONObject consumedObj) { - String sr = consumedObj.getJSONObject(AppContext.METADATA_STRING).getJSONObject(TimTransmogrifier.REQUEST_STRING).toString(); - log.debug("ServiceRequest: {}", sr); // Convert JSON to POJO - ServiceRequest serviceRequest = null; - try { - serviceRequest = (ServiceRequest) JsonUtils.fromJson(sr, ServiceRequest.class); - - } catch (Exception e) { - String errMsg = "Malformed JSON."; - EventLogger.logger.error(errMsg, e); - log.error(errMsg, e); - } - - return serviceRequest; + ServiceRequest servicerequest = getServicerequest(consumedObj); + + processEncodedTim(servicerequest, consumedObj); + } else { + throw new Asn1EncodedDataRouterException("Invalid or missing '" + + TimTransmogrifier.REQUEST_STRING + "' object in the encoder response"); + } + } catch (Exception e) { + String msg = "Error in processing received message from ASN.1 Encoder module: " + + consumedData; + if (log.isDebugEnabled()) { + // print error message and stack trace + EventLogger.logger.error(msg, e); + log.error(msg, e); + } else { + // print error message only + EventLogger.logger.error(msg); + log.error(msg); + } } - - public void processEncodedTim(ServiceRequest request, JSONObject consumedObj) { - - JSONObject dataObj = consumedObj.getJSONObject(AppContext.PAYLOAD_STRING).getJSONObject(AppContext.DATA_STRING); - JSONObject metadataObj = consumedObj.getJSONObject(AppContext.METADATA_STRING); - - // CASE 1: no SDW in metadata (SNMP deposit only) - // - sign MF - // - send to RSU - // CASE 2: SDW in metadata but no ASD in body (send back for another - // encoding) - // - sign MF - // - send to RSU - // - craft ASD object - // - publish back to encoder stream - // CASE 3: If SDW in metadata and ASD in body (double encoding complete) - // - send to SDX - - if (!dataObj.has(Asn1CommandManager.ADVISORY_SITUATION_DATA_STRING)) { - log.debug("Unsigned message received"); - // We don't have ASD, therefore it must be just a MessageFrame that needs to be signed - // No support for unsecured MessageFrame only payload. - // Cases 1 & 2 - // Sign and send to RSUs - - JSONObject mfObj = dataObj.getJSONObject(MESSAGE_FRAME); - - String hexEncodedTim = mfObj.getString(BYTES); - log.debug("Encoded message - phase 1: {}", hexEncodedTim); - //use Asnc1 library to decode the encoded tim returned from ASNC1; another class two blockers: decode the tim and decode the message-sign - - // Case 1: SNMP-deposit - if (dataSigningEnabledRSU && request.getRsus() != null) { - hexEncodedTim = signTIMAndProduceToExpireTopic(hexEncodedTim, consumedObj); - } else { - // if header is present, strip it - if (isHeaderPresent(hexEncodedTim)) { - String header = hexEncodedTim.substring(0, hexEncodedTim.indexOf("001F") + 4); - log.debug("Stripping header from unsigned message: {}", header); - hexEncodedTim = stripHeader(hexEncodedTim); - mfObj.remove(BYTES); - mfObj.put(BYTES, hexEncodedTim); - dataObj.remove(MESSAGE_FRAME); - dataObj.put(MESSAGE_FRAME, mfObj); - consumedObj.remove(AppContext.PAYLOAD_STRING); - consumedObj.put(AppContext.PAYLOAD_STRING, dataObj); - } - } - - if (null != request.getSnmp() && null != request.getRsus() && null != hexEncodedTim) { - log.info("Sending message to RSUs..."); - asn1CommandManager.sendToRsus(request, hexEncodedTim); - } - - hexEncodedTim = mfObj.getString(BYTES); - - // Case 2: SDX-deposit - if (dataSigningEnabledSDW && request.getSdw() != null) { - hexEncodedTim = signTIMAndProduceToExpireTopic(hexEncodedTim, consumedObj); - } - - // Deposit encoded & signed TIM to TMC-filtered topic if TMC-generated - depositToFilteredTopic(metadataObj, hexEncodedTim); - if (request.getSdw() != null) { - // Case 2 only - - log.debug("Publishing message for round 2 encoding!"); - String xmlizedMessage = asn1CommandManager.packageSignedTimIntoAsd(request, hexEncodedTim); - - stringMsgProducer.send(asn1CoderTopics.getEncoderInput(), null, xmlizedMessage); - } - - } else { - //We have encoded ASD. It could be either UNSECURED or secured. - if (dataSigningEnabledSDW && request.getSdw() != null) { - log.debug("Signed message received. Depositing it to SDW."); - // We have a ASD with signed MessageFrame - // Case 3 - JSONObject asdObj = dataObj.getJSONObject(Asn1CommandManager.ADVISORY_SITUATION_DATA_STRING); - try { - JSONObject deposit = new JSONObject(); - deposit.put("estimatedRemovalDate", request.getSdw().getEstimatedRemovalDate()); - deposit.put("encodedMsg", asdObj.getString(BYTES)); - asn1CommandManager.depositToSdw(deposit.toString()); - } catch (JSONException | Asn1CommandManagerException e) { - String msg = ERROR_ON_SDX_DEPOSIT; - log.error(msg, e); - } - } else { - log.debug("Unsigned ASD received. Depositing it to SDW."); - //We have ASD with UNSECURED MessageFrame - processEncodedTimUnsecured(request, consumedObj); - } - } + return null; + } + + /** + * Gets the service request based on the consumed JSONObject. + * + * @param consumedObj The object to retrieve the service request for + * @return The service request + */ + public ServiceRequest getServicerequest(JSONObject consumedObj) { + String sr = consumedObj.getJSONObject(AppContext.METADATA_STRING).getJSONObject( + TimTransmogrifier.REQUEST_STRING).toString(); + log.debug("ServiceRequest: {}", sr); + + // Convert JSON to POJO + ServiceRequest serviceRequest = null; + try { + serviceRequest = (ServiceRequest) JsonUtils.fromJson(sr, ServiceRequest.class); + + } catch (Exception e) { + String errMsg = "Malformed JSON."; + EventLogger.logger.error(errMsg, e); + log.error(errMsg, e); } - public void processEncodedTimUnsecured(ServiceRequest request, JSONObject consumedObj) { - // Send TIMs and record results - HashMap responseList = new HashMap<>(); - JSONObject metadataObj = consumedObj.getJSONObject(AppContext.METADATA_STRING); - - JSONObject dataObj = consumedObj - .getJSONObject(AppContext.PAYLOAD_STRING) - .getJSONObject(AppContext.DATA_STRING); - - if (null != request.getSdw()) { - JSONObject asdObj = null; - if (dataObj.has(Asn1CommandManager.ADVISORY_SITUATION_DATA_STRING)) { - asdObj = dataObj.getJSONObject(Asn1CommandManager.ADVISORY_SITUATION_DATA_STRING); - } else { - log.error("ASD structure present in metadata but not in JSONObject!"); - } - - if (null != asdObj) { - String asdBytes = asdObj.getString(BYTES); - - try { - JSONObject deposit = new JSONObject(); - deposit.put("estimatedRemovalDate", request.getSdw().getEstimatedRemovalDate()); - deposit.put("encodedMsg", asdBytes); - asn1CommandManager.depositToSdw(deposit.toString()); - log.info("SDX deposit successful."); - } catch (Exception e) { - String msg = ERROR_ON_SDX_DEPOSIT; - log.error(msg, e); - EventLogger.logger.error(msg, e); - } - - } else if (log.isErrorEnabled()) { // Added to avoid Sonar's "Invoke method(s) only conditionally." code smell - String msg = "ASN.1 Encoder did not return ASD encoding {}"; - EventLogger.logger.error(msg, consumedObj); - log.error(msg, consumedObj); - } + return serviceRequest; + } + + /** + * Process the signed encoded TIM message. + * + * @param request The service request + * @param consumedObj The consumed JSON object + */ + public void processEncodedTim(ServiceRequest request, JSONObject consumedObj) { + + JSONObject dataObj = consumedObj.getJSONObject(AppContext.PAYLOAD_STRING).getJSONObject( + AppContext.DATA_STRING); + JSONObject metadataObj = consumedObj.getJSONObject(AppContext.METADATA_STRING); + + // CASE 1: no SDW in metadata (SNMP deposit only) + // - sign MF + // - send to RSU + // CASE 2: SDW in metadata but no ASD in body (send back for another + // encoding) + // - sign MF + // - send to RSU + // - craft ASD object + // - publish back to encoder stream + // CASE 3: If SDW in metadata and ASD in body (double encoding complete) + // - send to SDX + + if (!dataObj.has(Asn1CommandManager.ADVISORY_SITUATION_DATA_STRING)) { + log.debug("Unsigned message received"); + // We don't have ASD, therefore it must be just a MessageFrame that needs to be + // signed + // No support for unsecured MessageFrame only payload. + // Cases 1 & 2 + // Sign and send to RSUs + + JSONObject mfObj = dataObj.getJSONObject(MESSAGE_FRAME); + + String hexEncodedTim = mfObj.getString(BYTES); + log.debug("Encoded message - phase 1: {}", hexEncodedTim); + // use Asnc1 library to decode the encoded tim returned from ASNC1; another + // class two blockers: decode the tim and decode the message-sign + + // Case 1: SNMP-deposit + if (dataSigningEnabledRSU && request.getRsus() != null) { + hexEncodedTim = signTIMAndProduceToExpireTopic(hexEncodedTim, consumedObj); + } else { + // if header is present, strip it + if (isHeaderPresent(hexEncodedTim)) { + String header = hexEncodedTim.substring(0, hexEncodedTim.indexOf("001F") + 4); + log.debug("Stripping header from unsigned message: {}", header); + hexEncodedTim = stripHeader(hexEncodedTim); + mfObj.remove(BYTES); + mfObj.put(BYTES, hexEncodedTim); + dataObj.remove(MESSAGE_FRAME); + dataObj.put(MESSAGE_FRAME, mfObj); + consumedObj.remove(AppContext.PAYLOAD_STRING); + consumedObj.put(AppContext.PAYLOAD_STRING, dataObj); } - - if (dataObj.has(MESSAGE_FRAME)) { - JSONObject mfObj = dataObj.getJSONObject(MESSAGE_FRAME); - String encodedTim = mfObj.getString(BYTES); - - // Deposit encoded TIM to TMC-filtered topic if TMC-generated - depositToFilteredTopic(metadataObj, encodedTim); - - // if header is present, strip it - if (isHeaderPresent(encodedTim)) { - String header = encodedTim.substring(0, encodedTim.indexOf("001F") + 4); - log.debug("Stripping header from unsigned message: {}", header); - encodedTim = stripHeader(encodedTim); - mfObj.remove(BYTES); - mfObj.put(BYTES, encodedTim); - dataObj.remove(MESSAGE_FRAME); - dataObj.put(MESSAGE_FRAME, mfObj); - consumedObj.remove(AppContext.PAYLOAD_STRING); - consumedObj.put(AppContext.PAYLOAD_STRING, dataObj); - } - - log.debug("Encoded message - phase 2: {}", encodedTim); - - // only send message to rsu if snmp, rsus, and message frame fields are present - if (null != request.getSnmp() && null != request.getRsus() && null != encodedTim) { - log.debug("Encoded message phase 3: {}", encodedTim); - asn1CommandManager.sendToRsus(request, encodedTim); - } + } + + if (null != request.getSnmp() && null != request.getRsus() && null != hexEncodedTim) { + log.info("Sending message to RSUs..."); + asn1CommandManager.sendToRsus(request, hexEncodedTim); + } + + hexEncodedTim = mfObj.getString(BYTES); + + // Case 2: SDX-deposit + if (dataSigningEnabledSDW && request.getSdw() != null) { + hexEncodedTim = signTIMAndProduceToExpireTopic(hexEncodedTim, consumedObj); + } + + // Deposit encoded & signed TIM to TMC-filtered topic if TMC-generated + depositToFilteredTopic(metadataObj, hexEncodedTim); + if (request.getSdw() != null) { + // Case 2 only + + log.debug("Publishing message for round 2 encoding!"); + String xmlizedMessage = asn1CommandManager.packageSignedTimIntoAsd(request, hexEncodedTim); + + stringMsgProducer.send(asn1CoderTopics.getEncoderInput(), null, xmlizedMessage); + } + + } else { + // We have encoded ASD. It could be either UNSECURED or secured. + if (dataSigningEnabledSDW && request.getSdw() != null) { + log.debug("Signed message received. Depositing it to SDW."); + // We have a ASD with signed MessageFrame + // Case 3 + JSONObject asdObj = dataObj.getJSONObject( + Asn1CommandManager.ADVISORY_SITUATION_DATA_STRING); + try { + JSONObject deposit = new JSONObject(); + deposit.put("estimatedRemovalDate", request.getSdw().getEstimatedRemovalDate()); + deposit.put("encodedMsg", asdObj.getString(BYTES)); + asn1CommandManager.depositToSdw(deposit.toString()); + } catch (JSONException | Asn1CommandManagerException e) { + String msg = ERROR_ON_SDX_DEPOSIT; + log.error(msg, e); } - - log.info("TIM deposit response {}", responseList); + } else { + log.debug("Unsigned ASD received. Depositing it to SDW."); + // We have ASD with UNSECURED MessageFrame + processEncodedTimUnsecured(request, consumedObj); + } } + } + + /** + * Process the unsigned encoded TIM message. + * + * @param request The service request + * @param consumedObj The consumed JSON object + */ + public void processEncodedTimUnsecured(ServiceRequest request, JSONObject consumedObj) { + // Send TIMs and record results + HashMap responseList = new HashMap<>(); + JSONObject metadataObj = consumedObj.getJSONObject(AppContext.METADATA_STRING); + + JSONObject dataObj = consumedObj + .getJSONObject(AppContext.PAYLOAD_STRING) + .getJSONObject(AppContext.DATA_STRING); + + if (null != request.getSdw()) { + JSONObject asdObj = null; + if (dataObj.has(Asn1CommandManager.ADVISORY_SITUATION_DATA_STRING)) { + asdObj = dataObj.getJSONObject(Asn1CommandManager.ADVISORY_SITUATION_DATA_STRING); + } else { + log.error("ASD structure present in metadata but not in JSONObject!"); + } + + if (null != asdObj) { + String asdBytes = asdObj.getString(BYTES); - public String signTIMAndProduceToExpireTopic(String encodedTIM, JSONObject consumedObj) { - log.debug("Sending message for signature! "); - String base64EncodedTim = CodecUtils.toBase64( - CodecUtils.fromHex(encodedTIM)); - JSONObject metadataObjs = consumedObj.getJSONObject(AppContext.METADATA_STRING); - // get max duration time and convert from minutes to milliseconds (unsigned - // integer valid 0 to 2^32-1 in units of - // milliseconds.) from metadata - int maxDurationTime = Integer.valueOf(metadataObjs.get("maxDurationTime").toString()) * 60 * 1000; - String timpacketID = metadataObjs.getString("odePacketID"); - String timStartDateTime = metadataObjs.getString("odeTimStartDateTime"); - String signedResponse = asn1CommandManager.sendForSignature(base64EncodedTim, maxDurationTime); try { - String hexEncodedTim = CodecUtils.toHex( - CodecUtils.fromBase64( - JsonUtils.toJSONObject(JsonUtils.toJSONObject(signedResponse).getString("result")).getString("message-signed"))); - - JSONObject timWithExpiration = new JSONObject(); - timWithExpiration.put("packetID", timpacketID); - timWithExpiration.put("startDateTime", timStartDateTime); - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); - try { - JSONObject jsonResult = JsonUtils - .toJSONObject((JsonUtils.toJSONObject(signedResponse).getString("result"))); - // messageExpiry uses unit of seconds - long messageExpiry = Long.parseLong(jsonResult.getString("message-expiry")); - timWithExpiration.put("expirationDate", dateFormat.format(new Date(messageExpiry * 1000))); - } catch (Exception e) { - log.error("Unable to get expiration date from signed messages response ", e); - timWithExpiration.put("expirationDate", "null"); - } - - try { - Date parsedtimTimeStamp = dateFormat.parse(timStartDateTime); - Date requiredExpirationDate = new Date(); - requiredExpirationDate.setTime(parsedtimTimeStamp.getTime() + maxDurationTime); - timWithExpiration.put("requiredExpirationDate", dateFormat.format(requiredExpirationDate)); - } catch (Exception e) { - log.error("Unable to parse requiredExpirationDate ", e); - timWithExpiration.put("requiredExpirationDate", "null"); - } - //publish to Tim expiration kafka - stringMsgProducer.send(jsonTopics.getTimCertExpiration(), null, - timWithExpiration.toString()); - - return hexEncodedTim; - - } catch (JsonUtilsException e1) { - log.error("Unable to parse signed message response ", e1); + JSONObject deposit = new JSONObject(); + deposit.put("estimatedRemovalDate", request.getSdw().getEstimatedRemovalDate()); + deposit.put("encodedMsg", asdBytes); + asn1CommandManager.depositToSdw(deposit.toString()); + log.info("SDX deposit successful."); + } catch (Exception e) { + String msg = ERROR_ON_SDX_DEPOSIT; + log.error(msg, e); + EventLogger.logger.error(msg, e); } - return encodedTIM; - } - /** - * Checks if header is present in encoded message - */ - private boolean isHeaderPresent(String encodedTim) { - return encodedTim.indexOf("001F") > 0; + } else if (log.isErrorEnabled()) { + // Added to avoid Sonar's "Invoke method(s) only conditionally." code smell + String msg = "ASN.1 Encoder did not return ASD encoding {}"; + EventLogger.logger.error(msg, consumedObj); + log.error(msg, consumedObj); + } } - /** - * Strips header from unsigned message (all bytes before 001F hex value) - */ - private String stripHeader(String encodedUnsignedTim) { - String toReturn = ""; - // find 001F hex value - int index = encodedUnsignedTim.indexOf("001F"); - if (index == -1) { - log.warn("No '001F' hex value found in encoded message"); - return encodedUnsignedTim; - } - // strip everything before 001F - toReturn = encodedUnsignedTim.substring(index); - return toReturn; + if (dataObj.has(MESSAGE_FRAME)) { + JSONObject mfObj = dataObj.getJSONObject(MESSAGE_FRAME); + String encodedTim = mfObj.getString(BYTES); + + // Deposit encoded TIM to TMC-filtered topic if TMC-generated + depositToFilteredTopic(metadataObj, encodedTim); + + // if header is present, strip it + if (isHeaderPresent(encodedTim)) { + String header = encodedTim.substring(0, encodedTim.indexOf("001F") + 4); + log.debug("Stripping header from unsigned message: {}", header); + encodedTim = stripHeader(encodedTim); + mfObj.remove(BYTES); + mfObj.put(BYTES, encodedTim); + dataObj.remove(MESSAGE_FRAME); + dataObj.put(MESSAGE_FRAME, mfObj); + consumedObj.remove(AppContext.PAYLOAD_STRING); + consumedObj.put(AppContext.PAYLOAD_STRING, dataObj); + } + + log.debug("Encoded message - phase 2: {}", encodedTim); + + // only send message to rsu if snmp, rsus, and message frame fields are present + if (null != request.getSnmp() && null != request.getRsus() && null != encodedTim) { + log.debug("Encoded message phase 3: {}", encodedTim); + asn1CommandManager.sendToRsus(request, encodedTim); + } } - private void depositToFilteredTopic(JSONObject metadataObj, String hexEncodedTim) { - try { - String generatedBy = metadataObj.getString("recordGeneratedBy"); - String streamId = metadataObj.getJSONObject("serialId").getString("streamId"); - if (!generatedBy.equalsIgnoreCase("TMC")) { - log.debug("Not a TMC-generated TIM. Skipping deposit to TMC-filtered topic."); - return; - } - - String timString = odeTimJsonTopology.query(streamId); - if (timString != null) { - // Set ASN1 data in TIM metadata - JSONObject timJSON = new JSONObject(timString); - JSONObject metadataJSON = timJSON.getJSONObject("metadata"); - metadataJSON.put("asn1", hexEncodedTim); - timJSON.put("metadata", metadataJSON); - - // Send the message w/ asn1 data to the TMC-filtered topic - stringMsgProducer.send(jsonTopics.getTimTmcFiltered(), null, timJSON.toString()); - } - } catch (JSONException e) { - log.error("Error while fetching recordGeneratedBy field: {}", e.getMessage()); - } catch (Exception e) { - log.error("Error while updating TIM: {}", e.getMessage()); - } + log.info("TIM deposit response {}", responseList); + } + + /** + * Sign the encoded TIM message and write to Kafka with an expiration time. + * + * @param encodedTIM The encoded TIM message to be signed + * @param consumedObj The JSON object to be consumed + * @return The String representation of the encodedTim payload + */ + public String signTIMAndProduceToExpireTopic(String encodedTIM, JSONObject consumedObj) { + log.debug("Sending message for signature! "); + String base64EncodedTim = CodecUtils.toBase64( + CodecUtils.fromHex(encodedTIM)); + JSONObject metadataObjs = consumedObj.getJSONObject(AppContext.METADATA_STRING); + // get max duration time and convert from minutes to milliseconds (unsigned + // integer valid 0 to 2^32-1 in units of + // milliseconds.) from metadata + int maxDurationTime = Integer.valueOf(metadataObjs.get("maxDurationTime").toString()) + * 60 * 1000; + String timpacketID = metadataObjs.getString("odePacketID"); + String timStartDateTime = metadataObjs.getString("odeTimStartDateTime"); + String signedResponse = asn1CommandManager.sendForSignature(base64EncodedTim, maxDurationTime); + try { + final String hexEncodedTim = CodecUtils.toHex( + CodecUtils.fromBase64( + JsonUtils.toJSONObject(JsonUtils.toJSONObject(signedResponse).getString("result")) + .getString("message-signed"))); + + JSONObject timWithExpiration = new JSONObject(); + timWithExpiration.put("packetID", timpacketID); + timWithExpiration.put("startDateTime", timStartDateTime); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); + try { + JSONObject jsonResult = JsonUtils + .toJSONObject((JsonUtils.toJSONObject(signedResponse).getString("result"))); + // messageExpiry uses unit of seconds + long messageExpiry = Long.parseLong(jsonResult.getString("message-expiry")); + timWithExpiration.put("expirationDate", dateFormat.format(new Date(messageExpiry * 1000))); + } catch (Exception e) { + log.error("Unable to get expiration date from signed messages response ", e); + timWithExpiration.put("expirationDate", "null"); + } + + try { + Date parsedtimTimeStamp = dateFormat.parse(timStartDateTime); + Date requiredExpirationDate = new Date(); + requiredExpirationDate.setTime(parsedtimTimeStamp.getTime() + maxDurationTime); + timWithExpiration.put("requiredExpirationDate", dateFormat.format(requiredExpirationDate)); + } catch (Exception e) { + log.error("Unable to parse requiredExpirationDate ", e); + timWithExpiration.put("requiredExpirationDate", "null"); + } + // publish to Tim expiration kafka + stringMsgProducer.send(jsonTopics.getTimCertExpiration(), null, + timWithExpiration.toString()); + + return hexEncodedTim; + + } catch (JsonUtilsException e1) { + log.error("Unable to parse signed message response ", e1); + } + return encodedTIM; + } + + /** + * Checks if header is present in encoded message. + */ + private boolean isHeaderPresent(String encodedTim) { + return encodedTim.indexOf("001F") > 0; + } + + /** + * Strips header from unsigned message (all bytes before 001F hex value). + */ + private String stripHeader(String encodedUnsignedTim) { + String toReturn = ""; + // find 001F hex value + int index = encodedUnsignedTim.indexOf("001F"); + if (index == -1) { + log.warn("No '001F' hex value found in encoded message"); + return encodedUnsignedTim; + } + // strip everything before 001F + toReturn = encodedUnsignedTim.substring(index); + return toReturn; + } + + private void depositToFilteredTopic(JSONObject metadataObj, String hexEncodedTim) { + try { + String generatedBy = metadataObj.getString("recordGeneratedBy"); + String streamId = metadataObj.getJSONObject("serialId").getString("streamId"); + if (!generatedBy.equalsIgnoreCase("TMC")) { + log.debug("Not a TMC-generated TIM. Skipping deposit to TMC-filtered topic."); + return; + } + + String timString = odeTimJsonTopology.query(streamId); + if (timString != null) { + // Set ASN1 data in TIM metadata + JSONObject timJSON = new JSONObject(timString); + JSONObject metadataJSON = timJSON.getJSONObject("metadata"); + metadataJSON.put("asn1", hexEncodedTim); + timJSON.put("metadata", metadataJSON); + + // Send the message w/ asn1 data to the TMC-filtered topic + stringMsgProducer.send(jsonTopics.getTimTmcFiltered(), null, timJSON.toString()); + } + } catch (JSONException e) { + log.error("Error while fetching recordGeneratedBy field: {}", e.getMessage()); + } catch (Exception e) { + log.error("Error while updating TIM: {}", e.getMessage()); } + } } From abce4e5fad300b4ee4d346f83ae7a9006d2879ef Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Fri, 6 Dec 2024 04:14:28 -0700 Subject: [PATCH 27/33] Update the TIM schema and resolve some test issues --- .../main/resources/schemas/schema-tim.json | 1154 +++++++++++------ .../test/resources/CVMessages/TIM_test.json | 2 +- .../TravelerDataFrame.java | 4 +- .../plugin/j2735/builders/MAPBuilderTest.java | 16 +- .../plugin/j2735/common/HeadingSliceTest.java | 7 +- .../OdeTimDataCreatorHelper_TIM_JSON.json | 2 +- .../OdeTimDataCreatorHelper_TIM_XER.xml | 5 +- 7 files changed, 776 insertions(+), 414 deletions(-) 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 d539c00e9..9076ee5c3 100644 --- a/jpo-ode-core/src/main/resources/schemas/schema-tim.json +++ b/jpo-ode-core/src/main/resources/schemas/schema-tim.json @@ -260,10 +260,10 @@ "type": "object", "properties": { "nwCorner": { - "$ref": "#/$defs/OdePosition3D" + "$ref": "#/$defs/Position3D" }, "seCorner": { - "$ref": "#/$defs/OdePosition3D" + "$ref": "#/$defs/Position3D" } }, "required": [ @@ -317,7 +317,7 @@ "type": "object", "properties": { "data": { - "$ref": "#/$defs/J2735Tim" + "$ref": "#/$defs/TravelerInformation" }, "dataType": { "type": "string" @@ -328,11 +328,11 @@ "dataType" ] }, - "J2735Tim": { + "TravelerInformation": { "type": "object", "properties": { "timeStamp": { - "type": "string" + "type": "number" }, "packetID": { "type": "string" @@ -344,12 +344,12 @@ "type": "array", "prefixItems": [ { - "$ref": "#/$defs/J2735TravelerDataFrame" + "$ref": "#/$defs/TravelerDataFrame" } ] }, "msgCnt": { - "type": "string" + "type": "number" } }, "required": [ @@ -357,11 +357,11 @@ "msgCnt" ] }, - "J2735TravelerDataFrame": { + "TravelerDataFrame": { "type": "object", "properties": { "notUsed": { - "type": "string" + "type": "number" }, "frameType": { "enum": [ @@ -385,41 +385,49 @@ ] }, { - "$ref": "#/$defs/J2735DF_MsgId_RoadSignId" + "type": "object", + "properties": { + "roadSignID": { + "$ref": "#/$defs/RoadSignID" + } + }, + "required": [ + "roadSignID" + ] } ] }, "startYear": { - "type": "string" + "type": "number" }, "startTime": { - "type": "string" + "type": "number" }, "durationTime": { - "type": "string" + "type": "number" }, "priority": { - "type": "string" + "type": "number" }, "notUsed1": { - "type": "string" + "type": "number" }, "regions": { "type": "array", "prefixItems": [ { - "$ref": "#/$defs/J2735DF_GeographicalPath" + "$ref": "#/$defs/GeographicalPath" } ] }, "notUsed2": { - "type": "string" + "type": "number" }, "notUsed3": { - "type": "string" + "type": "number" }, "content": { - "$ref": "#/$defs/J2735DF_Content" + "$ref": "#/$defs/ContentChoice" }, "url": { "type": "string" @@ -439,84 +447,153 @@ "content" ] }, - "J2735DF_MsgId_RoadSignId": { + "RoadSignID": { "type": "object", "properties": { - "roadSignID": { - "type": "object", - "properties": { - "position": { - "$ref": "#/$defs/OdePosition3D" - }, - "viewAngle": { - "type": "string" - }, - "mutcdCode": { - "enum": [ - "none", - "regulatory", - "warning", - "maintenance", - "motoristService", - "guide", - "rec" - ] - } - }, - "required": [ - "position", - "viewAngle" + "position": { + "$ref": "#/$defs/Position3D" + }, + "viewAngle": { + "$ref": "#/$defs/HeadingSlice" + }, + "mutcdCode": { + "enum": [ + "none", + "regulatory", + "warning", + "maintenance", + "motoristService", + "guide", + "rec" ] + }, + "crc": { + "type": "string" + } + }, + "required": [ + "position", + "viewAngle" + ] + }, + "HeadingSlice": { + "type": "object", + "properties": { + "from000-0to022-5degrees": { + "type": "boolean" + }, + "from022-5to045-0degrees": { + "type": "boolean" + }, + "from045-0to067-5degrees": { + "type": "boolean" + }, + "from067-5to090-0degrees": { + "type": "boolean" + }, + "from090-0to112-5degrees": { + "type": "boolean" + }, + "from112-5to135-0degrees": { + "type": "boolean" + }, + "from135-0to157-5degrees": { + "type": "boolean" + }, + "from157-5to180-0degrees": { + "type": "boolean" + }, + "from180-0to202-5degrees": { + "type": "boolean" + }, + "from202-5to225-0degrees": { + "type": "boolean" + }, + "from225-0to247-5degrees": { + "type": "boolean" + }, + "from247-5to270-0degrees": { + "type": "boolean" + }, + "from270-0to292-5degrees": { + "type": "boolean" + }, + "from292-5to315-0degrees": { + "type": "boolean" + }, + "from315-0to337-5degrees": { + "type": "boolean" + }, + "from337-5to360-0degrees": { + "type": "boolean" } }, "required": [ - "roadSignID" + "from000-0to022-5degrees", + "from022-5to045-0degrees", + "from045-0to067-5degrees", + "from067-5to090-0degrees", + "from090-0to112-5degrees", + "from112-5to135-0degrees", + "from135-0to157-5degrees", + "from157-5to180-0degrees", + "from180-0to202-5degrees", + "from202-5to225-0degrees", + "from225-0to247-5degrees", + "from247-5to270-0degrees", + "from270-0to292-5degrees", + "from292-5to315-0degrees", + "from315-0to337-5degrees", + "from337-5to360-0degrees" ] }, - "J2735DF_GeographicalPath": { + "GeographicalPath": { "type": "object", "properties": { "name": { "type": "string" }, "id": { - "$ref": "#/$defs/J2735RoadSegmentReferenceID" + "$ref": "#/$defs/RoadSegmentReferenceID" }, "anchor": { - "$ref": "#/$defs/OdePosition3D" + "$ref": "#/$defs/Position3D" }, "laneWidth": { "type": "number" }, "directionality": { - "enum": [ - "unavailable", - "forward", - "reverse", - "both" - ] + "$ref": "#/$defs/DirectionOfUse" }, "closedPath": { "type": "boolean" }, "direction": { - "type": "string" + "$ref": "#/$defs/HeadingSlice" }, "description": { - "$ref": "#/$defs/J2735DF_Regions_Description" + "$ref": "#/$defs/DescriptionChoice" } }, "required": [ "description" ] }, - "J2735DF_Regions_Description": { + "DirectionOfUse": { + "enum": [ + "unavailable", + "forward", + "reverse", + "both" + ] + }, + "DescriptionChoice": { "oneOf": [ { "type": "object", "properties": { "path": { - "$ref": "#/$defs/J2735OffsetSystem" + "$ref": "#/$defs/OffsetSystem" } }, "required": [ @@ -527,76 +604,105 @@ "type": "object", "properties": { "geometry": { - "$ref": "#/$defs/J2735GeometricProjection" + "$ref": "#/$defs/GeometricProjection" } }, "required": [ "geometry" ] + }, + { + "type": "object", + "properties": { + "oldRegion": { + "$ref": "#/$defs/ValidRegion" + } + }, + "required": [ + "oldRegion" + ] } ] }, - "J2735OffsetSystem": { + "OffsetSystem": { "type": "object", "properties": { "scale": { "type": "number" }, "offset": { - "oneOf": [ - { - "type": "object", - "properties": { - "xy": { - "$ref": "#/$defs/J2735NodeListXY" - } - }, - "required": [ - "xy" - ] - }, - { - "type": "object", - "properties": { - "ll": { - "$ref": "#/$defs/J2735NodeListLL" - } - }, - "required": [ - "ll" - ] - } - ] + "$ref": "#/$defs/OffsetChoice" } }, "required": [ "offset" ] }, - "J2735NodeListXY": { - "type": "object", - "properties": { - "nodes": { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/J2735NodeXY" + "OffsetChoice": { + "oneOf": [ + { + "type": "object", + "properties": { + "xy": { + "$ref": "#/$defs/NodeListXY" + } + }, + "required": [ + "xy" + ] + }, + { + "type": "object", + "properties": { + "ll": { + "$ref": "#/$defs/NodeListLL" } + }, + "required": [ + "ll" + ] + } + ] + }, + "NodeListXY": { + "oneOf": [ + { + "type": "object", + "properties": { + "nodes": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/$defs/NodeXY" + } + ] + } + }, + "required": [ + "nodes" + ] + }, + { + "type": "object", + "properties": { + "computed": { + "$ref": "#/$defs/ComputedLane" + } + }, + "required": [ + "computed" ] } - }, - "required": [ - "nodes" ] }, - "J2735NodeListLL": { + "NodeListLL": { "type": "object", "properties": { "nodes": { "type": "array", "prefixItems": [ { - "$ref": "#/$defs/J2735NodeLL" + "$ref": "#/$defs/NodeLL" } ] } @@ -605,504 +711,778 @@ "nodes" ] }, - "J2735NodeXY": { + "NodeXY": { "type": "object", "properties": { "delta": { - "oneOf": [ - { - "type": "object", - "properties": { - "nodeXY1": { - "$ref": "#/$defs/J2735NodeXYDelta" - } - }, - "required": [ - "nodeXY1" - ] - }, - { - "type": "object", - "properties": { - "nodeXY2": { - "$ref": "#/$defs/J2735NodeXYDelta" - } - }, - "required": [ - "nodeXY2" - ] - }, - { - "type": "object", - "properties": { - "nodeXY3": { - "$ref": "#/$defs/J2735NodeXYDelta" - } - }, - "required": [ - "nodeXY3" - ] - }, - { - "type": "object", - "properties": { - "nodeXY4": { - "$ref": "#/$defs/J2735NodeXYDelta" - } - }, - "required": [ - "nodeXY4" - ] - }, - { - "type": "object", - "properties": { - "nodeXY5": { - "$ref": "#/$defs/J2735NodeXYDelta" - } - }, - "required": [ - "nodeXY5" - ] - }, - { - "type": "object", - "properties": { - "nodeXY6": { - "$ref": "#/$defs/J2735NodeXYDelta" - } - }, - "required": [ - "nodeXY6" - ] - }, - { - "type": "object", - "properties": { - "nodeLatLon": { - "$ref": "#/$defs/J2735NodeLLDelta" - } - }, - "required": [ - "nodeLatLon" - ] - } - ] + "$ref": "#/$defs/NodeOffsetPointXY" + }, + "attributes": { + "$ref": "#/$defs/NodeAttributeSet" } }, "required": [ "delta" ] }, - "J2735NodeLL": { - "type": "object", - "properties": { - "delta": { - "oneOf": [ - { - "type": "object", - "properties": { - "nodeLL1": { - "$ref": "#/$defs/J2735NodeLLDelta" - } - }, - "required": [ - "nodeLL1" - ] - }, - { - "type": "object", - "properties": { - "nodeLL2": { - "$ref": "#/$defs/J2735NodeLLDelta" - } - }, - "required": [ - "nodeLL2" - ] - }, - { - "type": "object", - "properties": { - "nodeLL3": { - "$ref": "#/$defs/J2735NodeLLDelta" - } - }, - "required": [ - "nodeLL3" - ] - }, - { - "type": "object", - "properties": { - "nodeLL4": { - "$ref": "#/$defs/J2735NodeLLDelta" - } - }, - "required": [ - "nodeLL4" - ] - }, - { - "type": "object", - "properties": { - "nodeLL5": { - "$ref": "#/$defs/J2735NodeLLDelta" - } - }, - "required": [ - "nodeLL5" - ] - }, + "NodeOffsetPointXY": { + "oneOf": [ + { + "type": "object", + "properties": { + "nodeXY1": { + "$ref": "#/$defs/NodeXYPoint" + } + }, + "required": [ + "nodeXY1" + ] + }, + { + "type": "object", + "properties": { + "nodeXY2": { + "$ref": "#/$defs/NodeXYPoint" + } + }, + "required": [ + "nodeXY2" + ] + }, + { + "type": "object", + "properties": { + "nodeXY3": { + "$ref": "#/$defs/NodeXYPoint" + } + }, + "required": [ + "nodeXY3" + ] + }, + { + "type": "object", + "properties": { + "nodeXY4": { + "$ref": "#/$defs/NodeXYPoint" + } + }, + "required": [ + "nodeXY4" + ] + }, + { + "type": "object", + "properties": { + "nodeXY5": { + "$ref": "#/$defs/NodeXYPoint" + } + }, + "required": [ + "nodeXY5" + ] + }, + { + "type": "object", + "properties": { + "nodeXY6": { + "$ref": "#/$defs/NodeXYPoint" + } + }, + "required": [ + "nodeXY6" + ] + }, + { + "type": "object", + "properties": { + "nodeLatLon": { + "$ref": "#/$defs/NodeLLmD" + } + }, + "required": [ + "nodeLatLon" + ] + } + ] + }, + "NodeAttributeSet": { + "type": "object", + "properties": { + "localNode": { + "type": "array", + "prefixItems": [ { - "type": "object", - "properties": { - "nodeLL6": { - "$ref": "#/$defs/J2735NodeLLDelta" - } - }, - "required": [ - "nodeLL6" - ] - }, + "$ref": "#/$defs/NodeAttributeXY" + } + ] + }, + "disabled": { + "type": "array", + "prefixItems": [ { - "type": "object", - "properties": { - "nodeLatLon": { - "$ref": "#/$defs/J2735NodeLLDelta" - } - }, - "required": [ - "nodeLatLon" - ] + "$ref": "#/$defs/SegmentAttributeXY" } ] + }, + "enabled": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/$defs/SegmentAttributeXY" + } + ] + }, + "data": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/$defs/LaneDataAttribute" + } + ] + }, + "dWidth": { + "type": "number" + }, + "dElevation": { + "type": "number" } - }, - "required": [ - "delta" + } + }, + "NodeAttributeXY": { + "enum": [ + "reserved", + "stopLine", + "roundedCapStyleA", + "roundedCapStyleB", + "mergePoint", + "divergePoint", + "downstreamStopLine", + "downstreamStartNode", + "closedToTraffic", + "safeIsland", + "curbPresentAtStepOff", + "hydrantPresent" + ] + }, + "SegmentAttributeXY": { + "enum": [ + "reserved", + "doNotBlock", + "whiteLine", + "mergingLaneLeft", + "mergingLaneRight", + "curbOnLeft", + "curbOnRight", + "loadingzoneOnLeft", + "loadingzoneOnRight", + "turnOutPointOnLeft", + "turnOutPointOnRight", + "adjacentParkingOnLeft", + "adjacentParkingOnRight", + "adjacentBikeLaneOnLeft", + "adjacentBikeLaneOnRight", + "sharedBikeLane", + "bikeBoxInFront", + "transitStopOnLeft", + "transitStopOnRight", + "transitStopInLane", + "sharedWithTrackedVehicle", + "safeIsland", + "lowCurbsPresent", + "rumbleStripPresent", + "audibleSignalingPresent", + "adaptiveTimingPresent", + "rfSignalRequestPresent", + "partialCurbIntrusion", + "taperToLeft", + "taperToRight", + "taperToCenterLine", + "parallelParking", + "headInParking", + "freeParking", + "timeRestrictionsOnParking", + "costToPark", + "midBlockCurbPresent", + "unEvenPavementPresent" ] }, - "J2735NodeXYDelta": { + "LaneDataAttribute": { "type": "object", "properties": { - "x": { + "pathEndPointAngle": { "type": "number" }, - "y": { + "laneCrownPointCenter": { "type": "number" + }, + "laneCrownPointLeft": { + "type": "number" + }, + "laneCrownPointRight": { + "type": "number" + }, + "laneAngle": { + "type": "number" + }, + "speedLimits": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/$defs/RegulatorySpeedLimit" + } + ] } }, "required": [ - "x", - "y" + "pathEndPointAngle", + "laneCrownPointCenter", + "laneCrownPointLeft", + "laneCrownPointRight", + "laneAngle", + "speedLimits" ] }, - "J2735NodeLLDelta": { + "RegulatorySpeedLimit": { "type": "object", "properties": { - "lat": { - "type": "number" + "type": { + "enum": [ + "unknown", + "maxSpeedInSchoolZone", + "maxSpeedInSchoolZoneWhenChildrenArePresent", + "maxSpeedInConstructionZone", + "vehicleMinSpeed", + "vehicleMaxSpeed", + "vehicleNightMaxSpeed", + "truckMinSpeed", + "truckMaxSpeed", + "truckNightMaxSpeed", + "vehiclesWithTrailersMinSpeed", + "vehiclesWithTrailersMaxSpeed", + "vehiclesWithTrailersNightMaxSpeed" + ] }, - "lon": { + "speed": { "type": "number" } }, "required": [ - "lon", - "lat" + "type", + "speed" ] }, - "J2735GeometricProjection": { + "NodeLL": { "type": "object", "properties": { - "direction": { - "type": "string" - }, - "extent": { - "type": "string" + "delta": { + "$ref": "#/$defs/NodeOffsetPointLL" }, - "laneWidth": { - "type": "string" + "attributes": { + "$ref": "#/$defs/NodeAttributeSet" + } + }, + "required": [ + "delta" + ] + }, + "NodeOffsetPointLL": { + "oneOf": [ + { + "type": "object", + "properties": { + "nodeLL1": { + "$ref": "#/$defs/NodeLLmD" + } + }, + "required": [ + "nodeLL1" + ] }, - "circle": { + { "type": "object", "properties": { - "center": { - "$ref": "#/$defs/J2735Position3D" - }, - "radius": { - "type": "string" - }, - "units": { - "$ref": "#/$defs/J2735DistanceUnits" + "nodeLL2": { + "$ref": "#/$defs/NodeLLmD" } }, "required": [ - "center", - "radius", - "units" + "nodeLL2" ] - } - }, - "required": [ - "direction", - "circle" - ] - }, - "J2735DF_Content": { - "oneOf": [ + }, { "type": "object", "properties": { - "advisory": { - "$ref": "#/$defs/J2735DF_ContentSequence" + "nodeLL3": { + "$ref": "#/$defs/NodeLLmD" } }, "required": [ - "advisory" + "nodeLL3" ] }, { "type": "object", "properties": { - "workZone": { - "$ref": "#/$defs/J2735DF_ContentSequence" + "nodeLL4": { + "$ref": "#/$defs/NodeLLmD" } }, "required": [ - "workZone" + "nodeLL4" ] }, { "type": "object", "properties": { - "genericSign": { - "$ref": "#/$defs/J2735DF_ContentSequence" + "nodeLL5": { + "$ref": "#/$defs/NodeLLmD" } }, "required": [ - "genericSign" + "nodeLL5" ] }, { "type": "object", "properties": { - "speedLimit": { - "$ref": "#/$defs/J2735DF_ContentSequence" + "nodeLL6": { + "$ref": "#/$defs/NodeLLmD" } }, "required": [ - "speedLimit" + "nodeLL6" ] }, { "type": "object", "properties": { - "exitService": { - "$ref": "#/$defs/J2735DF_ContentSequence" + "nodeLatLon": { + "$ref": "#/$defs/NodeLLmD" } }, "required": [ - "exitService" + "nodeLatLon" ] } ] }, - "J2735DF_ContentSequence": { + "NodeXYPoint": { + "type": "object", + "properties": { + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y" + ] + }, + "NodeLLmD": { + "type": "object", + "properties": { + "lat": { + "type": "number" + }, + "lon": { + "type": "number" + } + }, + "required": [ + "lon", + "lat" + ] + }, + "ComputedLane": { + "type": "object", + "properties": { + "referenceLaneId": { + "type": "number" + }, + "offsetXaxis": { + "$ref": "#/$defs/OffsetXaxisChoice" + }, + "offsetYaxis": { + "$ref": "#/$defs/OffsetYaxisChoice" + }, + "rotateXY": { + "type": "number" + }, + "scaleXaxis": { + "type": "number" + }, + "scaleYaxis": { + "type": "number" + } + }, + "required": [ + "referenceLaneId", + "offsetXaxis", + "offsetYaxis" + ] + }, + "OffsetXaxisChoice": { "oneOf": [ { "type": "object", "properties": { - "SEQUENCE": { - "type": "array", - "prefixItems": [ - { - "$ref": "#/$defs/J2735DF_ContentSequenceItem" - } - ] + "small": { + "type": "number" } }, "required": [ - "SEQUENCE" + "small" ] }, { "type": "object", "properties": { - "SEQUENCE": { - "$ref": "#/$defs/J2735DF_ContentSequenceItem" + "large": { + "type": "number" } }, "required": [ - "SEQUENCE" + "large" ] } ] }, - "J2735DF_ContentSequenceItem": { - "type": "object", - "properties": { - "item": { + "OffsetYaxisChoice": { + "oneOf": [ + { "type": "object", "properties": { - "itis": { - "type": "string" + "small": { + "type": "number" } }, "required": [ - "itis" + "small" + ] + }, + { + "type": "object", + "properties": { + "large": { + "type": "number" + } + }, + "required": [ + "large" ] } - }, - "required": [ - "item" ] }, - "J2735Position3D": { + "GeometricProjection": { "type": "object", "properties": { - "lat": { - "type": "string" + "direction": { + "$ref": "#/$defs/HeadingSlice" }, - "long": { - "type": "string" + "extent": { + "$ref": "#/$defs/Extent" }, - "elevation": { - "type": [ - "string", - "null" - ] + "laneWidth": { + "type": "number" + }, + "circle": { + "$ref": "#/$defs/Circle" } }, "required": [ - "lat", - "long" + "direction", + "circle" ] }, - "OdePosition3D": { + "Circle": { "type": "object", "properties": { - "latitude": { - "type": "number" + "center": { + "$ref": "#/$defs/Position3D" }, - "longitude": { + "radius": { "type": "number" }, - "elevation": { - "type": "number" + "units": { + "$ref": "#/$defs/DistanceUnits" } }, "required": [ - "latitude", - "longitude" + "center", + "radius", + "units" ] }, - "J2735RoadSegmentReferenceID": { + "ValidRegion": { "type": "object", "properties": { - "id": { - "type": "number" + "direction": { + "$ref": "#/$defs/HeadingSlice" }, - "region": { - "type": "number" + "extent": { + "$ref": "#/$defs/Extent" + }, + "area": { + "$ref": "#/$defs/AreaChoice" } }, "required": [ - "id" + "direction", + "extent", + "area" ] }, - "J2735DistanceUnits": { + "Extent": { + "enum": [ + "useInstantlyOnly", + "useFor3meters", + "useFor10meters", + "useFor50meters", + "useFor100meters", + "useFor500meters", + "useFor1000meters", + "useFor5000meters", + "useFor10000meters", + "useFor50000meters", + "useFor100000meters", + "useFor500000meters", + "useFor1000000meters", + "useFor5000000meters", + "useFor10000000meters", + "forever" + ] + }, + "AreaChoice": { "oneOf": [ { "type": "object", "properties": { - "centimeter": { - "type": "string" + "shapePointSet": { + "$ref": "#/$defs/ShapePointSet" } }, "required": [ - "centimeter" + "shapePointSet" ] }, { "type": "object", "properties": { - "cm2-5": { - "type": "string" + "circle": { + "$ref": "#/$defs/Circle" } }, "required": [ - "cm2-5" + "circle" ] }, { "type": "object", "properties": { - "decimeter": { - "type": "string" + "regionPointSet": { + "$ref": "#/$defs/RegionPointSet" } }, "required": [ - "decimeter" + "regionPointSet" ] + } + ] + }, + "ShapePointSet": { + "type": "object", + "properties": { + "anchor": { + "$ref": "#/$defs/Position3D" + }, + "laneWidth": { + "type": "number" + }, + "directionality": { + "$ref": "#/$defs/DirectionOfUse" }, + "nodeList": { + "$ref": "#/$defs/NodeListXY" + } + }, + "required": [ + "nodeList" + ] + }, + "RegionPointSet": { + "type": "object", + "properties": { + "anchor": { + "$ref": "#/$defs/Position3D" + }, + "scale": { + "type": "number" + }, + "nodeList": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/$defs/RegionList" + } + ] + } + }, + "required": [ + "nodeList" + ] + }, + "RegionList": { + "type": "object", + "properties": { + "xOffset": { + "type": "number" + }, + "yOffset": { + "type": "number" + }, + "zOffset": { + "type": "number" + } + }, + "required": [ + "xOffset", + "yOffset" + ] + }, + "ContentChoice": { + "oneOf": [ { "type": "object", "properties": { - "meter": { - "type": "string" + "advisory": { + "$ref": "#/$defs/ContentSequence" } }, "required": [ - "meter" + "advisory" ] }, { "type": "object", "properties": { - "kilometer": { - "type": "string" + "workZone": { + "$ref": "#/$defs/ContentSequence" } }, "required": [ - "kilometer" + "workZone" ] }, { "type": "object", "properties": { - "foot": { - "type": "string" + "genericSign": { + "$ref": "#/$defs/ContentSequence" } }, "required": [ - "foot" + "genericSign" ] }, { "type": "object", "properties": { - "yard": { - "type": "string" + "speedLimit": { + "$ref": "#/$defs/ContentSequence" } }, "required": [ - "yard" + "speedLimit" ] }, { "type": "object", "properties": { - "mile": { - "type": "string" + "exitService": { + "$ref": "#/$defs/ContentSequence" } }, "required": [ - "mile" + "exitService" ] } ] + }, + "ContentSequence": { + "type": "array", + "prefixItems": [ + { + "$ref": "#/$defs/ContentSequenceItem" + } + ] + }, + "ContentSequenceItem": { + "type": "object", + "properties": { + "item": { + "type": "object", + "properties": { + "itis": { + "type": ["string", "number"] + } + }, + "required": [ + "itis" + ] + } + }, + "required": [ + "item" + ] + + }, + "Position3D": { + "type": "object", + "properties": { + "lat": { + "type": "number" + }, + "long": { + "type": "number" + }, + "elevation": { + "type": "number" + } + }, + "required": [ + "lat", + "long" + ] + }, + "RoadSegmentReferenceID": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "region": { + "type": "number" + } + }, + "required": [ + "id" + ] + }, + "DistanceUnits": { + "enum": [ + "centimeter", + "cm2-5", + "decimeter", + "meter", + "kilometer", + "foot", + "yard", + "mile" + ] } } } \ No newline at end of file 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 8d38a5a14..3e096b913 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":"89b9de68-7e91-4491-886f-d95276b67907","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-11-26T07:29:12.257Z","schemaVersion":7,"maxDurationTime":0,"recordGeneratedAt":"","recordGeneratedBy":"RSU","sanitized":false,"odePacketID":"","odeTimStartDateTime":"","asn1":"001F80AE70165E87AD5DB73EE53601D49C0F775D9B0B01C266509C496663068FFFF93F43448C001EA007F95937EAD35AC9A5FA54EADF62C17316CB99385CDA00000000266509C4966630689388C200021000EBE86F264E051097630004008027BBAECD8C070999427125998C1A3FFFE4FD0D1230007A801FE564DFAB4D6B2697E953AB7D8B05CC5B2E64E1736800000000999427125998C1A24E230800084003AFA1BC993814425D8C0000003023DDD766C0913189880FB96879A18B9BEE7183450F963D09BEACCD8A5B06FB639381F59F27808066C418702727350EEAB14E752EA27C0AF0540260F9187757E2192FECE54EF4F0032D653EFB5938AE340F6D3122636E7F61F9BD3A1CB5B4695B634BFFADD4018543C5862B4D608430EA9F2FCE99599935425B5DD64F77EC1495571FB50D0B03FF442529D80EA12704C08088E30204E84B3BD03B6001002009EEEBB360A4000801004F775D9B00C1265E25E2A8F3809BC14F804485CC84244966B611857569128444CB48453B9DC84ACCB06E225C6B7C36122F9B9E008F85DC55C42092CD4611CE5A3B107BFB25F0864A19C5049086E7A024071790208BE4FAF8D63F87FC1027B83FF235FF8DFFC6116EAC028093B920DF0468311194237188767113D84037081D31FE2C6B3443FED434C4F1FF3311F183E46892F5DE8D049958EF3E21B27675C100","originIp":"172.18.0.1"},"payload":{"dataType":"us.dot.its.jpo.ode.plugin.j2735.J2735Tim","data":{"msgCnt":"1","timeStamp":"417415","packetID":"AD5DB73EE53601D49C","dataFrames":[{"notUsed":"0","frameType":"advisory","msgId":{"roadSignID":{"position":{"latitude":38.8311689,"longitude":-104.8408366},"viewAngle":"1111111111111111","mutcdCode":"warning"}},"startYear":"2024","startTime":"428312","durationTime":"30","priority":"5","notUsed1":"0","regions":[{"name":"I_US-24_RSU_10.16.28.6","id":{"region":0,"id":0},"anchor":{"latitude":38.8311689,"longitude":-104.8408366},"laneWidth":5000,"directionality":"both","closedPath":false,"description":{"path":{"scale":0,"offset":{"ll":{"nodes":[{"delta":{"nodeLL1":{"lon":1726,"lat":111}}},{"delta":{"nodeLL5":{"lon":1208360,"lat":77510}}}]}}}}}],"notUsed2":"0","notUsed3":"0","content":{"workZone":{"SEQUENCE":[{"item":{"itis":"1025"}}]}}},{"notUsed":"0","frameType":"advisory","msgId":{"roadSignID":{"position":{"latitude":38.8311689,"longitude":-104.8408366},"viewAngle":"1111111111111111","mutcdCode":"warning"}},"startYear":"2024","startTime":"428312","durationTime":"30","priority":"5","notUsed1":"0","regions":[{"name":"I_US-24_RSU_10.16.28.6","id":{"region":0,"id":0},"anchor":{"latitude":38.8311689,"longitude":-104.8408366},"laneWidth":5000,"directionality":"both","closedPath":false,"description":{"path":{"scale":0,"offset":{"ll":{"nodes":[{"delta":{"nodeLL1":{"lon":1726,"lat":111}}},{"delta":{"nodeLL5":{"lon":1208360,"lat":77510}}}]}}}}}],"notUsed2":"0","notUsed3":"0","content":{"advisory":{"SEQUENCE":[{"item":{"itis":"770"}}]}}}]}}} \ 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":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":[{"notUsed":29,"frameType":"commercialSignage","msgId":{"furtherInfoID":"4F43"},"startYear":425,"startTime":306216,"durationTime":31001,"priority":2,"notUsed1":1,"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"}}}}],"notUsed2":15,"notUsed3":9,"content":{"exitService":[{"item":{"itis":599}}]},"url":"IA5S"},{"notUsed":11,"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,"notUsed1":10,"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"}}}}],"notUsed2":11,"notUsed3":23,"content":{"exitService":[{"item":{"text":"I"}},{"item":{"text":"IA5St"}},{"item":{"text":"IA5"}}]},"url":"IA5St"},{"notUsed":13,"frameType":"unknown","msgId":{"furtherInfoID":"4F43"},"startYear":2776,"startTime":408571,"durationTime":15957,"priority":5,"notUsed1":6,"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"}}}}}],"notUsed2":31,"notUsed3":12,"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-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java index 6fe034246..b109ee671 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java @@ -23,7 +23,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; /* - * EDITED -> notUsed, notUsed1, notUsed2, notUsed3 fields. + * EDITED -> notUsed, notUsed1, notUsed2, notUsed3, durationTime fields. */ /** @@ -71,7 +71,7 @@ public class TravelerDataFrame extends Asn1Sequence { private MinuteOfTheYear startTime; @Asn1Property(tag = 5) @JsonDeserialize(using = MinutesDuration.MinutesDurationDeserializer.class) - private MinutesDuration duratonTime; + private MinutesDuration durationTime; @Asn1Property(tag = 6) @JsonDeserialize(using = SignPrority.SignProrityDeserializer.class) private SignPrority priority; diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java index a9c3118a9..b1a45becb 100644 --- a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java +++ b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java @@ -46,21 +46,7 @@ public void shouldTranslateMap() { } J2735MAP actualMap = MAPBuilder.genericMAP(jsonMap.findValue("MapData")); String expected = """ - {\"msgIssueRevision\":4,\"layerType\":\"mixedContent\",\"layerID\":12,\"intersections\": - {\"intersectionGeometry\":[{\"id\":{\"id\":156},\"revision\":1,\"refPoint\": - {\"latitude\":38.9284111,\"longitude\":-77.2410713},\"laneSet\":{\"GenericLane\":[ - {\"laneID\":1,\"laneAttributes\":{\"directionalUse\":{\"ingressPath\":false, - \"egressPath\":false},\"shareWith\":{\"busVehicleTraffic\":false,\"trackedVehicl - eTraffic\":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\":{\"nodeXY2\":{\"x\":43,\"y\":24}}},{\"delta\":{\"nodeXY2\": - {\"x\":43,\"y\":24}}}]}}]}}]}} - """; + {\"msgIssueRevision\":4,\"layerType\":\"mixedContent\",\"layerID\":12,\"intersections\":{\"intersectionGeometry\":[{\"id\":{\"id\":156},\"revision\":1,\"refPoint\":{\"latitude\":38.9284111,\"longitude\":-77.2410713},\"laneSet\":{\"GenericLane\":[{\"laneID\":1,\"laneAttributes\":{\"directionalUse\":{\"ingressPath\":false,\"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}}},\"nodeList\":{\"nodes\":[{\"delta\":{\"nodeXY2\":{\"x\":43,\"y\":24}}},{\"delta\":{\"nodeXY2\":{\"x\":43,\"y\":24}}}]}}]}}]}}"""; assertEquals(expected, actualMap.toJson()); } } diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java index 8da6c48bd..eb4a1a966 100644 --- a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java +++ b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java @@ -35,10 +35,5 @@ public void testSerializeJson() throws JsonProcessingException { } private static final String EXPECTED_JSON = """ - {"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}"""; + {"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}"""; } diff --git a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json index 0f7dd9c1f..3e096b913 100644 --- a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json +++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json @@ -1 +1 @@ -{"metadata":{"logFileName":"","recordType":"timMsg","securityResultCode":"success","receivedMessageDetails":{"rxSource":"NA"},"payloadType":"us.dot.its.jpo.ode.model.OdeTimPayload","serialId":{"streamId":"adb022ef-9a97-4aa3-8bab-1fde55b620a1","bundleSize":1,"bundleId":0,"recordId":0,"serialNumber":0},"odeReceivedAt":"2024-12-05T10:21:33.228Z","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":[{"notUsed":29,"frameType":"commercialSignage","msgId":{"furtherInfoID":"4F43"},"startYear":425,"startTime":306216,"priority":2,"notUsed1":1,"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"}}}}],"notUsed2":15,"notUsed3":9,"content":{"exitService":[{"item":{"itis":599}}]},"url":"IA5S"},{"notUsed":11,"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,"priority":5,"notUsed1":10,"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"}}}}],"notUsed2":11,"notUsed3":23,"content":{"exitService":[{"item":{"text":"I"}},{"item":{"text":"IA5St"}},{"item":{"text":"IA5"}}]},"url":"IA5St"},{"notUsed":13,"frameType":"unknown","msgId":{"furtherInfoID":"4F43"},"startYear":2776,"startTime":408571,"priority":5,"notUsed1":6,"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"}}}}}],"notUsed2":31,"notUsed3":12,"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":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":[{"notUsed":29,"frameType":"commercialSignage","msgId":{"furtherInfoID":"4F43"},"startYear":425,"startTime":306216,"durationTime":31001,"priority":2,"notUsed1":1,"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"}}}}],"notUsed2":15,"notUsed3":9,"content":{"exitService":[{"item":{"itis":599}}]},"url":"IA5S"},{"notUsed":11,"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,"notUsed1":10,"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"}}}}],"notUsed2":11,"notUsed3":23,"content":{"exitService":[{"item":{"text":"I"}},{"item":{"text":"IA5St"}},{"item":{"text":"IA5"}}]},"url":"IA5St"},{"notUsed":13,"frameType":"unknown","msgId":{"furtherInfoID":"4F43"},"startYear":2776,"startTime":408571,"durationTime":15957,"priority":5,"notUsed1":6,"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"}}}}}],"notUsed2":31,"notUsed3":12,"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/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml index 072580466..a7b211480 100644 --- a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml +++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml @@ -1,3 +1,4 @@ + @@ -13,13 +14,13 @@ us.dot.its.jpo.ode.model.OdeAsn1Payload - adb022ef-9a97-4aa3-8bab-1fde55b620a1 + 8af76b08-89bf-422e-b674-0f0ee065666f 1 0 0 0 - 2024-12-05T10:21:33.228Z + 2024-12-06T10:39:42.806Z 7 0 From 48fea3a5b2c6b990a4e8de66ef244b456b9609e2 Mon Sep 17 00:00:00 2001 From: Ivan Yourshaw <39739503+iyourshaw@users.noreply.github.com> Date: Sun, 8 Dec 2024 23:47:25 -0700 Subject: [PATCH 28/33] Regenerated TIM classes: Fix for sequence-of choice serialization to JSON, change license boilerplate to a non-javadoc comment at top of files. --- .../ode/plugin/j2735/addgrpb/DegreesLat.java | 44 ++-- .../ode/plugin/j2735/addgrpb/DegreesLong.java | 44 ++-- .../ode/plugin/j2735/addgrpb/Elevation.java | 44 ++-- .../addgrpb/LaneDataAttribute_addGrpB.java | 44 ++-- ...ttribute_addGrpBReg_LaneDataAttribute.java | 44 ++-- ...eg_LaneDataAttributeValueDeserializer.java | 38 ++- ...BReg_LaneDataAttributeValueSerializer.java | 38 ++- .../ode/plugin/j2735/addgrpb/LatitudeDMS.java | 44 ++-- .../plugin/j2735/addgrpb/LatitudeDMS2.java | 64 +++-- .../plugin/j2735/addgrpb/LongitudeDMS.java | 44 ++-- .../plugin/j2735/addgrpb/LongitudeDMS2.java | 64 +++-- .../plugin/j2735/addgrpb/MinutesAngle.java | 44 ++-- .../addgrpb/NodeOffsetPointXY_addGrpB.java | 63 +++-- ...tPointXY_addGrpBReg_NodeOffsetPointXY.java | 44 ++-- ...eg_NodeOffsetPointXYValueDeserializer.java | 38 ++- ...BReg_NodeOffsetPointXYValueSerializer.java | 38 ++- .../plugin/j2735/addgrpb/Node_LLdms_48b.java | 60 +++-- .../plugin/j2735/addgrpb/Node_LLdms_80b.java | 57 ++--- .../j2735/addgrpb/Position3D_addGrpB.java | 62 ++--- .../Position3D_addGrpBReg_Position3D.java | 44 ++-- ...ddGrpBReg_Position3DValueDeserializer.java | 38 ++- ..._addGrpBReg_Position3DValueSerializer.java | 38 ++- .../plugin/j2735/addgrpb/SecondsAngle.java | 44 ++-- .../ode/plugin/j2735/addgrpc/Altitude.java | 59 +++-- .../j2735/addgrpc/AltitudeConfidence.java | 44 ++-- .../AltitudeConfidenceDeserializer.java | 38 ++- .../addgrpc/AltitudeConfidenceSerializer.java | 38 ++- .../plugin/j2735/addgrpc/AltitudeValue.java | 44 ++-- .../j2735/addgrpc/Position3D_addGrpC.java | 54 ++--- .../Position3D_addGrpCReg_Position3D.java | 44 ++-- ...ddGrpCReg_Position3DValueDeserializer.java | 38 ++- ..._addGrpCReg_Position3DValueSerializer.java | 38 ++- .../jpo/ode/plugin/j2735/common/Angle.java | 44 ++-- .../ode/plugin/j2735/common/ComputedLane.java | 108 ++++----- .../jpo/ode/plugin/j2735/common/DYear.java | 44 ++-- .../ode/plugin/j2735/common/DeltaAngle.java | 44 ++-- .../plugin/j2735/common/DescriptiveName.java | 40 ++-- .../j2735/common/DrivenLineOffsetLg.java | 44 ++-- .../j2735/common/DrivenLineOffsetSm.java | 44 ++-- .../ode/plugin/j2735/common/Elevation.java | 44 ++-- .../jpo/ode/plugin/j2735/common/Extent.java | 44 ++-- .../j2735/common/ExtentDeserializer.java | 38 ++- .../plugin/j2735/common/ExtentSerializer.java | 38 ++- .../plugin/j2735/common/FurtherInfoID.java | 48 ++-- .../ode/plugin/j2735/common/HeadingSlice.java | 40 ++-- .../common/HeadingSliceDeserializer.java | 38 ++- .../j2735/common/LaneDataAttribute.java | 92 ++++---- .../j2735/common/LaneDataAttributeList.java | 65 ++++-- .../jpo/ode/plugin/j2735/common/LaneID.java | 44 ++-- .../ode/plugin/j2735/common/LaneWidth.java | 44 ++-- .../jpo/ode/plugin/j2735/common/Latitude.java | 44 ++-- .../ode/plugin/j2735/common/Longitude.java | 44 ++-- .../j2735/common/MergeDivergeNodeAngle.java | 44 ++-- .../plugin/j2735/common/MinuteOfTheYear.java | 44 ++-- .../jpo/ode/plugin/j2735/common/MsgCount.java | 44 ++-- .../j2735/common/NodeAttributeSetXY.java | 82 +++---- .../plugin/j2735/common/NodeAttributeXY.java | 44 ++-- .../common/NodeAttributeXYDeserializer.java | 38 ++- .../j2735/common/NodeAttributeXYList.java | 44 ++-- .../common/NodeAttributeXYSerializer.java | 38 ++- .../ode/plugin/j2735/common/NodeListXY.java | 67 +++--- .../j2735/common/NodeOffsetPointXY.java | 63 +++-- .../ode/plugin/j2735/common/NodeSetXY.java | 42 ++-- .../jpo/ode/plugin/j2735/common/NodeXY.java | 57 ++--- .../plugin/j2735/common/Node_LLmD_64b.java | 60 +++-- .../ode/plugin/j2735/common/Node_XY_20b.java | 60 +++-- .../ode/plugin/j2735/common/Node_XY_22b.java | 60 +++-- .../ode/plugin/j2735/common/Node_XY_24b.java | 60 +++-- .../ode/plugin/j2735/common/Node_XY_26b.java | 60 +++-- .../ode/plugin/j2735/common/Node_XY_28b.java | 60 +++-- .../ode/plugin/j2735/common/Node_XY_32b.java | 60 +++-- .../ode/plugin/j2735/common/OffsetLL_B12.java | 44 ++-- .../ode/plugin/j2735/common/OffsetLL_B14.java | 44 ++-- .../ode/plugin/j2735/common/OffsetLL_B16.java | 44 ++-- .../ode/plugin/j2735/common/OffsetLL_B18.java | 44 ++-- .../ode/plugin/j2735/common/OffsetLL_B22.java | 44 ++-- .../ode/plugin/j2735/common/OffsetLL_B24.java | 44 ++-- .../ode/plugin/j2735/common/Offset_B10.java | 44 ++-- .../ode/plugin/j2735/common/Offset_B11.java | 44 ++-- .../ode/plugin/j2735/common/Offset_B12.java | 44 ++-- .../ode/plugin/j2735/common/Offset_B13.java | 44 ++-- .../ode/plugin/j2735/common/Offset_B14.java | 44 ++-- .../ode/plugin/j2735/common/Offset_B16.java | 44 ++-- .../ode/plugin/j2735/common/Position3D.java | 65 +++--- .../jpo/ode/plugin/j2735/common/RegionId.java | 44 ++-- .../j2735/common/RegionalExtension.java | 44 ++-- .../j2735/common/RegulatorySpeedLimit.java | 59 +++-- .../plugin/j2735/common/RoadRegulatorID.java | 44 ++-- .../plugin/j2735/common/RoadSegmentID.java | 44 ++-- .../j2735/common/RoadSegmentReferenceID.java | 60 +++-- .../j2735/common/RoadwayCrownAngle.java | 44 ++-- .../jpo/ode/plugin/j2735/common/SSPindex.java | 44 ++-- .../ode/plugin/j2735/common/Scale_B12.java | 44 ++-- .../j2735/common/SegmentAttributeXY.java | 44 ++-- .../SegmentAttributeXYDeserializer.java | 38 ++- .../j2735/common/SegmentAttributeXYList.java | 44 ++-- .../common/SegmentAttributeXYSerializer.java | 38 ++- .../plugin/j2735/common/SpeedLimitList.java | 42 ++-- .../plugin/j2735/common/SpeedLimitType.java | 44 ++-- .../common/SpeedLimitTypeDeserializer.java | 38 ++- .../common/SpeedLimitTypeSerializer.java | 38 ++- .../jpo/ode/plugin/j2735/common/Velocity.java | 44 ++-- .../j2735/travelerinformation/Circle.java | 64 ++--- .../travelerinformation/DirectionOfUse.java | 44 ++-- .../DirectionOfUseDeserializer.java | 38 ++- .../DirectionOfUseSerializer.java | 38 ++- .../travelerinformation/DistanceUnits.java | 44 ++-- .../DistanceUnitsDeserializer.java | 38 ++- .../DistanceUnitsSerializer.java | 38 ++- .../travelerinformation/ExitService.java | 42 ++-- .../ExitServiceSequence.java | 74 +++--- .../travelerinformation/GenericSignage.java | 42 ++-- .../GenericSignageSequence.java | 74 +++--- .../travelerinformation/GeographicalPath.java | 101 ++++---- .../GeometricProjection.java | 74 +++--- .../travelerinformation/ITIStextPhrase.java | 40 ++-- .../j2735/travelerinformation/MUTCDCode.java | 44 ++-- .../MUTCDCodeDeserializer.java | 38 ++- .../MUTCDCodeSerializer.java | 38 ++- .../travelerinformation/MinutesDuration.java | 44 ++-- .../j2735/travelerinformation/MsgCRC.java | 48 ++-- .../travelerinformation/NodeAttributeLL.java | 44 ++-- .../NodeAttributeLLDeserializer.java | 38 ++- .../NodeAttributeLLList.java | 44 ++-- .../NodeAttributeLLSerializer.java | 38 ++- .../NodeAttributeSetLL.java | 86 +++---- .../j2735/travelerinformation/NodeLL.java | 57 ++--- .../j2735/travelerinformation/NodeListLL.java | 64 +++-- .../NodeOffsetPointLL.java | 65 +++--- .../j2735/travelerinformation/NodeSetLL.java | 42 ++-- .../travelerinformation/Node_LL_24B.java | 62 +++-- .../travelerinformation/Node_LL_28B.java | 62 +++-- .../travelerinformation/Node_LL_32B.java | 62 +++-- .../travelerinformation/Node_LL_36B.java | 62 +++-- .../travelerinformation/Node_LL_44B.java | 62 +++-- .../travelerinformation/Node_LL_48B.java | 62 +++-- .../travelerinformation/OffsetSystem.java | 75 +++--- .../j2735/travelerinformation/Radius_B12.java | 44 ++-- .../j2735/travelerinformation/RegionList.java | 42 ++-- .../travelerinformation/RegionOffsets.java | 66 +++--- .../travelerinformation/RegionPointSet.java | 68 +++--- .../j2735/travelerinformation/RoadSignID.java | 67 +++--- .../SegmentAttributeLL.java | 44 ++-- .../SegmentAttributeLLDeserializer.java | 38 ++- .../SegmentAttributeLLList.java | 44 ++-- .../SegmentAttributeLLSerializer.java | 38 ++- .../travelerinformation/ShapePointSet.java | 71 +++--- .../travelerinformation/SignPrority.java | 44 ++-- .../j2735/travelerinformation/SpeedLimit.java | 42 ++-- .../SpeedLimitSequence.java | 74 +++--- .../TravelerDataFrame.java | 148 ++++++------ .../TravelerDataFrame.java.bak | 218 ++++++++++++++++++ .../TravelerDataFrameList.java | 42 ++-- .../travelerinformation/TravelerInfoType.java | 44 ++-- .../TravelerInfoTypeDeserializer.java | 38 ++- .../TravelerInfoTypeSerializer.java | 38 ++- .../TravelerInformation.java | 84 +++---- .../TravelerInformation.java.bak | 79 +++++++ .../j2735/travelerinformation/URL_Base.java | 40 ++-- .../j2735/travelerinformation/URL_Short.java | 40 ++-- .../travelerinformation/UniqueMSGID.java | 48 ++-- .../travelerinformation/ValidRegion.java | 81 ++++--- .../j2735/travelerinformation/WorkZone.java | 42 ++-- .../travelerinformation/WorkZoneSequence.java | 74 +++--- .../j2735/travelerinformation/Zoom.java | 44 ++-- .../serialization/IntegerDeserializer.java | 8 +- .../serialization/OpenTypeDeserializer.java | 28 +-- .../SequenceOfChoiceDeserializer.java | 64 +++++ .../SequenceOfChoiceSerializer.java | 54 +++++ .../its/jpo/ode/plugin/types/Asn1Choice.java | 32 --- .../jpo/ode/plugin/types/Asn1OctetString.java | 23 +- .../its/jpo/ode/plugin/utils/XmlUtils.java | 169 ++++++++++++++ .../NodeAttributeSetLLTest.java | 1 + 173 files changed, 4596 insertions(+), 4300 deletions(-) create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java.bak create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInformation.java.bak create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfChoiceDeserializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfChoiceSerializer.java create mode 100644 jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/XmlUtils.java diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/DegreesLat.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/DegreesLat.java index ff18a437c..4c66201d8 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/DegreesLat.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/DegreesLat.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = DegreesLat.DegreesLatDeserializer.class) public class DegreesLat extends Asn1Integer { public DegreesLat() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/DegreesLong.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/DegreesLong.java index 5dccdd43c..806a15a72 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/DegreesLong.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/DegreesLong.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = DegreesLong.DegreesLongDeserializer.class) public class DegreesLong extends Asn1Integer { public DegreesLong() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Elevation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Elevation.java index 10fea8d79..9b27d5a6d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Elevation.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Elevation.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Elevation.ElevationDeserializer.class) public class Elevation extends Asn1Integer { public Elevation() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpB.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpB.java index ab7e1bb75..139ba44bb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpB.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpB.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) public class LaneDataAttribute_addGrpB extends Asn1Sequence { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java index 95943a384..21b1949a6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttribute.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import com.fasterxml.jackson.annotation.JsonRootName; -import us.dot.its.jpo.ode.plugin.j2735.region.Reg_LaneDataAttribute; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonRootName; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_LaneDataAttribute; + @JsonRootName("Reg_LaneDataAttribute") public class LaneDataAttribute_addGrpBReg_LaneDataAttribute extends Reg_LaneDataAttribute { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java index 4ffa829a2..190be26c6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; + public class LaneDataAttribute_addGrpBReg_LaneDataAttributeValueDeserializer extends OpenTypeDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java index 3b81922f9..0c965b5d7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; + public class LaneDataAttribute_addGrpBReg_LaneDataAttributeValueSerializer extends OpenTypeSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LatitudeDMS.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LatitudeDMS.java index 39c9544b8..7d22d8885 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LatitudeDMS.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LatitudeDMS.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = LatitudeDMS.LatitudeDMSDeserializer.class) public class LatitudeDMS extends Asn1Integer { public LatitudeDMS() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LatitudeDMS2.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LatitudeDMS2.java index 96b95f99f..87f3ece8a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LatitudeDMS2.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LatitudeDMS2.java @@ -1,52 +1,50 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class LatitudeDMS2 extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = DegreesLat.DegreesLatDeserializer.class) + @Asn1Property(tag = 0, name = "d") + @JsonProperty("d") private DegreesLat d; - @Asn1Property(tag = 1) - @JsonDeserialize(using = MinutesAngle.MinutesAngleDeserializer.class) + @Asn1Property(tag = 1, name = "m") + @JsonProperty("m") private MinutesAngle m; - @Asn1Property(tag = 2) - @JsonDeserialize(using = SecondsAngle.SecondsAngleDeserializer.class) + @Asn1Property(tag = 2, name = "s") + @JsonProperty("s") private SecondsAngle s; LatitudeDMS2() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LongitudeDMS.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LongitudeDMS.java index 684a69bd7..446d42a29 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LongitudeDMS.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LongitudeDMS.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = LongitudeDMS.LongitudeDMSDeserializer.class) public class LongitudeDMS extends Asn1Integer { public LongitudeDMS() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LongitudeDMS2.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LongitudeDMS2.java index 3f6ea906b..0910002ee 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LongitudeDMS2.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/LongitudeDMS2.java @@ -1,52 +1,50 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class LongitudeDMS2 extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = DegreesLong.DegreesLongDeserializer.class) + @Asn1Property(tag = 0, name = "d") + @JsonProperty("d") private DegreesLong d; - @Asn1Property(tag = 1) - @JsonDeserialize(using = MinutesAngle.MinutesAngleDeserializer.class) + @Asn1Property(tag = 1, name = "m") + @JsonProperty("m") private MinutesAngle m; - @Asn1Property(tag = 2) - @JsonDeserialize(using = SecondsAngle.SecondsAngleDeserializer.class) + @Asn1Property(tag = 2, name = "s") + @JsonProperty("s") private SecondsAngle s; LongitudeDMS2() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/MinutesAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/MinutesAngle.java index 0d0a221b1..64185accd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/MinutesAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/MinutesAngle.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = MinutesAngle.MinutesAngleDeserializer.class) public class MinutesAngle extends Asn1Integer { public MinutesAngle() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpB.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpB.java index 604133f8a..6f95a8624 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpB.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpB.java @@ -1,55 +1,48 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import java.util.Optional; -import java.util.List; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; + @Getter @Setter @JsonInclude(Include.NON_NULL) public class NodeOffsetPointXY_addGrpB extends Asn1Choice { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "posA") + @JsonProperty("posA") private Node_LLdms_48b posA; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "posB") + @JsonProperty("posB") private Node_LLdms_80b posB; NodeOffsetPointXY_addGrpB() { super(true); } - - @Override - protected List> listTypes() { - return null; - } } \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java index 1555a9d9e..f0761bbe0 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import com.fasterxml.jackson.annotation.JsonRootName; -import us.dot.its.jpo.ode.plugin.j2735.region.Reg_NodeOffsetPointXY; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonRootName; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_NodeOffsetPointXY; + @JsonRootName("Reg_NodeOffsetPointXY") public class NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY extends Reg_NodeOffsetPointXY { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java index 5dc245e26..ff088be19 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; + public class NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueDeserializer extends OpenTypeDeserializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java index 00e8dbb98..7badc4375 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; + public class NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXYValueSerializer extends OpenTypeSerializer { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Node_LLdms_48b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Node_LLdms_48b.java index 1713a3328..148dc3911 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Node_LLdms_48b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Node_LLdms_48b.java @@ -1,49 +1,47 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_LLdms_48b extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = LongitudeDMS.LongitudeDMSDeserializer.class) + @Asn1Property(tag = 0, name = "lon") + @JsonProperty("lon") private LongitudeDMS lon; - @Asn1Property(tag = 1) - @JsonDeserialize(using = LatitudeDMS.LatitudeDMSDeserializer.class) + @Asn1Property(tag = 1, name = "lat") + @JsonProperty("lat") private LatitudeDMS lat; Node_LLdms_48b() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Node_LLdms_80b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Node_LLdms_80b.java index 36fac5ed0..ec3f30e2a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Node_LLdms_80b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Node_LLdms_80b.java @@ -1,46 +1,47 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_LLdms_80b extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "lon") + @JsonProperty("lon") private LongitudeDMS2 lon; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "lat") + @JsonProperty("lat") private LatitudeDMS2 lat; Node_LLdms_80b() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpB.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpB.java index 5b8146824..4d142da73 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpB.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpB.java @@ -1,50 +1,50 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Position3D_addGrpB extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "latitude") + @JsonProperty("latitude") private LatitudeDMS2 latitude; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "longitude") + @JsonProperty("longitude") private LongitudeDMS2 longitude; - @Asn1Property(tag = 2) - @JsonDeserialize(using = Elevation.ElevationDeserializer.class) + @Asn1Property(tag = 2, name = "elevation") + @JsonProperty("elevation") private Elevation elevation; Position3D_addGrpB() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3D.java index 04ecf4e39..5835c0fa2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3D.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3D.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import com.fasterxml.jackson.annotation.JsonRootName; -import us.dot.its.jpo.ode.plugin.j2735.region.Reg_Position3D; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonRootName; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_Position3D; + @JsonRootName("Reg_Position3D") public class Position3D_addGrpBReg_Position3D extends Reg_Position3D { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3DValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3DValueDeserializer.java index e2107d551..07b4b9cbb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3DValueDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3DValueDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; + public class Position3D_addGrpBReg_Position3DValueDeserializer extends OpenTypeDeserializer { public Position3D_addGrpBReg_Position3DValueDeserializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3DValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3DValueSerializer.java index 2103b40b8..75716ef60 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3DValueSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/Position3D_addGrpBReg_Position3DValueSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; + public class Position3D_addGrpBReg_Position3DValueSerializer extends OpenTypeSerializer { public Position3D_addGrpBReg_Position3DValueSerializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/SecondsAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/SecondsAngle.java index 8178aa106..85e834711 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/SecondsAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpb/SecondsAngle.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpb; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpb; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = SecondsAngle.SecondsAngleDeserializer.class) public class SecondsAngle extends Asn1Integer { public SecondsAngle() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Altitude.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Altitude.java index fe678d880..373260db5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Altitude.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Altitude.java @@ -1,48 +1,47 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpc; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpc; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Altitude extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = AltitudeValue.AltitudeValueDeserializer.class) + @Asn1Property(tag = 0, name = "value") + @JsonProperty("value") private AltitudeValue value; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "confidence") + @JsonProperty("confidence") private AltitudeConfidence confidence; Altitude() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidence.java index 2039629f6..e31e49a18 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidence.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpc; - -import lombok.Getter; -import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpc; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import lombok.Getter; +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; + @Getter @JsonSerialize(using = AltitudeConfidenceSerializer.class) @JsonDeserialize(using = AltitudeConfidenceDeserializer.class) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidenceDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidenceDeserializer.java index c12e33d2d..7c2abec91 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidenceDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidenceDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpc; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpc; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + public class AltitudeConfidenceDeserializer extends EnumeratedDeserializer { AltitudeConfidenceDeserializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidenceSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidenceSerializer.java index f24b494d7..3b61bfe57 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidenceSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeConfidenceSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpc; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpc; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + public class AltitudeConfidenceSerializer extends EnumeratedSerializer { AltitudeConfidenceSerializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeValue.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeValue.java index d7c7ba0e3..a5daab0bc 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeValue.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/AltitudeValue.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpc; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpc; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = AltitudeValue.AltitudeValueDeserializer.class) public class AltitudeValue extends Asn1Integer { public AltitudeValue() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpC.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpC.java index 85c0dfa1f..95bef32f1 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpC.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpC.java @@ -1,44 +1,44 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpc; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpc; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Position3D_addGrpC extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "altitude") + @JsonProperty("altitude") private Altitude altitude; Position3D_addGrpC() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3D.java index 3a09e4f61..c8f51150b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3D.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3D.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpc; - -import com.fasterxml.jackson.annotation.JsonRootName; -import us.dot.its.jpo.ode.plugin.j2735.region.Reg_Position3D; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpc; + +import com.fasterxml.jackson.annotation.JsonRootName; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_Position3D; + @JsonRootName("Reg_Position3D") public class Position3D_addGrpCReg_Position3D extends Reg_Position3D { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3DValueDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3DValueDeserializer.java index f4871f3dd..63b9c925a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3DValueDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3DValueDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpc; - -import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpc; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeDeserializer; + public class Position3D_addGrpCReg_Position3DValueDeserializer extends OpenTypeDeserializer { public Position3D_addGrpCReg_Position3DValueDeserializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3DValueSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3DValueSerializer.java index dba7643ba..089b586f9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3DValueSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/addgrpc/Position3D_addGrpCReg_Position3DValueSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.addgrpc; - -import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.addgrpc; + +import us.dot.its.jpo.ode.plugin.serialization.OpenTypeSerializer; + public class Position3D_addGrpCReg_Position3DValueSerializer extends OpenTypeSerializer { public Position3D_addGrpCReg_Position3DValueSerializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Angle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Angle.java index a4b45ab87..86182260b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Angle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Angle.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Angle.AngleDeserializer.class) public class Angle extends Asn1Integer { public Angle() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ComputedLane.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ComputedLane.java index 1e8169cd9..b93094c46 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ComputedLane.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ComputedLane.java @@ -1,109 +1,97 @@ +/*============================================================================== + * + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT + * + *------------------------------------------------------------------------------ + * Copyright 2024 USDOT + * + * 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 + * + * 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.plugin.j2735.common; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import java.util.List; -import java.util.Optional; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; import us.dot.its.jpo.ode.plugin.j2735.region.Reg_ComputedLane; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -/** - * - ******************************************************************************* - * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT - * - ******************************************************************************* - * Copyright 2024 USDOT - * - * 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 - * - * 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. - ****************************************************************************** - * - */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class ComputedLane extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = LaneID.LaneIDDeserializer.class) + @Asn1Property(tag = 0, name = "referenceLaneId") + @JsonProperty("referenceLaneId") private LaneID referenceLaneId; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "offsetXaxis") + @JsonProperty("offsetXaxis") private OffsetXaxisChoice offsetXaxis; - @Asn1Property(tag = 2) + @Asn1Property(tag = 2, name = "offsetYaxis") + @JsonProperty("offsetYaxis") private OffsetYaxisChoice offsetYaxis; - @Asn1Property(tag = 3, optional = true) - @JsonDeserialize(using = Angle.AngleDeserializer.class) + @Asn1Property(tag = 3, name = "rotateXY", optional = true) + @JsonProperty("rotateXY") private Angle rotateXY; - @Asn1Property(tag = 4, optional = true) - @JsonDeserialize(using = Scale_B12.Scale_B12Deserializer.class) + @Asn1Property(tag = 4, name = "scaleXaxis", optional = true) + @JsonProperty("scaleXaxis") private Scale_B12 scaleXaxis; - @Asn1Property(tag = 5, optional = true) - @JsonDeserialize(using = Scale_B12.Scale_B12Deserializer.class) + @Asn1Property(tag = 5, name = "scaleYaxis", optional = true) + @JsonProperty("scaleYaxis") private Scale_B12 scaleYaxis; - @Asn1Property(tag = 6, optional = true) + @Asn1Property(tag = 6, name = "regional", optional = true) + @JsonProperty("regional") private SequenceOfRegional regional; @Getter @Setter @JsonInclude(Include.NON_NULL) public static class OffsetXaxisChoice extends Asn1Choice { - @Asn1Property(tag = 0) - @JsonDeserialize(using = DrivenLineOffsetSm.DrivenLineOffsetSmDeserializer.class) + @Asn1Property(tag = 0, name = "small") + @JsonProperty("small") private DrivenLineOffsetSm small; - @Asn1Property(tag = 1) - @JsonDeserialize(using = DrivenLineOffsetLg.DrivenLineOffsetLgDeserializer.class) + @Asn1Property(tag = 1, name = "large") + @JsonProperty("large") private DrivenLineOffsetLg large; OffsetXaxisChoice() { super(false); } - - @Override - protected List> listTypes() { - return null; - } } @Getter @Setter @JsonInclude(Include.NON_NULL) public static class OffsetYaxisChoice extends Asn1Choice { - @Asn1Property(tag = 0) - @JsonDeserialize(using = DrivenLineOffsetSm.DrivenLineOffsetSmDeserializer.class) + @Asn1Property(tag = 0, name = "small") + @JsonProperty("small") private DrivenLineOffsetSm small; - @Asn1Property(tag = 1) - @JsonDeserialize(using = DrivenLineOffsetLg.DrivenLineOffsetLgDeserializer.class) + @Asn1Property(tag = 1, name = "large") + @JsonProperty("large") private DrivenLineOffsetLg large; OffsetYaxisChoice() { super(false); } - - @Override - protected List> listTypes() { - return null; - } } @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DYear.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DYear.java index 17c229bb9..bf4ce23f5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DYear.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DYear.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = DYear.DYearDeserializer.class) public class DYear extends Asn1Integer { public DYear() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DeltaAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DeltaAngle.java index 3dcecb25d..e28d2e173 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DeltaAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DeltaAngle.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = DeltaAngle.DeltaAngleDeserializer.class) public class DeltaAngle extends Asn1Integer { public DeltaAngle() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DescriptiveName.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DescriptiveName.java index fcb3562d8..a292428b2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DescriptiveName.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DescriptiveName.java @@ -1,32 +1,30 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.IA5String; -import com.fasterxml.jackson.annotation.JsonCreator; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.types.IA5String; + public class DescriptiveName extends IA5String { public DescriptiveName() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DrivenLineOffsetLg.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DrivenLineOffsetLg.java index 2a1693bf1..046a5b74b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DrivenLineOffsetLg.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DrivenLineOffsetLg.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = DrivenLineOffsetLg.DrivenLineOffsetLgDeserializer.class) public class DrivenLineOffsetLg extends Asn1Integer { public DrivenLineOffsetLg() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DrivenLineOffsetSm.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DrivenLineOffsetSm.java index 321f5e403..af6fd6530 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DrivenLineOffsetSm.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/DrivenLineOffsetSm.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = DrivenLineOffsetSm.DrivenLineOffsetSmDeserializer.class) public class DrivenLineOffsetSm extends Asn1Integer { public DrivenLineOffsetSm() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Elevation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Elevation.java index c1a2dd49f..8cc6ad4d3 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Elevation.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Elevation.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Elevation.ElevationDeserializer.class) public class Elevation extends Asn1Integer { public Elevation() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Extent.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Extent.java index 4c37d2047..4cac2a61e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Extent.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Extent.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import lombok.Getter; -import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import lombok.Getter; +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; + @Getter @JsonSerialize(using = ExtentSerializer.class) @JsonDeserialize(using = ExtentDeserializer.class) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ExtentDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ExtentDeserializer.java index e2552a24d..e976def33 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ExtentDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ExtentDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + public class ExtentDeserializer extends EnumeratedDeserializer { ExtentDeserializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ExtentSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ExtentSerializer.java index 58a9f53e6..b527d6de2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ExtentSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/ExtentSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + public class ExtentSerializer extends EnumeratedSerializer { ExtentSerializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/FurtherInfoID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/FurtherInfoID.java index f6e89eeff..8e77ca552 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/FurtherInfoID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/FurtherInfoID.java @@ -1,44 +1,38 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1OctetString; -import com.fasterxml.jackson.annotation.JsonCreator; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. - ****************************************************************************** - * - */ -public class FurtherInfoID extends Asn1OctetString { + *============================================================================*/ - private String value; +package us.dot.its.jpo.ode.plugin.j2735.common; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import us.dot.its.jpo.ode.plugin.types.Asn1OctetString; + +public class FurtherInfoID extends Asn1OctetString { + + @JsonValue public String getValue() { return value; } - public void setValue(String value) { - this.value = value; - } - @Override public String toString() { return value; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSlice.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSlice.java index 2d79f0c9c..11c739dc5 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSlice.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSlice.java @@ -1,32 +1,30 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Bitstring; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.types.Asn1Bitstring; + @JsonDeserialize(using = HeadingSliceDeserializer.class) public class HeadingSlice extends Asn1Bitstring { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceDeserializer.java index d2ff8085c..9cff89dcb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.serialization.BitStringDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import us.dot.its.jpo.ode.plugin.serialization.BitStringDeserializer; + public class HeadingSliceDeserializer extends BitStringDeserializer { HeadingSliceDeserializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneDataAttribute.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneDataAttribute.java index eb41a08cf..338070217 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneDataAttribute.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneDataAttribute.java @@ -1,69 +1,66 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import us.dot.its.jpo.ode.plugin.j2735.region.Reg_LaneDataAttribute; -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import java.util.Optional; -import java.util.List; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_LaneDataAttribute; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @Getter @Setter @JsonInclude(Include.NON_NULL) public class LaneDataAttribute extends Asn1Choice { - @Asn1Property(tag = 0) - @JsonDeserialize(using = DeltaAngle.DeltaAngleDeserializer.class) + @Asn1Property(tag = 0, name = "pathEndPointAngle") + @JsonProperty("pathEndPointAngle") private DeltaAngle pathEndPointAngle; - @Asn1Property(tag = 1) - @JsonDeserialize(using = RoadwayCrownAngle.RoadwayCrownAngleDeserializer.class) + @Asn1Property(tag = 1, name = "laneCrownPointCenter") + @JsonProperty("laneCrownPointCenter") private RoadwayCrownAngle laneCrownPointCenter; - @Asn1Property(tag = 2) - @JsonDeserialize(using = RoadwayCrownAngle.RoadwayCrownAngleDeserializer.class) + @Asn1Property(tag = 2, name = "laneCrownPointLeft") + @JsonProperty("laneCrownPointLeft") private RoadwayCrownAngle laneCrownPointLeft; - @Asn1Property(tag = 3) - @JsonDeserialize(using = RoadwayCrownAngle.RoadwayCrownAngleDeserializer.class) + @Asn1Property(tag = 3, name = "laneCrownPointRight") + @JsonProperty("laneCrownPointRight") private RoadwayCrownAngle laneCrownPointRight; - @Asn1Property(tag = 4) - @JsonDeserialize(using = MergeDivergeNodeAngle.MergeDivergeNodeAngleDeserializer.class) + @Asn1Property(tag = 4, name = "laneAngle") + @JsonProperty("laneAngle") private MergeDivergeNodeAngle laneAngle; - @Asn1Property(tag = 5) + @Asn1Property(tag = 5, name = "speedLimits") + @JsonProperty("speedLimits") @JacksonXmlElementWrapper(localName = "speedLimits") @JacksonXmlProperty(localName = "RegulatorySpeedLimit") private SpeedLimitList speedLimits; - @Asn1Property(tag = 6) + @Asn1Property(tag = 6, name = "regional") + @JsonProperty("regional") private SequenceOfRegional regional; LaneDataAttribute() { @@ -76,9 +73,4 @@ public static class SequenceOfRegional extends Asn1SequenceOf> listTypes() { - return null; - } } \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneDataAttributeList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneDataAttributeList.java index 22af32c0a..f36ecf60b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneDataAttributeList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneDataAttributeList.java @@ -1,37 +1,58 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.serialization.SequenceOfChoiceDeserializer; +import us.dot.its.jpo.ode.plugin.serialization.SequenceOfChoiceSerializer; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class LaneDataAttributeList extends Asn1SequenceOf { LaneDataAttributeList() { super(LaneDataAttribute.class, 1L, 8L); } + + public static class LaneDataAttributeListSerializer + extends + SequenceOfChoiceSerializer { + public LaneDataAttributeListSerializer() { + super(LaneDataAttribute.class, LaneDataAttributeList.class); + } + } + + public static class LaneDataAttributeListDeserializer + extends + SequenceOfChoiceDeserializer { + public LaneDataAttributeListDeserializer() { + super(LaneDataAttribute.class, LaneDataAttributeList.class); + } + + @Override + protected LaneDataAttributeList construct() { + return new LaneDataAttributeList(); + } + } } \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneID.java index d936442fd..2cdc7d309 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneID.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = LaneID.LaneIDDeserializer.class) public class LaneID extends Asn1Integer { public LaneID() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneWidth.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneWidth.java index 9501bbc96..1f9ab714b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneWidth.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/LaneWidth.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = LaneWidth.LaneWidthDeserializer.class) public class LaneWidth extends Asn1Integer { public LaneWidth() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Latitude.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Latitude.java index 22137e9eb..bfe2934cc 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Latitude.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Latitude.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Latitude.LatitudeDeserializer.class) public class Latitude extends Asn1Integer { public Latitude() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Longitude.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Longitude.java index 4184924b0..cced10041 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Longitude.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Longitude.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Longitude.LongitudeDeserializer.class) public class Longitude extends Asn1Integer { public Longitude() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MergeDivergeNodeAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MergeDivergeNodeAngle.java index 19c61d8ae..745000a76 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MergeDivergeNodeAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MergeDivergeNodeAngle.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = MergeDivergeNodeAngle.MergeDivergeNodeAngleDeserializer.class) public class MergeDivergeNodeAngle extends Asn1Integer { public MergeDivergeNodeAngle() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MinuteOfTheYear.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MinuteOfTheYear.java index e2bd1edf4..9fafa1ee4 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MinuteOfTheYear.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MinuteOfTheYear.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = MinuteOfTheYear.MinuteOfTheYearDeserializer.class) public class MinuteOfTheYear extends Asn1Integer { public MinuteOfTheYear() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MsgCount.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MsgCount.java index 98f1c6fb8..db6e65709 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MsgCount.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/MsgCount.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = MsgCount.MsgCountDeserializer.class) public class MsgCount extends Asn1Integer { public MsgCount() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeSetXY.java index af3fd9034..bf41d4a69 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeSetXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeSetXY.java @@ -1,71 +1,71 @@ +/*============================================================================== + * + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT + * + *------------------------------------------------------------------------------ + * Copyright 2024 USDOT + * + * 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 + * + * 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.plugin.j2735.common; -import com.fasterxml.jackson.annotation.JsonProperty; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; import us.dot.its.jpo.ode.plugin.j2735.region.Reg_NodeAttributeSetXY; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -/** - * - * EDITED: Add @JsonProperty annotations to dWidth and dElevation - * - ******************************************************************************* - * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT - * - ******************************************************************************* - * Copyright 2024 USDOT - * - * 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 - * - * 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. - ****************************************************************************** - * - */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class NodeAttributeSetXY extends Asn1Sequence { - @Asn1Property(tag = 0, optional = true) + @Asn1Property(tag = 0, name = "localNode", optional = true) + @JsonProperty("localNode") @JsonDeserialize(using = NodeAttributeXYList.NodeAttributeXYListDeserializer.class) private NodeAttributeXYList localNode; - @Asn1Property(tag = 1, optional = true) + @Asn1Property(tag = 1, name = "disabled", optional = true) + @JsonProperty("disabled") @JsonDeserialize(using = SegmentAttributeXYList.SegmentAttributeXYListDeserializer.class) private SegmentAttributeXYList disabled; - @Asn1Property(tag = 2, optional = true) + @Asn1Property(tag = 2, name = "enabled", optional = true) + @JsonProperty("enabled") @JsonDeserialize(using = SegmentAttributeXYList.SegmentAttributeXYListDeserializer.class) private SegmentAttributeXYList enabled; - @Asn1Property(tag = 3, optional = true) - @JacksonXmlElementWrapper(useWrapping = false) + @Asn1Property(tag = 3, name = "data", optional = true) + @JsonProperty("data") + @JsonSerialize(using = LaneDataAttributeList.LaneDataAttributeListSerializer.class) + @JsonDeserialize(using = LaneDataAttributeList.LaneDataAttributeListDeserializer.class) private LaneDataAttributeList data; - @Asn1Property(tag = 4, optional = true) - @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + @Asn1Property(tag = 4, name = "dWidth", optional = true) @JsonProperty("dWidth") private Offset_B10 dWidth; - @Asn1Property(tag = 5, optional = true) - @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + @Asn1Property(tag = 5, name = "dElevation", optional = true) @JsonProperty("dElevation") private Offset_B10 dElevation; - @Asn1Property(tag = 6, optional = true) + @Asn1Property(tag = 6, name = "regional", optional = true) + @JsonProperty("regional") private SequenceOfRegional regional; @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXY.java index fa99c7604..b6a1fa214 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXY.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import lombok.Getter; -import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import lombok.Getter; +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; + @Getter @JsonSerialize(using = NodeAttributeXYSerializer.class) @JsonDeserialize(using = NodeAttributeXYDeserializer.class) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYDeserializer.java index 0259fc5dc..fc9c89a7d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + public class NodeAttributeXYDeserializer extends EnumeratedDeserializer { NodeAttributeXYDeserializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYList.java index 18cac154a..268bcbce9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYList.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.serialization.SequenceOfEnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.serialization.SequenceOfEnumeratedDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class NodeAttributeXYList extends Asn1SequenceOf { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYSerializer.java index b463c0300..a7136a038 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeAttributeXYSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + public class NodeAttributeXYSerializer extends EnumeratedSerializer { NodeAttributeXYSerializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeListXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeListXY.java index 34bf65551..f282ae0dd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeListXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeListXY.java @@ -1,59 +1,52 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import java.util.Optional; -import java.util.List; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; + @Getter @Setter @JsonInclude(Include.NON_NULL) public class NodeListXY extends Asn1Choice { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "nodes") + @JsonProperty("nodes") @JacksonXmlElementWrapper(localName = "nodes") @JacksonXmlProperty(localName = "NodeXY") private NodeSetXY nodes; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "computed") + @JsonProperty("computed") private ComputedLane computed; NodeListXY() { super(true); } - - @Override - protected List> listTypes() { - return null; - } } \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeOffsetPointXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeOffsetPointXY.java index f0bd1b166..15e9580f8 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeOffsetPointXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeOffsetPointXY.java @@ -1,41 +1,36 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.annotation.JsonProperty; -import us.dot.its.jpo.ode.plugin.j2735.region.Reg_NodeOffsetPointXY; -import java.util.Optional; -import java.util.List; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_NodeOffsetPointXY; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; + @Getter @Setter @JsonInclude(Include.NON_NULL) @@ -62,15 +57,11 @@ public class NodeOffsetPointXY extends Asn1Choice { @Asn1Property(tag = 6, name = "node-LatLon") @JsonProperty("node-LatLon") private Node_LLmD_64b node_LatLon; - @Asn1Property(tag = 7) + @Asn1Property(tag = 7, name = "regional") + @JsonProperty("regional") private Reg_NodeOffsetPointXY regional; NodeOffsetPointXY() { super(false); } - - @Override - protected List> listTypes() { - return null; - } } \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeSetXY.java index b7dfa2aa7..84aee9819 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeSetXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeSetXY.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class NodeSetXY extends Asn1SequenceOf { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeXY.java index b6cc8a04b..7f03d2dd8 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/NodeXY.java @@ -1,46 +1,47 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class NodeXY extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "delta") + @JsonProperty("delta") private NodeOffsetPointXY delta; - @Asn1Property(tag = 1, optional = true) + @Asn1Property(tag = 1, name = "attributes", optional = true) + @JsonProperty("attributes") private NodeAttributeSetXY attributes; NodeXY() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_LLmD_64b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_LLmD_64b.java index 59055849e..c2821a4be 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_LLmD_64b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_LLmD_64b.java @@ -1,49 +1,47 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_LLmD_64b extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = Longitude.LongitudeDeserializer.class) + @Asn1Property(tag = 0, name = "lon") + @JsonProperty("lon") private Longitude lon; - @Asn1Property(tag = 1) - @JsonDeserialize(using = Latitude.LatitudeDeserializer.class) + @Asn1Property(tag = 1, name = "lat") + @JsonProperty("lat") private Latitude lat; Node_LLmD_64b() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_20b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_20b.java index d0066ba70..e3f6e6839 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_20b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_20b.java @@ -1,49 +1,47 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_XY_20b extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + @Asn1Property(tag = 0, name = "x") + @JsonProperty("x") private Offset_B10 x; - @Asn1Property(tag = 1) - @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + @Asn1Property(tag = 1, name = "y") + @JsonProperty("y") private Offset_B10 y; Node_XY_20b() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_22b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_22b.java index 919cf175b..a3db0c627 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_22b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_22b.java @@ -1,49 +1,47 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_XY_22b extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = Offset_B11.Offset_B11Deserializer.class) + @Asn1Property(tag = 0, name = "x") + @JsonProperty("x") private Offset_B11 x; - @Asn1Property(tag = 1) - @JsonDeserialize(using = Offset_B11.Offset_B11Deserializer.class) + @Asn1Property(tag = 1, name = "y") + @JsonProperty("y") private Offset_B11 y; Node_XY_22b() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_24b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_24b.java index a43dc1063..031a838d9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_24b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_24b.java @@ -1,49 +1,47 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_XY_24b extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = Offset_B12.Offset_B12Deserializer.class) + @Asn1Property(tag = 0, name = "x") + @JsonProperty("x") private Offset_B12 x; - @Asn1Property(tag = 1) - @JsonDeserialize(using = Offset_B12.Offset_B12Deserializer.class) + @Asn1Property(tag = 1, name = "y") + @JsonProperty("y") private Offset_B12 y; Node_XY_24b() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_26b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_26b.java index a1a51aa56..5673f4500 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_26b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_26b.java @@ -1,49 +1,47 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_XY_26b extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = Offset_B13.Offset_B13Deserializer.class) + @Asn1Property(tag = 0, name = "x") + @JsonProperty("x") private Offset_B13 x; - @Asn1Property(tag = 1) - @JsonDeserialize(using = Offset_B13.Offset_B13Deserializer.class) + @Asn1Property(tag = 1, name = "y") + @JsonProperty("y") private Offset_B13 y; Node_XY_26b() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_28b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_28b.java index 3e1a7286b..4e564c216 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_28b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_28b.java @@ -1,49 +1,47 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_XY_28b extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = Offset_B14.Offset_B14Deserializer.class) + @Asn1Property(tag = 0, name = "x") + @JsonProperty("x") private Offset_B14 x; - @Asn1Property(tag = 1) - @JsonDeserialize(using = Offset_B14.Offset_B14Deserializer.class) + @Asn1Property(tag = 1, name = "y") + @JsonProperty("y") private Offset_B14 y; Node_XY_28b() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_32b.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_32b.java index dac1b425c..a5daac524 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_32b.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Node_XY_32b.java @@ -1,49 +1,47 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_XY_32b extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = Offset_B16.Offset_B16Deserializer.class) + @Asn1Property(tag = 0, name = "x") + @JsonProperty("x") private Offset_B16 x; - @Asn1Property(tag = 1) - @JsonDeserialize(using = Offset_B16.Offset_B16Deserializer.class) + @Asn1Property(tag = 1, name = "y") + @JsonProperty("y") private Offset_B16 y; Node_XY_32b() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B12.java index 252e7b646..136a05af4 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B12.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B12.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = OffsetLL_B12.OffsetLL_B12Deserializer.class) public class OffsetLL_B12 extends Asn1Integer { public OffsetLL_B12() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B14.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B14.java index a80b1baa1..82a886edc 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B14.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B14.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = OffsetLL_B14.OffsetLL_B14Deserializer.class) public class OffsetLL_B14 extends Asn1Integer { public OffsetLL_B14() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B16.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B16.java index ed1d6b972..3a3bd1626 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B16.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B16.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = OffsetLL_B16.OffsetLL_B16Deserializer.class) public class OffsetLL_B16 extends Asn1Integer { public OffsetLL_B16() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B18.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B18.java index 00390c1a2..962e8d970 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B18.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B18.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = OffsetLL_B18.OffsetLL_B18Deserializer.class) public class OffsetLL_B18 extends Asn1Integer { public OffsetLL_B18() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B22.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B22.java index ab1a3fb3f..07e064f6d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B22.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B22.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = OffsetLL_B22.OffsetLL_B22Deserializer.class) public class OffsetLL_B22 extends Asn1Integer { public OffsetLL_B22() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B24.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B24.java index 5c9f8ac1f..c37701e28 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B24.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/OffsetLL_B24.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = OffsetLL_B24.OffsetLL_B24Deserializer.class) public class OffsetLL_B24 extends Asn1Integer { public OffsetLL_B24() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B10.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B10.java index b690c2a6d..2ab269382 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B10.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B10.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) public class Offset_B10 extends Asn1Integer { public Offset_B10() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B11.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B11.java index e61837b32..0d3c7f4a6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B11.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B11.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Offset_B11.Offset_B11Deserializer.class) public class Offset_B11 extends Asn1Integer { public Offset_B11() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B12.java index 0d8616b48..a2762e17a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B12.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B12.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Offset_B12.Offset_B12Deserializer.class) public class Offset_B12 extends Asn1Integer { public Offset_B12() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B13.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B13.java index b1deca14a..c022692d7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B13.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B13.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Offset_B13.Offset_B13Deserializer.class) public class Offset_B13 extends Asn1Integer { public Offset_B13() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B14.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B14.java index 98f41e859..c11562014 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B14.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B14.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Offset_B14.Offset_B14Deserializer.class) public class Offset_B14 extends Asn1Integer { public Offset_B14() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B16.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B16.java index 118af18cd..a43cb611d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B16.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Offset_B16.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Offset_B16.Offset_B16Deserializer.class) public class Offset_B16 extends Asn1Integer { public Offset_B16() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Position3D.java index 981acd100..fa2e7d007 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Position3D.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Position3D.java @@ -1,58 +1,55 @@ +/*============================================================================== + * + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT + * + *------------------------------------------------------------------------------ + * Copyright 2024 USDOT + * + * 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 + * + * 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.plugin.j2735.common; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.annotation.JsonProperty; import us.dot.its.jpo.ode.plugin.j2735.region.Reg_Position3D; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -/** - * - ******************************************************************************* - * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT - * - ******************************************************************************* - * Copyright 2024 USDOT - * - * 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 - * - * 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. - ****************************************************************************** - * - */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Position3D extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = Latitude.LatitudeDeserializer.class) + @Asn1Property(tag = 0, name = "lat") + @JsonProperty("lat") private Latitude lat; @Asn1Property(tag = 1, name = "long") @JsonProperty("long") - @JsonDeserialize(using = Longitude.LongitudeDeserializer.class) private Longitude long_; - @Asn1Property(tag = 2, optional = true) - @JsonDeserialize(using = Elevation.ElevationDeserializer.class) + @Asn1Property(tag = 2, name = "elevation", optional = true) + @JsonProperty("elevation") private Elevation elevation; - @Asn1Property(tag = 3, optional = true) + @Asn1Property(tag = 3, name = "regional", optional = true) + @JsonProperty("regional") private SequenceOfRegional regional; @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegionId.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegionId.java index b4e67d810..2a7f9ee57 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegionId.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegionId.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = RegionId.RegionIdDeserializer.class) public class RegionId extends Asn1Integer { public RegionId() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegionalExtension.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegionalExtension.java index 3fd317611..46ddec790 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegionalExtension.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegionalExtension.java @@ -1,38 +1,34 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + abstract public class RegionalExtension extends Asn1Sequence { @JsonIgnore - @JsonDeserialize(using = RegionId.RegionIdDeserializer.class) final protected RegionId regionId; @JsonIgnore final protected String name; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegulatorySpeedLimit.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegulatorySpeedLimit.java index 4c614a605..a1420bfa3 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegulatorySpeedLimit.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RegulatorySpeedLimit.java @@ -1,48 +1,47 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class RegulatorySpeedLimit extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "type") + @JsonProperty("type") private SpeedLimitType type; - @Asn1Property(tag = 1) - @JsonDeserialize(using = Velocity.VelocityDeserializer.class) + @Asn1Property(tag = 1, name = "speed") + @JsonProperty("speed") private Velocity speed; RegulatorySpeedLimit() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadRegulatorID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadRegulatorID.java index c6306bd10..aaa28cee9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadRegulatorID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadRegulatorID.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = RoadRegulatorID.RoadRegulatorIDDeserializer.class) public class RoadRegulatorID extends Asn1Integer { public RoadRegulatorID() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadSegmentID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadSegmentID.java index f17376267..b0b71f2fe 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadSegmentID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadSegmentID.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = RoadSegmentID.RoadSegmentIDDeserializer.class) public class RoadSegmentID extends Asn1Integer { public RoadSegmentID() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadSegmentReferenceID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadSegmentReferenceID.java index a8c1bfdaa..67240b99e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadSegmentReferenceID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadSegmentReferenceID.java @@ -1,49 +1,47 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class RoadSegmentReferenceID extends Asn1Sequence { - @Asn1Property(tag = 0, optional = true) - @JsonDeserialize(using = RoadRegulatorID.RoadRegulatorIDDeserializer.class) + @Asn1Property(tag = 0, name = "region", optional = true) + @JsonProperty("region") private RoadRegulatorID region; - @Asn1Property(tag = 1) - @JsonDeserialize(using = RoadSegmentID.RoadSegmentIDDeserializer.class) + @Asn1Property(tag = 1, name = "id") + @JsonProperty("id") private RoadSegmentID id; RoadSegmentReferenceID() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadwayCrownAngle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadwayCrownAngle.java index 8d9d168f6..7e8499597 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadwayCrownAngle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/RoadwayCrownAngle.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = RoadwayCrownAngle.RoadwayCrownAngleDeserializer.class) public class RoadwayCrownAngle extends Asn1Integer { public RoadwayCrownAngle() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SSPindex.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SSPindex.java index 10a9e6fdc..44bf449eb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SSPindex.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SSPindex.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) public class SSPindex extends Asn1Integer { public SSPindex() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Scale_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Scale_B12.java index 2d22269be..3aae74343 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Scale_B12.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Scale_B12.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Scale_B12.Scale_B12Deserializer.class) public class Scale_B12 extends Asn1Integer { public Scale_B12() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXY.java index 47d517b09..763cb2586 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXY.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import lombok.Getter; -import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import lombok.Getter; +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; + @Getter @JsonSerialize(using = SegmentAttributeXYSerializer.class) @JsonDeserialize(using = SegmentAttributeXYDeserializer.class) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYDeserializer.java index 05bf3e958..685cb5c21 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + public class SegmentAttributeXYDeserializer extends EnumeratedDeserializer { SegmentAttributeXYDeserializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYList.java index c49e2831c..59ba04c61 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYList.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.serialization.SequenceOfEnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.serialization.SequenceOfEnumeratedDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class SegmentAttributeXYList extends Asn1SequenceOf { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYSerializer.java index 197276af0..44a56038e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SegmentAttributeXYSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + public class SegmentAttributeXYSerializer extends EnumeratedSerializer { SegmentAttributeXYSerializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitList.java index d9afbcc34..26a3907d9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitList.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class SpeedLimitList extends Asn1SequenceOf { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitType.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitType.java index 41c14c7fb..2d78ff819 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitType.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitType.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import lombok.Getter; -import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import lombok.Getter; +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; + @Getter @JsonSerialize(using = SpeedLimitTypeSerializer.class) @JsonDeserialize(using = SpeedLimitTypeDeserializer.class) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitTypeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitTypeDeserializer.java index e05b38fdd..f7bcb8f59 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitTypeDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitTypeDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + public class SpeedLimitTypeDeserializer extends EnumeratedDeserializer { SpeedLimitTypeDeserializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitTypeSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitTypeSerializer.java index 42ca329a9..902011806 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitTypeSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/SpeedLimitTypeSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + public class SpeedLimitTypeSerializer extends EnumeratedSerializer { SpeedLimitTypeSerializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Velocity.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Velocity.java index 4a056a83e..bf1cb2bcf 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Velocity.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/common/Velocity.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.common; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.common; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Velocity.VelocityDeserializer.class) public class Velocity extends Asn1Integer { public Velocity() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Circle.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Circle.java index 13fe811df..44835164e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Circle.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Circle.java @@ -1,51 +1,51 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.j2735.common.Position3D; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.Position3D; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Circle extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "center") + @JsonProperty("center") private Position3D center; - @Asn1Property(tag = 1) - @JsonDeserialize(using = Radius_B12.Radius_B12Deserializer.class) + @Asn1Property(tag = 1, name = "radius") + @JsonProperty("radius") private Radius_B12 radius; - @Asn1Property(tag = 2) + @Asn1Property(tag = 2, name = "units") + @JsonProperty("units") private DistanceUnits units; Circle() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUse.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUse.java index da671f402..902b5e200 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUse.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUse.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import lombok.Getter; -import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import lombok.Getter; +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; + @Getter @JsonSerialize(using = DirectionOfUseSerializer.class) @JsonDeserialize(using = DirectionOfUseDeserializer.class) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUseDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUseDeserializer.java index 0c5b4c673..f4c534505 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUseDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUseDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + public class DirectionOfUseDeserializer extends EnumeratedDeserializer { DirectionOfUseDeserializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUseSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUseSerializer.java index 17b71f89c..2dfb054c4 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUseSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DirectionOfUseSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + public class DirectionOfUseSerializer extends EnumeratedSerializer { DirectionOfUseSerializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnits.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnits.java index 7de461351..e68c69632 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnits.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnits.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import lombok.Getter; -import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import lombok.Getter; +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; + @Getter @JsonSerialize(using = DistanceUnitsSerializer.class) @JsonDeserialize(using = DistanceUnitsDeserializer.class) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnitsDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnitsDeserializer.java index 62c5e9233..d516cef3a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnitsDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnitsDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + public class DistanceUnitsDeserializer extends EnumeratedDeserializer { DistanceUnitsDeserializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnitsSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnitsSerializer.java index d0d7c9848..7fdcc3f1e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnitsSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/DistanceUnitsSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + public class DistanceUnitsSerializer extends EnumeratedSerializer { DistanceUnitsSerializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ExitService.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ExitService.java index 28b0db664..3077251ad 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ExitService.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ExitService.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class ExitService extends Asn1SequenceOf { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ExitServiceSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ExitServiceSequence.java index e45be02f8..ee43415f2 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ExitServiceSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ExitServiceSequence.java @@ -1,70 +1,62 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodes; -import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import java.util.List; -import java.util.Optional; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodes; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class ExitServiceSequence extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "item") + @JsonProperty("item") private ItemChoice item; @Getter @Setter @JsonInclude(Include.NON_NULL) public static class ItemChoice extends Asn1Choice { - @Asn1Property(tag = 0) - @JsonDeserialize(using = ITIScodes.ITIScodesDeserializer.class) + @Asn1Property(tag = 0, name = "itis") + @JsonProperty("itis") private ITIScodes itis; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "text") + @JsonProperty("text") private ITIStextPhrase text; ItemChoice() { super(false); } - - @Override - protected List> listTypes() { - return null; - } } ExitServiceSequence() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GenericSignage.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GenericSignage.java index 48d2230ab..f4138128b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GenericSignage.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GenericSignage.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class GenericSignage extends Asn1SequenceOf { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GenericSignageSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GenericSignageSequence.java index 8c9c20877..d795ed5fd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GenericSignageSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GenericSignageSequence.java @@ -1,70 +1,62 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodes; -import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import java.util.List; -import java.util.Optional; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodes; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class GenericSignageSequence extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "item") + @JsonProperty("item") private ItemChoice item; @Getter @Setter @JsonInclude(Include.NON_NULL) public static class ItemChoice extends Asn1Choice { - @Asn1Property(tag = 0) - @JsonDeserialize(using = ITIScodes.ITIScodesDeserializer.class) + @Asn1Property(tag = 0, name = "itis") + @JsonProperty("itis") private ITIScodes itis; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "text") + @JsonProperty("text") private ITIStextPhrase text; ItemChoice() { super(false); } - - @Override - protected List> listTypes() { - return null; - } } GenericSignageSequence() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GeographicalPath.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GeographicalPath.java index 4251898bd..3c0e9ebeb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GeographicalPath.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GeographicalPath.java @@ -1,91 +1,92 @@ +/*============================================================================== + * + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT + * + *------------------------------------------------------------------------------ + * Copyright 2024 USDOT + * + * 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 + * + * 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.plugin.j2735.travelerinformation; -import us.dot.its.jpo.ode.plugin.j2735.common.*; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.*; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_GeographicalPath; import us.dot.its.jpo.ode.plugin.types.Asn1Boolean; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import java.util.List; -import java.util.Optional; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import us.dot.its.jpo.ode.plugin.j2735.region.Reg_GeographicalPath; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -/** - * - ******************************************************************************* - * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT - * - ******************************************************************************* - * Copyright 2024 USDOT - * - * 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 - * - * 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. - ****************************************************************************** - * - */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class GeographicalPath extends Asn1Sequence { - @Asn1Property(tag = 0, optional = true) + @Asn1Property(tag = 0, name = "name", optional = true) + @JsonProperty("name") private DescriptiveName name; - @Asn1Property(tag = 1, optional = true) + @Asn1Property(tag = 1, name = "id", optional = true) + @JsonProperty("id") private RoadSegmentReferenceID id; - @Asn1Property(tag = 2, optional = true) + @Asn1Property(tag = 2, name = "anchor", optional = true) + @JsonProperty("anchor") private Position3D anchor; - @Asn1Property(tag = 3, optional = true) - @JsonDeserialize(using = LaneWidth.LaneWidthDeserializer.class) + @Asn1Property(tag = 3, name = "laneWidth", optional = true) + @JsonProperty("laneWidth") private LaneWidth laneWidth; - @Asn1Property(tag = 4, optional = true) + @Asn1Property(tag = 4, name = "directionality", optional = true) + @JsonProperty("directionality") private DirectionOfUse directionality; - @Asn1Property(tag = 5, optional = true) + @Asn1Property(tag = 5, name = "closedPath", optional = true) + @JsonProperty("closedPath") private Asn1Boolean closedPath; - @Asn1Property(tag = 6, optional = true) + @Asn1Property(tag = 6, name = "direction", optional = true) + @JsonProperty("direction") private HeadingSlice direction; - @Asn1Property(tag = 7, optional = true) + @Asn1Property(tag = 7, name = "description", optional = true) + @JsonProperty("description") private DescriptionChoice description; - @Asn1Property(tag = 8, optional = true) + @Asn1Property(tag = 8, name = "regional", optional = true) + @JsonProperty("regional") private SequenceOfRegional regional; @Getter @Setter @JsonInclude(Include.NON_NULL) public static class DescriptionChoice extends Asn1Choice { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "path") + @JsonProperty("path") private OffsetSystem path; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "geometry") + @JsonProperty("geometry") private GeometricProjection geometry; - @Asn1Property(tag = 2) + @Asn1Property(tag = 2, name = "oldRegion") + @JsonProperty("oldRegion") private ValidRegion oldRegion; DescriptionChoice() { super(true); } - - @Override - protected List> listTypes() { - return null; - } } @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GeometricProjection.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GeometricProjection.java index d1d76f883..4b7aae252 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GeometricProjection.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/GeometricProjection.java @@ -1,59 +1,61 @@ +/*============================================================================== + * + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT + * + *------------------------------------------------------------------------------ + * Copyright 2024 USDOT + * + * 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 + * + * 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.plugin.j2735.travelerinformation; -import us.dot.its.jpo.ode.plugin.j2735.common.Extent; -import us.dot.its.jpo.ode.plugin.j2735.common.HeadingSlice; -import us.dot.its.jpo.ode.plugin.j2735.common.LaneWidth; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.Extent; +import us.dot.its.jpo.ode.plugin.j2735.common.HeadingSlice; +import us.dot.its.jpo.ode.plugin.j2735.common.LaneWidth; import us.dot.its.jpo.ode.plugin.j2735.region.Reg_GeometricProjection; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -/** - * - ******************************************************************************* - * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT - * - ******************************************************************************* - * Copyright 2024 USDOT - * - * 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 - * - * 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. - ****************************************************************************** - * - */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class GeometricProjection extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "direction") + @JsonProperty("direction") private HeadingSlice direction; - @Asn1Property(tag = 1, optional = true) + @Asn1Property(tag = 1, name = "extent", optional = true) + @JsonProperty("extent") private Extent extent; - @Asn1Property(tag = 2, optional = true) - @JsonDeserialize(using = LaneWidth.LaneWidthDeserializer.class) + @Asn1Property(tag = 2, name = "laneWidth", optional = true) + @JsonProperty("laneWidth") private LaneWidth laneWidth; - @Asn1Property(tag = 3) + @Asn1Property(tag = 3, name = "circle") + @JsonProperty("circle") private Circle circle; - @Asn1Property(tag = 4, optional = true) + @Asn1Property(tag = 4, name = "regional", optional = true) + @JsonProperty("regional") private SequenceOfRegional regional; @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ITIStextPhrase.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ITIStextPhrase.java index 8dc8a0631..db066f0c9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ITIStextPhrase.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ITIStextPhrase.java @@ -1,32 +1,30 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.IA5String; -import com.fasterxml.jackson.annotation.JsonCreator; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.types.IA5String; + public class ITIStextPhrase extends IA5String { public ITIStextPhrase() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCode.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCode.java index 66947881e..f14d62179 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCode.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCode.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import lombok.Getter; -import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import lombok.Getter; +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; + @Getter @JsonSerialize(using = MUTCDCodeSerializer.class) @JsonDeserialize(using = MUTCDCodeDeserializer.class) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCodeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCodeDeserializer.java index a699b83e2..31f24e527 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCodeDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCodeDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + public class MUTCDCodeDeserializer extends EnumeratedDeserializer { MUTCDCodeDeserializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCodeSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCodeSerializer.java index cd570d7cc..d9418e9ad 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCodeSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MUTCDCodeSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + public class MUTCDCodeSerializer extends EnumeratedSerializer { MUTCDCodeSerializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MinutesDuration.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MinutesDuration.java index 5a8b5a919..ea4e0e390 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MinutesDuration.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MinutesDuration.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = MinutesDuration.MinutesDurationDeserializer.class) public class MinutesDuration extends Asn1Integer { public MinutesDuration() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MsgCRC.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MsgCRC.java index 44dcfdb01..54d976060 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MsgCRC.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/MsgCRC.java @@ -1,44 +1,38 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1OctetString; -import com.fasterxml.jackson.annotation.JsonCreator; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. - ****************************************************************************** - * - */ -public class MsgCRC extends Asn1OctetString { + *============================================================================*/ - private String value; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import us.dot.its.jpo.ode.plugin.types.Asn1OctetString; + +public class MsgCRC extends Asn1OctetString { + + @JsonValue public String getValue() { return value; } - public void setValue(String value) { - this.value = value; - } - @Override public String toString() { return value; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLL.java index cb089e5f6..02f729046 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLL.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import lombok.Getter; -import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import lombok.Getter; +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; + @Getter @JsonSerialize(using = NodeAttributeLLSerializer.class) @JsonDeserialize(using = NodeAttributeLLDeserializer.class) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLDeserializer.java index 327ba21d1..7621e8150 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + public class NodeAttributeLLDeserializer extends EnumeratedDeserializer { NodeAttributeLLDeserializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLList.java index 8772cad1b..f8a63b584 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLList.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.serialization.SequenceOfEnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.serialization.SequenceOfEnumeratedDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class NodeAttributeLLList extends Asn1SequenceOf { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLSerializer.java index 1d74fa8dc..508fcb134 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeLLSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + public class NodeAttributeLLSerializer extends EnumeratedSerializer { NodeAttributeLLSerializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLL.java index 37ca7cf0d..405183c27 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLL.java @@ -1,73 +1,73 @@ +/*============================================================================== + * + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT + * + *------------------------------------------------------------------------------ + * Copyright 2024 USDOT + * + * 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 + * + * 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.plugin.j2735.travelerinformation; -import com.fasterxml.jackson.annotation.JsonProperty; -import us.dot.its.jpo.ode.plugin.j2735.common.LaneDataAttributeList; -import us.dot.its.jpo.ode.plugin.j2735.common.Offset_B10; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.LaneDataAttributeList; +import us.dot.its.jpo.ode.plugin.j2735.common.Offset_B10; import us.dot.its.jpo.ode.plugin.j2735.region.Reg_NodeAttributeSetLL; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -/** - * - * EDITED: Add @JsonProperty annotations to dWidth and dElevation - * - ******************************************************************************* - * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT - * - ******************************************************************************* - * Copyright 2024 USDOT - * - * 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 - * - * 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. - ****************************************************************************** - * - */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class NodeAttributeSetLL extends Asn1Sequence { - @Asn1Property(tag = 0, optional = true) + @Asn1Property(tag = 0, name = "localNode", optional = true) + @JsonProperty("localNode") @JsonDeserialize(using = NodeAttributeLLList.NodeAttributeLLListDeserializer.class) private NodeAttributeLLList localNode; - @Asn1Property(tag = 1, optional = true) + @Asn1Property(tag = 1, name = "disabled", optional = true) + @JsonProperty("disabled") @JsonDeserialize(using = SegmentAttributeLLList.SegmentAttributeLLListDeserializer.class) private SegmentAttributeLLList disabled; - @Asn1Property(tag = 2, optional = true) + @Asn1Property(tag = 2, name = "enabled", optional = true) + @JsonProperty("enabled") @JsonDeserialize(using = SegmentAttributeLLList.SegmentAttributeLLListDeserializer.class) private SegmentAttributeLLList enabled; - @Asn1Property(tag = 3, optional = true) - @JacksonXmlElementWrapper(useWrapping = false) + @Asn1Property(tag = 3, name = "data", optional = true) + @JsonProperty("data") + @JsonSerialize(using = LaneDataAttributeList.LaneDataAttributeListSerializer.class) + @JsonDeserialize(using = LaneDataAttributeList.LaneDataAttributeListDeserializer.class) private LaneDataAttributeList data; - @Asn1Property(tag = 4, optional = true) - @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + @Asn1Property(tag = 4, name = "dWidth", optional = true) @JsonProperty("dWidth") private Offset_B10 dWidth; - @Asn1Property(tag = 5, optional = true) - @JsonDeserialize(using = Offset_B10.Offset_B10Deserializer.class) + @Asn1Property(tag = 5, name = "dElevation", optional = true) @JsonProperty("dElevation") private Offset_B10 dElevation; - @Asn1Property(tag = 6, optional = true) + @Asn1Property(tag = 6, name = "regional", optional = true) + @JsonProperty("regional") private SequenceOfRegional regional; @JsonInclude(Include.NON_NULL) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeLL.java index 17596168e..7247ae614 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeLL.java @@ -1,46 +1,47 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class NodeLL extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "delta") + @JsonProperty("delta") private NodeOffsetPointLL delta; - @Asn1Property(tag = 1, optional = true) + @Asn1Property(tag = 1, name = "attributes", optional = true) + @JsonProperty("attributes") private NodeAttributeSetLL attributes; NodeLL() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeListLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeListLL.java index f16e9cb93..c5f98d200 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeListLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeListLL.java @@ -1,47 +1,44 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import java.util.Optional; -import java.util.List; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; + @Getter @Setter @JsonInclude(Include.NON_NULL) public class NodeListLL extends Asn1Choice { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "nodes") + @JsonProperty("nodes") @JacksonXmlElementWrapper(localName = "nodes") @JacksonXmlProperty(localName = "NodeLL") private NodeSetLL nodes; @@ -49,9 +46,4 @@ public class NodeListLL extends Asn1Choice { NodeListLL() { super(true); } - - @Override - protected List> listTypes() { - return null; - } } \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeOffsetPointLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeOffsetPointLL.java index c0caf658f..c3f131082 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeOffsetPointLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeOffsetPointLL.java @@ -1,42 +1,37 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.j2735.common.Node_LLmD_64b; -import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.annotation.JsonProperty; -import us.dot.its.jpo.ode.plugin.j2735.region.Reg_NodeOffsetPointLL; -import java.util.Optional; -import java.util.List; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.Node_LLmD_64b; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_NodeOffsetPointLL; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; + @Getter @Setter @JsonInclude(Include.NON_NULL) @@ -63,15 +58,11 @@ public class NodeOffsetPointLL extends Asn1Choice { @Asn1Property(tag = 6, name = "node-LatLon") @JsonProperty("node-LatLon") private Node_LLmD_64b node_LatLon; - @Asn1Property(tag = 7) + @Asn1Property(tag = 7, name = "regional") + @JsonProperty("regional") private Reg_NodeOffsetPointLL regional; NodeOffsetPointLL() { super(false); } - - @Override - protected List> listTypes() { - return null; - } } \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeSetLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeSetLL.java index aafce72c7..beb77e1fc 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeSetLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeSetLL.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class NodeSetLL extends Asn1SequenceOf { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_24B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_24B.java index 574f7165f..d18ddfbce 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_24B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_24B.java @@ -1,50 +1,48 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B12; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B12; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_LL_24B extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = OffsetLL_B12.OffsetLL_B12Deserializer.class) + @Asn1Property(tag = 0, name = "lon") + @JsonProperty("lon") private OffsetLL_B12 lon; - @Asn1Property(tag = 1) - @JsonDeserialize(using = OffsetLL_B12.OffsetLL_B12Deserializer.class) + @Asn1Property(tag = 1, name = "lat") + @JsonProperty("lat") private OffsetLL_B12 lat; Node_LL_24B() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_28B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_28B.java index 065861345..eb8294ef1 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_28B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_28B.java @@ -1,50 +1,48 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B14; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B14; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_LL_28B extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = OffsetLL_B14.OffsetLL_B14Deserializer.class) + @Asn1Property(tag = 0, name = "lon") + @JsonProperty("lon") private OffsetLL_B14 lon; - @Asn1Property(tag = 1) - @JsonDeserialize(using = OffsetLL_B14.OffsetLL_B14Deserializer.class) + @Asn1Property(tag = 1, name = "lat") + @JsonProperty("lat") private OffsetLL_B14 lat; Node_LL_28B() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_32B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_32B.java index b1f6274ba..8d128491a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_32B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_32B.java @@ -1,50 +1,48 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B16; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B16; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_LL_32B extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = OffsetLL_B16.OffsetLL_B16Deserializer.class) + @Asn1Property(tag = 0, name = "lon") + @JsonProperty("lon") private OffsetLL_B16 lon; - @Asn1Property(tag = 1) - @JsonDeserialize(using = OffsetLL_B16.OffsetLL_B16Deserializer.class) + @Asn1Property(tag = 1, name = "lat") + @JsonProperty("lat") private OffsetLL_B16 lat; Node_LL_32B() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_36B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_36B.java index 625fd2dc7..439cf372f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_36B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_36B.java @@ -1,50 +1,48 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B18; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B18; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_LL_36B extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = OffsetLL_B18.OffsetLL_B18Deserializer.class) + @Asn1Property(tag = 0, name = "lon") + @JsonProperty("lon") private OffsetLL_B18 lon; - @Asn1Property(tag = 1) - @JsonDeserialize(using = OffsetLL_B18.OffsetLL_B18Deserializer.class) + @Asn1Property(tag = 1, name = "lat") + @JsonProperty("lat") private OffsetLL_B18 lat; Node_LL_36B() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_44B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_44B.java index 40499b07e..571ca2a98 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_44B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_44B.java @@ -1,50 +1,48 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B22; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B22; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_LL_44B extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = OffsetLL_B22.OffsetLL_B22Deserializer.class) + @Asn1Property(tag = 0, name = "lon") + @JsonProperty("lon") private OffsetLL_B22 lon; - @Asn1Property(tag = 1) - @JsonDeserialize(using = OffsetLL_B22.OffsetLL_B22Deserializer.class) + @Asn1Property(tag = 1, name = "lat") + @JsonProperty("lat") private OffsetLL_B22 lat; Node_LL_44B() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_48B.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_48B.java index 0e906159f..b93dec8cd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_48B.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Node_LL_48B.java @@ -1,50 +1,48 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B24; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B24; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class Node_LL_48B extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = OffsetLL_B24.OffsetLL_B24Deserializer.class) + @Asn1Property(tag = 0, name = "lon") + @JsonProperty("lon") private OffsetLL_B24 lon; - @Asn1Property(tag = 1) - @JsonDeserialize(using = OffsetLL_B24.OffsetLL_B24Deserializer.class) + @Asn1Property(tag = 1, name = "lat") + @JsonProperty("lat") private OffsetLL_B24 lat; Node_LL_48B() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/OffsetSystem.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/OffsetSystem.java index aac5dc2af..ded65d7f4 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/OffsetSystem.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/OffsetSystem.java @@ -1,72 +1,65 @@ +/*============================================================================== + * + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT + * + *------------------------------------------------------------------------------ + * Copyright 2024 USDOT + * + * 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 + * + * 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.plugin.j2735.travelerinformation; -import us.dot.its.jpo.ode.plugin.j2735.common.NodeListXY; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.NodeListXY; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import java.util.List; -import java.util.Optional; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -/** - * - ******************************************************************************* - * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT - * - ******************************************************************************* - * Copyright 2024 USDOT - * - * 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 - * - * 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. - ****************************************************************************** - * - */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class OffsetSystem extends Asn1Sequence { - @Asn1Property(tag = 0, optional = true) - @JsonDeserialize(using = Zoom.ZoomDeserializer.class) + @Asn1Property(tag = 0, name = "scale", optional = true) + @JsonProperty("scale") private Zoom scale; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "offset") + @JsonProperty("offset") private OffsetChoice offset; @Getter @Setter @JsonInclude(Include.NON_NULL) public static class OffsetChoice extends Asn1Choice { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "xy") + @JsonProperty("xy") private NodeListXY xy; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "ll") + @JsonProperty("ll") private NodeListLL ll; OffsetChoice() { super(false); } - - @Override - protected List> listTypes() { - return null; - } } OffsetSystem() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Radius_B12.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Radius_B12.java index c4de7e997..5d75071dd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Radius_B12.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Radius_B12.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Radius_B12.Radius_B12Deserializer.class) public class Radius_B12 extends Asn1Integer { public Radius_B12() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionList.java index 963ea6bf2..d74e70b05 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionList.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class RegionList extends Asn1SequenceOf { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionOffsets.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionOffsets.java index ad689e04b..f4f392fd6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionOffsets.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionOffsets.java @@ -1,53 +1,51 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B16; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.OffsetLL_B16; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class RegionOffsets extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = OffsetLL_B16.OffsetLL_B16Deserializer.class) + @Asn1Property(tag = 0, name = "xOffset") + @JsonProperty("xOffset") private OffsetLL_B16 xOffset; - @Asn1Property(tag = 1) - @JsonDeserialize(using = OffsetLL_B16.OffsetLL_B16Deserializer.class) + @Asn1Property(tag = 1, name = "yOffset") + @JsonProperty("yOffset") private OffsetLL_B16 yOffset; - @Asn1Property(tag = 2, optional = true) - @JsonDeserialize(using = OffsetLL_B16.OffsetLL_B16Deserializer.class) + @Asn1Property(tag = 2, name = "zOffset", optional = true) + @JsonProperty("zOffset") private OffsetLL_B16 zOffset; RegionOffsets() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionPointSet.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionPointSet.java index 613faf01e..ad261e6bb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionPointSet.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RegionPointSet.java @@ -1,53 +1,53 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.j2735.common.Position3D; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.Position3D; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class RegionPointSet extends Asn1Sequence { - @Asn1Property(tag = 0, optional = true) + @Asn1Property(tag = 0, name = "anchor", optional = true) + @JsonProperty("anchor") private Position3D anchor; - @Asn1Property(tag = 1, optional = true) - @JsonDeserialize(using = Zoom.ZoomDeserializer.class) + @Asn1Property(tag = 1, name = "scale", optional = true) + @JsonProperty("scale") private Zoom scale; - @Asn1Property(tag = 2) + @Asn1Property(tag = 2, name = "nodeList") + @JsonProperty("nodeList") @JacksonXmlElementWrapper(localName = "nodeList") @JacksonXmlProperty(localName = "RegionOffsets") private RegionList nodeList; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RoadSignID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RoadSignID.java index fcdf96ac2..bf8582829 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RoadSignID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/RoadSignID.java @@ -1,52 +1,55 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.j2735.common.HeadingSlice; -import us.dot.its.jpo.ode.plugin.j2735.common.Position3D; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.HeadingSlice; +import us.dot.its.jpo.ode.plugin.j2735.common.Position3D; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class RoadSignID extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "position") + @JsonProperty("position") private Position3D position; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "viewAngle") + @JsonProperty("viewAngle") private HeadingSlice viewAngle; - @Asn1Property(tag = 2, optional = true) + @Asn1Property(tag = 2, name = "mutcdCode", optional = true) + @JsonProperty("mutcdCode") private MUTCDCode mutcdCode; - @Asn1Property(tag = 3, optional = true) + @Asn1Property(tag = 3, name = "crc", optional = true) + @JsonProperty("crc") private MsgCRC crc; RoadSignID() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLL.java index e8e0827e5..cd1cb6fbd 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLL.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import lombok.Getter; -import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import lombok.Getter; +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; + @Getter @JsonSerialize(using = SegmentAttributeLLSerializer.class) @JsonDeserialize(using = SegmentAttributeLLDeserializer.class) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLDeserializer.java index 1a765b7d7..e301cda4a 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + public class SegmentAttributeLLDeserializer extends EnumeratedDeserializer { SegmentAttributeLLDeserializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLList.java index 4b0b2b36d..9736b4f0d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLList.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.serialization.SequenceOfEnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.serialization.SequenceOfEnumeratedDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class SegmentAttributeLLList extends Asn1SequenceOf { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLSerializer.java index ec5a9f31b..8c933cc0c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SegmentAttributeLLSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + public class SegmentAttributeLLSerializer extends EnumeratedSerializer { SegmentAttributeLLSerializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ShapePointSet.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ShapePointSet.java index e2bb76be4..f0852af82 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ShapePointSet.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ShapePointSet.java @@ -1,55 +1,56 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.j2735.common.LaneWidth; -import us.dot.its.jpo.ode.plugin.j2735.common.NodeListXY; -import us.dot.its.jpo.ode.plugin.j2735.common.Position3D; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.LaneWidth; +import us.dot.its.jpo.ode.plugin.j2735.common.NodeListXY; +import us.dot.its.jpo.ode.plugin.j2735.common.Position3D; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class ShapePointSet extends Asn1Sequence { - @Asn1Property(tag = 0, optional = true) + @Asn1Property(tag = 0, name = "anchor", optional = true) + @JsonProperty("anchor") private Position3D anchor; - @Asn1Property(tag = 1, optional = true) - @JsonDeserialize(using = LaneWidth.LaneWidthDeserializer.class) + @Asn1Property(tag = 1, name = "laneWidth", optional = true) + @JsonProperty("laneWidth") private LaneWidth laneWidth; - @Asn1Property(tag = 2, optional = true) + @Asn1Property(tag = 2, name = "directionality", optional = true) + @JsonProperty("directionality") private DirectionOfUse directionality; - @Asn1Property(tag = 3) + @Asn1Property(tag = 3, name = "nodeList") + @JsonProperty("nodeList") private NodeListXY nodeList; ShapePointSet() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SignPrority.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SignPrority.java index a3335e2fe..69fdf27c8 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SignPrority.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SignPrority.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = SignPrority.SignProrityDeserializer.class) public class SignPrority extends Asn1Integer { public SignPrority() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SpeedLimit.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SpeedLimit.java index 840dc1a0f..b7d83248c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SpeedLimit.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SpeedLimit.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class SpeedLimit extends Asn1SequenceOf { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SpeedLimitSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SpeedLimitSequence.java index 382e88f2e..427028322 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SpeedLimitSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/SpeedLimitSequence.java @@ -1,70 +1,62 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodes; -import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import java.util.List; -import java.util.Optional; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodes; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class SpeedLimitSequence extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "item") + @JsonProperty("item") private ItemChoice item; @Getter @Setter @JsonInclude(Include.NON_NULL) public static class ItemChoice extends Asn1Choice { - @Asn1Property(tag = 0) - @JsonDeserialize(using = ITIScodes.ITIScodesDeserializer.class) + @Asn1Property(tag = 0, name = "itis") + @JsonProperty("itis") private ITIScodes itis; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "text") + @JsonProperty("text") private ITIStextPhrase text; ItemChoice() { super(false); } - - @Override - protected List> listTypes() { - return null; - } } SpeedLimitSequence() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java index b109ee671..442e9a683 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java @@ -1,113 +1,111 @@ +/*============================================================================== + * + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT + * + *------------------------------------------------------------------------------ + * Copyright 2024 USDOT + * + * 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 + * + * 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.plugin.j2735.travelerinformation; -import us.dot.its.jpo.ode.plugin.j2735.common.DYear; -import us.dot.its.jpo.ode.plugin.j2735.common.FurtherInfoID; -import us.dot.its.jpo.ode.plugin.j2735.common.MinuteOfTheYear; -import us.dot.its.jpo.ode.plugin.j2735.common.SSPindex; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import java.util.List; -import java.util.Optional; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import us.dot.its.jpo.ode.plugin.j2735.common.DYear; +import us.dot.its.jpo.ode.plugin.j2735.common.FurtherInfoID; +import us.dot.its.jpo.ode.plugin.j2735.common.MinuteOfTheYear; +import us.dot.its.jpo.ode.plugin.j2735.common.SSPindex; import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodesAndText; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import us.dot.its.jpo.ode.plugin.serialization.NestedSequenceOfDeserializer; import us.dot.its.jpo.ode.plugin.serialization.NestedSequenceOfSerializer; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; /* * EDITED -> notUsed, notUsed1, notUsed2, notUsed3, durationTime fields. */ -/** - * - ******************************************************************************* - * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT - * - ******************************************************************************* - * Copyright 2024 USDOT - * - * 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 - * - * 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. - ****************************************************************************** - * - */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class TravelerDataFrame extends Asn1Sequence { - @Asn1Property(tag = 0) - @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + @Asn1Property(tag = 0, name = "notUsed") + @JsonProperty("notUsed") private SSPindex notUsed; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "frameType") + @JsonProperty("frameType") private TravelerInfoType frameType; - @Asn1Property(tag = 2) + @Asn1Property(tag = 2, name = "msgId") + @JsonProperty("msgId") private MsgIdChoice msgId; - @Asn1Property(tag = 3, optional = true) - @JsonDeserialize(using = DYear.DYearDeserializer.class) + @Asn1Property(tag = 3, name = "startYear", optional = true) + @JsonProperty("startYear") private DYear startYear; - @Asn1Property(tag = 4) - @JsonDeserialize(using = MinuteOfTheYear.MinuteOfTheYearDeserializer.class) + @Asn1Property(tag = 4, name = "startTime") + @JsonProperty("startTime") private MinuteOfTheYear startTime; - @Asn1Property(tag = 5) - @JsonDeserialize(using = MinutesDuration.MinutesDurationDeserializer.class) + @Asn1Property(tag = 5, name = "durationTime") + @JsonProperty("durationTime") private MinutesDuration durationTime; - @Asn1Property(tag = 6) - @JsonDeserialize(using = SignPrority.SignProrityDeserializer.class) + @Asn1Property(tag = 6, name = "priority") + @JsonProperty("priority") private SignPrority priority; - @Asn1Property(tag = 7) - @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + @Asn1Property(tag = 7, name = "notUsed1") + @JsonProperty("notUsed1") private SSPindex notUsed1; - @Asn1Property(tag = 8) + @Asn1Property(tag = 8, name = "regions") + @JsonProperty("regions") private SequenceOfRegions regions; - @Asn1Property(tag = 9) - @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + @Asn1Property(tag = 9, name = "notUsed2") + @JsonProperty("notUsed2") private SSPindex notUsed2; - @Asn1Property(tag = 10) - @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + @Asn1Property(tag = 10, name = "notUsed3") + @JsonProperty("notUsed3") private SSPindex notUsed3; - @Asn1Property(tag = 11) + @Asn1Property(tag = 11, name = "content") + @JsonProperty("content") private ContentChoice content; - @Asn1Property(tag = 12, optional = true) + @Asn1Property(tag = 12, name = "url", optional = true) + @JsonProperty("url") private URL_Short url; @Getter @Setter @JsonInclude(Include.NON_NULL) public static class MsgIdChoice extends Asn1Choice { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "furtherInfoID") + @JsonProperty("furtherInfoID") private FurtherInfoID furtherInfoID; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "roadSignID") + @JsonProperty("roadSignID") private RoadSignID roadSignID; MsgIdChoice() { super(false); } - - @Override - protected List> listTypes() { - return null; - } } @JsonInclude(Include.NON_NULL) @@ -121,23 +119,28 @@ public static class SequenceOfRegions extends Asn1SequenceOf { @Setter @JsonInclude(Include.NON_NULL) public static class ContentChoice extends Asn1Choice { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "advisory") + @JsonProperty("advisory") @JsonDeserialize(using = AdvisoryDeserializer.class) @JsonSerialize(using = AdvisorySerializer.class) private ITIScodesAndText advisory; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "workZone") + @JsonProperty("workZone") @JsonDeserialize(using = WorkZoneDeserializer.class) @JsonSerialize(using = WorkZoneSerializer.class) private WorkZone workZone; - @Asn1Property(tag = 2) + @Asn1Property(tag = 2, name = "genericSign") + @JsonProperty("genericSign") @JsonDeserialize(using = GenericSignDeserializer.class) @JsonSerialize(using = GenericSignSerializer.class) private GenericSignage genericSign; - @Asn1Property(tag = 3) + @Asn1Property(tag = 3, name = "speedLimit") + @JsonProperty("speedLimit") @JsonDeserialize(using = SpeedLimitDeserializer.class) @JsonSerialize(using = SpeedLimitSerializer.class) private SpeedLimit speedLimit; - @Asn1Property(tag = 4) + @Asn1Property(tag = 4, name = "exitService") + @JsonProperty("exitService") @JsonDeserialize(using = ExitServiceDeserializer.class) @JsonSerialize(using = ExitServiceSerializer.class) private ExitService exitService; @@ -145,11 +148,6 @@ public static class ContentChoice extends Asn1Choice { ContentChoice() { super(false); } - - @Override - protected List> listTypes() { - return null; - } } TravelerDataFrame() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java.bak b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java.bak new file mode 100644 index 000000000..b109ee671 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrame.java.bak @@ -0,0 +1,218 @@ +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; + +import us.dot.its.jpo.ode.plugin.j2735.common.DYear; +import us.dot.its.jpo.ode.plugin.j2735.common.FurtherInfoID; +import us.dot.its.jpo.ode.plugin.j2735.common.MinuteOfTheYear; +import us.dot.its.jpo.ode.plugin.j2735.common.SSPindex; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import java.util.List; +import java.util.Optional; +import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; +import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodesAndText; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.NestedSequenceOfDeserializer; +import us.dot.its.jpo.ode.plugin.serialization.NestedSequenceOfSerializer; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + +/* + * EDITED -> notUsed, notUsed1, notUsed2, notUsed3, durationTime fields. + */ + +/** + * + ******************************************************************************* + * + * This source file was generated by a tool. Beware manual edits might be + * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * + ******************************************************************************* + * Copyright 2024 USDOT + * + * 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 + * + * 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. + ****************************************************************************** + * + */ +@JsonInclude(Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +@Getter +@Setter +public class TravelerDataFrame extends Asn1Sequence { + + @Asn1Property(tag = 0) + @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + private SSPindex notUsed; + @Asn1Property(tag = 1) + private TravelerInfoType frameType; + @Asn1Property(tag = 2) + private MsgIdChoice msgId; + @Asn1Property(tag = 3, optional = true) + @JsonDeserialize(using = DYear.DYearDeserializer.class) + private DYear startYear; + @Asn1Property(tag = 4) + @JsonDeserialize(using = MinuteOfTheYear.MinuteOfTheYearDeserializer.class) + private MinuteOfTheYear startTime; + @Asn1Property(tag = 5) + @JsonDeserialize(using = MinutesDuration.MinutesDurationDeserializer.class) + private MinutesDuration durationTime; + @Asn1Property(tag = 6) + @JsonDeserialize(using = SignPrority.SignProrityDeserializer.class) + private SignPrority priority; + @Asn1Property(tag = 7) + @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + private SSPindex notUsed1; + @Asn1Property(tag = 8) + private SequenceOfRegions regions; + @Asn1Property(tag = 9) + @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + private SSPindex notUsed2; + @Asn1Property(tag = 10) + @JsonDeserialize(using = SSPindex.SSPindexDeserializer.class) + private SSPindex notUsed3; + @Asn1Property(tag = 11) + private ContentChoice content; + @Asn1Property(tag = 12, optional = true) + private URL_Short url; + + @Getter + @Setter + @JsonInclude(Include.NON_NULL) + public static class MsgIdChoice extends Asn1Choice { + @Asn1Property(tag = 0) + private FurtherInfoID furtherInfoID; + @Asn1Property(tag = 1) + private RoadSignID roadSignID; + + MsgIdChoice() { + super(false); + } + + @Override + protected List> listTypes() { + return null; + } + } + + @JsonInclude(Include.NON_NULL) + public static class SequenceOfRegions extends Asn1SequenceOf { + SequenceOfRegions() { + super(GeographicalPath.class, 1L, 16L); + } + } + + @Getter + @Setter + @JsonInclude(Include.NON_NULL) + public static class ContentChoice extends Asn1Choice { + @Asn1Property(tag = 0) + @JsonDeserialize(using = AdvisoryDeserializer.class) + @JsonSerialize(using = AdvisorySerializer.class) + private ITIScodesAndText advisory; + @Asn1Property(tag = 1) + @JsonDeserialize(using = WorkZoneDeserializer.class) + @JsonSerialize(using = WorkZoneSerializer.class) + private WorkZone workZone; + @Asn1Property(tag = 2) + @JsonDeserialize(using = GenericSignDeserializer.class) + @JsonSerialize(using = GenericSignSerializer.class) + private GenericSignage genericSign; + @Asn1Property(tag = 3) + @JsonDeserialize(using = SpeedLimitDeserializer.class) + @JsonSerialize(using = SpeedLimitSerializer.class) + private SpeedLimit speedLimit; + @Asn1Property(tag = 4) + @JsonDeserialize(using = ExitServiceDeserializer.class) + @JsonSerialize(using = ExitServiceSerializer.class) + private ExitService exitService; + + ContentChoice() { + super(false); + } + + @Override + protected List> listTypes() { + return null; + } + } + + TravelerDataFrame() { + super(true); + } + + public static class AdvisoryDeserializer extends NestedSequenceOfDeserializer { + public AdvisoryDeserializer() { + super(ITIScodesAndText.class, "SEQUENCE"); + } + } + + public static class AdvisorySerializer extends NestedSequenceOfSerializer { + public AdvisorySerializer() { + super(ITIScodesAndText.class, "SEQUENCE"); + } + } + + public static class WorkZoneDeserializer extends NestedSequenceOfDeserializer { + public WorkZoneDeserializer() { + super(WorkZone.class, "SEQUENCE"); + } + } + + public static class WorkZoneSerializer extends NestedSequenceOfSerializer { + public WorkZoneSerializer() { + super(WorkZone.class, "SEQUENCE"); + } + } + + public static class GenericSignDeserializer extends NestedSequenceOfDeserializer { + public GenericSignDeserializer() { + super(GenericSignage.class, "SEQUENCE"); + } + } + + public static class GenericSignSerializer extends NestedSequenceOfSerializer { + public GenericSignSerializer() { + super(GenericSignage.class, "SEQUENCE"); + } + } + + public static class SpeedLimitDeserializer extends NestedSequenceOfDeserializer { + public SpeedLimitDeserializer() { + super(SpeedLimit.class, "SEQUENCE"); + } + } + + public static class SpeedLimitSerializer extends NestedSequenceOfSerializer { + public SpeedLimitSerializer() { + super(SpeedLimit.class, "SEQUENCE"); + } + } + + public static class ExitServiceDeserializer extends NestedSequenceOfDeserializer { + public ExitServiceDeserializer() { + super(ExitService.class, "SEQUENCE"); + } + } + + public static class ExitServiceSerializer extends NestedSequenceOfSerializer { + public ExitServiceSerializer() { + super(ExitService.class, "SEQUENCE"); + } + } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrameList.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrameList.java index 0842e5c0b..c2e61d33e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrameList.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerDataFrameList.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class TravelerDataFrameList extends Asn1SequenceOf { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoType.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoType.java index 60b430f05..98b67f24e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoType.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoType.java @@ -1,34 +1,32 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import lombok.Getter; -import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import lombok.Getter; +import us.dot.its.jpo.ode.plugin.types.Asn1Enumerated; + @Getter @JsonSerialize(using = TravelerInfoTypeSerializer.class) @JsonDeserialize(using = TravelerInfoTypeDeserializer.class) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoTypeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoTypeDeserializer.java index cbd2b76b9..a3ee44c96 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoTypeDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoTypeDeserializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedDeserializer; + public class TravelerInfoTypeDeserializer extends EnumeratedDeserializer { TravelerInfoTypeDeserializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoTypeSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoTypeSerializer.java index 4b59b649a..f12fca3eb 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoTypeSerializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInfoTypeSerializer.java @@ -1,31 +1,29 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import us.dot.its.jpo.ode.plugin.serialization.EnumeratedSerializer; + public class TravelerInfoTypeSerializer extends EnumeratedSerializer { TravelerInfoTypeSerializer() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInformation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInformation.java index acc409ab7..3c87e3e17 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInformation.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/TravelerInformation.java @@ -1,69 +1,71 @@ +/*============================================================================== + * + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT + * + *------------------------------------------------------------------------------ + * Copyright 2024 USDOT + * + * 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 + * + * 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.plugin.j2735.travelerinformation; -import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import us.dot.its.jpo.ode.plugin.j2735.region.Reg_TravelerInformation; +import us.dot.its.jpo.ode.plugin.asn1.Asn1Object; import us.dot.its.jpo.ode.plugin.j2735.common.MinuteOfTheYear; import us.dot.its.jpo.ode.plugin.j2735.common.MsgCount; +import us.dot.its.jpo.ode.plugin.j2735.region.Reg_TravelerInformation; import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; /* - * EDITED - Changed base class to Asn1Object + * EDITED - Changed base class to Asn1Object, removed call to super constructor. */ -/** - * EDITED - Change base class to Asn1Object - ******************************************************************************* - * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT - * - ******************************************************************************* - * Copyright 2024 USDOT - * - * 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 - * - * 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. - ****************************************************************************** - * - */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class TravelerInformation extends Asn1Object { - @Asn1Property(tag = 0) - @JsonDeserialize(using = MsgCount.MsgCountDeserializer.class) + @Asn1Property(tag = 0, name = "msgCnt") + @JsonProperty("msgCnt") private MsgCount msgCnt; - @Asn1Property(tag = 1, optional = true) - @JsonDeserialize(using = MinuteOfTheYear.MinuteOfTheYearDeserializer.class) + @Asn1Property(tag = 1, name = "timeStamp", optional = true) + @JsonProperty("timeStamp") private MinuteOfTheYear timeStamp; - @Asn1Property(tag = 2, optional = true) + @Asn1Property(tag = 2, name = "packetID", optional = true) + @JsonProperty("packetID") private UniqueMSGID packetID; - @Asn1Property(tag = 3, optional = true) + @Asn1Property(tag = 3, name = "urlB", optional = true) + @JsonProperty("urlB") private URL_Base urlB; - @Asn1Property(tag = 4) + @Asn1Property(tag = 4, name = "dataFrames") + @JsonProperty("dataFrames") @JacksonXmlElementWrapper(localName = "dataFrames") @JacksonXmlProperty(localName = "TravelerDataFrame") private TravelerDataFrameList dataFrames; - @Asn1Property(tag = 5, optional = true) + @Asn1Property(tag = 5, name = "regional", optional = true) + @JsonProperty("regional") private SequenceOfRegional regional; @JsonInclude(Include.NON_NULL) @@ -73,7 +75,5 @@ public static class SequenceOfRegional extends Asn1SequenceOf { + SequenceOfRegional() { + super(Reg_TravelerInformation.class, 1L, 4L); + } + } + +// TravelerInformation() { +// super(true); +// } +} \ No newline at end of file diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/URL_Base.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/URL_Base.java index 0d0bb8e67..f04bade78 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/URL_Base.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/URL_Base.java @@ -1,32 +1,30 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.IA5String; -import com.fasterxml.jackson.annotation.JsonCreator; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.types.IA5String; + public class URL_Base extends IA5String { public URL_Base() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/URL_Short.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/URL_Short.java index 11e75d3a6..05c0d6ce3 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/URL_Short.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/URL_Short.java @@ -1,32 +1,30 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.IA5String; -import com.fasterxml.jackson.annotation.JsonCreator; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.types.IA5String; + public class URL_Short extends IA5String { public URL_Short() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/UniqueMSGID.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/UniqueMSGID.java index 5bce94e6b..c894f2f21 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/UniqueMSGID.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/UniqueMSGID.java @@ -1,44 +1,38 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1OctetString; -import com.fasterxml.jackson.annotation.JsonCreator; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. - ****************************************************************************** - * - */ -public class UniqueMSGID extends Asn1OctetString { + *============================================================================*/ - private String value; +package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import us.dot.its.jpo.ode.plugin.types.Asn1OctetString; + +public class UniqueMSGID extends Asn1OctetString { + + @JsonValue public String getValue() { return value; } - public void setValue(String value) { - this.value = value; - } - @Override public String toString() { return value; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ValidRegion.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ValidRegion.java index e331f99e2..477b4c4c0 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ValidRegion.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/ValidRegion.java @@ -1,75 +1,72 @@ +/*============================================================================== + * + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT + * + *------------------------------------------------------------------------------ + * Copyright 2024 USDOT + * + * 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 + * + * 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.plugin.j2735.travelerinformation; -import us.dot.its.jpo.ode.plugin.j2735.common.Extent; -import us.dot.its.jpo.ode.plugin.j2735.common.HeadingSlice; -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.Setter; import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.common.Extent; +import us.dot.its.jpo.ode.plugin.j2735.common.HeadingSlice; import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import java.util.List; -import java.util.Optional; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -/** - * - ******************************************************************************* - * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT - * - ******************************************************************************* - * Copyright 2024 USDOT - * - * 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 - * - * 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. - ****************************************************************************** - * - */ @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class ValidRegion extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "direction") + @JsonProperty("direction") private HeadingSlice direction; - @Asn1Property(tag = 1, optional = true) + @Asn1Property(tag = 1, name = "extent", optional = true) + @JsonProperty("extent") private Extent extent; - @Asn1Property(tag = 2) + @Asn1Property(tag = 2, name = "area") + @JsonProperty("area") private AreaChoice area; @Getter @Setter @JsonInclude(Include.NON_NULL) public static class AreaChoice extends Asn1Choice { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "shapePointSet") + @JsonProperty("shapePointSet") private ShapePointSet shapePointSet; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "circle") + @JsonProperty("circle") private Circle circle; - @Asn1Property(tag = 2) + @Asn1Property(tag = 2, name = "regionPointSet") + @JsonProperty("regionPointSet") private RegionPointSet regionPointSet; AreaChoice() { super(false); } - - @Override - protected List> listTypes() { - return null; - } } ValidRegion() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/WorkZone.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/WorkZone.java index c561e4e04..8feaeda66 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/WorkZone.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/WorkZone.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class WorkZone extends Asn1SequenceOf { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/WorkZoneSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/WorkZoneSequence.java index da8de75fe..9bbf80a9b 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/WorkZoneSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/WorkZoneSequence.java @@ -1,70 +1,62 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodes; -import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import java.util.List; -import java.util.Optional; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.j2735.itis.ITIScodes; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class WorkZoneSequence extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "item") + @JsonProperty("item") private ItemChoice item; @Getter @Setter @JsonInclude(Include.NON_NULL) public static class ItemChoice extends Asn1Choice { - @Asn1Property(tag = 0) - @JsonDeserialize(using = ITIScodes.ITIScodesDeserializer.class) + @Asn1Property(tag = 0, name = "itis") + @JsonProperty("itis") private ITIScodes itis; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "text") + @JsonProperty("text") private ITIStextPhrase text; ItemChoice() { super(false); } - - @Override - protected List> listTypes() { - return null; - } } WorkZoneSequence() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Zoom.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Zoom.java index 178ebad5b..60c53f968 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Zoom.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/Zoom.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.travelerinformation; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.travelerinformation; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = Zoom.ZoomDeserializer.class) public class Zoom extends Asn1Integer { public Zoom() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java index 72b4639d5..1f1c2afb6 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/IntegerDeserializer.java @@ -29,11 +29,9 @@ protected IntegerDeserializer(Class vc) { } @Override - public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) - throws IOException, JacksonException { - T result = null; + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { + T result = construct(); if (jsonParser instanceof FromXmlParser xmlParser) { - result = construct(); TreeNode node = xmlParser.getCodec().readTree(xmlParser); if (node instanceof NumericNode numNode) { result.setValue(numNode.longValue()); @@ -44,7 +42,7 @@ public T deserialize(JsonParser jsonParser, DeserializationContext deserializati result.setValue(value); } } else { - result = jsonParser.getCodec().readValue(jsonParser, thisClass); + result.setValue(jsonParser.readValueAs(Long.class)); } return result; } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeDeserializer.java index dbae0a082..0b1858a27 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeDeserializer.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/OpenTypeDeserializer.java @@ -12,6 +12,8 @@ import java.io.IOException; import us.dot.its.jpo.ode.plugin.types.Asn1Type; +import static us.dot.its.jpo.ode.plugin.utils.XmlUtils.*; + /** * See description in {@link OpenTypeSerializer}. * @@ -29,28 +31,18 @@ protected OpenTypeDeserializer(Class vc, String wrapped) { } @Override - public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) - throws IOException, JacksonException { + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { T result = null; if (jsonParser instanceof FromXmlParser xmlParser) { - XmlMapper xmlMapper = (XmlMapper) xmlParser.getCodec(); + // XML: Unwrap + XmlMapper xmlMapper = (XmlMapper)xmlParser.getCodec(); TreeNode node = xmlParser.getCodec().readTree(xmlParser); - if (node instanceof ObjectNode objectNode) { - JsonNode unwrapped = objectNode.findValue(wrapped); - - // HACK: serialization annotations are ignored here. - // ideally we would like to just unwrap the original literal xml and pass it - // through - // but Jackson's XML parser insists on converting everything to JSON, so the - // original XML is - // not preserved. Specifically, empty elements like are expanded to - // , - // but the boolean and enumerated deserializers can still handle this. - String unwrappedXml = xmlMapper.writeValueAsString(unwrapped); - - result = xmlMapper.readValue(unwrappedXml, thisClass); - } + String xml = xmlMapper.writeValueAsString(node); + var tokens = tokenize(xml); + var unwrapped = unwrap(tokens); + result = xmlMapper.readValue(stringifyTokens(unwrapped), thisClass); } else { + // JSON: pass through result = jsonParser.getCodec().readValue(jsonParser, thisClass); } return result; diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfChoiceDeserializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfChoiceDeserializer.java new file mode 100644 index 000000000..cb3a1b618 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfChoiceDeserializer.java @@ -0,0 +1,64 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import static us.dot.its.jpo.ode.plugin.utils.XmlUtils.*; + +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.TreeNode; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; +import com.fasterxml.jackson.dataformat.xml.deser.FromXmlParser; +import java.io.IOException; +import lombok.SneakyThrows; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + +/** + * Deserializer for SEQUENCE-OF CHOICE types. + * These are unwrapped in XER, but wrapped in JER. + * @param The Asn1Choice type + * @param The Asn1SequenceOf type + */ +public abstract class SequenceOfChoiceDeserializer> + extends StdDeserializer { + + protected final Class choiceClass; + protected final Class sequenceOfClass; + + protected abstract T construct(); + + protected SequenceOfChoiceDeserializer(Class choiceClass, Class sequenceOfClass) { + super(sequenceOfClass); + this.choiceClass = choiceClass; + this.sequenceOfClass = sequenceOfClass; + } + + @SneakyThrows + @Override + public T deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) + throws IOException, JacksonException { + T result = construct(); + if (jsonParser instanceof FromXmlParser xmlParser) { + // XML: expects unwrapped choice items + // unwrap and deserialize each choice item + XmlMapper xmlMapper = (XmlMapper)xmlParser.getCodec(); + TreeNode node = xmlMapper.readTree(xmlParser); + String xml = xmlMapper.writeValueAsString(node); + var tokens = tokenize(xml); + var unwrapped = unwrap(tokens); + var grouped = groupTopLevelTokens(unwrapped); + for (var group : grouped) { + var wrappedGroup = wrap(group, choiceClass.getSimpleName()); + S choice = xmlMapper.readValue(stringifyTokens(wrappedGroup), choiceClass); + result.add(choice); + } + } else { + // JSON: expects wrapped choice items, pass through as normal + result = jsonParser.getCodec().readValue(jsonParser, sequenceOfClass); + } + return result; + } + + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfChoiceSerializer.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfChoiceSerializer.java new file mode 100644 index 000000000..29c6077a5 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/serialization/SequenceOfChoiceSerializer.java @@ -0,0 +1,54 @@ +package us.dot.its.jpo.ode.plugin.serialization; + +import static us.dot.its.jpo.ode.plugin.utils.XmlUtils.*; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; +import com.fasterxml.jackson.dataformat.xml.ser.XmlSerializerProvider; +import java.io.IOException; +import lombok.SneakyThrows; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + +/** + * Serializer for SEQUENCE-OF CHOICE types. + * These are unwrapped in XER, but wrapped in JER. + * @param The Asn1Choice type + * @param The Asn1SequenceOf type + */ +public class SequenceOfChoiceSerializer> + extends StdSerializer { + + protected final Class choiceClass; + protected final Class sequenceOfClass; + + protected SequenceOfChoiceSerializer(Class choiceClass, Class sequenceOfClass) { + super(sequenceOfClass); + this.choiceClass = choiceClass; + this.sequenceOfClass = sequenceOfClass; + } + + @SneakyThrows + @Override + public void serialize(T sequenceOf, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { + if (serializerProvider instanceof XmlSerializerProvider xmlProvider) { + // XER: Choice items not wrapped + var xmlGen = (ToXmlGenerator)jsonGenerator; + var mapper = SerializationUtil.xmlMapper(); + + for (var choiceItem : sequenceOf) { + String choiceXml = mapper.writeValueAsString(choiceItem); + String unwrappedXml = stringifyTokens(unwrap(tokenize(choiceXml))); + xmlGen.writeRaw(unwrappedXml); + } + + } else { + // JER: Normal, choice items are wrapped + jsonGenerator.writeObject(sequenceOf); + } + } + + +} diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java index a9fab258d..531d6380d 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1Choice.java @@ -3,8 +3,6 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import java.util.List; -import java.util.Optional; import us.dot.its.jpo.ode.plugin.serialization.SerializationUtil; /** @@ -19,36 +17,6 @@ public Asn1Choice(boolean hasExtensionMarker) { this.hasExtensionMarker = hasExtensionMarker; } - /** - * Validates if one and only one option is selected for the choice. - */ - protected boolean isValid() { - var types = listTypes(); - long numChosen = types.stream().filter(Optional::isPresent).count(); - return numChosen == 1; - } - - /** - * Ref ITU-T X.691 (02/2021) Section 23. - * - * @return the index of the chosen alternative - */ - protected int chosenIndex() { - List> types = listTypes(); - for (int i = 0; i < types.size(); i++) { - if (types.get(i).isPresent()) { - return i; - } - } - return -1; - } - - protected int maxIndex() { - return listTypes().size() - 1; - } - - protected abstract List> listTypes(); - @Override public String toString() { ObjectMapper mapper = SerializationUtil.jsonMapper(); diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1OctetString.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1OctetString.java index 927eff5af..e2f21e537 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1OctetString.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/types/Asn1OctetString.java @@ -1,12 +1,31 @@ package us.dot.its.jpo.ode.plugin.types; +import com.fasterxml.jackson.annotation.JsonValue; + /** * Class for an ASN.1 octet string. */ -public class Asn1OctetString extends Asn1CharacterString { +public class Asn1OctetString implements Asn1Type { + + protected final int minLength; + protected final int maxLength; + protected String value; + + @JsonValue + public String getValue() { + return value; + } public Asn1OctetString(int minLength, int maxLength) { - super(minLength, maxLength); + this.minLength = minLength; + this.maxLength = maxLength; + } + + public boolean validate(String aValue) { + if (aValue == null) return true; + // Size of hex format string can be 2 * byte size + // TODO validate valid hex string digit are + return aValue.length() >= 2 * minLength && aValue.length() <= 2 * maxLength; } } diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/XmlUtils.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/XmlUtils.java new file mode 100644 index 000000000..b668107d3 --- /dev/null +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/XmlUtils.java @@ -0,0 +1,169 @@ +package us.dot.its.jpo.ode.plugin.utils; + +import java.io.StringReader; +import java.util.ArrayList; +import java.util.Formatter; +import java.util.List; +import javax.xml.namespace.QName; +import javax.xml.stream.XMLInputFactory; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamReader; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.SneakyThrows; + +/** + * XMl Utilities + */ +public class XmlUtils { + + @SneakyThrows + public static List tokenize(String xml) { + var factory = XMLInputFactory.newInstance(); + XMLStreamReader reader = factory.createXMLStreamReader(new StringReader(xml)); + return readTokens(reader); + } + + public static List readTokens(XMLStreamReader xmlReader) throws XMLStreamException { + var tokens = new ArrayList(); + var firstToken = addToken(xmlReader, tokens); + while (xmlReader.hasNext()) { + xmlReader.next(); + var thisToken = addToken(xmlReader, tokens); + if (firstToken == null) { + firstToken = thisToken; + } + if (thisToken != null && thisToken.isLast && thisToken.text.equals(firstToken.text)){ + break; + } + } + return mergeEmptyElements(tokens); + } + + @SneakyThrows + public static List readTokens(XMLStreamReader xmlReader, String endElement) { + var tokens = new ArrayList(); + addToken(xmlReader, tokens); + + while (xmlReader.hasNext()) { + xmlReader.next(); + XmlToken token = addToken(xmlReader, tokens); + if (token != null && token.isLast && token.text.equals(endElement)) { + tokens.removeLast(); + break; + } + } + return mergeEmptyElements(tokens); + } + + private static XmlToken addToken(XMLStreamReader xmlReader, List tokens) { + XmlToken token = null; + if (xmlReader.hasName()) { + QName name = xmlReader.getName(); + if (xmlReader.isStartElement()) { + token = new XmlToken(name.getLocalPart(), true, false); + tokens.add(token); + } else if (xmlReader.isEndElement()) { + token = new XmlToken(name.getLocalPart(), false, true); + tokens.add(token); + } + } else if (xmlReader.hasText() && !xmlReader.isWhiteSpace()) { + token = new XmlToken(xmlReader.getText(), false, false); + tokens.add(token); + } + return token; + } + + // Merge adjacent elements with no text between into empty elements to + // match the asn.1 style for enumerations and booleans. + private static List mergeEmptyElements(final List xmlTokens) { + final var mergedList = new ArrayList(); + int i = 0; + while (i < xmlTokens.size()) { + XmlToken token1 = xmlTokens.get(i); + if (i == xmlTokens.size() - 1) { + mergedList.add(token1); + break; + } + XmlToken token2 = xmlTokens.get(i + 1); + if (token1.isFirst && token2.isLast && token1.text.equals(token2.text)) { + // Combine into empty element and skip 2 + mergedList.add(new XmlToken(token1.text, true, true)); + i += 2; + } else { + // Don't change + mergedList.add(token1); + i++; + } + } + return mergedList; + } + + public static String stringifyTokens(List tokens) { + var f = new Formatter(); + for (XmlToken token : tokens) { + final String text = token.text; + if (token.isFirst && token.isLast) { + // Empty element + f.format("<%s/>", text); + } else if (token.isFirst) { + // Start element + f.format("<%s>", text); + } else if (token.isLast) { + // End element + f.format("", text); + } else { + // Text value + f.format(text); + } + } + return f.toString(); + } + + public static List> groupTopLevelTokens(final List tokens) { + XmlToken topLevel = null; + var tokenLists = new ArrayList>(); + List tokenList = null; + for (XmlToken token : tokens) { + if (topLevel == null && token.isFirst) { + // Start list + topLevel = token; + tokenList = new ArrayList(); + tokenList.add(token); + } else if (topLevel != null && token.isLast && token.text.equals(topLevel.text)) { + // complete list + tokenList.add(token); + topLevel = null; + tokenLists.add(tokenList); + } else if (tokenList != null) { + tokenList.add(token); + } + } + return tokenLists; + } + + public static List unwrap(final List tokens) { + // Remove first and last + if (tokens.size() > 2) { + return tokens.subList(1, tokens.size() - 1); + } else { + return tokens; + } + } + + public static List wrap(final List tokens, String wrapper) { + var wrapped = new ArrayList(); + wrapped.add(new XmlToken(wrapper, true, false)); + wrapped.addAll(tokens); + wrapped.add(new XmlToken(wrapper, false, true)); + return wrapped; + } + + @AllArgsConstructor + @Data + public static class XmlToken { + String text; + boolean isFirst; + boolean isLast; + } +} diff --git a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java index 56b627476..c3af40e40 100644 --- a/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java +++ b/jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java @@ -37,4 +37,5 @@ public void testSerializeJson_dWidth_dElevation() throws JsonProcessingException private static final String DWITDH_DELEVATION_ONLY_JSON = """ {"dWidth":162,"dElevation":424}"""; + } From a397df027559604ef7155eefbfbf8ecf2ec2e76c Mon Sep 17 00:00:00 2001 From: Ivan Yourshaw <39739503+iyourshaw@users.noreply.github.com> Date: Mon, 9 Dec 2024 00:41:26 -0700 Subject: [PATCH 29/33] itis, region, fix tests --- .../jpo/ode/plugin/j2735/itis/ITIScodes.java | 44 ++++++------ .../plugin/j2735/itis/ITIScodesAndText.java | 42 ++++++----- .../j2735/itis/ITIScodesAndTextSequence.java | 72 +++++++++---------- .../jpo/ode/plugin/j2735/itis/ITIStext.java | 40 +++++------ .../plugin/j2735/region/Reg_ComputedLane.java | 42 ++++++----- .../j2735/region/Reg_GeographicalPath.java | 42 ++++++----- .../j2735/region/Reg_GeometricProjection.java | 42 ++++++----- .../j2735/region/Reg_LaneDataAttribute.java | 52 +++++++------- .../j2735/region/Reg_NodeAttributeSetLL.java | 42 ++++++----- .../j2735/region/Reg_NodeAttributeSetXY.java | 42 ++++++----- .../j2735/region/Reg_NodeOffsetPointLL.java | 42 ++++++----- .../j2735/region/Reg_NodeOffsetPointXY.java | 52 +++++++------- .../plugin/j2735/region/Reg_Position3D.java | 52 +++++++------- .../j2735/region/Reg_TravelerInformation.java | 42 ++++++----- .../coder/OdeTimDataCreatorHelperTest.java | 1 + .../OdeTimDataCreatorHelper_TIM_JSON.json | 2 +- 16 files changed, 310 insertions(+), 341 deletions(-) diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodes.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodes.java index a1533f7bf..0c2aee157 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodes.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodes.java @@ -1,33 +1,33 @@ -package us.dot.its.jpo.ode.plugin.j2735.itis; - -import us.dot.its.jpo.ode.plugin.types.Asn1Integer; -import com.fasterxml.jackson.annotation.JsonCreator; -import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.itis; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import us.dot.its.jpo.ode.plugin.serialization.IntegerDeserializer; +import us.dot.its.jpo.ode.plugin.types.Asn1Integer; + +@JsonDeserialize(using = ITIScodes.ITIScodesDeserializer.class) public class ITIScodes extends Asn1Integer { public ITIScodes() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodesAndText.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodesAndText.java index 10263c63a..49932c026 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodesAndText.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodesAndText.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.itis; - -import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.itis; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.types.Asn1SequenceOf; + @JsonInclude(Include.NON_NULL) public class ITIScodesAndText extends Asn1SequenceOf { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodesAndTextSequence.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodesAndTextSequence.java index e7cbc6926..ff7f8459e 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodesAndTextSequence.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIScodesAndTextSequence.java @@ -1,69 +1,61 @@ -package us.dot.its.jpo.ode.plugin.j2735.itis; - -import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import us.dot.its.jpo.ode.plugin.types.Asn1Choice; -import java.util.List; -import java.util.Optional; -import us.dot.its.jpo.ode.plugin.types.Asn1Type; -import lombok.Getter; -import lombok.Setter; -import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.itis; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; +import us.dot.its.jpo.ode.plugin.annotations.Asn1Property; +import us.dot.its.jpo.ode.plugin.types.Asn1Choice; +import us.dot.its.jpo.ode.plugin.types.Asn1Sequence; + @JsonInclude(Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Getter @Setter public class ITIScodesAndTextSequence extends Asn1Sequence { - @Asn1Property(tag = 0) + @Asn1Property(tag = 0, name = "item") + @JsonProperty("item") private ItemChoice item; @Getter @Setter @JsonInclude(Include.NON_NULL) public static class ItemChoice extends Asn1Choice { - @Asn1Property(tag = 0) - @JsonDeserialize(using = ITIScodes.ITIScodesDeserializer.class) + @Asn1Property(tag = 0, name = "itis") + @JsonProperty("itis") private ITIScodes itis; - @Asn1Property(tag = 1) + @Asn1Property(tag = 1, name = "text") + @JsonProperty("text") private ITIStext text; ItemChoice() { super(false); } - - @Override - protected List> listTypes() { - return null; - } } ITIScodesAndTextSequence() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIStext.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIStext.java index 6af08f7e5..c5fa99f4f 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIStext.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/itis/ITIStext.java @@ -1,32 +1,30 @@ -package us.dot.its.jpo.ode.plugin.j2735.itis; - -import us.dot.its.jpo.ode.plugin.types.IA5String; -import com.fasterxml.jackson.annotation.JsonCreator; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.itis; + +import com.fasterxml.jackson.annotation.JsonCreator; +import us.dot.its.jpo.ode.plugin.types.IA5String; + public class ITIStext extends IA5String { public ITIStext() { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_ComputedLane.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_ComputedLane.java index 3410edc35..8c3920fb7 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_ComputedLane.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_ComputedLane.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.region; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.region; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; + @JsonInclude(Include.NON_NULL) abstract public class Reg_ComputedLane extends RegionalExtension { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_GeographicalPath.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_GeographicalPath.java index 9c629cc83..98d8ab03c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_GeographicalPath.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_GeographicalPath.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.region; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.region; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; + @JsonInclude(Include.NON_NULL) abstract public class Reg_GeographicalPath extends RegionalExtension { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_GeometricProjection.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_GeometricProjection.java index 711b68a85..b6697ef74 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_GeometricProjection.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_GeometricProjection.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.region; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.region; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; + @JsonInclude(Include.NON_NULL) abstract public class Reg_GeometricProjection extends RegionalExtension { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_LaneDataAttribute.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_LaneDataAttribute.java index 4c2319fcc..f40f2063c 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_LaneDataAttribute.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_LaneDataAttribute.java @@ -1,40 +1,38 @@ +/*============================================================================== + * + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT + * + *------------------------------------------------------------------------------ + * Copyright 2024 USDOT + * + * 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 + * + * 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.plugin.j2735.region; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; +import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; import com.fasterxml.jackson.annotation.JsonTypeInfo.As; -import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; import us.dot.its.jpo.ode.plugin.j2735.addgrpb.LaneDataAttribute_addGrpBReg_LaneDataAttribute; -/** - * - ******************************************************************************* - * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT - * - ******************************************************************************* - * Copyright 2024 USDOT - * - * 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 - * - * 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. - ****************************************************************************** - * - */ @JsonInclude(Include.NON_NULL) @JsonTypeInfo(use = Id.NAME, include = As.EXISTING_PROPERTY, property = "regionId") @JsonSubTypes({ diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeAttributeSetLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeAttributeSetLL.java index 609034278..c15b304da 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeAttributeSetLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeAttributeSetLL.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.region; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.region; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; + @JsonInclude(Include.NON_NULL) abstract public class Reg_NodeAttributeSetLL extends RegionalExtension { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeAttributeSetXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeAttributeSetXY.java index e2c39d8f7..0b32ef5b8 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeAttributeSetXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeAttributeSetXY.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.region; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.region; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; + @JsonInclude(Include.NON_NULL) abstract public class Reg_NodeAttributeSetXY extends RegionalExtension { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeOffsetPointLL.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeOffsetPointLL.java index 7ecbbd259..278223d23 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeOffsetPointLL.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeOffsetPointLL.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.region; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.region; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; + @JsonInclude(Include.NON_NULL) abstract public class Reg_NodeOffsetPointLL extends RegionalExtension { diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeOffsetPointXY.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeOffsetPointXY.java index 56bc82e1f..727bc3433 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeOffsetPointXY.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_NodeOffsetPointXY.java @@ -1,40 +1,38 @@ +/*============================================================================== + * + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT + * + *------------------------------------------------------------------------------ + * Copyright 2024 USDOT + * + * 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 + * + * 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.plugin.j2735.region; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; +import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; import com.fasterxml.jackson.annotation.JsonTypeInfo.As; -import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; import us.dot.its.jpo.ode.plugin.j2735.addgrpb.NodeOffsetPointXY_addGrpBReg_NodeOffsetPointXY; -/** - * - ******************************************************************************* - * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT - * - ******************************************************************************* - * Copyright 2024 USDOT - * - * 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 - * - * 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. - ****************************************************************************** - * - */ @JsonInclude(Include.NON_NULL) @JsonTypeInfo(use = Id.NAME, include = As.EXISTING_PROPERTY, property = "regionId") @JsonSubTypes({ diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_Position3D.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_Position3D.java index 29ddd373b..b585b9da1 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_Position3D.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_Position3D.java @@ -1,41 +1,39 @@ +/*============================================================================== + * + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT + * + *------------------------------------------------------------------------------ + * Copyright 2024 USDOT + * + * 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 + * + * 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.plugin.j2735.region; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; +import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; -import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; import com.fasterxml.jackson.annotation.JsonTypeInfo.As; -import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo.Id; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes; import us.dot.its.jpo.ode.plugin.annotations.Asn1ParameterizedTypes.IdType; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; import us.dot.its.jpo.ode.plugin.j2735.addgrpb.Position3D_addGrpBReg_Position3D; import us.dot.its.jpo.ode.plugin.j2735.addgrpc.Position3D_addGrpCReg_Position3D; -/** - * - ******************************************************************************* - * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT - * - ******************************************************************************* - * Copyright 2024 USDOT - * - * 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 - * - * 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. - ****************************************************************************** - * - */ @JsonInclude(Include.NON_NULL) @JsonTypeInfo(use = Id.NAME, include = As.EXISTING_PROPERTY, property = "regionId") @JsonSubTypes({@JsonSubTypes.Type(value = Position3D_addGrpBReg_Position3D.class, name = "2"), diff --git a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_TravelerInformation.java b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_TravelerInformation.java index 6a817cb5b..6921451e9 100644 --- a/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_TravelerInformation.java +++ b/jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/region/Reg_TravelerInformation.java @@ -1,33 +1,31 @@ -package us.dot.its.jpo.ode.plugin.j2735.region; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; - -/** - * - ******************************************************************************* +/*============================================================================== * - * This source file was generated by a tool. Beware manual edits might be - * overwritten in future releases. asn1jvm v1.0-SNAPSHOT + * This source file was generated by a tool. + * Beware manual edits might be overwritten in future releases. + * asn1jvm v1.0-SNAPSHOT * - ******************************************************************************* + *------------------------------------------------------------------------------ * Copyright 2024 USDOT - * + * * 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 - * + * 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 + * * 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 + * 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.plugin.j2735.region; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import us.dot.its.jpo.ode.plugin.j2735.common.RegionalExtension; + @JsonInclude(Include.NON_NULL) abstract public class Reg_TravelerInformation extends RegionalExtension { diff --git a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java index 37a491a76..b18e1f70d 100644 --- a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java +++ b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java @@ -36,6 +36,7 @@ public void testCreateOdeTimDataFromDecoded() throws IOException { OdeTimData timData; try { timData = OdeTimDataCreatorHelper.createOdeTimDataFromDecoded(xmlString); + System.out.println(timData.toString()); assertEquals(expectedJsonString, timData.toString()); } catch (XmlUtilsException e) { e.printStackTrace(); diff --git a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json index 3e096b913..32ee1d052 100644 --- a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json +++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.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":[{"notUsed":29,"frameType":"commercialSignage","msgId":{"furtherInfoID":"4F43"},"startYear":425,"startTime":306216,"durationTime":31001,"priority":2,"notUsed1":1,"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"}}}}],"notUsed2":15,"notUsed3":9,"content":{"exitService":[{"item":{"itis":599}}]},"url":"IA5S"},{"notUsed":11,"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,"notUsed1":10,"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"}}}}],"notUsed2":11,"notUsed3":23,"content":{"exitService":[{"item":{"text":"I"}},{"item":{"text":"IA5St"}},{"item":{"text":"IA5"}}]},"url":"IA5St"},{"notUsed":13,"frameType":"unknown","msgId":{"furtherInfoID":"4F43"},"startYear":2776,"startTime":408571,"durationTime":15957,"priority":5,"notUsed1":6,"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"}}}}}],"notUsed2":31,"notUsed3":12,"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":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":[{"notUsed":29,"frameType":"commercialSignage","msgId":{"furtherInfoID":"4F43"},"startYear":425,"startTime":306216,"durationTime":31001,"priority":2,"notUsed1":1,"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"}}}}],"notUsed2":15,"notUsed3":9,"content":{"exitService":[{"item":{"itis":599}}]},"url":"IA5S"},{"notUsed":11,"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,"notUsed1":10,"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"}}}}],"notUsed2":11,"notUsed3":23,"content":{"exitService":[{"item":{"text":"I"}},{"item":{"text":"IA5St"}},{"item":{"text":"IA5"}}]},"url":"IA5St"},{"notUsed":13,"frameType":"unknown","msgId":{"furtherInfoID":"4F43"},"startYear":2776,"startTime":408571,"durationTime":15957,"priority":5,"notUsed1":6,"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"}}}}}],"notUsed2":31,"notUsed3":12,"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 From 92c4504efe60d4d7cbf6d7aea2a4775e1b095f30 Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Mon, 9 Dec 2024 09:48:47 -0700 Subject: [PATCH 30/33] Update attribution documentation to note where the TIM POJOs came from --- ATTRIBUTION.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index 4a6dc79da..8a3c971bb 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -12,3 +12,17 @@ The developers also wish to acknowledge the following leaders and contributors: * Oakridge National Laboratories: Jason Carter and Aaron Ferber Thanks to the ITS Joint Program Office for their support of the effort. + +The J2735 Traveler Information classes were generated using asn1jvm, which is a new ASN.1 compiler targeting Java. The asn1jvm tool is currently capable of compiling the 2016 version of the J2735 ASN.1 specification to Java classes which are capable of serializing and deserializing XER and JER. The output of the tool includes classes with Jackson annotations for each type in the specification, and a runtime library containing base classes for ASN.1 types and custom Jackson serializers and deserialers. The raw output of the tool and associated runtime library are here: https://github.com/iyourshaw/j2735-2016-java + +The generated classes were edited for compatibility with the 2020 version of the specification as follows: + +* TimDatFrame.java, fields renamed: + * sspTimRights -> notUsed + * sspLocationRights -> notUsed1 + * sspMsgRights1 -> notUsed2 + * sspMsgRights2 -> notUsed3 + * duratonTime -> durationTime +* Classes were moved to Java packages to be consistent with the module organization scheme in the 2020+ versions of J2735, and with Java package naming conventions (lowercase), and existing ODE package naming. Specifically, instead being in a `DSRC` package, the TIM-related classes were moved to `us.dot.its.jpo.ode.plugin.j2735.travelerinformation`, and `us.dot.its.jpo.ode.plugin.j2735.common` packages. + +The top level TravelerInformation class was also edited, by changing its base class to `us.dot.its.jpo.ode.plugin.asn1.Asn1Object` to enable it to plug directily into the existing `OdeData`/`OdeMsgPayload` data structure. \ No newline at end of file From 8c35ad2d8af597861e4cf5746990465146e15f1e Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Mon, 9 Dec 2024 14:07:20 -0700 Subject: [PATCH 31/33] Address pull request comments --- .../ode/coder/OdeTimDataCreatorHelper.java | 14 +++++----- .../coder/OdeTimDataCreatorHelperTest.java | 28 ++++++------------- 2 files changed, 15 insertions(+), 27 deletions(-) diff --git a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java index 08cc320a5..0eddd3a73 100644 --- a/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java +++ b/jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java @@ -1,10 +1,11 @@ package us.dot.its.jpo.ode.coder; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; -import java.io.IOException; + +import lombok.extern.slf4j.Slf4j; + import us.dot.its.jpo.ode.context.AppContext; import us.dot.its.jpo.ode.model.OdeMsgMetadata; import us.dot.its.jpo.ode.model.OdeTimData; @@ -20,6 +21,7 @@ /** * Helper class for deserializing TIM messages in XML/XER format into POJOs. */ +@Slf4j public class OdeTimDataCreatorHelper { /** @@ -45,17 +47,15 @@ public static OdeTimData createOdeTimDataFromDecoded(String consumedData) try { jsonNode = objectMapper.readTree(receivedMessageDetails.toJson()); object.set(AppContext.RECEIVEDMSGDETAILS_STRING, jsonNode); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); + } catch (Exception e) { + log.error("Failed to read JSON node: {}", e.getMessage()); } } OdeTimMetadata metadata = (OdeTimMetadata) JsonUtils.fromJson(metadataNode.toString(), OdeTimMetadata.class); - if (metadata.getSchemaVersion() <= 4) { + if (metadata != null && metadata.getSchemaVersion() <= 4) { metadata.setReceivedMessageDetails(null); } diff --git a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java index b18e1f70d..b8c1efd68 100644 --- a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java +++ b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java @@ -1,32 +1,23 @@ package us.dot.its.jpo.ode.coder; import static org.junit.Assert.assertEquals; -import static org.junit.jupiter.api.Assertions.fail; import java.io.File; -import java.io.IOException; import java.nio.file.Files; import org.junit.jupiter.api.Test; import us.dot.its.jpo.ode.model.OdeTimData; import us.dot.its.jpo.ode.util.XmlUtils; -import us.dot.its.jpo.ode.util.XmlUtils.XmlUtilsException; -/** - * Tests for the OdeTimDataCreatorHelper class. - */ -public class OdeTimDataCreatorHelperTest { +class OdeTimDataCreatorHelperTest { @Test - public void testCreateOdeTimDataFromDecoded() throws IOException { + public void testCreateOdeTimDataFromDecoded() throws Exception { String xmlFilePath = "src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_XER.xml"; File xmlFile = new File(xmlFilePath); byte[] xmlData = Files.readAllBytes(xmlFile.toPath()); String xmlString = new String(xmlData); - try { - XmlUtils.toObjectNode(xmlString); - } catch (XmlUtilsException e) { - fail("XML parsing error:" + e); - } + + XmlUtils.toObjectNode(xmlString); String jsonFilePath = "src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json"; @@ -34,13 +25,10 @@ public void testCreateOdeTimDataFromDecoded() throws IOException { byte[] jsonData = Files.readAllBytes(jsonFile.toPath()); String expectedJsonString = new String(jsonData); OdeTimData timData; - try { - timData = OdeTimDataCreatorHelper.createOdeTimDataFromDecoded(xmlString); - System.out.println(timData.toString()); - assertEquals(expectedJsonString, timData.toString()); - } catch (XmlUtilsException e) { - e.printStackTrace(); - } + + timData = OdeTimDataCreatorHelper.createOdeTimDataFromDecoded(xmlString); + + assertEquals(expectedJsonString, timData.toString()); } } From 7dccf75924d84d38273286bad6a3b731344cc769 Mon Sep 17 00:00:00 2001 From: Drew Johnston <31270488+drewjj@users.noreply.github.com> Date: Mon, 9 Dec 2024 14:10:05 -0700 Subject: [PATCH 32/33] Update the imported assertEquals --- .../us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java index b8c1efd68..0abc02d69 100644 --- a/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java +++ b/jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java @@ -1,6 +1,6 @@ package us.dot.its.jpo.ode.coder; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.File; import java.nio.file.Files; From 9e48c45927694dd91f0c93fe127f31b6ae896890 Mon Sep 17 00:00:00 2001 From: Michael7371 <40476797+Michael7371@users.noreply.github.com> Date: Tue, 10 Dec 2024 11:35:17 -0700 Subject: [PATCH 33/33] update to TimData class to allow for Tim payload serialization to work properly. Updates to affected unit tests --- .../java/us/dot/its/jpo/ode/model/OdeTimData.java | 15 +++++++++++++++ .../us/dot/its/jpo/ode/model/OdeTimPayload.java | 6 +++++- .../jpo/ode/traveler/TimTransmogrifierTest.java | 2 +- .../OdeTimDataCreatorHelper_TIM_JSON.json | 2 +- .../traveler/aemInputContainingCircleGeometry.xml | 2 +- 5 files changed, 23 insertions(+), 4 deletions(-) diff --git a/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimData.java b/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimData.java index 1f1fac5f4..22d99af05 100644 --- a/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimData.java +++ b/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimData.java @@ -15,6 +15,9 @@ ******************************************************************************/ package us.dot.its.jpo.ode.model; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import static com.fasterxml.jackson.annotation.JsonTypeInfo.*; + public class OdeTimData extends OdeData { private static final long serialVersionUID = 2057040404896561615L; @@ -29,4 +32,16 @@ public OdeTimData(OdeMsgMetadata metadata, OdeMsgPayload payload) { super(metadata, payload); } + @Override + @JsonTypeInfo(use = Id.CLASS, include = As.EXISTING_PROPERTY, defaultImpl = OdeTimMetadata.class) + public void setMetadata(OdeMsgMetadata metadata) { + super.setMetadata(metadata); + } + + @Override + @JsonTypeInfo(use = Id.CLASS, include = As.EXISTING_PROPERTY, defaultImpl = OdeTimPayload.class) + public void setPayload(OdeMsgPayload payload) { + super.setPayload(payload); + } + } diff --git a/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java b/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java index 1a642b0ca..b6d34dfe7 100644 --- a/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java +++ b/jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java @@ -16,6 +16,9 @@ package us.dot.its.jpo.ode.model; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + import us.dot.its.jpo.ode.plugin.j2735.OdeTravelerInformationMessage; import us.dot.its.jpo.ode.plugin.j2735.travelerinformation.TravelerInformation; @@ -36,7 +39,8 @@ public OdeTimPayload(OdeTravelerInformationMessage tim) { this.setData(tim); } - public OdeTimPayload(TravelerInformation tim) { + @JsonCreator + public OdeTimPayload(@JsonProperty("data") TravelerInformation tim) { super(tim); this.setData(tim); } 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 221d72868..efa926b66 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 @@ -249,7 +249,7 @@ void testConvertToXMLMessageFrame() staticOdeMsgMetadata.setSchemaVersion(Integer.parseInt(schemaVersion)); 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:15MessageFrameMessageFrameUPERMessageFrame31", DateTimeUtils.now(), schemaVersion); + 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); assertEquals(expected, actualXML); } diff --git a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json index 32ee1d052..ed0fa1a8a 100644 --- a/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.json +++ b/jpo-ode-svcs/src/test/resources/us.dot.its.jpo.ode.coder/OdeTimDataCreatorHelper_TIM_JSON.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":[{"notUsed":29,"frameType":"commercialSignage","msgId":{"furtherInfoID":"4F43"},"startYear":425,"startTime":306216,"durationTime":31001,"priority":2,"notUsed1":1,"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"}}}}],"notUsed2":15,"notUsed3":9,"content":{"exitService":[{"item":{"itis":599}}]},"url":"IA5S"},{"notUsed":11,"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,"notUsed1":10,"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"}}}}],"notUsed2":11,"notUsed3":23,"content":{"exitService":[{"item":{"text":"I"}},{"item":{"text":"IA5St"}},{"item":{"text":"IA5"}}]},"url":"IA5St"},{"notUsed":13,"frameType":"unknown","msgId":{"furtherInfoID":"4F43"},"startYear":2776,"startTime":408571,"durationTime":15957,"priority":5,"notUsed1":6,"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"}}}}}],"notUsed2":31,"notUsed3":12,"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":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":[{"notUsed":29,"frameType":"commercialSignage","msgId":{"furtherInfoID":"4F43"},"startYear":425,"startTime":306216,"durationTime":31001,"priority":2,"notUsed1":1,"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"}}}}],"notUsed2":15,"notUsed3":9,"content":{"exitService":[{"item":{"itis":599}}]},"url":"IA5S"},{"notUsed":11,"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,"notUsed1":10,"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"}}}}],"notUsed2":11,"notUsed3":23,"content":{"exitService":[{"item":{"text":"I"}},{"item":{"text":"IA5St"}},{"item":{"text":"IA5"}}]},"url":"IA5St"},{"notUsed":13,"frameType":"unknown","msgId":{"furtherInfoID":"4F43"},"startYear":2776,"startTime":408571,"durationTime":15957,"priority":5,"notUsed1":6,"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"}}}}}],"notUsed2":31,"notUsed3":12,"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/traveler/aemInputContainingCircleGeometry.xml b/jpo-ode-svcs/src/test/resources/us/dot/its/jpo/ode/traveler/aemInputContainingCircleGeometry.xml index d9de3debd..ad8e2f4e6 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 @@ -1 +1 @@ -us.dot.its.jpo.ode.model.OdeTimPayloadtestStreamId10002024-11-05T16:51:14.473Z786402024-09-25T10:00:00.000ZTMCfalse8D442FF4020C6B1A012024-09-25T10:00:00.000Z3PUT172.0.0.1usernamepassword3500021NTCIP12188331118310002024-09-25T10:00:00.0Z2024-09-30T10:00:00.0Z14MessageFrameMessageFrameUPERMessageFrame3113865208D442FF4020C6B1A01null0411535930-104655785011111111111111112024386520864050myregionname00411535930-1046557850111100001111000011110000111100000

411535930-104655785018240
50
004868null \ No newline at end of file +us.dot.its.jpo.ode.model.OdeTimPayloadtestStreamId10002024-11-05T16:51:14.473Z786402024-09-25T10:00:00.000ZTMCfalse8D442FF4020C6B1A012024-09-25T10:00:00.000Z3PUT172.0.0.1usernamepassword3500021NTCIP12188331118310002024-09-25T10:00:00.0Z2024-09-30T10:00:00.0Z14MessageFrameMessageFrameUPER3113865208D442FF4020C6B1A01null0411535930-104655785011111111111111112024386520864050myregionname00411535930-1046557850111100001111000011110000111100000
411535930-104655785018240
50
004868null
MessageFrame
\ No newline at end of file