svn commit: r13232 - trunk/src_new/org/argouml/uml/reveng/java/Modeller.java

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: tfmorris
Date: 2007-08-03 14:36:56-0700
New Revision: 13232

Modified:
   trunk/src_new/org/argouml/uml/reveng/java/Modeller.java

Log:
Restore previous behavior and add TODO for fixing to be compatible with UML spec.

Modified: trunk/src_new/org/argouml/uml/reveng/java/Modeller.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/reveng/java/Modeller.java?view=diff&rev=13232&p1=trunk/src_new/org/argouml/uml/reveng/java/Modeller.java&p2=trunk/src_new/org/argouml/uml/reveng/java/Modeller.java&r1=13231&r2=13232
==============================================================================
--- trunk/src_new/org/argouml/uml/reveng/java/Modeller.java	(original)
+++ trunk/src_new/org/argouml/uml/reveng/java/Modeller.java	2007-08-03 14:36:56-0700
@@ -329,16 +329,32 @@
         // import on demand
 	if (classifierName.equals("*")) {
 	    parseState.addPackageContext(mPackage);
-	    
+            Object pkgImport = null;
+
+            // TODO: This use of UML Permission is non-standard.
+            // Change it to a Dependency with a <<javaImport>> stereotype
+            // or something else - tfm - 20070802
+            
             // try find an existing permission
-            Object pkgImport = Model.getCoreHelper().getPackageImport(mPackage,
-                    parseState.getComponent());
+            Iterator dependenciesIt =
+                Model.getCoreHelper()
+		    .getDependencies(mPackage, parseState.getComponent())
+		        .iterator();
+            while (dependenciesIt.hasNext()) {
+
+                Object dependency = dependenciesIt.next();
+                if (Model.getFacade().isAPermission(dependency)) {
+
+                    pkgImport = dependency;
+                    break;
+                }
+            }
 
             // if no existing permission was found.
             if (pkgImport == null) {
 		pkgImport =
 		    Model.getCoreFactory()
-		        .buildPackageImport(parseState.getComponent(), mPackage);
+		        .buildPermission(parseState.getComponent(), mPackage);
 		String newName =
                     makePermissionName(
                             Model.getFacade().getName(
@@ -371,34 +387,38 @@
             if (mClassifier != null) {
 		parseState.addClassifierContext(mClassifier);
 
+		// TODO: This use of UML Permission is non-standard.
+		// Change it to a Dependency with a <<javaImport>> stereotype
+		// or something else - tfm - 20070802
+
                 // try find an existing permission
                 Iterator dependenciesIt =
 		    Model.getCoreHelper()
                         .getDependencies(mClassifier,
 					 parseState.getComponent())
                             .iterator();
-                Object pkgImport = null;
+                Object perm = null;
                 while (dependenciesIt.hasNext()) {
 
                     Object dependency = dependenciesIt.next();
-                    if (Model.getFacade().isAPackageImport(dependency)) {
+                    if (Model.getFacade().isAPermission(dependency)) {
 
-                        pkgImport = dependency;
+                        perm = dependency;
                         break;
                     }
                 }
 
                 // if no existing permission was found.
-                if (pkgImport == null) {
-                    pkgImport =
+                if (perm == null) {
+                    perm =
 			Model.getCoreFactory()
-			    .buildPackageImport(parseState.getComponent(),
+			    .buildPermission(parseState.getComponent(),
 					     mClassifier);
 		    String newName =
                             makePermissionName(
                                     parseState.getComponent(), mClassifier);
-                    Model.getCoreHelper().setName(pkgImport, newName);
-                    newElements.add(pkgImport);
+                    Model.getCoreHelper().setName(perm, newName);
+                    newElements.add(perm);
                 }
 	    }
 	}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.