On Thu, 2002-06-06 at 13:59, Gus Mueller wrote:
> I was wondering if anyone saw any problems with using a Dictionary instead
> of a Hastable in XmlRpc.java for the function writeObject(Object obj)
>
> My problem is, that when using a Hashtable, the order of the objects put
> in are not kept the same (it uses a hash!) so I had created a class that
> implements Dictionary (which Hashtable does also) and use that instead.
> The result is what I want, and it's works with existing code also.
>
> The diff like this for java/org/apache/xmlrpc/XmlRpc.java
> 785c785
> < else if (obj instanceof Hashtable)
> ---
> > else if (obj instanceof java.util.Dictionary)
> 788c788
> < Hashtable struct = (Hashtable) obj;
> ---
> > java.util.Dictionary struct = (java.util.Dictionary)
> obj;
> 795c795
> < write(nextkey);
> ---
> > chardata(nextkey);
>
>
> and here's the code if it's easier to read for ya:
>
> else if (obj instanceof java.util.Dictionary)
> {
> startElement("struct");
> java.util.Dictionary struct = (java.util.Dictionary) obj;
> for (Enumeration e = struct.keys(); e.hasMoreElements(); )
> {
> String nextkey = (String) e.nextElement();
> Object nextval = struct.get(nextkey);
> startElement("member");
> startElement("name");
> chardata(nextkey);
> endElement("name");
> writeObject(nextval);
> endElement("member");
> }
> endElement("struct");
> }
>
> Does anyone see any problems with this code? Should it be applied to the
> original XmlRpc.java so other folks could possibly benifit?
>
afaik, we are still trying to stay compatible with 1.1 and thus can't
use Dictionary...
Perhaps we should take a vote on that though to see if it is something
we still need to do...
josh