Skip to content
This repository has been archived by the owner on May 15, 2024. It is now read-only.

Update to use newer SISO STD XML #5

Open
leif81 opened this issue Aug 16, 2023 · 5 comments
Open

Update to use newer SISO STD XML #5

leif81 opened this issue Aug 16, 2023 · 5 comments
Assignees

Comments

@leif81
Copy link
Member

leif81 commented Aug 16, 2023

Recording this old comment from Don McGreggor:

Note that the XML that describes the enumerations is badly out of date; it changed substantially after I wrote most of the project.
What should really happen is that this application should be re-written to accomodate the actual XML used for enumerations.

@brutzman
Copy link

Thanks for bringing this up Leif. I have fixed all of the old McGregor-style XML to be correct.

  • It autogenerates the opendis7-source and opendis7-java codebases correctly.
  • It autogenerates a proper XML Schema, notablywith a number of abstract xsd:complexType intermediate definitions.
  • It supports DIS output in XML (and binary, and plaintext) formats.

Last weekend I updated unit tests for Detonation, EntityState, Fire, and various Signal* PDUs.

Upcoming work will look more closely at DIS-XML outputs and validation as a regular part of our course projects.

@brutzman brutzman self-assigned this Aug 16, 2023
@leif81
Copy link
Member Author

leif81 commented Aug 16, 2023

Is there a dis enumerations library for dis 6 and 7 that could be used by open-dis-java users?

We would need something published to Maven Central that could be swapped in for this as a dependency.

@leif81
Copy link
Member Author

leif81 commented Aug 24, 2023

@brutzman Here's an option I propose we consider. We package the siso enumerations classes into a new standalone jar that can be used by both the open-dis-java and opendis7-java projects.

To do this, here's how I would propose it be done. We create a new github project (e.g. open-dis/siso-ref-010-enumerations), copy the Java enumeration classes generated by opendis7-source-generator into this new project. Then using Maven the classes are compile and packaged into a siso-ref-010-enumerations.jar and deployed to Maven Central.

The open-dis-java project users would fetch this by adding this new dependency to their project with a Maven by adding the following to their pom.xml:

e.g.

    <dependency>
        <groupId>edu.nps.moves.opendis</groupId>
        <artifactId>siso-ref-010-enumerations</artifactId>
        <version>31.0</version>
    </dependency>

And opendis7-java users would download the siso-ref-010-enumerations-31.jar from the GitHub project releases page and add it to their class path.

And finally once all this is setup we archive this open-dis/dis-enumerations project because it becomes superceded by this new project.

@brutzman
Copy link

Sounds good. Note that opendis7-full.jar already bundles the enumerations jar (into a "fat" jar) so complete flexibility exists already.

Suggest someone tries using the existing siso-ref-010-enumerations-31.jar with prior open-dis-java codebase. I believe it is compiled to JDK 11 LTS bytecode but we can likely make adjustments if needed.

Also please advise, how can we add @terry-norbraten to this issue?

@leif81
Copy link
Member Author

leif81 commented Aug 24, 2023

@'ing terry in like you've done should do it. @terry-norbraten should start getting email notifications of new comments.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants