Erik Price schrieb:


Kai wrote:

Hi all,

i am new to digester and i find the philosophy behind it very interesting. The following question turned out:

is it possible (and if, how) using Digester to parse my xml file and
creating dynabeans out of the parsed properties ?


Do you mean to generate the code to make a dynabean class? I suppose you would have to write a class such as DynaBeanGenerator which has methods that can be called by a Digester instance as it parses the XML, perhaps writing out the code to a StringBuffer. Then at the end of the XML file the Digester can instruct the DynaBeanGenerator to write the StringBuffer's contents to a file, or something.

But note that there are some XDoclet tags that can let you go in the other direction. I'm not sure about Dynabeans. But you can incorporate the XDoclet tags into your Java code that automatically generates your struts-config.xml file.


Erik

Erik,
thanks for your reply, but i think i did not point out my problem clearly enough:


i have a class which instantiates Digester and parses / maps my xml file:
..

Digester digester = new Digester();

    digester.push(this);
    digester.setValidating(true);


digester.addObjectCreate("fields/element", ElementBean.class ); digester.addSetProperties("fields/element");


...


ElementBean is a Bean whith fixed properties. If properties in my xml file change, i also have to change ElementBean.
My idea is to generate a DynaBean on the fly by setting the parsed properties as bean properties.


In the package description of beanutils i found the following code:

 DynaProperty[] props = new DynaProperty[]{
        new DynaProperty("address", java.util.Map.class),
        new DynaProperty("subordinate", mypackage.Employee[].class),
        new DynaProperty("firstName", String.class),
        new DynaProperty("lastName",  String.class)
      };
    BasicDynaClass dynaClass = new BasicDynaClass("employee", null, props);
DynaBean employee = dynaClass.newInstance();
employee.set("address", new HashMap());
..

My understanding is that i can dynamically create properties by filling the DynaPropery[] array with DynaProperties and then instantiating the bean with it, like above.

i am searching for a way to parse my xml file with digester and create
these dynabean-properties with DynaProperties. Then, after having set up my dynabean i want it to be filled with the property values.
I want the whole process to be done by Digester.




Kai



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to