svn commit: r19797 - trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/XmiReaderImpl.java
[email protected] Thu, 8 Dec 2011 13:38:55 -0800 (PST)
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: linus
Date: 2011-12-08 13:38:55-0800
New Revision: 19797
Modified:
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/XmiReaderImpl.java
Log:
Attempt at solving issue 6389.
Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/XmiReaderImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/XmiReaderImpl.java?view=diff&pathrev=19797&r1=19796&r2=19797
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/XmiReaderImpl.java (original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/XmiReaderImpl.java 2011-12-08 13:38:55-0800
@@ -395,6 +395,13 @@
*/
public Map<String, Object> getXMIUUIDToObjectMap() {
if (resolver != null) {
+ // Give the resolver.getIdToObjectMap() entries
+ // priority over entries with the same UUID from
+ // resolver.getIdToObjectMaps() because entries
+ // in resolver.getIdToObjectMaps() are historic.
+ HashMap<String, Object> globalXmiIdToObjectMap =
+ new HashMap<String, Object>(resolver.getIdToObjectMap());
+
Map<String, Map<String, Object>> idToObjectMaps =
resolver.getIdToObjectMaps();
Set<Entry<String,Map<String,Object>>> entrySet = null;
@@ -411,17 +418,19 @@
entry.setValue(new HashMap<String,Object>(entry.getValue()));
}
}
- HashMap<String, Object> globalXmiIdToObjectMap =
- new HashMap<String, Object>();
for (Entry<String, Map<String, Object>> entry : entrySet) {
String xmiIdPrefix =
entry.getKey().startsWith(getTempXMIFileURIPrefix()) ? "" :
entry.getKey() + "#";
for (Entry<String, Object> innerMapEntry :
entry.getValue().entrySet()) {
- globalXmiIdToObjectMap.put(
- xmiIdPrefix + innerMapEntry.getKey(),
- innerMapEntry.getValue());
+
+ String id = xmiIdPrefix + innerMapEntry.getKey();
+ if (!globalXmiIdToObjectMap.containsKey(id)) {
+ globalXmiIdToObjectMap.put(
+ id,
+ innerMapEntry.getValue());
+ }
}
}
return globalXmiIdToObjectMap;
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2891687
To unsubscribe from this discussion, e-mail: [[email protected]].