-
Defect
-
Resolution: Won't Do
-
Critical
-
None
-
None
This class appears to be critically broken. It's usage has been removed in the core Domain Model, however it is still used in Curator components. It is not clear how this is being used in Curator and if the problems are just not covered by test cases, thus the curator components may be significantly broken at this time.
MultiMap usage was removed from the core Domain Model due to the fact that when pre-existing contacts were added to a dataset, the cross reference was not stored. Brand new contacts and the cross references were stored just fine. The skeleton of the MulitMap code within Dataset still exists and is commented out so it can be re-enabled if MultiMap is fixed. If it is decided to get rid of MultiMap altogether, this code should be removed.
Another problem with the MulitMap code is that the deprecated MultiHashMap is used within the customized code. Specifically: PersistentMultiMap.getSnapshot and MultiMapType.instantiate both create new MultiHashMaps. At this time there is not a new implementation of the MultiMap interface that the MultiHashMap can be replaced with so this implementation is still dependent on deprecated code.
MultiMap usage was removed from the core Domain Model due to the fact that when pre-existing contacts were added to a dataset, the cross reference was not stored. Brand new contacts and the cross references were stored just fine. The skeleton of the MulitMap code within Dataset still exists and is commented out so it can be re-enabled if MultiMap is fixed. If it is decided to get rid of MultiMap altogether, this code should be removed.
Another problem with the MulitMap code is that the deprecated MultiHashMap is used within the customized code. Specifically: PersistentMultiMap.getSnapshot and MultiMapType.instantiate both create new MultiHashMaps. At this time there is not a new implementation of the MultiMap interface that the MultiHashMap can be replaced with so this implementation is still dependent on deprecated code.