Our application reads CZML data sources and updates the associated DynamicObjects once they are created and populated with the properties included in the czml (e.g. path, label, etc…).
Until version B20, the way we did it was to subscribe to the “objectPropertiesChanged” of the CzmlDataSource DynamicObjectCollection.
With the refactoring done in B21 in DynamicObjectCollection, the event “objectPropertiesChanged” has been removed and another one “collectionChanged” has been added.
We replaced the code using the new event expecting to have a similar result but we saw that the event is called but all the properties of the dynamicObject were empty.
Looking at the CzmlDataSource code “processCzmlPacket” method, the dynamicObject is created first by calling “getOrCreateObject”, which triggers the “collectionChanged” event. However, the updater functions,
which populate the object with all the rest of Czml packet data, are called later. The effect is that the collectionChanged event will be called with an empty dynamicObject.
Should CzmlDataSource add the dynamicObject once is fully parsed so the event can be used for this type of purposes or is there a better way for doing this post loading processing?