Thanks Simon! I used your example from jakarta-commons/digester/src/examples/api/catalog/CatalogDigester.java where you use the ExtendedBaseRules(), works like a charm.

When the newest release comes out, I'll convert over to the NestedPropertiesRule.

Thanks again!

Craig.


From: Simon Kitching <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: Jakarta Commons Users List <[EMAIL PROTECTED]>
Subject: Re: [Digester] addBeanPropertySetter help
Date: Tue, 09 Dec 2003 10:47:54 +1300

Hi Craig,

On Tue, 2003-12-09 at 08:57, Craig Tataryn wrote:
> Sorry, forgot to specify which commons project this was for in the subject.
>
>
> >From: "Craig Tataryn" <[EMAIL PROTECTED]>
> >Reply-To: "Jakarta Commons Users List" <[EMAIL PROTECTED]>
> >To: [EMAIL PROTECTED]
> >Subject: addBeanPropertySetter help
> >Date: Mon, 08 Dec 2003 13:53:14 -0600
> >
> >Hi, I have an XML file that looks like this:
> >
> ><data-mappings>
> > <dispatchers>
> > <!-- dispatcher section must appear before data-mappings -->
> > <dispatcher name="Sybase Stored Procedure"
> >class="StoredProcDataDispatch">
> > <db>Data</db>
> > <server>192.168.200.1</server>
> > <port>2638</port>
> > <dbfile>test</dbfile>
> > <uid>dba</uid>
> > <pwd>pwd</pwd>
> > </dispatcher>
> > </dispatchers>
> >
> > <data-mapping class="Customer" dispatcher="Sybase Stored Procedure"/>
> >
> ></data-mappings>
> >
> >Basically the tags below data-mappings/dispatchers/dispatcher are going to
> >be adhoc (they represent properties on the StoredProcDataDispatch instance
> >which will be set). I tried setting these properties by the following
> >code:
> >
> >digester.addObjectCreate("data-mappings/dispatchers/dispatcher","class",java.lang.Object.class);
> >digester.addBeanPropertySetter("data-mappings/dispatchers/dispatcher/*");
> >
> >But the properties on the object are never set :( Is there a rule I can
> >use where I can provide a pattern for a root node (i.e.
> >data-mappings/dispatchers/dispatcher) and have all the child nodes below it
> >act as property setters much like the addSetProperties rule works for
> >attributes.
> >
> >Thanks,
> >
> >Craig.


The default Rules object (which decides which rules are matched by the
current xml element) supports *leading* wildcards but not *trailing*
wildcards, ie "*/foo" works,  "foo/*" does not.

The ExtendedBaseRules class does support trailing wildcards (but is less
efficient than the default implementation). See the examples directory
in CVS for a demonstration of how to use this.

The SetNestedPropertiesRule can also be used to do what you want, but as
this has been added since the last release you will need to use a recent
CVS snapshot of Digester if you want this rule.

Digester is hopefully having a new release soon (in the next month?), at
which point both the examples and the SetNestedPropertiesRule will be in
the main release.

Regards,

Simon



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



Craig W. Tataryn
Programmer/Analyst
Compuware

_________________________________________________________________
The new MSN 8: advanced junk mail protection and 2 months FREE* http://join.msn.com/?page=dept/bcomm&pgmarket=en-ca&RU=http%3a%2f%2fjoin.msn.com%2f%3fpage%3dmisc%2fspecialoffers%26pgmarket%3den-ca



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



Reply via email to