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]

Reply via email to