svn commit: r13226 - trunk/src/model-euml/src/org/argouml/model/euml

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

Modified:
   trunk/src/model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java
   trunk/src/model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java
   trunk/src/model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
   trunk/src/model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java
   trunk/src/model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java

Log:
Add methods for UML 2.x PackageImport.  Deprecate UML 1.x Permission methods.

Modified: trunk/src/model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java?view=diff&rev=13226&p1=trunk/src/model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java&p2=trunk/src/model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java&r1=13225&r2=13226
==============================================================================
--- trunk/src/model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java	(original)
+++ trunk/src/model-euml/src/org/argouml/model/euml/CoreFactoryEUMLImpl.java	2007-08-03 13:04:56-0700
@@ -364,12 +364,45 @@
         // TODO Auto-generated method stub
         return null;
     }
+    /**
+     * Removed from UML2.x, use buildPackageImport instead.
+     */
+    @Deprecated
+    public PackageImport buildPermission(Object client, Object supplier) {
+        return buildPackageImport(client, supplier);
+    }
+
+    public PackageImport buildPackageAccess(final Object client,
+            final Object supplier) {
+        PackageImport packageImport = buildPackageImport(client, supplier);
+        // TODO: Do we care if this is undoable?
+        packageImport.setVisibility(VisibilityKind.PACKAGE_LITERAL);
+        return packageImport;
+    }
+    
+    public PackageImport buildPackageImport(final Object client,
+            final Object supplier) {
+        if (!(client instanceof Namespace)) {
+            throw new IllegalArgumentException(
+                    "The client must be instance of Namespace."); //$NON-NLS-1$
+        }
+        if (!(supplier instanceof org.eclipse.uml2.uml.Package)) {
+            throw new IllegalArgumentException(
+                    "The supplier must be instance of Package."); //$NON-NLS-1$
+        }
+        RunnableClass run = new RunnableClass() {
+            public void run() {
+                PackageImport packageImport = createPackageImport();
+                packageImport.setImportedPackage((org.eclipse.uml2.uml.Package) supplier);
+                packageImport.setImportingNamespace((Namespace) client);
+                getParams().add(packageImport);
+            }
+        };
+        editingDomain.getCommandStack().execute(
+                new ChangeCommand(editingDomain, run, "Create a PackageImport"));
 
-    public PackageImport buildPermission(Object clientObj, Object supplierObj) {
-        // TODO Auto-generated method stub
-        return null;
+        return (PackageImport) run.getParams().get(0);
     }
-
     public InterfaceRealization buildRealization(Object client,
             Object supplier, Object namespace) {
         // TODO: namespace is ignored
@@ -507,10 +540,18 @@
         return uml.createParameter();
     }
 
+    /**
+     * Removed from UML2.x, use createPackageImport instead.
+     */
+    @Deprecated
     public PackageImport createPermission() {
-        return uml.createPackageImport();
+        return createPackageImport();
     }
 
+    public PackageImport createPackageImport() {
+        return UMLFactory.eINSTANCE.createPackageImport();
+    }
+    
     @SuppressWarnings("deprecation")
     public Object createPrimitive() {
         return createPrimitiveType();
@@ -539,4 +580,5 @@
         return uml.createUsage();
     }
 
+
 }

Modified: trunk/src/model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java?view=diff&rev=13226&p1=trunk/src/model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java&p2=trunk/src/model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java&r1=13225&r2=13226
==============================================================================
--- trunk/src/model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java	(original)
+++ trunk/src/model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java	2007-08-03 13:04:56-0700
@@ -928,5 +928,12 @@
         ((NamedElement) handle).setVisibility((VisibilityKind) visibility);
     }
 
+    public Object getPackageImport(Object supplier, Object client) {
+        throw new NotYetImplementedException();
+    }
+
+    public Collection getPackageImports(Object client) {
+        throw new NotYetImplementedException();
+    }
 
 }

Modified: trunk/src/model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java?view=diff&rev=13226&p1=trunk/src/model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java&p2=trunk/src/model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java&r1=13225&r2=13226
==============================================================================
--- trunk/src/model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java	(original)
+++ trunk/src/model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java	2007-08-03 13:04:56-0700
@@ -1594,10 +1594,15 @@
         return handle instanceof ActivityPartition;
     }
 
+    @SuppressWarnings("deprecation")
     public boolean isAPermission(Object handle) {
         return handle instanceof PackageImport;
     }
-
+    
+    public boolean isAPackageImport(Object handle) {
+        return handle instanceof PackageImport;
+    }
+    
     @SuppressWarnings("deprecation")
     public boolean isAPrimitive(Object handle) {
         return isAPrimitiveType(handle);

Modified: trunk/src/model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java?view=diff&rev=13226&p1=trunk/src/model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java&p2=trunk/src/model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java&r1=13225&r2=13226
==============================================================================
--- trunk/src/model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java	(original)
+++ trunk/src/model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java	2007-08-03 13:04:56-0700
@@ -384,11 +384,15 @@
         return ActivityPartition.class;
     }
 
+    @SuppressWarnings("deprecation")
     public Object getPermission() {
-        // TODO: double check this - tfm
         return PackageImport.class;
     }
 
+    public Object getPackageImport() {
+        return PackageImport.class;
+    }
+    
     public Object getPseudostate() {
         return Pseudostate.class;
     }

Modified: trunk/src/model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java?view=diff&rev=13226&p1=trunk/src/model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java&p2=trunk/src/model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java&r1=13225&r2=13226
==============================================================================
--- trunk/src/model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java	(original)
+++ trunk/src/model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java	2007-08-03 13:04:56-0700
@@ -191,8 +191,8 @@
                     fromStyle, toElement, toStyle, (Boolean) unidirectional);
         } else if (elementType == metaTypes.getGeneralization()) {
             connection = getCore().buildGeneralization(fromElement, toElement);
-        } else if (elementType == metaTypes.getPermission()) {
-            connection = getCore().buildPermission(fromElement, toElement);
+        } else if (elementType == metaTypes.getPackageImport()) {
+            connection = getCore().buildPackageImport(fromElement, toElement);
         } else if (elementType == metaTypes.getUsage()) {
             connection = getCore().buildUsage(fromElement, toElement);
         } else if (elementType == metaTypes.getGeneralization()) {
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.