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