Author: thn
Date: 2009-11-25 13:27:41-0800
New Revision: 17552

Modified:
   
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/XmiReaderEUMLImpl.java

Log:
UML2: avoid user depending full paths in model
PLEASE REVIEW!

Modified: 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/XmiReaderEUMLImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/XmiReaderEUMLImpl.java?view=diff&pathrev=17552&r1=17551&r2=17552
==============================================================================
--- 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/XmiReaderEUMLImpl.java
 (original)
+++ 
trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/XmiReaderEUMLImpl.java
 2009-11-25 13:27:41-0800
@@ -143,6 +143,19 @@
         if (id == null) {
             id = inputSource.getPublicId();
         }
+        // The id contains the whole path, which is not what we want in models
+        // (it's a tradeoff, but collisions will be unlikely with the xmi.id)
+        if (id != null) {
+            // for ArgoUML internal profiles, id will start with "org/argouml"
+            int ix = id.indexOf("org/argouml/");
+            if (ix != -1) {
+                id = id.substring(ix);
+            } else if ((ix = id.lastIndexOf('/')) != -1) {
+                // for user profiles, use the filename only
+                id = id.substring(ix + 1);
+            }
+        }
+
         Resource r = UMLUtil.getResource(modelImpl, 
                 URI.createURI(id), readOnly);

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2424413

To unsubscribe from this discussion, e-mail: 
[[email protected]].

Reply via email to