-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OdeTimJson POJO Processing Rework #119
Conversation
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeListXY.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/NodeListXYBuilder.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the work here! The changes here are a big improvement and much appreciated. A special thanks to you for adding more tests. There are some requested changes and some general suggestions/chores as you'll see below.
But first, overall, I'm unsure why we aren't leveraging Jackson and the annotations to enable de/serialization. It would make classes/code like we have in ComputedLaneBuilder unnecessary by allowing Jackson to de/serialize the objects correctly. I understand the work to make that change is outside of the scope of this PR, but I don't want it to go unmentioned. If we migrate to the standard practice of using Jackson for POJO de/serialization, we could avoid the needing to perform these bug fixes and avoid hidden issues we haven't encountered yet. Do you know if there's there a reason why we don't use Jackson annotations?
If we don't want to annotate the POJOs themselves (not sure why we'd avoid that since we own and maintain the POJOs) we could use MixIns.
General Suggestions:
- wherever we have something like
private static final long serialVersionUID = 1L;
we should consider adding the@Serial
annotation to allow the java compiler to check for correctness (see java doc) - Whenever we are creating or updating POJOs, we should consider using the Lombok annotations
@Getter
and@Setter
or the more comprehensive@Data
. This will reduce boilerplate code and the risk of typo-related bugs (and it saves the writer and reviewer time because we don't need to review the getters and setters) - Run a quick reformat on all changed files so that the formatting is consistent within and across the files
- We don't need to explicitly catch and fail in tests. We can just add a
throws
to the test method signature and JUnit will handle that for us - Unit test methods and classes don't need access modifiers unless we're doing something special, so you can (and probably should) leave out the
public
modifiers when writing the testsIt is generally recommended to omit the public modifier for test classes, test methods, and lifecycle methods unless there is a technical reason for doing so
(ref)
General chores:
- Whenever we are modifying/creating an enum class, we should be following the standard naming convention of
UPPER_SNAKE_CASE
: all uppercase letters, with each word separated from the next by a single underscore. If we need to serialize (stringify) the values to a lowercase non-snack-case string, we can define an overriddentoString
method to do this for us or use an internal string property likeString value
that lets us define the stringified value on enum initialization. I've provided some examples of both throughout the PR (ref
jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeTimDataTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735ComputedLane.java
Show resolved
Hide resolved
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Description.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Description.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735DirectionOfUse.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735NodeXY.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/J2735Node_LL.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/j2735/builders/ComputedLaneBuilder.java
Show resolved
Hide resolved
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/TimBuilderTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1EncodedDataRouter.java
Outdated
Show resolved
Hide resolved
public class J2735GeometricProjection extends Asn1Object { | ||
private static final long serialVersionUID = 1L; | ||
|
||
private J2735HeadingSlice direction; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be a J2735BitString here, because HeadingSlice is a BitString. Need to be able to represent more than one value being set at the same time.
…namically created POJOs
…est case for testing deserialization of XER and serialization into JSON
… and dWidth properties. Fix OdeTimDataCreatorHelperTest data
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit
checkstyle
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java|37 col 1| Line contains a tab character.
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java|37 col 17| 'try rcurly' has incorrect indentation level 16, expected level should be 4.
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java|38 col 1| Line contains a tab character.
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java|38 col 25| 'catch' child has incorrect indentation level 24, expected level should be 6.
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java|39 col 1| Line contains a tab character.
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java|39 col 17| 'catch rcurly' has incorrect indentation level 16, expected level should be 4.
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java|41 col 1| Line contains a tab character.
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java|41 col 9| 'method def rcurly' has incorrect indentation level 8, expected level should be 2.
jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/OdeTimJsonTopology.java|62 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java|89 col 17| 'case' child has incorrect indentation level 16, expected level should be 8.
jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java|146| Line is longer than 100 characters (found 105).
jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java|146 col 5| 'method def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java|147| Line is longer than 100 characters (found 105).
jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1DecodedDataRouter.java|147 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1EncodedDataRouter.java|273 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1EncodedDataRouter.java|314 col 13| 'if' child has incorrect indentation level 12, expected level should be 6.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|8 col 1| Import statement for 'org.junit.jupiter.api.Assertions.' is in the wrong order. Should be in the 'STATIC' group, expecting not assigned imports on this line.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|8 col 47| Using the '.' form of import should be avoided - org.junit.jupiter.api.Assertions..
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|10| First sentence of Javadoc is missing an ending period.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|15 col 5| 'member def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|15 col 19| 'static' modifier out of order with the JLS suggestions.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|17 col 5| 'method def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|19| Line is longer than 100 characters (found 113).
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|19 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|20 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|21 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|22 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|23 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|24 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|25 col 5| 'method def rcurly' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|27 col 5| 'method def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|29 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|30 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|31 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|32 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|33 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|34 col 5| 'method def rcurly' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|36 col 5| 'member def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/travelerinformation/NodeAttributeSetLLTest.java|36 col 19| 'static' modifier out of order with the JLS suggestions.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|7 col 1| Import statement for 'org.junit.jupiter.api.Assertions.' is in the wrong order. Should be in the 'STATIC' group, expecting not assigned imports on this line.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|7 col 47| Using the '.' form of import should be avoided - org.junit.jupiter.api.Assertions..
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|14 col 5| 'member def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|14 col 19| 'static' modifier out of order with the JLS suggestions.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|16 col 5| 'method def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|18 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|19 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|20 col 9| 'for' has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|21 col 13| 'for' child has incorrect indentation level 12, expected level should be 6.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|22 col 9| 'for rcurly' has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|23 col 5| 'method def rcurly' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|25 col 5| 'method def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|27 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|28 col 9| 'for' has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|29 col 13| 'for' child has incorrect indentation level 12, expected level should be 6.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|30 col 9| 'for rcurly' has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|31 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|32 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|33 col 5| 'method def rcurly' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|35 col 5| 'member def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|35 col 19| 'static' modifier out of order with the JLS suggestions.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/common/HeadingSliceTest.java|36| Line is longer than 100 characters (found 513).
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java|15 col 5| 'method def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java|18 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java|19 col 9| 'try' has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java|20 col 13| 'try' child has incorrect indentation level 12, expected level should be 6.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java|21| Line is longer than 100 characters (found 1,673).
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java|22 col 9| 'try rcurly' has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java|23 col 13| 'catch' child has incorrect indentation level 12, expected level should be 6.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java|24 col 9| 'catch rcurly' has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java|25 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java|26| Line is longer than 100 characters (found 1,133).
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java|26 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java|27 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java|28 col 5| 'method def rcurly' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|13| Javadoc tag '@author' should be preceded with an empty line.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|19| Summary javadoc is missing.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|22 col 5| 'annotation field def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|24| Summary javadoc is missing.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|27 col 5| 'annotation field def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|29| Summary javadoc is missing.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|31| Line continuation have incorrect indentation level, expected level should be 4.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|33 col 5| 'annotation field def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|35| Summary javadoc is missing.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|38 col 5| 'annotation field def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|40 col 5| Missing a Javadoc comment.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|40 col 10| 'enum def ident' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|43 col 5| 'enum def rcurly' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|49| Summary javadoc is missing.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|52 col 9| 'annotation field def modifier' has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|54| Summary javadoc is missing.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|57 col 9| 'annotation field def modifier' has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|59| Summary javadoc is missing.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|62 col 9| 'annotation field def modifier' has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1ParameterizedTypes.java|63 col 5| 'annotation def rcurly' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|9| Line is longer than 100 characters (found 113).
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|10| Javadoc tag '@author' should be preceded with an empty line.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|15| Summary javadoc is missing.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|18 col 5| 'annotation field def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|20| Summary javadoc is missing.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|21| Line is longer than 100 characters (found 115).
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|22| Line continuation have incorrect indentation level, expected level should be 4.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|24 col 5| 'annotation field def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|26| Summary javadoc is missing.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|29 col 5| 'annotation field def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|31| Summary javadoc is missing.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|34 col 5| 'annotation field def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|36| Summary javadoc is missing.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|37| Line is longer than 100 characters (found 121).
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|39 col 5| 'annotation field def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|41| Summary javadoc is missing.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|42| Line is longer than 100 characters (found 115).
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|43| Line continuation have incorrect indentation level, expected level should be 4.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/annotations/Asn1Property.java|45 col 5| 'annotation field def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|4 col 1| Missing a Javadoc comment.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|7 col 5| 'method def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|8 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|8 col 47| 'typecast' is not followed by whitespace.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|9 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|9 col 21| 'typecast' is not followed by whitespace.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|10 col 5| 'method def rcurly' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|12 col 5| 'method def modifier' has incorrect indentation level 4, expected level should be 2.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|12 col 5| Missing a Javadoc comment.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|13 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|14 col 9| 'for' has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|15 col 13| 'for' child has incorrect indentation level 12, expected level should be 6.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|16 col 9| 'for rcurly' has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|17 col 9| 'method def' child has incorrect indentation level 8, expected level should be 4.
jpo-ode-plugins/src/main/java/us/dot/its/jpo/ode/plugin/utils/BitUtils.java|18 col 5| 'method def rcurly' has incorrect indentation level 4, expected level should be 2.
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|29 col 3| Missing a Javadoc comment.
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|53 col 3| Missing a Javadoc comment.
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|77 col 3| Missing a Javadoc comment.
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|96| Javadoc comment at column 20 has parse error. Details: mismatched input ':' expecting while parsing JAVADOC
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|96| Javadoc comment at column 20 has parse error. Details: mismatched input ':' expecting while parsing JAVADOC
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|96| Javadoc comment at column 20 has parse error. Details: mismatched input ':' expecting while parsing JAVADOC
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|96| Javadoc comment at column 20 has parse error. Details: mismatched input ':' expecting while parsing JAVADOC
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|96| Javadoc comment at column 20 has parse error. Details: mismatched input ':' expecting while parsing JAVADOC
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|96| Javadoc comment at column 20 has parse error. Details: mismatched input ':' expecting while parsing JAVADOC
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|96| Javadoc comment at column 20 has parse error. Details: mismatched input ':' expecting while parsing JAVADOC
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|96 col 6| Unused @param tag for 'childKey:'.
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|97 col 6| Unused @param tag for 'arrayNode:'.
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|101| Line is longer than 100 characters (found 105).
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|107 col 3| Missing a Javadoc comment.
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|132 col 3| Missing a Javadoc comment.
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|142 col 3| Missing a Javadoc comment.
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|150 col 3| Missing a Javadoc comment.
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|169 col 3| Missing a Javadoc comment.
jpo-ode-common/src/main/java/us/dot/its/jpo/ode/util/XmlUtils.java|177 col 3| Missing a Javadoc comment.
jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeTimDataTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeTimDataTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeTimDataTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-core/src/test/java/us/dot/its/jpo/ode/model/OdeTimDataTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-core/src/main/java/us/dot/its/jpo/ode/model/OdeTimPayload.java
Outdated
Show resolved
Hide resolved
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1EncodedDataRouter.java
Outdated
Show resolved
Hide resolved
jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/services/asn1/Asn1EncodedDataRouter.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-plugins/src/test/java/us/dot/its/jpo/ode/plugin/j2735/builders/MAPBuilderTest.java
Show resolved
Hide resolved
I addressed all of the checkstyle issues. I did tell it to ignore the generated J2735 files, though. This is a pretty normal thing to do with generated code since it will just get overwritten if we ever need to generate a new standard. Just need to update the schema, revert the changes to Map, and then those unit tests should be good. |
It is complaining about the diff being too large and the checkstyle can't run due to it. The checkstyle worked in the previous commit so I would like to assume everything is fine there so this shouldn't be a blocker. |
…JSON, change license boilerplate to a non-javadoc comment at top of files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question(non-blocking): Is there a reason we put the new models under the jpo-ode-plugins package instead of jpo-ode-common or jpo-ode-core?
jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java
Outdated
Show resolved
Hide resolved
jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelper.java
Outdated
Show resolved
Hide resolved
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java
Outdated
Show resolved
Hide resolved
jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/OdeTimDataCreatorHelperTest.java
Outdated
Show resolved
Hide resolved
The idea was to put it in the same place as the other non-generated J2735 POJOs. We could move this somewhere else down the road but I think it makes sense for the present moment. |
…k properly. Updates to affected unit tests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really like the output schema on this TIM refactor! Nice work.
public void setPayload(OdeMsgPayload payload) { | ||
super.setPayload(payload); | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added these overrides to the OdeTimData.java
class to allow for serialization using this class as the parent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds great, thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me! Unit tests all look good and everything worked correctly when running locally.
PR Details
Description
Addresses a number of inconsistencies between the ODE created and decoded TIM messages by creating a new standard OdeTimJson POJO (OdeTimData). This new POJO has a set of builder classes to ensure that all TIM XML is processed into the POJO correctly and consistently. These builder classes were created in the same fashion as the older ODE builders but improvements have been made to reduce the number of redundant wrapper objects around arrays. This has caused some small changes around other message types that utilize NodeXY, specifically Map.
Summary of changes:
TravelerDataFrame
,GeographicalPath
,NodeXY
, andNodeLL
NodeXY
and no longer includes itRelated Issue
No related jpo-ode issue.
Motivation and Context
The purpose of this change is to resolve an inconsistency between the output of the decoded TIM messages and the jpo-ode TIM endpoint created TIM messages. There is no prior TIM POJO to guarantee a consistent, standard output for the topic.OdeTimJson data. This also allows for other projects to easily deserialize the TIM output of the jpo-ode.
The changes to the redundant object wrappers is to make the TIM output more closely resemble the J2735 standard.
How Has This Been Tested?
Unit tests, approval tests, and local testing with real TIM and Map data.
Types of changes
Checklist:
ODE Contributing Guide