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

PSM Data Feed Addition #43

Merged
merged 20 commits into from
Nov 27, 2023
Merged

PSM Data Feed Addition #43

merged 20 commits into from
Nov 27, 2023

Conversation

Michael7371
Copy link

PR Details

Description

This PR introduces support for PSM message processing to the ODE. Support for both required and optional fields is present, however I do not have a sample message that covers any of the optional fields for testing. All required fields have been tested with sample PSM messages generated from the NJDOT deployment.

This pipeline takes in PSM messages on the new UDP port (44940) and outputs processed JSON PSM messages on the topic: topic.OdePsmJson. As with other data feeds, multiple other topics are used for internal processing/management: topic.OdeRawEncodedPSMJson and topic.OdePsmTxPojo.

Related Issue

There are no open GitHub issues related to this PR.

Motivation and Context

Required for processing Personal Safety Messages through the ODE.

How Has This Been Tested?

I followed the convention from previous data feeds for unit testing and verified message processing with sample messages from the NJDOT deployment.

Types of changes

  • Defect fix (non-breaking change that fixes an issue)
  • [ x ] New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that cause existing functionality to change)

Checklist:

  • [ x ] I have added any new packages to the sonar-scanner.properties file
  • [ x ] My change requires a change to the documentation.
  • [ x ] I have updated the documentation accordingly.
  • [ x ] I have read the CONTRIBUTING document.
    ODE Contributing Guide
  • [ x ] I have added tests to cover my changes.
  • [ x ] All new and existing tests passed.

Copy link
Collaborator

@drewjj drewjj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything checks out, runs well and tests well. I think this is ready to go but do you mind editing this schema documentation to include PSM? Link to the schema you have like the others do. It is an easier, more human, way to find the schemas.

https://github.com/Michael7371/jpo-ode/tree/psm-data-feed/docs/schemas

@Michael7371
Copy link
Author

Everything checks out, runs well and tests well. I think this is ready to go but do you mind editing this schema documentation to include PSM? Link to the schema you have like the others do. It is an easier, more human, way to find the schemas.

https://github.com/Michael7371/jpo-ode/tree/psm-data-feed/docs/schemas

Gotcha, that should be updated now.

Copy link
Collaborator

@drewjj drewjj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, Looks good!

Copy link
Member

@dmccoystephenson dmccoystephenson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the addition of a new message type, the following should be done:

  • The ODE Data Flow Overview diagram should be updated to include the path that PSMs take.
  • The existing overview data flow explanations should be updated as necessary in the README in the docs/data-flow-diagrams directory.
  • A new subdirectory 'psm' should be added to the docs/data-flow-diagrams directory.
  • In that new subdirectory a new diagram for the data flow of PSMs should be created.
  • A new data flow explanation for PSMs should be added to the README in the docs/data-flow-diagrams directory.

@Michael7371
Copy link
Author

@dmccoystephenson I pushed an update that addresses most of your comments. I didn't see what needed to be added to the ODE Data Flow Diagram, so I left that unchanged.

Copy link
Member

@dmccoystephenson dmccoystephenson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just a few comments! All tests are passing.

One thing: The architecture diagram should be updated to include PSMs as input:
https://github.com/CDOT-CV/jpo-ode/blob/master/docs/images/readme/figure1.png

@Michael7371
Copy link
Author

Looks good, just a few comments! All tests are passing.

One thing: The architecture diagram should be updated to include PSMs as input: https://github.com/CDOT-CV/jpo-ode/blob/master/docs/images/readme/figure1.png

Do you know where the source file that generated that figure is stored?

Copy link
Member

@dmccoystephenson dmccoystephenson left a 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!

@payneBrandon payneBrandon merged commit d424a67 into CDOT-CV:dev Nov 27, 2023
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants