Skip to content
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

Merged
merged 37 commits into from
Dec 11, 2024
Merged
Show file tree
Hide file tree
Changes from 36 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
2e1c179
Add TIM POJO and builder
drewjj Nov 21, 2024
5effd8a
Modify TimCreator to use the new creator. Add and update unit tests
drewjj Nov 25, 2024
69f5137
Merge remote-tracking branch 'origin/dev' into tim-pojo-rework
drewjj Nov 25, 2024
d93e6ec
Update schemas
drewjj Nov 25, 2024
6848ede
Add support for unsigned TIMs to go to the TMC filtered topic
drewjj Nov 25, 2024
8b8de0c
Update unit tests to address recent changes
drewjj Nov 26, 2024
595f47c
Remove the array from the computed lane
drewjj Dec 2, 2024
f3d5cf6
Add dynamic serializing and deserializing of TIM messages with new dy…
drewjj Dec 3, 2024
5c1892e
Add @JsonIgnore to fields on asn1 type base classes
iyourshaw Dec 3, 2024
f4a85e6
Serialize Bitstrings as verbose maps for ODE JSON
iyourshaw Dec 3, 2024
3603e0f
Set extension presence booleans to jsonignore annotations
drewjj Dec 4, 2024
7c991f5
BitString serialization rules to build them out as verbose boolean se…
drewjj Dec 4, 2024
c5e7bda
Bitstring deserializer for verbose ODE json
iyourshaw Dec 4, 2024
578e2cc
Remove diagnostic logging statements
iyourshaw Dec 4, 2024
651941e
Remove printf statements
iyourshaw Dec 4, 2024
afee483
Set tim udp buffer size to 2048. Add complex tim example to script
iyourshaw Dec 4, 2024
235f51a
Complex example tims
iyourshaw Dec 4, 2024
ef385c6
Comment manual edits
iyourshaw Dec 4, 2024
2568fab
Java style: use Lobok for getters/setters, capitalize enum items
iyourshaw Dec 5, 2024
f223988
Use 2020/2024 modules as package names. Package names lower case.
iyourshaw Dec 5, 2024
ff5a742
Fix test namespace
iyourshaw Dec 5, 2024
29d7bf6
Merge remote-tracking branch 'iy/tim-pojo-rework' into tim-pojo-rework
drewjj Dec 5, 2024
c726baa
Remove unused older POJOs and update the TIM test with a better XML t…
drewjj Dec 5, 2024
2b8ebcb
Merge remote-tracking branch 'origin/dev' into tim-pojo-rework
drewjj Dec 5, 2024
37e5399
Add test for NodeAttributeSetLL. Fix JSON serialization of dElevatio…
iyourshaw Dec 5, 2024
921b05e
Merge remote-tracking branch 'origin/dev' into tim-pojo-rework
drewjj Dec 6, 2024
f676a6b
Code styling changes to appease the code styling lords
drewjj Dec 6, 2024
2fc4615
Update checkstyle xml
drewjj Dec 6, 2024
ce5538a
Even more code styling changes
drewjj Dec 6, 2024
fb4f577
Last bit of code styling. Please.
drewjj Dec 6, 2024
abce4e5
Update the TIM schema and resolve some test issues
drewjj Dec 6, 2024
48fea3a
Regenerated TIM classes: Fix for sequence-of choice serialization to …
iyourshaw Dec 9, 2024
a397df0
itis, region, fix tests
iyourshaw Dec 9, 2024
92c4504
Update attribution documentation to note where the TIM POJOs came from
drewjj Dec 9, 2024
8c35ad2
Address pull request comments
drewjj Dec 9, 2024
7dccf75
Update the imported assertEquals
drewjj Dec 9, 2024
9e48c45
update to TimData class to allow for Tim payload serialization to wor…
Michael7371 Dec 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions ATTRIBUTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
9 changes: 9 additions & 0 deletions checkstyle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,15 @@
<module name="BeforeExecutionExclusionFileFilter">
<property name="fileNamePattern" value="module\-info\.java$"/>
</module>
<!-- Excludes all auto-generated J2735 class files -->
<module name="BeforeExecutionExclusionFileFilter">
<property name="fileNamePattern"
value=".*[\\/]src[\\/]main[\\/]java[\\/]us[\\/]dot[\\/]its[\\/]jpo[\\/]ode[\\/]plugin[\\/]j2735[\\/].*$"/>
</module>
<module name="BeforeExecutionExclusionFileFilter">
<property name="fileNamePattern"
value=".*[\\/]src[\\/]main[\\/]java[\\/]us[\\/]dot[\\/]its[\\/]jpo[\\/]ode[\\/]plugin[\\/]asn1[\\/].*$"/>
</module>
<!-- https://checkstyle.org/config_filters.html#SuppressionFilter -->
<module name="SuppressionFilter">
<property name="file" value="${org.checkstyle.google.suppressionfilter.config}"
Expand Down
Loading
Loading