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
