X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2FXMLRPC.java;h=13669ca5e0975697a071a727bff1045690720f8a;hb=7e9239a7088d4cd772a31a76e1a53e1c681638bc;hp=a5ef8500f5bb3a075a975342c8485977ed17ef17;hpb=c730780164e644077bb9cb3906a6519824a67de4;p=org.ibex.core.git diff --git a/src/org/xwt/XMLRPC.java b/src/org/xwt/XMLRPC.java index a5ef850..13669ca 100644 --- a/src/org/xwt/XMLRPC.java +++ b/src/org/xwt/XMLRPC.java @@ -1,4 +1,4 @@ -// Copyright 2003 Adam Megacz, see the COPYING file for licensing [GPL] +// Copyright 2004 Adam Megacz, see the COPYING file for licensing [GPL] package org.xwt; import java.io.*; @@ -92,7 +92,7 @@ class XMLRPC extends JS { 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 "base64": objects.setElementAt(new Res.ByteArray(Base64.decode(new String(content.getBuf(), 0, content.size())), + 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 "value": if ("".equals(objects.lastElement())) @@ -119,8 +119,8 @@ class XMLRPC extends JS { objects.setElementAt(nd, objects.size() - 1); } catch (Exception e) { - if (Log.on) Log.log(this, "error parsing date : " + s); - if (Log.on) Log.log(this, e); + if (Log.on) Log.info(this, "error parsing date : " + s); + if (Log.on) Log.info(this, e); } case "member": Object memberValue = objects.elementAt(objects.size() - 1); @@ -150,8 +150,8 @@ class XMLRPC extends JS { public void characters(char[] ch, int start, int length) { try { content.write(ch, start, length); } catch (Exception e) { - if (Log.on) Log.log(this, "Exception in XMLRPC.content() -- this should never happen"); - if (Log.on) Log.log(this, e); + if (Log.on) Log.info(this, "Exception in XMLRPC.content() -- this should never happen"); + if (Log.on) Log.info(this, e); } } @@ -201,10 +201,10 @@ class XMLRPC extends JS { sb.append(((Boolean)o).booleanValue() ? "1" : "0"); sb.append("\n"); - } else if (o instanceof Res) { + } else if (o instanceof Stream) { try { sb.append(" \n"); - InputStream is = ((Res)o).getInputStream(); + InputStream is = ((Stream)o).getInputStream(); byte[] buf = new byte[54]; while(true) { int numread = is.read(buf, 0, 54); @@ -220,8 +220,8 @@ class XMLRPC extends JS { } sb.append("\n \n"); } catch (IOException e) { - if (Log.on) Log.log(this, "caught IOException while attempting to send a ByteStream via XML-RPC"); - if (Log.on) Log.log(this, e); + if (Log.on) Log.info(this, "caught IOException while attempting to send a ByteStream via XML-RPC"); + if (Log.on) Log.info(this, e); throw new JSExn("caught IOException while attempting to send a ByteStream via XML-RPC"); } @@ -313,12 +313,11 @@ class XMLRPC extends JS { final void call(final JS.UnpauseCallback callback, final JSArray args) { try { - if (Log.verbose) Log.log(this, "call to " + url + " : " + method); + if (Log.verbose) Log.info(this, "call to " + url + " : " + method); String request = buildRequest(args); - if (Log.verbose) Log.log(this, "send:\n" + request); + if (Log.verbose) Log.info(this, "send:\n" + request); InputStream is = http.POST("text/xml", request); BufferedReader br = new BufferedReader(new InputStreamReader(is)); - if (Log.verbose) br = Log.loggedReader(br); if (tracker == null) tracker = new Hash(); if (objects == null) objects = new Vec(); try { @@ -330,11 +329,14 @@ class XMLRPC extends JS { objects.setSize(0); } } catch (final JSExn e) { - Scheduler.add(new Scheduler.Task() { public void perform() throws Exception { callback.unpause(e); }}); + final Exception e2 = e; + Scheduler.add(new Scheduler.Task() { public void perform() throws Exception { callback.unpause(e2); }}); } catch (final IOException e) { - Scheduler.add(new Scheduler.Task() { public void perform() throws Exception { callback.unpause(new JSExn(e)); }}); + final Exception e2 = e; + Scheduler.add(new Scheduler.Task() { public void perform() throws Exception { callback.unpause(new JSExn(e2)); }}); } catch (final XML.Exn e) { - Scheduler.add(new Scheduler.Task() { public void perform() throws Exception { callback.unpause(new JSExn(e)); }}); + final Exception e2 = e; + Scheduler.add(new Scheduler.Task() { public void perform() throws Exception { callback.unpause(new JSExn(e2)); }}); } } }