Sorry, I forget to paste it.

Cause : java.lang.InstantiationException:
org.argouml.uml.diagram.traceability.ui.FigLayer
at 
org.tigris.gef.persistence.pgml.PGMLStackParser.constructFig(PGMLStackParser.java:593)
at 
org.tigris.gef.persistence.pgml.PGMLStackParser.getHandler(PGMLStackParser.java:386)
at org.argouml.persistence.PGMLStackParser.getHandler(PGMLStackParser.java:119)
at 
org.tigris.gef.persistence.pgml.BaseHandler.getElementHandler(BaseHandler.java:141)
at 
org.tigris.gef.persistence.pgml.BaseHandler.getElementOrUnknownHandler(BaseHandler.java:110)
at 
org.tigris.gef.persistence.pgml.BaseHandler.startElement(BaseHandler.java:159)
at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown
Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown
Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(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 javax.xml.parsers.SAXParser.parse(Unknown Source)
at 
org.tigris.gef.persistence.pgml.PGMLStackParser.readDiagram(PGMLStackParser.java:158)
at 
org.tigris.gef.persistence.pgml.PGMLStackParser.readDiagram(PGMLStackParser.java:124)
at org.argouml.persistence.PGMLStackParser.readDiagram(PGMLStackParser.java:267)
at 
org.argouml.persistence.DiagramMemberFilePersister.load(DiagramMemberFilePersister.java:67)
at org.argouml.persistence.UmlFilePersister.doLoad(UmlFilePersister.java:380)
at 
org.argouml.persistence.ZargoFilePersister.doLoad(ZargoFilePersister.java:349)
at org.argouml.ui.ProjectBrowser.loadProject(ProjectBrowser.java:1471)
at org.argouml.swingext.LoadSwingWorker.construct(LoadSwingWorker.java:69)
at org.argouml.swingext.SwingWorker.doConstruct(SwingWorker.java:129)
at org.argouml.swingext.SwingWorker$2.run(SwingWorker.java:257)
at java.lang.Thread.run(Unknown Source)


On 11/25/06, Michiel van der Wulp <[EMAIL PROTECTED]> wrote:
Hi Christian,

The pgml and Fig code you show look good.
What exception do you get?

Michiel


----- Original Message -----
From: "Christian López Espínola" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Saturday, November 25, 2006 9:07 PM
Subject: Re: [argouml-dev] Problem with the persistence/load of diagrams.


> Hi all again,
>
> First at all, I want to thanks all the efforts you are doing for help
> me. Im sorry for replying to late.
>
> After some work, and adding the classpath in my manifest, now I have a
> different exception.
>
> Now the problem with the Diagram doesn't occurs, the problem is
> loading a fig. If I unzip my zargo file, my
> test2_TraceabilityDiagram1.pgml file begins like follows:
>
> <pgml
> 
description="org.argouml.uml.diagram.traceability.ui.MACMASTraceabilityDiagram|-64--88-0-35--46d6af98:10f20989c0a:-8000:000000000000077B"
>      name="Traceability Diagram 1"
>>
>  <group name="Fig0"
>       description="org.argouml.uml.diagram.traceability.ui.FigLayer[40,
> 56, 750,
> 200];pathVisible=false;stereotypeVisible=true;visibilityVisible=false"
>       href="-64--88-0-35--46d6af98:10f20989c0a:-8000:000000000000077E"
>       fill="1"
>       fillcolor="white"
>       stroke="1"
>       strokecolor="black"
>  >
>
> As you can see, and if I'm not wrong, now the parser know what is a
> MACMASTraceabilityDiagram. But it fails in the FigLayer parsing.
>
> In my FigLayer I have the following method:
>
>    /**
>     * USED BY PGML.tee.
>     * @return the class name and bounds together with compartment
>     * visibility.
>     */
>    public String classNameAndBounds() {
>        return super.classNameAndBounds()
>                + "stereotypeVisible=" + isStereotypeVisible()
>                + ";"
>                + "visibilityVisible=" + isVisibilityVisible();
>    }
>
> If I save and load as a Model zipped, I have no problem in the model
> loading.
>
> I think we are near to the solution. Thanks again.
>
> p.s. for Tom Morris: I have changed the manifest. Thanks for the
> suggestion.
>
> On 11/17/06, Bob Tarling <[EMAIL PROTECTED]> wrote:
>> Forbidding may be a bit strong. But in general think it better to find
>> some pattern to avoid it.
>>
>> Bob.
>>
>>
>> On 17/11/06, Linus Tolke <[EMAIL PROTECTED]> wrote:
>> > Well said!
>> >
>> > I had started a mail to say part of this but I was not this clear in
>> > the
>> > problem analysis.
>> >
>> > Isn't there a design rule forbidding reflection already? Shall we add
>> > one?
>> >
>> >         /Linus
>> >
>> > > -----Original Message-----
>> > > From: Tom Morris [mailto:[EMAIL PROTECTED]
>> > > Sent: den 14 november 2006 23:18
>> > > To: [email protected]
>> > > Subject: RE: [argouml-dev] Problem with the persistence/load of
>> > diagrams.
>> > >
>> > > I think that the the classloader problem, while perhaps tricky, is
>> > > definitely solvable.
>> > >
>> > > I don't think Bob's workaround is necessary, but as a general comment
>> > on
>> > > the
>> > > topic he raised:
>> > >
>> > > > It seems that you can call the constructors of your own Figs
>> > > > but creating by reflection has problems.
>> > > >
>> > > > So what I can do is provide an API in GEF where an
>> > > > application can register a factory object to create diagrams.
>> > >
>> > > I think moving away from using reflection is a good idea.  Having the
>> > > diagram parser depend on an implied interface based on our internal
>> > class
>> > > structure has proven to be quite fragile and I think a more formal
>> > > interface
>> > > is needed.  Using reflection removes that formality.  For something
>> > like a
>> > > file format, having a stable, formally reviewed, slowly changing (or
>> > > non-changing) interface is a good thing.
>> > >
>> > > Having said that if we're going to support pluggable diagram types, I
>> > > think
>> > > we should think through how this is done.  What happens if I send my
>> > > project
>> > > to someone that doesn't have the module installed?  Can they see the
>> > shape
>> > > of the diagram, but not act on it?  Does the whole project fail to
>> > load?
>> > > How are they informed what module they need and where they get it?
>> > > Personally, I think they should be able to see and print the diagram
>> > even
>> > > if
>> > > they don't have the module installed.
>> > >
>> > > Also, since GEF is nominally separate from ArgoUML, we shouldn't be
>> > > directly
>> > > exposing any of its internal APIs since this makes it impossible to
>> > > change/replace in the future. (cf LeakyAbstraction)
>> > >
>> > > Tom
>> > >
>> > > ---------------------------------------------------------------------
>> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > > For additional commands, e-mail: [EMAIL PROTECTED]
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > For additional commands, e-mail: [EMAIL PROTECTED]
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>
> --
> Regards,
>
> Christian López Espínola
>



--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.409 / Virus Database: 268.14.16/551 - Release Date: 25/11/2006

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Regards,

Christian López Espínola

Reply via email to