Hi Raj,

Raj wrote:

> Hi
> 
> Thanks for quick repsonses.
> 
> I have map below.
> 
> Map<String,Set<String>> desksDetails = new HashMap<String, Set<String>>();
> 
> Map key is "ABC"
> and value is Set holding usernames.
> 
> I want to covert this into xml like
> <desk name="ABC">
>         <user name="rpaynter"/>
>         <user name="yatesn"/>
>         <user name="gnishok"/>
>         <user name="bingminc"/>
>         <user name="nixmar"/>
>         <user name="tanyun"/>
>         <user name="choo"/>
> </desk>
> 
> I looked into NamedMapConverter but the map here is key,value as String.
> In my case value is collection.
> 
> Any pointer will be higly appreciated.


Did you try:

 new NamedMapConverter(xstream.getMapper(), "desk", "name", String.class,
   null, HashSet.class, true, false, xstream.getConverterLookup());

That should be written as:

 <map>
   <desk name="ABC">
      <string>rpaynter</string>
      <!-- rest omitted -->
   </entry>
 </map>

You will have to register an additional NamedCollectionConverter for HashSet 
in general though to influence the inner set. However, that would affect any 
HashSet in your object graph.

The only alternative is otherwise a gain a custom converter, probably 
derived from the MapConverter.

- Jörg


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to