Try creating an empty constructor FigLayer()
I can't remember the list at the moment but GEF looks for several
different patterns of constructor when reading the PGML file. I know
the empty constructor is one.
The constructor you already have is the one used when you press the
toolbutton and click on the diagram.
There are plans to align the two methods to use the same constructor
but there is some rework for this and more important bugs and
improvements required in the meantime.
Bob.
On 29/11/06, Christian López Espínola <[EMAIL PROTECTED]> wrote:
I have only one constructor.
public FigLayer(GraphModel gm, Object node)
On 11/29/06, Bob Tarling <[EMAIL PROTECTED]> wrote:
> What constructors do you have for FigLayer?
>
>
> On 29/11/06, Christian López Espínola <[EMAIL PROTECTED]> wrote:
> > I all,
> >
> > I have seen that If I run Argo + MaCMAS on Eclipse, it doesn't crash.
> > But If I use the jar files, It crashes (the exception I pasted)
> >
> > We have a presentation of the tool on next week, and we have to finish
> > this before.
> >
> > Any help will be appreciated.
> >
> > Thanks
> >
> > On 11/25/06, Christian López Espínola <[EMAIL PROTECTED]> wrote:
> > > 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
> > >
> >
> >
> > --
> > Regards,
> >
> > Christian López Espínola
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
Regards,
Christian López Espínola
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]