X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fnet%2FXMLRPC.java;fp=src%2Forg%2Fibex%2Fnet%2FXMLRPC.java;h=66908d8a20f0878edc926f15b7131d5ec04c7ddb;hp=290415fca109e65b30449c4b631bc2388872062d;hb=76982fccac3c46ccc47621dd22dc0c96b6b9cd62;hpb=ce791e4058158295bce9cf7b6698c2b565d571d7 diff --git a/src/org/ibex/net/XMLRPC.java b/src/org/ibex/net/XMLRPC.java index 290415f..66908d8 100644 --- a/src/org/ibex/net/XMLRPC.java +++ b/src/org/ibex/net/XMLRPC.java @@ -92,17 +92,17 @@ public class XMLRPC extends JS { public void endElement(XML.Element c) { //#switch(c.getLocalName()) - case "int": objects.setElementAt(new Integer(new String(content.getBuf(), 0, content.size())), objects.size() - 1); - case "i4": objects.setElementAt(new Integer(new String(content.getBuf(), 0, content.size())), objects.size() - 1); - case "boolean": objects.setElementAt(content.getBuf()[0] == '1' ? Boolean.TRUE : Boolean.FALSE, objects.size() - 1); - case "string": objects.setElementAt(new String(content.getBuf(), 0, content.size()), objects.size() - 1); - case "double": objects.setElementAt(new Double(new String(content.getBuf(), 0, content.size())), objects.size() - 1); + case "int": objects.setElementAt(JS.N(Integer.parseInt(new String(content.getBuf(), 0, content.size()))), objects.size() - 1); + case "i4": objects.setElementAt(JS.N(Integer.parseInt(new String(content.getBuf(), 0, content.size()))), objects.size() - 1); + case "boolean": objects.setElementAt(content.getBuf()[0] == '1' ? JS.T : JS.F, objects.size() - 1); + case "string": objects.setElementAt(JS.S(new String(content.getBuf(), 0, content.size())), objects.size() - 1); + case "double": objects.setElementAt(JS.N(Double.parseDouble(new String(content.getBuf(), 0, content.size()))), objects.size() - 1); case "base64": objects.setElementAt(new Stream.ByteArray(Base64.decode(new String(content.getBuf(), 0, content.size())), null), objects.size() - 1); - case "name": objects.addElement(new String(content.getBuf(), 0, content.size())); + case "name": objects.addElement(JS.S(new String(content.getBuf(), 0, content.size()))); case "value": if ("".equals(objects.lastElement())) - objects.setElementAt(new String(content.getBuf(), 0, content.size()), objects.size() - 1); + objects.setElementAt(JS.S(new String(content.getBuf(), 0, content.size())), objects.size() - 1); case "dateTime.iso8601": String s = new String(content.getBuf(), 0, content.size()); @@ -129,11 +129,11 @@ public class XMLRPC extends JS { "the server sent a tag which was malformed: " + s); } case "member": - Object memberValue = objects.elementAt(objects.size() - 1); + JS memberValue = (JS) objects.elementAt(objects.size() - 1); String memberName = (String)objects.elementAt(objects.size() - 2); JS struct = (JS)objects.elementAt(objects.size() - 3); try { - struct.put(memberName, memberValue); + struct.put(JS.S(memberName), memberValue); } catch (JSExn e) { throw new Error("this should never happen"); } @@ -143,7 +143,7 @@ public class XMLRPC extends JS { for(i=objects.size() - 1; objects.elementAt(i) != null; i--); JSArray arr = new JSArray(); try { - for(int j = i + 1; jo to sb */ - void appendObject(Object o, StringBuffer sb) throws JSExn { - - if (o == null) { + void appendObject(JS o, StringBuffer sb) throws JSExn { + // FIXME: Update for new api + throw new Error("FIXME"); + /*if (o == null) { throw new JSExn("attempted to send a null value via XML-RPC"); } else if (o instanceof Number) { @@ -295,19 +296,19 @@ public class XMLRPC extends JS { } else { throw new JSExn("attempt to send object of type " + o.getClass().getName() + " via XML-RPC"); - } + }*/ } // Call Sequence ////////////////////////////////////////////////////////////////////////// - public final Object call(Object a0, Object a1, Object a2, Object[] rest, int nargs) throws JSExn { + public final JS call(JS a0, JS a1, JS a2, JS[] rest, int nargs) throws JSExn { JSArray args = new JSArray(); for(int i=0; i