Login | Register
My pages Projects Community openCollabNet

Discussions > dev > [gef-dev] Some thoughts on GEF persistence

gef
Discussion topic

Back to topic list

[gef-dev] Some thoughts on GEF persistence

Reply

Author bob dot tarling at ntlworld dot com
Full name bob dot tarling at ntlworld dot com
Date 2004-08-12 07:47:05 PDT
Message I've been thinking about a common XML structure to suggest for persistence of GEF graph models.

We need a simpler structure than PGML or SVG. They go into far too much detail of how each fig is presented. On reload it is up to the fig itself to determine its presentation. That information is redundent in the persistence file.

<gef:diagram id="?" type="?">
    <gef:layer id="?" type="?" visible="?">
        <gef:node id="?" type="?" x="?" y="?" width="?" height="?" filled="?" fillcolor="?" linewidth="?" linecolor="?" visible="?">
            <gef:port id="?" />
            <gef:port id="?" />
        </gef:node>
        <gef:node id="?" type="?" x="?" y="?" width="?" height="?" filled="?" fillcolor="?" linewidth="?" linecolor="?" visible="?">
            <gef:port id="?" />
            <gef:port id="?" />
        </gef:node>
        <gef:edge id="?" type="?" linewidth="?" linecolor="?" path="x1,y1;x2,y2;x3,y3" visible="?">
            <gef:source id="?" />
            <gef:dest id="?" />
        </gef:edge>
    </gef:layer>
<gef:diagram>

There may be a need to record multiple layers in some applications hence my grouping.

The port tags could be left out on applications where the whole fig is the single port. It is left open to allow port tags in edges at some future date.

Application should be able to extend this for their own unique features.

It may be that those applications based on NetNode and NetEdge can use this to store their entire model. Those that use their own model can use this to store presentation data that is supplementary to their own data model.

eg

<gef:node id="fig1" type="com.blah.blah.ClassFig" x="100" y="100" width="330" height="200" filled="1" fillcolor="white" linewidth="1" linecolor="black" visible="1">
    <attributes-compartment visible="1"/>
    <operations-compartment visible="0"/>
</gef:node>

N.B. I'm not saying this is what ArgoUML should do (that should be discussed elsewhere) but I simply use it as an example.

We'd also require tags for the primitive fig such as line, spline, circle etc.

As far as generating the XML is concerned I'm still anti TEE file.
I've been doing some minor research into Velocity (http://www.theserver​side.com/news/thread​.tss?thread_id=28002​) which I would prefer simply because it is a more common standard than inventing our own but I still don't like the reflective nature.
Maybe http://www.jamon.org would be a better option this generates java source from templates which can then be compiled in with the rest of the app..

I'd still like to understand http://www.castor.org/ but with my current responsibilities I'm not finding time.

Bob.


--------------------​--------------------​-
Email provided by http://www.ntlhome.com/



--------------------​--------------------​--------------------​---------
To unsubscribe, e-mail: dev-unsubscribe at gef dot tigris dot org
For additional commands, e-mail: dev-help at gef dot tigris dot org

« Previous message in topic | 1 of 3 | Next message in topic »

Messages

Show all messages in topic

[gef-dev] Some thoughts on GEF persistence bob dot tarling at ntlworld dot com bob dot tarling at ntlworld dot com 2004-08-12 07:47:05 PDT
     Re: [gef-dev] Some thoughts on GEF persistence Ashish Shrestha <ashish dot shrestha at sysdm dot com> Ashish Shrestha <ashish dot shrestha at sysdm dot com> 2004-08-12 08:57:01 PDT
         Re: Re: [gef-dev] Some thoughts on GEF persistence bob dot tarling at ntlworld dot com bob dot tarling at ntlworld dot com 2004-08-12 09:34:09 PDT
Messages per page: