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]].

Reply via email to