svn commit: r16289 - trunk/src/argouml-app/src/org/argouml: cognitive/ui uml
Tom Morris <[email protected]>
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: tfmorris
Date: 2008-12-07 13:07:36-0800
New Revision: 16289
Added:
trunk/src/argouml-app/src/org/argouml/cognitive/ui/AbstractGoList2.java (contents, props changed)
trunk/src/argouml-app/src/org/argouml/uml/GenCompositeClasses2.java (contents, props changed)
Modified:
trunk/src/argouml-app/src/org/argouml/cognitive/ui/AbstractGoList.java
trunk/src/argouml-app/src/org/argouml/uml/GenCompositeClasses.java
Log:
Deprecate the last couple things that use GEF Predicates and introduces versions that use the ArgoUML Predicate
Modified: trunk/src/argouml-app/src/org/argouml/cognitive/ui/AbstractGoList.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/cognitive/ui/AbstractGoList.java?view=diff&pathrev=16289&r1=16288&r2=16289
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/cognitive/ui/AbstractGoList.java (original)
+++ trunk/src/argouml-app/src/org/argouml/cognitive/ui/AbstractGoList.java 2008-12-07 13:07:36-0800
@@ -35,7 +35,7 @@
/**
* @author MarkusK
- *
+ * @deprecated for 0.27.3 by tfmorris. Use {@link AbstractGoList2}.
*/
public abstract class AbstractGoList implements TreeModel {
@@ -50,6 +50,8 @@
/**
* @return the list predicate
+ * @deprecated for 0.27.3 by tfmorris. Use
+ * {@link AbstractGoList2#getPredicate()}.
*/
public Predicate getListPredicate() {
return listPredicate;
Added: trunk/src/argouml-app/src/org/argouml/cognitive/ui/AbstractGoList2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/cognitive/ui/AbstractGoList2.java?view=markup&pathrev=16289
==============================================================================
--- (empty file)
+++ trunk/src/argouml-app/src/org/argouml/cognitive/ui/AbstractGoList2.java 2008-12-07 13:07:36-0800
@@ -0,0 +1,73 @@
+// $Id$
+// Copyright (c) 1996-2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+/*
+ * Created on 21.10.2004
+ *
+ */
+package org.argouml.cognitive.ui;
+
+import javax.swing.tree.TreeModel;
+
+import org.argouml.util.Predicate;
+import org.argouml.util.PredicateTrue;
+
+/**
+ * @author MarkusK
+ *
+ */
+public abstract class AbstractGoList2 extends AbstractGoList implements
+ TreeModel {
+
+ private Predicate listPredicate = PredicateTrue.getInstance();
+
+ /**
+ * @param newPredicate the new list predicate
+ */
+ public void setListPredicate(Predicate newPredicate) {
+ listPredicate = newPredicate;
+ }
+
+ /**
+ * @return the list predicate
+ */
+ public Predicate getPredicate() {
+ return listPredicate;
+ }
+
+ /*
+ * @see javax.swing.tree.TreeModel#getRoot()
+ */
+ public Object getRoot() {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @param r ignored
+ */
+ public void setRoot(Object r) {
+ // does nothing
+ }
+
+}
Modified: trunk/src/argouml-app/src/org/argouml/uml/GenCompositeClasses.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/GenCompositeClasses.java?view=diff&pathrev=16289&r1=16288&r2=16289
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/GenCompositeClasses.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/GenCompositeClasses.java 2008-12-07 13:07:36-0800
@@ -25,6 +25,7 @@
package org.argouml.uml;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Iterator;
@@ -41,6 +42,7 @@
*
* @see org.argouml.uml.cognitive.critics.CrCircularComposition
* @stereotype singleton
+ * @deprecated for 0.27.3 by tfmorris. Use {@link GenCompositeClasses2}.
*/
public class GenCompositeClasses implements ChildGenerator {
/**
@@ -52,47 +54,62 @@
/**
* @return Returns the sINGLETON.
+ * @deprecated for 0.27.3 by tfmorris. Use
+ * {@link GenCompositeClasses2#getInstance()}.
*/
public static GenCompositeClasses getSINGLETON() {
return SINGLETON;
}
- /*
+ /**
* @see org.tigris.gef.util.ChildGenerator#gen(java.lang.Object)
+ * @deprecated for 0.27.3 by tfmorris. Use
+ * {@link GenCompositeClasses2#childIterator(Object)}.
*/
public Enumeration gen(Object o) {
- List res = new ArrayList();
- if (!(Model.getFacade().isAClassifier(o))) {
- return Collections.enumeration(res);
- }
- Object cls = o;
- List ends = new ArrayList(Model.getFacade().getAssociationEnds(cls));
- if (ends == null) {
- return Collections.enumeration(res);
- }
- Iterator assocEnds = ends.iterator();
- while (assocEnds.hasNext()) {
- Object ae = assocEnds.next();
- if (Model.getAggregationKind().getComposite().equals(
- Model.getFacade().getAggregation(ae))) {
- Object asc = Model.getFacade().getAssociation(ae);
- ArrayList conn =
- new ArrayList(Model.getFacade().getConnections(asc));
- if (conn == null || conn.size() != 2) {
- continue;
- }
- Object otherEnd =
- (ae == conn.get(0)) ? conn.get(1) : conn.get(0);
- if (Model.getFacade().getType(ae)
- != Model.getFacade().getType(otherEnd)) {
- res.add(Model.getFacade().getType(otherEnd));
- }
- }
- }
- return Collections.enumeration(res);
+ return Collections.enumeration(collectChildren(o));
}
/**
+ * Collect children.<p>
+ * TODO: Move this method to the subclass GenCompositeClasses2 when this
+ * deprecated class is removed.
+ * @param o the parent element
+ * @return a collection of children.
+ */
+ protected Collection collectChildren(Object o) {
+ List res = new ArrayList();
+ if (!(Model.getFacade().isAClassifier(o))) {
+ return res;
+ }
+ Object cls = o;
+ List ends = new ArrayList(Model.getFacade().getAssociationEnds(cls));
+ if (ends == null) {
+ return res;
+ }
+ Iterator assocEnds = ends.iterator();
+ while (assocEnds.hasNext()) {
+ Object ae = assocEnds.next();
+ if (Model.getAggregationKind().getComposite().equals(
+ Model.getFacade().getAggregation(ae))) {
+ Object asc = Model.getFacade().getAssociation(ae);
+ ArrayList conn =
+ new ArrayList(Model.getFacade().getConnections(asc));
+ if (conn == null || conn.size() != 2) {
+ continue;
+ }
+ Object otherEnd =
+ (ae == conn.get(0)) ? conn.get(1) : conn.get(0);
+ if (Model.getFacade().getType(ae)
+ != Model.getFacade().getType(otherEnd)) {
+ res.add(Model.getFacade().getType(otherEnd));
+ }
+ }
+ }
+ return res;
+ }
+
+ /**
* The UID.
*/
private static final long serialVersionUID = -6027679124153204193L;
Added: trunk/src/argouml-app/src/org/argouml/uml/GenCompositeClasses2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/GenCompositeClasses2.java?view=markup&pathrev=16289
==============================================================================
--- (empty file)
+++ trunk/src/argouml-app/src/org/argouml/uml/GenCompositeClasses2.java 2008-12-07 13:07:36-0800
@@ -0,0 +1,60 @@
+// $Id$
+// Copyright (c) 2008 The Regents of the University of California. All
+// Rights Reserved. Permission to use, copy, modify, and distribute this
+// software and its documentation without fee, and without a written
+// agreement is hereby granted, provided that the above copyright notice
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.uml;
+
+import java.util.Iterator;
+
+import org.argouml.util.ChildGenerator;
+
+/**
+ * Utility class to generate a list of the "children" of a class which are the
+ * other classes that are associated with the parent class, and that Association
+ * has a COMPOSITE end at the parent. This is used in one of the critics.
+ *
+ * @see org.argouml.uml.cognitive.critics.CrCircularComposition
+ * @stereotype singleton
+ */
+public class GenCompositeClasses2 extends GenCompositeClasses implements
+ ChildGenerator {
+
+ /**
+ * This SINGLETON is used in CrCircularComposition.
+ *
+ */
+ private static final GenCompositeClasses2 SINGLETON =
+ new GenCompositeClasses2();
+
+ /**
+ * @return Return the singleton
+ */
+ public static GenCompositeClasses2 getInstance() {
+ return SINGLETON;
+ }
+
+ public Iterator childIterator(Object parent) {
+ return collectChildren(parent).iterator();
+ }
+
+}
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=980898
To unsubscribe from this discussion, e-mail: [[email protected]].