Author: bobtarling
Date: 2011-07-07 15:46:11-0700
New Revision: 19581

Removed:
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierRoleBaseListModel.java
Modified:
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java

Log:
Use new GetterSetter instead of old style ListModel for coding behaviour of 
Base control

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java?view=diff&pathrev=19581&r1=19580&r2=19581
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
     (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
     2011-07-07 15:46:11-0700
@@ -68,7 +68,7 @@
         addGetterSetter("actualArgument", new ArgumentGetterSetter());
         addGetterSetter("aggregation", new AggregationGetterSetter());
         addGetterSetter("baseClass", new BaseClassGetterSetter());
-        //addGetterSetter("base", new BaseGetterSetter());
+        addGetterSetter("base", new BaseGetterSetter());
         addGetterSetter("body", new MethodExpressionGetterSetter());
         addGetterSetter("changeability", new ChangeabilityGetterSetter());
         addGetterSetter("classifier", new ClassifierGetterSetter());
@@ -2336,141 +2336,95 @@
        }
     }
     
-//    private class BaseGetterSetter extends ListGetterSetter {
-//     //implements Addable, Removeable {
-//        
-////        public Collection getOptions(Object modelElement, 
Collection<Class<?>> types) {
-////            return Model.getFacade().getBases(modelElement);
-////        }
-//      
-//        public Object get(Object modelElement, Class<?> type) {
-//            // not needed
-//            return null;
-//        }
-//      
-//        public void set(Object element, Object x) {
-//            // not needed
-//        }
-//
-//        public boolean isValidElement(Object element, Collection<Class<?>> 
types) {
-//            return getOptions(element, types).contains(element);
-//        }
-//        
-//        public Object getMetaType() {
-//            return Model.getMetaTypes().getClassifier();
-//        }
-//
-////        public Command getAddCommand(Object modelElement) {
-////            return new AddCommand(modelElement);
-////        }
-////    
-////        public Command getRemoveCommand(Object modelElement, Object 
objectToRemove) {
-////               return new RemoveCommand(modelElement, objectToRemove);
-////        }
-////    
-////        private class AddCommand extends AddModelElementCommand {
-////
-////            final private List<String> metaClasses;
-////            
-////            /**
-////             * Constructor for ActionAddPackageImport.
-////             */
-////            public AddCommand(Object target) {
-////                super(target);
-////                LOG.info("Creating AddCommand");
-////                metaClasses = initMetaClasses();
-////            }
-////            
-////            /**
-////             * Initialize the meta-classes list. <p>
-////             * 
-////             * All this code is necessary to be independent of 
-////             * model repository implementation, 
-////             * i.e. to ensure that we have a 
-////             * sorted list of strings.
-////             */
-////            private List<String> initMetaClasses() {
-////                Collection<String> tmpMetaClasses = 
-////                    Model.getCoreHelper().getAllMetatypeNames();
-////                List<String> metaClasses;
-////                if (tmpMetaClasses instanceof List) {
-////                    metaClasses = (List<String>) tmpMetaClasses;
-////                } else {
-////                    metaClasses = new LinkedList<String>(tmpMetaClasses);
-////                }
-////                try {
-////                    Collections.sort(metaClasses);
-////                } catch (UnsupportedOperationException e) {
-////                    // We got passed an unmodifiable List.  Copy it and 
sort the result
-////                    metaClasses = new LinkedList<String>(tmpMetaClasses);
-////                    Collections.sort(metaClasses);
-////                }
-////                
-////                return metaClasses;
-////            }
-////            
-////            protected List getChoices() {
-////                List vec = new ArrayList();
-////                vec.addAll(Model.getCollaborationsHelper()
-////                        .getAllPossibleBases(getTarget()));
-////                return vec;
-////            }
-////    
-////            protected List getSelected() {
-////                List list = new ArrayList();
-////                list.addAll(Model.getFacade().getBases(getTarget()));
-////                return list;
-////            }
-////    
-////    
-////            protected String getDialogTitle() {
-////                return Translator.localize("dialog.title.add-bases");
-////            }
-////    
-////    
-////            @Override
-////            protected void doIt(Collection selected) {
-////                Object stereo = getTarget();
-////                Set<Object> oldSet = new HashSet<Object>(getSelected());
-////                Set toBeRemoved = new HashSet<Object>(oldSet);
-////
-////                for (Object o : selected) {
-////                    if (oldSet.contains(o)) {
-////                        toBeRemoved.remove(o);
-////                    } else {
-////                        Model.getExtensionMechanismsHelper()
-////                                .addBaseClass(stereo, o);
-////                    }
-////                }
-////                for (Object o : toBeRemoved) {
-////                    
Model.getExtensionMechanismsHelper().removeBaseClass(stereo, o);
-////                }
-////            }
-////        }
-////    
-////        private class RemoveCommand
-////       extends NonUndoableCommand {
-////           
-////            private final Object target;
-////            private final Object objectToRemove;
-////           
-////       /**
-////        * Constructor for RemoveCommand.
-////        */
-////       public RemoveCommand(final Object target, final Object 
objectToRemove) {
-////           this.target = target;
-////           this.objectToRemove = objectToRemove;
-////       }
-////       
-////       /*
-////        * @see 
java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
-////        */
-////       public Object execute() {
-////                
Model.getExtensionMechanismsHelper().removeBaseClass(target, objectToRemove);
-////           return null;
-////       }
-////   }
-//    }
+    private class BaseGetterSetter extends ListGetterSetter implements 
Addable, Removeable {
+        
+        public Collection getOptions(Object modelElement, Collection<Class<?>> 
types) {
+            return Model.getFacade().getBases(modelElement);
+        }
+      
+        public Object get(Object modelElement, Class<?> type) {
+            // not needed
+            return null;
+        }
+      
+        public void set(Object element, Object x) {
+            // not needed
+        }
+
+        public boolean isValidElement(Object element, Collection<Class<?>> 
types) {
+            return getOptions(element, types).contains(element);
+        }
+        
+        public Object getMetaType() {
+            return Model.getMetaTypes().getClassifier();
+        }
+
+        public Command getAddCommand(Object modelElement) {
+            return new AddCommand(modelElement);
+        }
+    
+        public Command getRemoveCommand(Object modelElement, Object 
objectToRemove) {
+           return new RemoveCommand(modelElement, objectToRemove);
+        }
+    
+        private class AddCommand extends AddModelElementCommand {
+
+            /**
+             * Constructor for ActionAddPackageImport.
+             */
+            public AddCommand(Object target) {
+                super(target);
+            }
+            
+            protected List getChoices() {
+                List vec = new ArrayList();
+                vec.addAll(Model.getCollaborationsHelper()
+                        .getAllPossibleBases(getTarget()));
+                return vec;
+            }
+    
+            protected List getSelected() {
+                List list = new ArrayList();
+                list.addAll(Model.getFacade().getBases(getTarget()));
+                return list;
+            }
+    
+    
+            protected String getDialogTitle() {
+                return Translator.localize("dialog.title.add-bases");
+            }
+    
+    
+            @Override
+            protected void doIt(Collection selected) {
+                Object role = getTarget();
+                Model.getCollaborationsHelper().setBases(role, selected);
+            }
+        }
+    
+        private class RemoveCommand
+           extends NonUndoableCommand {
+       
+            private final Object target;
+            private final Object objectToRemove;
+       
+           /**
+            * Constructor for RemoveCommand.
+            */
+           public RemoveCommand(final Object target, final Object 
objectToRemove) {
+               this.target = target;
+               this.objectToRemove = objectToRemove;
+           }
+           
+           /*
+            * @see 
java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+            */
+           public Object execute() {
+               Model.getCollaborationsHelper().removeBase(target, 
objectToRemove);
+               return null;
+           }
+       }
+    }
     
     private class QualifierGetterSetter extends ListGetterSetter {
         

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java?view=diff&pathrev=19581&r1=19580&r2=19581
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
    (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
    2011-07-07 15:46:11-0700
@@ -71,8 +71,6 @@
             model = new 
UMLClassifierRoleAvailableContentsListModel(modelElement);
         } else if ("availableFeature".equals(propName)) {
             model = new 
UMLClassifierRoleAvailableFeaturesListModel(modelElement);
-        } else if ("base".equals(propName)) {
-            model = new UMLClassifierRoleBaseListModel(modelElement);
         } else if ("classifierInState".equals(propName)) {
             model = new UMLOFSStateListModel(modelElement);
         } else if ("client".equals(propName)) {

Removed: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierRoleBaseListModel.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierRoleBaseListModel.java?view=markup&pathrev=19580

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

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

Reply via email to