Re: report IDL

> Hi all!
> Here is the report IDL reviewed after the input I've had about the first
> one. Tell me what you think.
> cheers

I have some questions....

>       interface ReportElement {
>               attribute string name;
>               attribute AttributeList attr_list;
>               attribute VE contents;
>               void      addAttribute (in string name, in string value);
>               void      removeAttribute (in string name);
>               Attribute getAttribute (in string name);
>               void      setAttribute (in string name, in string value);
>               ReportElement addChild (in string name);
>               void          removeChild (in string name);
>       };
>       typedef sequence<ReportElement> ElementList;

This interface is only to modify some attributes for an element defined

>       /*
>        * Report output format
>        */
>       enum Converter {
>               TO_PDF,
>               TO_PS,
>               TO_HTML,
>               TO_LATEX
>       };

Why don't add the TO_XML option as someone suggest before?, this option
gaves us the report with all the data filled and if someone wants to
play with it directly it could :-)

>       interface Report {
>               attribute string       name;
>               attribute string       description;
>               attribute ReportFormat format;
>               attribute boolean      is_locked;
>               void         fromStream (in ReportStream stream);
>               void         fromXML (in string xml);
>               ReportOutput run (in ParamList params, in long flags);
>               /* for shared I/O access */
>               void lock   ();
>               void unlock ();
>       };

I don't understand the need of the format attribute, if it must be
shared none must change the format!!! it must be readonly at least.

>       typedef sequence<Report> ReportList;
>       /*
>        * The report engine
>        */
>       interface ReportEngine {
>               ReportList queryReports (in string condition, in long flags);
>               Report     openReport (in string rep_name);
>               Report     addReport (in string rep_name, in string description);
>               void       removeReport (in string rep_name);
>       };
> };
> #endif

One thing i don't understand very well about the direction we go is:
What about the possibility of define the report's objects at the IDL
file? (something like i send to the list a weeks ago). It will be useful
to have all the objects implemented only one time, if we use the method
that Rodrigo has write, we have only one interface, a "ReportElement"
that has all its attributes in a list, but this way you must implement
all the report's objects at the report server and other time those
objects at the client side but wrapping the ReportElement. I think that
this method is more complicate to update because you must update
completely two times the same thing. But if we export all the objects as
CORBA Objects we only need to update a set of objects (the only bad
thing is that this way all the clients will need the bonobo package, but
i think that this thing isn't so bad).

What do you thing?

I will code an example for the IDL if you need it to see the advantages.


Carlos Perell&#-31; Mar&#-54;n
carlos hispalinux es
Valencia - Espa&#-54;a

Y tu, ya has Evolucionado?, p&#-31;sate a Evolution :-)

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]