svn commit: r17931 - trunk/src/argouml-app: . META-INF lib src/org/argouml/persistence tools/eclipse

Bob Tarling <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: bobtarling
Date: 2010-01-30 03:37:27-0800
New Revision: 17931

Added:
   trunk/src/argouml-app/lib/gef-0.13.1.jar   (contents, props changed)
Modified:
   trunk/src/argouml-app/.classpath
   trunk/src/argouml-app/META-INF/MANIFEST.MF
   trunk/src/argouml-app/build.properties
   trunk/src/argouml-app/build.xml
   trunk/src/argouml-app/lib/.classpath
   trunk/src/argouml-app/lib/build.properties
   trunk/src/argouml-app/src/org/argouml/persistence/PGMLStackParser.java
   trunk/src/argouml-app/tools/eclipse/ArgoUML DEBUG.launch
   trunk/src/argouml-app/tools/eclipse/ArgoUML Languages.launch
   trunk/src/argouml-app/tools/eclipse/ArgoUML with all delivered modules.launch
   trunk/src/argouml-app/tools/eclipse/ArgoUML.launch

Log:
Latest GEF release together with PGMLStackParser fix that relies on that GEF release

Modified: trunk/src/argouml-app/.classpath
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/.classpath?view=diff&pathrev=17931&r1=17930&r2=17931
==============================================================================
--- trunk/src/argouml-app/.classpath	(original)
+++ trunk/src/argouml-app/.classpath	2010-01-30 03:37:27-0800
@@ -5,7 +5,7 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry exported="true" kind="lib" path="lib/commons-logging-1.0.2.jar"/>
-	<classpathentry exported="true" kind="lib" path="lib/gef-0.13.1M3.jar" sourcepath="/gef/src"/>
+	<classpathentry exported="true" kind="lib" path="lib/gef-0.13.1.jar" sourcepath="/gef/src"/>
 	<classpathentry exported="true" kind="lib" path="lib/ocl-argo-1.1.jar"/>
 	<classpathentry exported="true" kind="lib" path="lib/swidgets-0.1.4.jar" sourcepath="/swidgets/src"/>
 	<classpathentry exported="true" kind="lib" path="lib/toolbar-1.4.1-20071227.jar" sourcepath="/toolbar/src"/>

Modified: trunk/src/argouml-app/META-INF/MANIFEST.MF
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/META-INF/MANIFEST.MF?view=diff&pathrev=17931&r1=17930&r2=17931
==============================================================================
--- trunk/src/argouml-app/META-INF/MANIFEST.MF	(original)
+++ trunk/src/argouml-app/META-INF/MANIFEST.MF	2010-01-30 03:37:27-0800
@@ -142,7 +142,7 @@
 Eclipse-RegisterBuddy: org.argouml.core.infra
 Eclipse-BuddyPolicy: registered
 Bundle-ClassPath: lib/commons-logging-1.0.2.jar,
- lib/gef-0.13.1M3.jar,
+ lib/gef-0.13.1.jar,
  lib/ocl-argo-1.1.jar,
  lib/swidgets-0.1.4.jar,
  lib/toolbar-1.4.1-20071227.jar,

Modified: trunk/src/argouml-app/build.properties
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/build.properties?view=diff&pathrev=17931&r1=17930&r2=17931
==============================================================================
--- trunk/src/argouml-app/build.properties	(original)
+++ trunk/src/argouml-app/build.properties	2010-01-30 03:37:27-0800
@@ -4,7 +4,7 @@
 bin.includes = META-INF/,\
                .,\
                lib/commons-logging-1.0.2.jar,\
-               lib/gef-0.13.1M3.jar,\
+               lib/gef-0.13.1.jar,\
                lib/ocl-argo-1.1.jar,\
                lib/swidgets-0.1.4.jar,\
                lib/toolbar-1.4.1-20071227.jar,\

Modified: trunk/src/argouml-app/build.xml
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/build.xml?view=diff&pathrev=17931&r1=17930&r2=17931
==============================================================================
--- trunk/src/argouml-app/build.xml	(original)
+++ trunk/src/argouml-app/build.xml	2010-01-30 03:37:27-0800
@@ -721,7 +721,7 @@
          -->
         <include name="lib/commons-logging-1.0.2.jar"/>
         <include name="lib/commons-logging.LICENSE.txt"/>
-        <include name="lib/gef-0.13.1M3.jar"/>
+        <include name="lib/gef-0.13.1.jar"/>
         <include name="lib/gef.LICENSE.txt"/>
         <include name="lib/ocl-argo-1.1.jar"/>
         <include name="lib/ocl-argo.LICENSE.txt"/>

Modified: trunk/src/argouml-app/lib/.classpath
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/lib/.classpath?view=diff&pathrev=17931&r1=17930&r2=17931
==============================================================================
--- trunk/src/argouml-app/lib/.classpath	(original)
+++ trunk/src/argouml-app/lib/.classpath	2010-01-30 03:37:27-0800
@@ -8,6 +8,6 @@
 	<classpathentry exported="true" kind="lib" path="swidgets-0.1.4.jar"/>
 	<classpathentry exported="true" kind="lib" path="toolbar-1.4.1-20071227.jar" sourcepath="/toolbar"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry exported="true" kind="lib" path="gef-0.13.1M3.jar" sourcepath="/gef"/>
+	<classpathentry exported="true" kind="lib" path="gef-0.13.1.jar" sourcepath="/gef"/>
 	<classpathentry kind="output" path="build-eclipse"/>
 </classpath>

Modified: trunk/src/argouml-app/lib/build.properties
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/lib/build.properties?view=diff&pathrev=17931&r1=17930&r2=17931
==============================================================================
--- trunk/src/argouml-app/lib/build.properties	(original)
+++ trunk/src/argouml-app/lib/build.properties	2010-01-30 03:37:27-0800
@@ -5,4 +5,4 @@
                ocl-argo-1.1.jar,\
                swidgets-0.1.4.jar,\
                toolbar-1.4.jar,\
-               gef-0.13.1M3.jar
+               gef-0.13.1.jar

Added: trunk/src/argouml-app/lib/gef-0.13.1.jar
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/lib/gef-0.13.1.jar?view=markup&pathrev=17931
==============================================================================
Binary file. No diff available.

Modified: trunk/src/argouml-app/src/org/argouml/persistence/PGMLStackParser.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/persistence/PGMLStackParser.java?view=diff&pathrev=17931&r1=17930&r2=17931
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/persistence/PGMLStackParser.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/persistence/PGMLStackParser.java	2010-01-30 03:37:27-0800
@@ -7,12 +7,12 @@
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
- *    mvw
+ *    Michiel Van Der Wulp
+ *    Bob Tarling
  *****************************************************************************
  *
  * Some portions of this file was previously release using the BSD License:
  */
-
 // Copyright (c) 2005-2009 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
@@ -64,23 +64,11 @@
 import org.tigris.gef.persistence.pgml.Container;
 import org.tigris.gef.persistence.pgml.FigEdgeHandler;
 import org.tigris.gef.persistence.pgml.FigGroupHandler;
-import org.tigris.gef.persistence.pgml.FigLineHandler;
-import org.tigris.gef.persistence.pgml.FigPolyHandler;
-import org.tigris.gef.persistence.pgml.FigTextHandler;
-import org.tigris.gef.persistence.pgml.HandlerFactory;
 import org.tigris.gef.persistence.pgml.HandlerStack;
-import org.tigris.gef.persistence.pgml.PrivateHandler;
 import org.tigris.gef.presentation.Fig;
-import org.tigris.gef.presentation.FigCircle;
 import org.tigris.gef.presentation.FigEdge;
 import org.tigris.gef.presentation.FigGroup;
-import org.tigris.gef.presentation.FigLine;
 import org.tigris.gef.presentation.FigNode;
-import org.tigris.gef.presentation.FigPoly;
-import org.tigris.gef.presentation.FigRRect;
-import org.tigris.gef.presentation.FigRect;
-import org.tigris.gef.presentation.FigText;
-import org.tigris.gef.util.ColorFactory;
 import org.xml.sax.Attributes;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
@@ -103,8 +91,6 @@
     private LinkedHashMap<FigEdge, Object> modelElementsByFigEdge =
         new LinkedHashMap<FigEdge, Object>(50);
 
-    // TODO: Do we need this? Its not being used everywhere. If we keep is it
-    // safe to use in all other places?
     private DiagramSettings diagramSettings;
 
     // TODO: Use stylesheet to convert or wait till we use Fig
@@ -112,7 +98,7 @@
     // What is the last version that used FigNote?
     private void addTranslations() {
         addTranslation("org.argouml.uml.diagram.ui.FigNote",
-        	"org.argouml.uml.diagram.static_structure.ui.FigComment");
+                "org.argouml.uml.diagram.static_structure.ui.FigComment");
         addTranslation("org.argouml.uml.diagram.static_structure.ui.FigNote",
             "org.argouml.uml.diagram.static_structure.ui.FigComment");
         addTranslation("org.argouml.uml.diagram.state.ui.FigState",
@@ -176,12 +162,12 @@
             owner = findOwner(href);
             if (owner == null) {
                 LOG.warn("Found href of " 
-                	+ href
-                	+ " with no matching element in model");
+                        + href
+                        + " with no matching element in model");
                 return null;
             }
         }
-	
+        
         // Ignore non-private elements within FigNode groups
         if (container instanceof FigGroupHandler) {
             FigGroup group = ((FigGroupHandler) container).getFigGroup();
@@ -196,7 +182,7 @@
         }
         
         DefaultHandler handler =
-            getHandlerSuper(stack, container, uri, localname, qname,
+            super.getHandler(stack, container, uri, localname, qname,
                     attributes);
 
         if (handler instanceof FigEdgeHandler) {
@@ -259,7 +245,7 @@
             if (modelElement == null) {
                 LOG.error("Can't find href of " + href);
                 throw new SAXException("Found href of " + href
-				       + " with no matching element in model");
+                                       + " with no matching element in model");
             }
             // The owner should always have already been set in the constructor
             if (f.getOwner() != modelElement) {
@@ -271,7 +257,7 @@
                 }
             } else {
                 LOG.debug("Ignoring href on " + f.getClass().getName()
-			 + " as it's already set");
+                         + " as it's already set");
             }
         }
     }
@@ -446,9 +432,9 @@
             }
 
             if (sourcePortFig == null
-            	|| destPortFig == null 
-            	|| sourceFigNode == null 
-            	|| destFigNode == null) {
+                || destPortFig == null 
+                || sourceFigNode == null 
+                || destFigNode == null) {
                 LOG.error("Can't find nodes for FigEdge: "
                         + edge.getId() + ":"
                         + edge.toString());
@@ -625,227 +611,6 @@
     }
 
     /**
-     * Returns ContentHandler objects appropriate for the standard set of
-     * elements that can appear within a PGML file.
-     * <p>
-     * 
-     * First, the <em>description</em> attribute is checked for a PGML-style
-     * class name specifier; if one is found, it is passed through the
-     * {@link #translateType translateClassName} method and the resulting class
-     * name is instantiated. If the resulting object is itself an instance of
-     * {@link HandlerFactory}, the method returns the result of calling
-     * {@link HandlerFactory#getHandler getHandler} on that object with the same
-     * arguments. This allows a Fig object to take complete control of its own
-     * parsing without imposing any change on the global parsing framework.
-     * <p>
-     * 
-     * If the element doesn't incorporate a class name, or if the instanced
-     * object does not implement {@link HandlerFactory}, the element name is
-     * compared with one of PGML's special element names. If a known element
-     * name is found, either the element is processed immediately and null
-     * returned, or the appropriate handler for that element is returned. If the
-     * element name is unknown, null is returned.
-     * <p>
-     * 
-     * @param stack
-     *                Implementation of the stack of content handlers
-     * @param container
-     *                An object that provides context for the element (most
-     *                often by providing an implementation of the
-     *                {@link Container} interface.
-     * @param uri
-     *                SAX uri argument
-     * @param localname
-     *                SAX local element name
-     * @param qname
-     *                SAX qualified element name
-     * @param attributes
-     *                The attributes that the SAX parser have identified for the
-     *                element.
-     * @return ContentHandler object appropriate for the element, or null if the
-     *         element can be skipped
-     * 
-     * @see org.tigris.gef.persistence.pgml.HandlerFactory#getHandler(
-     *      org.argouml.gef.HandlerStack, java.lang.Object, java.lang.String,
-     *      java.lang.String, java.lang.String, org.xml.sax.Attributes)
-     */
-    public DefaultHandler getHandlerSuper(HandlerStack stack, Object container,
-            String uri, String localname, String qname, Attributes attributes)
-            throws SAXException {
-
-        String href = attributes.getValue("href");
-
-        String clsNameBounds = attributes.getValue("description");
-        Object elementInstance = null;
-        if (clsNameBounds != null) {
-
-            StringTokenizer st = new StringTokenizer(clsNameBounds, ",;[] ");
-            String clsName = translateType(st.nextToken());
-            elementInstance = constructFig(clsName, href,
-                    getBounds(clsNameBounds), attributes);
-            if (elementInstance instanceof HandlerFactory) {
-                return ((HandlerFactory) elementInstance).getHandler(stack,
-                        container, uri, localname, qname, attributes);
-            }
-        }
-
-        // If we got here, one of the built-in handlers will apply
-        if (qname.equals("group")) {
-            if (elementInstance instanceof FigGroup) {
-                return getGroupHandler(container, (FigGroup) elementInstance,
-                        attributes);
-            }
-            if (elementInstance instanceof FigEdge) {
-                setAttrs((FigEdge) elementInstance, attributes);
-                if (container instanceof Container) {
-                    ((Container) container).addObject(elementInstance);
-                }
-                return new FigEdgeHandler(this, (FigEdge) elementInstance);
-            }
-        }
-
-        if (qname.equals("text")) {
-            if (elementInstance == null) {
-                elementInstance = new FigText(0, 0, 100, 100);
-            }
-            if (elementInstance instanceof FigText) {
-                FigText text = (FigText) elementInstance;
-                setAttrs(text, attributes);
-                if (container instanceof Container) {
-                    ((Container) container).addObject(text);
-                }
-                String font = attributes.getValue("font");
-                if (font != null && !font.equals("")) {
-                    text.setFontFamily(font);
-                }
-
-                String textsize = attributes.getValue("textsize");
-                if (textsize != null && !textsize.equals("")) {
-                    int textsizeInt = Integer.parseInt(textsize);
-                    text.setFontSize(textsizeInt);
-                }
-
-                String justification = attributes.getValue("justification");
-                if (justification != null && !justification.equals("")) {
-                    text.setJustificationByName(justification);
-                }
-                String italic = attributes.getValue("italic");
-                if (italic != null && !italic.equals("")) {
-                    text.setItalic(Boolean.valueOf(italic).booleanValue());
-                }
-                String bold = attributes.getValue("bold");
-                if (bold != null && !bold.equals("")) {
-                    text.setBold(Boolean.valueOf(bold).booleanValue());
-                }
-
-                String textColor = attributes.getValue("textcolor");
-                if (textColor != null && !textColor.equals("")) {
-                    text.setTextColor(ColorFactory.getColor(textColor));
-                }
-
-                return new FigTextHandler(this, text);
-            }
-        }
-
-        if (qname.equals("path") || qname.equals("line")) {
-            if (elementInstance == null) {
-                elementInstance = new FigPoly();
-            }
-            if (elementInstance instanceof FigLine) {
-                setAttrs((Fig) elementInstance, attributes);
-                if (container instanceof Container) {
-                    ((Container) container).addObject(elementInstance);
-                }
-                return new FigLineHandler(this, (FigLine) elementInstance);
-            }
-            if (elementInstance instanceof FigPoly) {
-                setAttrs((Fig) elementInstance, attributes);
-                if (container instanceof Container) {
-                    ((Container) container).addObject(elementInstance);
-                }
-                return new FigPolyHandler(this, (FigPoly) elementInstance);
-            }
-        }
-
-        if (qname.equals("private")) {
-            if (elementInstance != null) {
-                LOG.warn("private element unexpectedly generated instance: "
-                        + elementInstance.toString());
-            }
-            if (container instanceof Container) {
-                return new PrivateHandler(this, (Container) container);
-            } else {
-                LOG.warn("private element with inappropriate container: "
-                        + container.toString());
-            }
-        }
-
-        if (qname.equals("rectangle")) {
-            String cornerRadius = attributes.getValue("rounding");
-            int rInt = -1;
-            if (cornerRadius != null && cornerRadius.length() > 0) {
-                rInt = Integer.parseInt(cornerRadius);
-            }
-            if (elementInstance == null) {
-                if (rInt >= 0) {
-                    elementInstance = new FigRRect(0, 0, 80, 80);
-                } else {
-                    elementInstance = new FigRect(0, 0, 80, 80);
-                }
-            }
-            if (elementInstance instanceof FigRRect && rInt >= 0) {
-                ((FigRRect) elementInstance).setCornerRadius(rInt);
-            }
-            if (elementInstance instanceof Fig) {
-                setAttrs((Fig) elementInstance, attributes);
-                if (container instanceof Container) {
-                    ((Container) container).addObject(elementInstance);
-                }
-                return null;
-            }
-        }
-
-        if (qname.equals("ellipse")) {
-            System.out.println("Found an ellipse");
-            if (elementInstance == null) {
-                System.out.println("Created a FigCircle");
-                elementInstance = new FigCircle(0, 0, 50, 50);
-            }
-            if (elementInstance instanceof FigCircle) {
-                FigCircle f = (FigCircle) elementInstance;
-                setAttrs(f, attributes);
-                String rx = attributes.getValue("rx");
-                String ry = attributes.getValue("ry");
-                int rxInt = (rx == null || rx.equals("")) ? 10 : Integer
-                        .parseInt(rx);
-                int ryInt = (ry == null || ry.equals("")) ? 10 : Integer
-                        .parseInt(ry);
-                f.setBounds(f.getX() - rxInt, f.getY() - ryInt, rxInt * 2,
-                        ryInt * 2);
-                if (container instanceof Container) {
-                    ((Container) container).addObject(elementInstance);
-                }
-
-                return null;
-            }
-        }
-
-        // Don't know what to do; throw up our hands--usually this
-        // will mean that sub-elements are ignored
-        LOG.info("Unrecognized element " + qname);
-        if (elementInstance != null) {
-            // Implement reasonable default behavior
-            if (elementInstance instanceof Fig) {
-                setAttrs((Fig) elementInstance, attributes);
-            }
-            if (container instanceof Container) {
-                ((Container) container).addObject(elementInstance);
-            }
-        }
-        return null;
-    }
-    
-    /**
      * Construct a new instance of the named Fig with the owner represented
      * by the given href and the bounds parsed from the PGML file.  We look
      * for constructors of the form Fig(Object owner, Rectangle
@@ -859,18 +624,18 @@
      * @param className fully qualified name of class to instantiate
      * @param href string representing UUID of owning element
      * @param bounds position and size of figure
-     * @param attributes the XML attributes that made up the top level element
-     * in PGML
      * @return
      * @throws SAXException
+     * @see org.tigris.gef.persistence.pgml.PGMLStackParser#constructFig(java.lang.String, java.lang.String, java.awt.Rectangle)
      */
-    private Fig constructFig(
+    @Override
+    protected Fig constructFig(
             final String className,
             final String href,
             final Rectangle bounds,
             final Attributes attributes)
         throws SAXException {
-	
+        
         final DiagramSettings diagramSettings =
             ((ArgoDiagram) getDiagram()).getDiagramSettings();
 
@@ -880,14 +645,21 @@
             
             final Constructor[] constructors = figClass.getConstructors();
             
+            // We are looking first to match with 3 different constructor
+            // types. We would not expect a Fig to have any mix of these.
+            // Any constructor other than these should be deprecated so we
+            // look for these first.
+            // Fig(DiagramEdgeSettings, DiagramSettings)
+            // Fig(Object, Rectangle, DiagramSettings)
+            // Fig(Rectangle, DiagramSettings)
             for (Constructor constructor : constructors) {
                 Class[] parameterTypes = constructor.getParameterTypes();
-                // FigNodeModelElements should match here
                 if (parameterTypes.length == 3
                         && parameterTypes[0].equals(Object.class)
                         && parameterTypes[1].equals(Rectangle.class)
                         && parameterTypes[2].equals(DiagramSettings.class)
                 ) {
+                    // FigNodeModelElements should match here
                     final Object parameters[] = new Object[3];
                     final Object owner = getOwner(className, href);
                     if (owner == null) {
@@ -899,12 +671,11 @@
                     
                     constructor.setAccessible(true);
                     f =  (Fig) constructor.newInstance(parameters);
-                }
-                // FigEdgeModelElements should match here (they have no bounds)
-                if (parameterTypes.length == 2
+                } else if (parameterTypes.length == 2
                         && parameterTypes[0].equals(DiagramEdgeSettings.class)
                         && parameterTypes[1].equals(DiagramSettings.class)
                 ) {
+                    // FigEdgeModelElements should match here (they have no bounds)
                     final Object parameters[] = new Object[2];
                     final Object owner = getOwner(className, href);
                     if (owner == null) {
@@ -933,14 +704,13 @@
 
                     constructor.setAccessible(true);
                     f =  (Fig) constructor.newInstance(parameters);
-                }
-                // A FigNodeModelElement with no owner should match here
-                // TODO: This is a temporary solution due to FigPool extending
-                // FigNodeModelElement when in fact it should not do so.
-                if (parameterTypes.length == 2
+                } else if (parameterTypes.length == 2
                         && parameterTypes[0].equals(Rectangle.class)
                         && parameterTypes[1].equals(DiagramSettings.class)
                 ) {
+                    // A FigNodeModelElement with no owner should match here
+                    // TODO: This is a temporary solution due to FigPool extending
+                    // FigNodeModelElement when in fact it should not do so.
                     Object parameters[] = new Object[2];
                     parameters[0] = bounds;
                     parameters[1] = diagramSettings;
@@ -950,8 +720,13 @@
                 }
             }
             if (f == null) {
-                // FigEdgeModelElements with the old style constructor should
-                // match here (they have no bounds)
+                // If no Fig was created by the code above then we must go
+                // look for the old style constructor that should have fallen
+                // into disuse by now.
+                // Fig(Object, Rectangle, DiagramSettings)
+                // All of these constructors should have been deprecated
+                // at least and replaced with the new signature. This is
+                // here for paranoia only until all Figs have been reviewed.
                 for (Constructor constructor : constructors) {
                     Class[] parameterTypes = constructor.getParameterTypes();
                     if (parameterTypes.length == 2
@@ -969,6 +744,8 @@
 
                         constructor.setAccessible(true);
                         f =  (Fig) constructor.newInstance(parameters);
+                        LOG.warn("Fig created by old style constructor " + f.getClass().getName());
+                        break;
                     }
                 }
             }
@@ -985,14 +762,12 @@
         // Fall back to GEF's handling if we couldn't find an appropriate
         // constructor
         if (f == null) {
-            // TODO: Convert this to a warning or error when all the Figs
-            // have been upgraded.
-            LOG.debug("No ArgoUML constructor found for " + className
+            LOG.warn("No ArgoUML constructor found for " + className
                     + " falling back to GEF's default constructors");
-            f = constructFig(className, href, bounds);
+            f = super.constructFig(className, href, bounds, attributes);
         }
         
-	return f;
+        return f;
     }
     
     /**
@@ -1020,82 +795,6 @@
     }
     
     /**
-     * @param container
-     * @param group
-     * @param attributes
-     * @return
-     * @throws SAXException
-     */
-    private DefaultHandler getGroupHandler(Object container, FigGroup group,
-            Attributes attributes) throws SAXException {
-        if (container instanceof Container) {
-            ((Container) container).addObject(group);
-        }
-        StringTokenizer st = new StringTokenizer(attributes
-                .getValue("description"), ",;[] ");
-        setAttrs(group, attributes);
-        if (st.hasMoreElements()) {
-            st.nextToken();
-        }
-        String xStr = null;
-        String yStr = null;
-        String wStr = null;
-        String hStr = null;
-        if (st.hasMoreElements()) {
-            xStr = st.nextToken();
-            yStr = st.nextToken();
-            wStr = st.nextToken();
-            hStr = st.nextToken();
-        }
-        if (xStr != null && !xStr.equals("")) {
-            int x = Integer.parseInt(xStr);
-            int y = Integer.parseInt(yStr);
-            int w = Integer.parseInt(wStr);
-            int h = Integer.parseInt(hStr);
-            group.setBounds(x, y, w, h);
-        }
-        return new FigGroupHandler(this, group);
-    }
-
-    /**
-     * Retrieve a bounds Rectangle from its description where the description is
-     * in the form "anything[x,y,w,h]anything"
-     * 
-     * @param boundsDescription
-     * @return a bounds Rectangle or null is invalid
-     */
-    Rectangle getBounds(String boundsDescription) {
-        try {
-            int bracketPosn = boundsDescription.indexOf('[');
-            if (bracketPosn < 0)
-                return null;
-            boundsDescription = boundsDescription.substring(bracketPosn + 1);
-            StringTokenizer st = new StringTokenizer(boundsDescription, ", ]");
-            String xStr = null;
-            String yStr = null;
-            String wStr = null;
-            String hStr = null;
-            if (st.hasMoreElements()) {
-                xStr = st.nextToken();
-                yStr = st.nextToken();
-                wStr = st.nextToken();
-                hStr = st.nextToken();
-            }
-            if (xStr != null && !xStr.equals("")) {
-                int x = Integer.parseInt(xStr);
-                int y = Integer.parseInt(yStr);
-                int w = Integer.parseInt(wStr);
-                int h = Integer.parseInt(hStr);
-                return new Rectangle(x, y, w, h);
-            }
-        } catch (Exception e) {
-            LOG.warn("Exception extracting bounds from description", e);
-        }
-        return null;
-    }
-    
-    
-    /**
      * Save the newly created Diagram for use by the parser.  We take the 
      * opportunity to attach our default diagram settings to it so we'll have
      * them if needed when constructing Figs.

Modified: trunk/src/argouml-app/tools/eclipse/ArgoUML DEBUG.launch
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/tools/eclipse/ArgoUML%20DEBUG.launch?view=diff&pathrev=17931&r1=17930&r2=17931
==============================================================================
--- trunk/src/argouml-app/tools/eclipse/ArgoUML DEBUG.launch	(original)
+++ trunk/src/argouml-app/tools/eclipse/ArgoUML DEBUG.launch	2010-01-30 03:37:27-0800
@@ -28,7 +28,7 @@
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;argouml-app&quot; type=&quot;1&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/antlr-2.7.7.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/commons-logging-1.0.2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/gef-0.13.1M3.jar&quot; path=&quot;3&quot; sourceAttachmentPath=&quot;/gef/src&quot; sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/gef-0.13.1.jar&quot; path=&quot;3&quot; sourceAttachmentPath=&quot;/gef/src&quot; sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/ocl-argo-1.1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/swidgets-0.1.4.jar&quot; path=&quot;3&quot; sourceAttachmentPath=&quot;/swidgets/src&quot; sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/toolbar-1.4.1-20071227.jar&quot; path=&quot;3&quot; sourceAttachmentPath=&quot;/toolbar/src&quot; sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

Modified: trunk/src/argouml-app/tools/eclipse/ArgoUML Languages.launch
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/tools/eclipse/ArgoUML%20Languages.launch?view=diff&pathrev=17931&r1=17930&r2=17931
==============================================================================
--- trunk/src/argouml-app/tools/eclipse/ArgoUML Languages.launch	(original)
+++ trunk/src/argouml-app/tools/eclipse/ArgoUML Languages.launch	2010-01-30 03:37:27-0800
@@ -39,7 +39,7 @@
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;argouml-module-php&quot; type=&quot;1&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;argouml-module-ruby&quot; type=&quot;1&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;argouml-module-sql&quot; type=&quot;1&quot;/&gt;&#13;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/gef-0.13.1M3.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/gef-0.13.1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;argouml-core-umlpropertypanels&quot; type=&quot;1&quot;/&gt;&#13;&#10;"/>
 </listAttribute>
 <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>

Modified: trunk/src/argouml-app/tools/eclipse/ArgoUML with all delivered modules.launch
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/tools/eclipse/ArgoUML%20with%20all%20delivered%20modules.launch?view=diff&pathrev=17931&r1=17930&r2=17931
==============================================================================
--- trunk/src/argouml-app/tools/eclipse/ArgoUML with all delivered modules.launch	(original)
+++ trunk/src/argouml-app/tools/eclipse/ArgoUML with all delivered modules.launch	2010-01-30 03:37:27-0800
@@ -28,7 +28,7 @@
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;argouml-app&quot; type=&quot;1&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/antlr-2.7.7.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/commons-logging-1.0.2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/gef-0.13.1M3.jar&quot; path=&quot;3&quot; sourceAttachmentPath=&quot;/gef/src&quot; sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/gef-0.13.1.jar&quot; path=&quot;3&quot; sourceAttachmentPath=&quot;/gef/src&quot; sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/ocl-argo-1.1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/swidgets-0.1.4.jar&quot; path=&quot;3&quot; sourceAttachmentPath=&quot;/swidgets/src&quot; sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/toolbar-1.4.1-20071227.jar&quot; path=&quot;3&quot; sourceAttachmentPath=&quot;/toolbar/src&quot; sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

Modified: trunk/src/argouml-app/tools/eclipse/ArgoUML.launch
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/tools/eclipse/ArgoUML.launch?view=diff&pathrev=17931&r1=17930&r2=17931
==============================================================================
--- trunk/src/argouml-app/tools/eclipse/ArgoUML.launch	(original)
+++ trunk/src/argouml-app/tools/eclipse/ArgoUML.launch	2010-01-30 03:37:27-0800
@@ -28,7 +28,7 @@
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;argouml-app&quot; type=&quot;1&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/antlr-2.7.7.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/commons-logging-1.0.2.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/gef-0.13.1M3.jar&quot; path=&quot;3&quot; sourceAttachmentPath=&quot;/gef/src&quot; sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/gef-0.13.1.jar&quot; path=&quot;3&quot; sourceAttachmentPath=&quot;/gef/src&quot; sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/ocl-argo-1.1.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/swidgets-0.1.4.jar&quot; path=&quot;3&quot; sourceAttachmentPath=&quot;/swidgets/src&quot; sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/argouml-app/lib/toolbar-1.4.1-20071227.jar&quot; path=&quot;3&quot; sourceAttachmentPath=&quot;/toolbar/src&quot; sourceRootPath=&quot;&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>

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

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.