[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orekit Developers] Commit 5770723



Evan Ward <evan.ward@nrl.navy.mil> a écrit :

Hi Luc,

Hi Evan,


I like the new nutation organization; it is quite readable.

Your are fast to notice the changes.


I saw some synchronization issues in
FramesFactory.getEOPHistoryNonRotatingOrigin(...). Access to
EOP_HISTORY_NON_ROTATING_ORIGIN_LOADERS is not synchronized in that
method, but it is in other methods. This can create some inconsistancies
due to Java's memory model. For example, a EOP loader added in one
thread may not be seen by other threads. A fix would be to always
synchronize on the same object, or just use
Collections.synchronizedMap(...).

Yes, I have seen that and in fact have just finished correcting it, with a new large bunch of simplification (merged equinox-based and non-rotating-origin stuff, which means several classes and interfaces collapsed as well as much less loaders to configure (for the few souls who dare customizing them).

Concerning the synchronization problem, I have also switched to the method Thomas used for SP2 parsing and a Steven copied for CCSDS parsing. Namely the loader is not the parser itself, but uses an internal class for parsing. The loader is therefore now immutable and it does not expose anymore the DataLoader methods which were only used internally.

Also, why is FramesFactory serializable? I thought it was just a static
factory.

I'll look at this, you are right it is stupid.

I'll commit the new stuff in a few minutes, the tests seem to run OK.

best regards,
Luc


Best Regards,
Evan





----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.