Starting to add in stubbed Java IEEE 1516e interface support. Just the
RTIambassador and basic time implementations at the moment.
Updated the HLAVersion class to change the name of the old 1516-2000
constant from HLA1516 to IEEE1516. Not really necessary, but makes it
look a bit nicer, and I like that.
Added in implementations for the float and long time factories
Added in a basic bit manipulation helper class. These little utilities
will be used all over the standard type and time implementations. So
much redundant code otherwise. So much. Urgh.
Moved the 1516e time type implementations into their own package (as
they are in the standard interface) and added a basic handle
implementation along with all the associated factories (although none of
the sets or set factories). REDUNANT CODE IN THE STANDARD EVERYWHERE OH
MY GOD HOW MY EYES HURT.
Added in "implementations" of the container types. Let me summarize:
 #define TypeXSet Set<TypeX>
 #define TypeXTypeYMap Map<TypeX,TypeY>

Genius. Or C++. Whatever you want to call it.
Added in the forgotten TransportationTypeHandle and associated Factory.
Who could forget these gems? EGG. ON. MY. FACE.
Added in the factories for the containers. Handles, handle factories,
handle set, handle set factories. Yup. I just have nothing left.
Updated the 1516e RtiAmbassador to link in the various factories.
Added stub implementations of the 1516e encoding package types. Now to fill them out!
Adding in an ArrayIterator to help with the encoder/decoder package. I
hate old-style iterators. They suck. The HLA API is mung for them. Turns
out that for my first test case (HLAopaqueData) I can't even use this
(clearly didn't think that one through!). I'm sure I will be able to at
some point soon however. Le sigh.
PORT-70: Updating the encoding package to provide an almost complete
(although probably buggy as hell, given how little I know about what I'm
doing) implementation. Remaining tasks are: implement the remainder of
the HLAfixedArray, HLAfixedRecord, HLAvariableArray, HLAvariantRecord
implementations and write unit tests for the whole package. That can
wait and should be done as part of PORT-77.
PORT-70: Ported the 1516 and HLA v1.3 callback handlers over to the
1516e interface implementation. Now just have to fill out the
RTIambassador and we'll pretty much be done for bootstrapping the basic
interface. The C++ interface and unit tests are still to come.
Added an extra constructor to each of the 1516e exceptions. They had a
(String) and (String,Throwable) but not a (Throwable). Yes. I modiifed
the spec. Sue me. Should not matter for link compatiblity as Java does
not do any checksum comparision on compiled code against what it links
to or anything like that. Should also not be an issue for porting to
another RTI as federate code should never create these types (they're
just for the RTI).
PORT-70: Started to fill out the 1516e ambassador. About 3/4ths of the
way through (safety commit). Just trying to get it to parity with the
1516 and 1.3 interfaces.
PORT-70: Basic support wired into the RTIambassador for 1516e. No DDM
support at all yet, as it doesn't exist in the 1516-2000 interface and
wasn't implemented there as there were more than just cosmetic
differences between it and v1.3. Will have to tackle that monkey at some
point in the future. Next step is to port the tests and see how far we
have gotten.
PORT-70: Updating the 1516e implementation to add the forgotten
RtiFactory implementation. Also updated the services to include the
appropriate keyword to ensure that the base LRC handlers get loaded.
PORT-70: Beginnings of the 1516e unit test suite. Porting over from the
1516 test suite and have the "Big 4" (create, destroy, join, resign) in
place and working happily now.
PORT-70: Added in port of the basic 1516 pub/sub tests into the 1516e
test framework
PORT-70: Added in support services and synchronization services tests.
Note that the sync tests are currently failing. Need to recitfy this and
then port the object and time service tests and we're done!