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]
