commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From robert burrell donkin <robertburrelldon...@blueyonder.co.uk>
Subject Re: [betwixt][BUG?] Destreaming custom collections using Hyphenated/DecapitalizeNameMapper?
Date Mon, 16 Dec 2002 22:01:45 GMT
i've committed a fix for this. if you get the chance, give it a try.

thanks for the unit tests. it turned out to be to do with recognition of 
recursive elements rather than anything to do with the NameMapper 
implementations so i might have had difficulties replicate it otherwise.

- robert

On Sunday, December 15, 2002, at 11:13 PM, Tim Anderson wrote:

> Go for it. I didn't include the license out of laziness ;)
>
>> -----Original Message-----
>> From: robert burrell donkin
>> [mailto:robertburrelldonkin@blueyonder.co.uk]
>> Sent: Monday, December 16, 2002 3:34 AM
>> To: Jakarta Commons Developers List
>> Subject: Re: [betwixt][BUG?] Destreaming custom collections using
>> Hyphenated/DecapitalizeNameMapper?
>>
>>
>> thanks.
>>
>> those unit tests demonstrate the problem fine. fancy donating them to the
>> apache software foundation (saves me writing equivalent ones)?
>>
>> (you didn't include the apache license at the top of each so i thought it
>> best to check...)
>>
>> - robert
>>
>> On Saturday, December 14, 2002, at 10:31 AM, Tim Anderson wrote:
>>
>>> Attached is a junit test case which reproduces the problem.
>>>
>>> Regards,
>>>
>>> Tim
>>>
>>>> -----Original Message-----
>>>> From: Tim Anderson [mailto:tima@intalio.com]
>>>> Sent: Saturday, December 14, 2002 7:50 PM
>>>> To: commons-dev@jakarta.apache.org
>>>> Subject: [betwixt][BUG?] Destreaming custom collections using
>>>> Hyphenated/DecapitalizeNameMapper?
>>>>
>>>>
>>>> Hi people,
>>>>     I am trying to destream some XML using betwixt into a
>> class structure
>>>> which looks like:
>>>>
>>>> public class Foos {
>>>>     // manages a collection of Foo
>>>>     public void addFoo(Foo foo) { ... }
>>>>     public Iterator getFoos() { .... }
>>>> }
>>>>
>>>> public class Foo {
>>>>     // ...
>>>>     public void setValue(String value) { ... }
>>>>     public String getValue() { ...}
>>>> }
>>>>
>>>> Using the DefaultNameMapper, this streams as:
>>>>
>>>> <Foos>
>>>>   <foo value="a"/>
>>>>   <foo value="b"/>
>>>> </Foos>
>>>>
>>>> and destreams fine. However with the
>> Hyphenated/DecapitalizeNameMappers,
>>>> it doesn't destream correctly - the addFoo() method is not invoked.
>>>> Streamed it looks like:
>>>> <foos>
>>>>   <foo value="a"/>
>>>>   <foo value="b"/>
>>>> </foos>
>>>>
>>>> Looking at the debug trace, the following messages from 
>>>> XMLIntrospector
>>>> appear:
>>>> ....
>>>> Processing child
>> ElementDescriptor[qname=foos,pname=foos,class=interface
>>>> java.util.Iterator,singular=class Foo,updater=MethodUpdater
>>>> [method=public
>>>> void Foos.addFoo(Foo)]]
>>>>
>>>> Creating generic rule for recursive elements
>>>> ^^^^^^^^^^^^ problem starts here^^^^^^^^^^^^
>>>>
>>>> Created bean create rule
>>>> Descriptor=ElementDescriptor[qname=foos,pname=foos,class=interface
>>>> java.util.Iterator,singular=class Foo,updater=MethodUpdater
>>>> [method=public
>>>> void Foos.addFoo(org.apache.commons.sql.type.Foo)]]
>>>> Class=class Foo Path prefix=*/foos
>>>> Ignoring duplicate digester rule for path: */foos rule:
>>>> BeanCreateRule [path
>>>> prefix=*/foos
>>>> descriptor=ElementDescriptor[qname=foos,pname=foos,class=interface
>>>> java.util.Iterator, ....
>>>>
>>>> I'm configuring the introspector using:
>>>>
>>>>         introspector.setAttributesForPrimitives(true);
>>>>         introspector.setWrapCollectionsInElement(false);
>>>>         introspector.setElementNameMapper(new
>> DecapitalizeNameMapper());
>>>>
>>>> Any ideas/workarounds?
>>>>
>>>> Thanks,
>>>>
>>>> Tim
>>>>
>>>>
>>>> --
>>>> To unsubscribe, e-mail:
>>>> <mailto:commons-dev-unsubscribe@jakarta.apache.org>
>>>> For additional commands, e-mail:
>>>> <mailto:commons-dev-help@jakarta.apache.org>
>>>>
>>>    --
>>> To unsubscribe, e-mail:
>> <mailto:commons-dev-unsubscribe@jakarta.apache.
>>> org>
>>> For additional commands, e-mail:
>> <mailto:commons-dev-help@jakarta.apache.
>>> org>
>>
>>
>> --
>> To unsubscribe, e-mail:
>> <mailto:commons-dev-unsubscribe@jakarta.apache.org>
>> For additional commands, e-mail:
>> <mailto:commons-dev-help@jakarta.apache.org>
>>
>
>
> --
> To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@jakarta.apache.
> org>
> For additional commands, e-mail: <mailto:commons-dev-help@jakarta.apache.
> org>
>


--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@jakarta.apache.org>


Mime
View raw message