svn commit: r19150 - trunk/src: argouml-app/src/org/argouml/kernel argouml-app/src/org/argouml/uml/ui/foundation/core argouml-core-model-euml/src/org/argouml/model/euml argouml-core-model-mdr/src/org/argouml/model/mdr argouml-core-model/src/org/argouml/model

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: bobtarling
Date: 2011-03-30 10:41:44-0700
New Revision: 19150

Modified:
   trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java
   trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/ActionAddAttribute.java
   trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/ActionAddOperation.java
   trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java
   trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CoreFactoryMDRImpl.java
   trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
   trunk/src/argouml-core-model/src/org/argouml/model/UmlFactoryDefaults.java

Log:
Use the new defaults class to set the name of any newly created model element

Modified: trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java?view=diff&pathrev=19150&r1=19149&r2=19150
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java	2011-03-30 10:41:44-0700
@@ -597,6 +597,16 @@
                 }
                 return null;
             }
+            public String getDefaultName(Object metaType) {
+                if (Model.getMetaTypes().getOperation() == metaType) {
+                    return "newOperation";
+                } else if (Model.getMetaTypes().getAttribute() == metaType) {
+                    return "newAttr";
+                } else if (Model.getMetaTypes().getEnumerationLiteral() == metaType) {
+                    return "newLiteral";
+                }
+                return null;
+            }
         };
     }
 

Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/ActionAddAttribute.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/ActionAddAttribute.java?view=diff&pathrev=19150&r1=19149&r2=19150
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/ActionAddAttribute.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/ActionAddAttribute.java	2011-03-30 10:41:44-0700
@@ -48,6 +48,7 @@
 import org.argouml.kernel.ProjectManager;
 import org.argouml.kernel.UmlModelMutator;
 import org.argouml.model.Model;
+import org.argouml.model.UmlFactoryDefaults;
 import org.argouml.ui.targetmanager.TargetEvent;
 import org.argouml.ui.targetmanager.TargetListener;
 import org.argouml.ui.targetmanager.TargetManager;
@@ -118,11 +119,8 @@
         }
 
         Project project = ProjectManager.getManager().getCurrentProject();
-        Object attrType = project.getDefaultAttributeType();
-        Object attr =
-            Model.getCoreFactory().buildAttribute2(
-                classifier,
-                attrType);
+        UmlFactoryDefaults defaults = project.getUmlFactoryDefaults();
+        Object attr = Model.getUmlFactory().buildNode(Model.getMetaTypes().getAttribute(), classifier, null, defaults);
         TargetManager.getInstance().setTarget(attr);
     }
 

Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/ActionAddOperation.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/ActionAddOperation.java?view=diff&pathrev=19150&r1=19149&r2=19150
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/ActionAddOperation.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/ActionAddOperation.java	2011-03-30 10:41:44-0700
@@ -48,6 +48,7 @@
 import org.argouml.kernel.ProjectManager;
 import org.argouml.kernel.UmlModelMutator;
 import org.argouml.model.Model;
+import org.argouml.model.UmlFactoryDefaults;
 import org.argouml.ui.targetmanager.TargetEvent;
 import org.argouml.ui.targetmanager.TargetListener;
 import org.argouml.ui.targetmanager.TargetManager;
@@ -103,7 +104,6 @@
 
         super.actionPerformed(ae);
 
-        Project project = ProjectManager.getManager().getCurrentProject();
         Object target =  TargetManager.getInstance().getModelTarget();
         Object classifier = null;
 
@@ -114,12 +114,11 @@
         } else {
             return;
         }
-
-        Object returnType = project.getDefaultReturnType();
-        Object oper = 
-            Model.getCoreFactory().buildOperation(classifier, returnType);
-        TargetManager.getInstance().setTarget(oper);
-
+        
+        Project project = ProjectManager.getManager().getCurrentProject();
+        UmlFactoryDefaults defaults = project.getUmlFactoryDefaults();
+        Object attr = Model.getUmlFactory().buildNode(Model.getMetaTypes().getOperation(), classifier, null, defaults);
+        TargetManager.getInstance().setTarget(attr);
     }
 
     /**

Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java?view=diff&pathrev=19150&r1=19149&r2=19150
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java	(original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java	2011-03-30 10:41:44-0700
@@ -288,9 +288,15 @@
     
     public Object buildNode(Object elementType, Object container, String property, UmlFactoryDefaults defaults) {
         Object element = buildNode(elementType, container, property);
-        if (defaults != null && defaults.getDefaultType(elementType) != null) {
-            Object type = defaults.getDefaultType(elementType);
-            modelImpl.getCoreHelper().setType(element, type);
+        if (defaults != null) {
+            final Object type = defaults.getDefaultType(elementType);
+            final String name = defaults.getDefaultName(elementType);
+            if (type != null) {
+                modelImpl.getCoreHelper().setType(element, type);
+            }
+            if (name != null) {
+                modelImpl.getCoreHelper().setName(element, name);
+            }
         }
         return element;
     }

Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CoreFactoryMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CoreFactoryMDRImpl.java?view=diff&pathrev=19150&r1=19149&r2=19150
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CoreFactoryMDRImpl.java	(original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CoreFactoryMDRImpl.java	2011-03-30 10:41:44-0700
@@ -797,7 +797,6 @@
      */
     Attribute buildAttribute() {
         Attribute attr = createAttribute();
-        attr.setName("newAttr");
         attr.setMultiplicity(getMultiplicity11());
         attr.setVisibility(VisibilityKindEnum.VK_PUBLIC);
         attr.setOwnerScope(ScopeKindEnum.SK_INSTANCE);
@@ -1096,7 +1095,6 @@
         }
         Classifier cls = (Classifier) classifier;
         Operation oper = createOperation();
-        oper.setName("newOperation");
         oper.setOwner(cls);
         oper.setVisibility(VisibilityKindEnum.VK_PUBLIC);
         oper.setAbstract(false);

Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java?view=diff&pathrev=19150&r1=19149&r2=19150
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java	(original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java	2011-03-30 10:41:44-0700
@@ -796,9 +796,15 @@
     
     public Object buildNode(Object elementType, Object container, String property, UmlFactoryDefaults defaults) {
         Object element = buildNode(elementType, container, property);
-        if (defaults != null && defaults.getDefaultType(elementType) != null) {
-            Object type = defaults.getDefaultType(elementType);
-            modelImpl.getCoreHelper().setType(element, type);
+        if (defaults != null) {
+            final Object type = defaults.getDefaultType(elementType);
+            final String name = defaults.getDefaultName(elementType);
+            if (type != null) {
+                modelImpl.getCoreHelper().setType(element, type);
+            }
+            if (name != null) {
+                modelImpl.getCoreHelper().setName(element, name);
+            }
         }
         return element;
     }

Modified: trunk/src/argouml-core-model/src/org/argouml/model/UmlFactoryDefaults.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/UmlFactoryDefaults.java?view=diff&pathrev=19150&r1=19149&r2=19150
==============================================================================
--- trunk/src/argouml-core-model/src/org/argouml/model/UmlFactoryDefaults.java	(original)
+++ trunk/src/argouml-core-model/src/org/argouml/model/UmlFactoryDefaults.java	2011-03-30 10:41:44-0700
@@ -26,4 +26,11 @@
      * @return the type instance to apply to the newly created object
      */
     Object getDefaultType(Object metaType);
+    
+    /**
+     * Get the default name to apply when creating on object of the given meta type.
+     * @param metaType that is to be created
+     * @return the name to apply to the newly created object
+     */
+    String getDefaultName(Object metaType);
 }

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

To unsubscribe from this discussion, e-mail: [[email protected]].
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.