Hello all!

     We use a custom ArgoUML build (currently of 0.28.1) - essentially 
just a minor change by "thn" (revision 17025, see link below) that makes 
it possible to save all graphics from the command-line. Combined with a 
simple commit script, and now we have a SVN repository of ArgoUML 
projects that automatically generate pictures of themselves into a 
folder, which gets served over Apache. This allows us to have a 
browser-viewable set of images always showing the latest revision of the 
UML. This is very convenient for our team, and our main reason for using 
ArgoUML.

     The command we use is pretty vanilla, just open the project and 
export all in batch mode (put in your own locations at the ... marks):
     java -jar ...argouml.jar -batch -command 
"org.argouml.uml.ui.ActionOpenProject=....example.zargo" -command 
"org.argouml.uml.ui.ActionSaveAllGraphics=..../exampleEmptyFolder"

     And this works perfectly in most cases. However, any project with a 
Sequence diagram causes this exception:
     org.argouml.persistence.OpenException: 
java.lang.ClassNotFoundException: 
org.argouml.sequence2.diagram.UMLSequenceDiagram
     (plus a lengthy stack traced, attached to this email).

     Replicating this error is pretty easy:
         svn checkout 
http://argouml.tigris.org/svn/argouml/releases/VERSION_0_28_1/src 
argouml/src --username guest
         svn checkout 
http://argouml.tigris.org/svn/argouml/releases/VERSION_0_28_1/tools 
argouml/tools --username guest
         Apply the diff linked below (one file), easy enough to do manually
         Build project with "argouml\src\argouml-build\build.sh" or 
similar "build.bat"
         Newly-built project appears in "argouml\src\argouml-build\build"
         Use the java command above on any ArgoUML project without a 
Sequence diagram to see it generate PNG images for each diagram
         Use the java command above on any ArgoUML project with a 
Sequence diagram to see it fail

     The diff link:
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/ActionSaveAllGraphics.java?view=diff&r1=17024&r2=17025&pathrev=17025&diff_format=l

     This seems strange, since presumably the only difference from the 
official releases is that tiny feature added (like 30 lines). To confuse 
matters, the class source it can't find 
(org.argouml.sequence2.diagram.UMLSequenceDiagram) clearly exists in the 
checkouts we build from (in the
"argouml\src\argouml-core-diagrams-sequence2\src\org\argouml\sequence2\diagram" 
folder).

     For convenience I also attached the exact modified file, 
"argouml\src\argouml-app\src\org\argouml\uml\ui\ActionSaveAllGraphics.java" 
so you don't have to apply the diff manually. I am familiar with Java, 
but I'm confused since opening the project in GUI mode produces the same 
error, yet in the official builds I can open the project just fine. Am I 
doing some portion of the build process wrong?

     Any help is appreciated!

Nathaniel Kofalt

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

To unsubscribe from this discussion, e-mail: 
[[email protected]].
// $Id: ActionSaveAllGraphics.java 16011 2008-11-10 20:25:22Z tfmorris $
// 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.

package org.argouml.uml.ui;

import java.awt.event.ActionEvent;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;

import org.apache.log4j.Logger;
import org.argouml.application.api.CommandLineInterface;
import org.argouml.application.events.ArgoEventPump;
import org.argouml.application.events.ArgoEventTypes;
import org.argouml.application.events.ArgoStatusEvent;
import org.argouml.configuration.Configuration;
import org.argouml.i18n.Translator;
import org.argouml.kernel.Project;
import org.argouml.kernel.ProjectManager;
import org.argouml.ui.targetmanager.TargetManager;
import org.argouml.uml.diagram.ArgoDiagram;
import org.argouml.uml.diagram.DiagramUtils;
import org.argouml.util.ArgoFrame;
import org.argouml.util.SuffixFilter;
import org.tigris.gef.base.Diagram;
import org.tigris.gef.base.SaveGraphicsAction;
import org.tigris.gef.util.Util;

/**
 * Wraps a SaveGraphicsAction allow selection of an output directory to which
 * all diagrams will be written. Introduced thanks to issue 2126. Saves diagrams
 * only using the default format.
 * <p>
 * 
 * TODO: Add a user choice for other formats (PNG, SVG,...) <p>
 * 
 * @author Leonardo Souza Mario Bueno ([email protected])
 */

public class ActionSaveAllGraphics extends AbstractAction implements 
CommandLineInterface {
    private static final Logger LOG =
        Logger.getLogger(ActionSaveAllGraphics.class);
    
    private boolean overwrite;

    /**
     * The constructor.
     *
     */
    public ActionSaveAllGraphics() {
        super(Translator.localize("action.save-all-graphics"),
                null);
        // Set the tooltip string:
        putValue(Action.SHORT_DESCRIPTION, 
                Translator.localize("action.save-all-graphics"));
    }

    public void actionPerformed( ActionEvent ae ) {
        trySave( false );
    }

    /**
     * @param canOverwrite true if we can overwrite without asking
     * @return success
     */
    public boolean trySave(boolean canOverwrite) {
        return trySave(canOverwrite, null);
    }
    
    /**
     * @param canOverwrite
     *            true if we can overwrite without asking
     * @param directory
     *            directory to save to. If null, user will be prompted to
     *            choose.
     * @return success save status
     */
    public boolean trySave(boolean canOverwrite, File directory) {
        overwrite = canOverwrite;
        Project p =  ProjectManager.getManager().getCurrentProject();
        TargetManager tm = TargetManager.getInstance();
        File saveDir = (directory != null) ? directory : getSaveDir(p);
        if (saveDir == null) {
            /* The user cancelled! */
            return false;
        }
        boolean okSoFar = true;
        ArgoDiagram activeDiagram = DiagramUtils.getActiveDiagram();
        for (ArgoDiagram d : p.getDiagramList()) {
            tm.setTarget(d);
            okSoFar = trySaveDiagram(d, saveDir);
            if (!okSoFar) {
                break;
            }
        }
        tm.setTarget(activeDiagram);
        return okSoFar;
    }

    /**
     * @param target the diagram
     * @param saveDir the directory to save to
     * @return continue exporting diagrams if true
     */
    protected boolean trySaveDiagram(Object target,
            File saveDir) {
        if ( target instanceof Diagram ) {
            String defaultName = ((Diagram) target).getName();
            defaultName = Util.stripJunk(defaultName);
            // TODO: It's probably worthwhile to abstract and factor
            // this chooser and directory stuff. More file handling is
            // coming, I'm sure.
            try {
                File theFile = new File(saveDir, defaultName + "."
                    + SaveGraphicsManager.getInstance().getDefaultSuffix());
                String name = theFile.getName();
                String path = theFile.getParent();
                SaveGraphicsAction cmd = SaveGraphicsManager.getInstance()
                    .getSaveActionBySuffix(
                        SaveGraphicsManager.getInstance().getDefaultSuffix());
                if (cmd == null) {
                    showStatus("Unknown graphics file type with extension "
                            + SaveGraphicsManager.getInstance()
                                    .getDefaultSuffix());
                    return false;
                }
                showStatus( "Writing " + path + name + "..." );
                boolean result = saveGraphicsToFile(theFile, cmd);
                showStatus( "Wrote " + path + name );
                return result;
            }
            catch ( FileNotFoundException ignore ) {
                LOG.error("got a FileNotFoundException", ignore);
            }
            catch ( IOException ignore ) {
                LOG.error("got an IOException", ignore);
            }
        }
        return false;
    }


    /**
     * @param p the current project
     * @return returns null if the user did not approve his choice
     */
    protected File getSaveDir(Project p) {
        JFileChooser chooser = getFileChooser(p);

        String fn = Configuration.getString(
                SaveGraphicsManager.KEY_SAVEALL_GRAPHICS_PATH);
        if (fn.length() > 0) {
            chooser.setSelectedFile(new File(fn));
        }

        int retval = chooser.showSaveDialog(ArgoFrame.getInstance());

        if ( retval == JFileChooser.APPROVE_OPTION ) {
            File theFile = chooser.getSelectedFile();
            String path = theFile.getPath();
            Configuration.setString(
                    SaveGraphicsManager.KEY_SAVEALL_GRAPHICS_PATH,
                    path);
            return theFile;
        }
        return null;
    }

    /**
     * @param theFile the file to write
     * @param cmd the action to execute to save the graphics
     * @return continue exporting diagrams if true
     * @throws IOException
     */
    private boolean saveGraphicsToFile(File theFile, SaveGraphicsAction cmd) 
        throws IOException {
        if ( theFile.exists() && !overwrite ) {
            String message = Translator.messageFormat(
                    "optionpane.confirm-overwrite",
                    new Object[] {theFile});
            String title = Translator.localize(
                    "optionpane.confirm-overwrite-title"); 
            //Custom button text:
            Object[] options = 
            {Translator.localize(
                    "optionpane.confirm-overwrite.overwrite"), // 0
             Translator.localize(
                    "optionpane.confirm-overwrite.overwrite-all"), // 1
             Translator.localize(
                    "optionpane.confirm-overwrite.skip-this-one"), // 2
             Translator.localize(
                    "optionpane.confirm-overwrite.cancel")}; // 3

            int response = 
                JOptionPane.showOptionDialog(ArgoFrame.getInstance(),
                    message,
                    title,
                    JOptionPane.YES_NO_CANCEL_OPTION,
                    JOptionPane.QUESTION_MESSAGE,
                    null,     //do not use a custom Icon
                    options,  //the titles of buttons
                    options[0]); //default button title

            if (response == 1) {
                overwrite = true;
            }
            if (response == 2) {
                return true;
            }
            if (response == 3) {
                return false;
            }
            if (response == JOptionPane.CLOSED_OPTION) {
                return false;
            }
        }
        FileOutputStream fo = null;
        try {
            fo = new FileOutputStream( theFile );
            cmd.setStream(fo);
            cmd.setScale(Configuration.getInteger(
                    SaveGraphicsManager.KEY_GRAPHICS_RESOLUTION, 1));
            cmd.actionPerformed(null);
        } finally {
            if (fo != null) {
                fo.close();
            }
        }
        return true;
    }

    private JFileChooser getFileChooser(Project p) {
        JFileChooser chooser = null;
        try {
            if ( p != null 
                && p.getURI() != null
                && p.getURI().toURL().getFile().length() > 0 ) {
                chooser = new JFileChooser(p.getURI().toURL().getFile());
            }
        }
        catch ( MalformedURLException ex ) {
            LOG.error("exception in opening JFileChooser", ex);
        }

        if ( chooser == null ) chooser = new JFileChooser();
        chooser.setDialogTitle(
                Translator.localize("filechooser.save-all-graphics"));
        chooser.setDialogType(JFileChooser.OPEN_DIALOG);
        chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        chooser.setMultiSelectionEnabled(false);
        return chooser;
    }

    private void showStatus(String text) {
        ArgoEventPump.fireEvent(new ArgoStatusEvent(
                ArgoEventTypes.STATUS_TEXT, this, text));
    }
            /**
             * Execute this action from the command line.
             *
             * @see 
org.argouml.application.api.CommandLineInterface#doCommand(String)
             * @param argument is the directory name that we save to.
             * @return true if it is OK.
             */
            public boolean doCommand(String argument) {
                File dir = new File(argument);
                if (!dir.exists() || !dir.isDirectory()) {
                    LOG.error("The argument must be a path to an existing 
directory.");
                    return false;
                }
                boolean result = true;
                for (Project p : ProjectManager.getManager().getOpenProjects()) 
{
                    TargetManager tm = TargetManager.getInstance();
                    for (ArgoDiagram d : p.getDiagramList()) {
                        tm.setTarget(d);
                        if (!trySaveDiagram(d, dir)) {
                            result = false;
                        }
                    }
                }
                return result;
            }

}
java -jar %ArgoJar% -batch -command 
"org.argouml.uml.ui.ActionOpenProject=..../example.zargo" -command 
"org.argouml.uml.ui.ActionSaveAllGraphics=...exampleEmptyFolder"
Performing command org.argouml.uml.ui.ActionOpenProject( ...../example.zargo )
Please report the error below to the ArgoUMLdevelopment team at 
http://argouml.tigris.org.
Error opening file : example.zargo

org.argouml.persistence.OpenException: java.lang.ClassNotFoundException: 
org.argouml.sequence2.diagram.UMLSequenceDiagram
        at 
org.argouml.persistence.DiagramMemberFilePersister.load(DiagramMemberFilePersister.java:97)
        at 
org.argouml.persistence.UmlFilePersister.doLoad(UmlFilePersister.java:370)
        at 
org.argouml.persistence.ZargoFilePersister.doLoad(ZargoFilePersister.java:240)
        at org.argouml.ui.ProjectBrowser.loadProject(ProjectBrowser.java:1504)
        at 
org.argouml.uml.ui.ActionOpenProject.doCommand(ActionOpenProject.java:170)
        at org.argouml.application.Main.performCommandsInternal(Main.java:711)
        at org.argouml.application.Main.main(Main.java:178)
Caused by: java.lang.ClassNotFoundException: 
org.argouml.sequence2.diagram.UMLSequenceDiagram
        at 
org.tigris.gef.persistence.pgml.PGMLHandler.initDiagram(PGMLHandler.java:118)
        at 
org.tigris.gef.persistence.pgml.PGMLHandler.<init>(PGMLHandler.java:76)
        at 
org.tigris.gef.persistence.pgml.InitialHandler.startElement(InitialHandler.java:65)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
        at 
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:767)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1359)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(XMLDocumentScannerImpl.java:1317)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3095)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at 
org.tigris.gef.persistence.pgml.PGMLStackParser.readDiagram(PGMLStackParser.java:166)
        at 
org.tigris.gef.persistence.pgml.PGMLStackParser.readDiagram(PGMLStackParser.java:128)
        at 
org.argouml.persistence.PGMLStackParser.readDiagram(PGMLStackParser.java:352)
        at 
org.argouml.persistence.PGMLStackParser.readArgoDiagram(PGMLStackParser.java:341)
        at 
org.argouml.persistence.DiagramMemberFilePersister.load(DiagramMemberFilePersister.java:90)
        ... 6 more
Caused by: java.lang.ClassNotFoundException: 
org.argouml.sequence2.diagram.UMLSequenceDiagram
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at 
org.tigris.gef.persistence.pgml.PGMLHandler.initDiagram(PGMLHandler.java:110)
        ... 27 more
java.lang.ClassNotFoundException: 
org.argouml.sequence2.diagram.UMLSequenceDiagram
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at 
org.tigris.gef.persistence.pgml.PGMLHandler.initDiagram(PGMLHandler.java:110)
        at 
org.tigris.gef.persistence.pgml.PGMLHandler.<init>(PGMLHandler.java:76)
        at 
org.tigris.gef.persistence.pgml.InitialHandler.startElement(InitialHandler.java:65)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
        at 
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:767)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1359)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(XMLDocumentScannerImpl.java:1317)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3095)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at 
org.tigris.gef.persistence.pgml.PGMLStackParser.readDiagram(PGMLStackParser.java:166)
        at 
org.tigris.gef.persistence.pgml.PGMLStackParser.readDiagram(PGMLStackParser.java:128)
        at 
org.argouml.persistence.PGMLStackParser.readDiagram(PGMLStackParser.java:352)
        at 
org.argouml.persistence.PGMLStackParser.readArgoDiagram(PGMLStackParser.java:341)
        at 
org.argouml.persistence.DiagramMemberFilePersister.load(DiagramMemberFilePersister.java:90)
        at 
org.argouml.persistence.UmlFilePersister.doLoad(UmlFilePersister.java:370)
        at 
org.argouml.persistence.ZargoFilePersister.doLoad(ZargoFilePersister.java:240)
        at org.argouml.ui.ProjectBrowser.loadProject(ProjectBrowser.java:1504)
        at 
org.argouml.uml.ui.ActionOpenProject.doCommand(ActionOpenProject.java:170)
        at org.argouml.application.Main.performCommandsInternal(Main.java:711)
        at org.argouml.application.Main.main(Main.java:178)
There was an error executing the command org.argouml.uml.ui.ActionOpenProject( 
...../example.zargo )
Aborting the rest of the commands.
Exiting because we are running in batch.

C:\>
Error opening file : example.zargo System Info:
ArgoUML version : 0.28.1
Java Version : 1.6.0_17
Java Vendor : Sun Microsystems Inc.
Java Vendor URL : http://java.sun.com/
Java Home Directory :.....\Java\jre6
Java Classpath : ....\argouml\src\argouml-build\build\argouml.jar
Operation System : Windows 7, Version 6.1
Architecture : x86
User Name : ......
User Home Directory : ......
Current Directory : .....\argouml\src\argouml-build\build
JVM Total Memory : 14839808
JVM Free Memory : 2398504


 Error occurred at : Sun Apr 24 03:24:42 CST 2010
Cause : java.lang.ClassNotFoundException: 
org.argouml.sequence2.diagram.UMLSequenceDiagram
at org.tigris.gef.persistence.pgml.PGMLHandler.initDiagram(PGMLHandler.java:118)
at org.tigris.gef.persistence.pgml.PGMLHandler. (PGMLHandler.java:76)
at 
org.tigris.gef.persistence.pgml.InitialHandler.startElement(InitialHandler.java:65)
at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown
 Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown 
Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
 Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown 
Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown 
Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown 
Source)
at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
 Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at 
org.tigris.gef.persistence.pgml.PGMLStackParser.readDiagram(PGMLStackParser.java:166)
at 
org.tigris.gef.persistence.pgml.PGMLStackParser.readDiagram(PGMLStackParser.java:128)
at org.argouml.persistence.PGMLStackParser.readDiagram(PGMLStackParser.java:352)
at 
org.argouml.persistence.PGMLStackParser.readArgoDiagram(PGMLStackParser.java:341)
at 
org.argouml.persistence.DiagramMemberFilePersister.load(DiagramMemberFilePersister.java:90)
at org.argouml.persistence.UmlFilePersister.doLoad(UmlFilePersister.java:370)
at 
org.argouml.persistence.ZargoFilePersister.doLoad(ZargoFilePersister.java:240)
at org.argouml.ui.ProjectBrowser.loadProject(ProjectBrowser.java:1504)
at org.argouml.ui.LoadSwingWorker.construct(LoadSwingWorker.java:71)
at org.argouml.ui.SwingWorker.doConstruct(SwingWorker.java:139)
at org.argouml.ui.SwingWorker$2.run(SwingWorker.java:267)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: 
org.argouml.sequence2.diagram.UMLSequenceDiagram
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.tigris.gef.persistence.pgml.PGMLHandler.initDiagram(PGMLHandler.java:110)
... 28 more
-------
Full exception : org.argouml.persistence.OpenException: 
java.lang.ClassNotFoundException: 
org.argouml.sequence2.diagram.UMLSequenceDiagram
at 
org.argouml.persistence.DiagramMemberFilePersister.load(DiagramMemberFilePersister.java:97)
at org.argouml.persistence.UmlFilePersister.doLoad(UmlFilePersister.java:370)
at 
org.argouml.persistence.ZargoFilePersister.doLoad(ZargoFilePersister.java:240)
at org.argouml.ui.ProjectBrowser.loadProject(ProjectBrowser.java:1504)
at org.argouml.ui.LoadSwingWorker.construct(LoadSwingWorker.java:71)
at org.argouml.ui.SwingWorker.doConstruct(SwingWorker.java:139)
at org.argouml.ui.SwingWorker$2.run(SwingWorker.java:267)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: 
org.argouml.sequence2.diagram.UMLSequenceDiagram
at org.tigris.gef.persistence.pgml.PGMLHandler.initDiagram(PGMLHandler.java:118)
at org.tigris.gef.persistence.pgml.PGMLHandler. (PGMLHandler.java:76)
at 
org.tigris.gef.persistence.pgml.InitialHandler.startElement(InitialHandler.java:65)
at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown
 Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown 
Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
 Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown 
Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown 
Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown 
Source)
at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
 Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at 
org.tigris.gef.persistence.pgml.PGMLStackParser.readDiagram(PGMLStackParser.java:166)
at 
org.tigris.gef.persistence.pgml.PGMLStackParser.readDiagram(PGMLStackParser.java:128)
at org.argouml.persistence.PGMLStackParser.readDiagram(PGMLStackParser.java:352)
at 
org.argouml.persistence.PGMLStackParser.readArgoDiagram(PGMLStackParser.java:341)
at 
org.argouml.persistence.DiagramMemberFilePersister.load(DiagramMemberFilePersister.java:90)
... 7 more
Caused by: java.lang.ClassNotFoundException: 
org.argouml.sequence2.diagram.UMLSequenceDiagram
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.tigris.gef.persistence.pgml.PGMLHandler.initDiagram(PGMLHandler.java:110)
... 28 more
java.lang.ClassNotFoundException: 
org.argouml.sequence2.diagram.UMLSequenceDiagram
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.tigris.gef.persistence.pgml.PGMLHandler.initDiagram(PGMLHandler.java:110)
at org.tigris.gef.persistence.pgml.PGMLHandler. (PGMLHandler.java:76)
at 
org.tigris.gef.persistence.pgml.InitialHandler.startElement(InitialHandler.java:65)
at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown
 Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown 
Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
 Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown 
Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown 
Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown 
Source)
at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
 Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at 
org.tigris.gef.persistence.pgml.PGMLStackParser.readDiagram(PGMLStackParser.java:166)
at 
org.tigris.gef.persistence.pgml.PGMLStackParser.readDiagram(PGMLStackParser.java:128)
at org.argouml.persistence.PGMLStackParser.readDiagram(PGMLStackParser.java:352)
at 
org.argouml.persistence.PGMLStackParser.readArgoDiagram(PGMLStackParser.java:341)
at 
org.argouml.persistence.DiagramMemberFilePersister.load(DiagramMemberFilePersister.java:90)
at org.argouml.persistence.UmlFilePersister.doLoad(UmlFilePersister.java:370)
at 
org.argouml.persistence.ZargoFilePersister.doLoad(ZargoFilePersister.java:240)
at org.argouml.ui.ProjectBrowser.loadProject(ProjectBrowser.java:1504)
at org.argouml.ui.LoadSwingWorker.construct(LoadSwingWorker.java:71)
at org.argouml.ui.SwingWorker.doConstruct(SwingWorker.java:139)
at org.argouml.ui.SwingWorker$2.run(SwingWorker.java:267)
at java.lang.Thread.run(Unknown Source)

Reply via email to