From: megacz Date: Fri, 30 Jan 2004 07:43:47 +0000 (+0000) Subject: 2003/12/29 22:29:31 X-Git-Tag: RC3~212 X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=commitdiff_plain;h=1520bffb91aed116c109133503f21082951e7d09 2003/12/29 22:29:31 darcs-hash:20040130074347-2ba56-efa92a4955abd80b602be19b6c7cf97a2615ffd3.gz --- diff --git a/src/org/xwt/Template.java b/src/org/xwt/Template.java index 00aedd0..a5a9661 100644 --- a/src/org/xwt/Template.java +++ b/src/org/xwt/Template.java @@ -49,12 +49,12 @@ public class Template { private StringBuffer content = null; ///< during XML parsing, this holds partially-read character data; null otherwise private int content_start = 0; ///< line number of the first line of content private int startLine = -1; ///< the line number that this element starts on - private final Res r; ///< the resource we came from + private final Stream r; ///< the resource we came from // Static data/methods /////////////////////////////////////////////////////////////////// - public static Template getTemplate(Res r) throws JSExn { + public static Template getTemplate(Stream r) throws JSExn { try { r = r.addExtension(".xwt"); if (r.t != null) return r.t; @@ -65,28 +65,28 @@ public class Template { } } - public static Res resolveStringToResource(String str, XWT xwt, boolean permitAbsolute) throws JSExn { + public static Stream resolveStringToResource(String str, XWT xwt, boolean permitAbsolute) throws JSExn { // URL if (str.indexOf("://") != -1) { - if (permitAbsolute) return (Res)xwt.url2res(str); + if (permitAbsolute) return (Stream)xwt.url2res(str); throw new JSExn("absolute URL " + str + " not permitted here"); } // root-relative - Res ret = xwt.rr; + Stream ret = xwt.rr; while(str.indexOf('.') != -1) { String path = str.substring(0, str.indexOf('.')); str = str.substring(str.indexOf('.') + 1); - ret = (Res)ret.get(path); + ret = (Stream)ret.get(path); } - ret = (Res)ret.get(str); + ret = (Stream)ret.get(str); return ret; } // Methods to apply templates //////////////////////////////////////////////////////// - private Template(Res r) { + private Template(Stream r) { this.r = r; String f = r.toString(); if (f != null && !f.equals("")) diff --git a/src/org/xwt/XMLRPC.java b/src/org/xwt/XMLRPC.java index 94a380e..7290e20 100644 --- a/src/org/xwt/XMLRPC.java +++ b/src/org/xwt/XMLRPC.java @@ -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())) @@ -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); diff --git a/src/org/xwt/XWT.java b/src/org/xwt/XWT.java index 76db51a..d599f0e 100644 --- a/src/org/xwt/XWT.java +++ b/src/org/xwt/XWT.java @@ -13,8 +13,8 @@ import org.bouncycastle.util.encoders.Base64; /** Singleton class that provides all functionality in the xwt.* namespace */ public final class XWT extends JS { - public final Res rr; - public XWT(Res rr) { this.rr = rr; } + public final Stream rr; + public XWT(Stream rr) { this.rr = rr; } private Cache subCache = new Cache(20); private Sub getSub(String s) { @@ -132,7 +132,7 @@ public final class XWT extends JS { if (a instanceof Box) throw new JSExn("can't graft onto Boxes"); if (a instanceof String) throw new JSExn("can't graft onto Strings"); if (a instanceof Number) throw new JSExn("can't graft onto Numbers"); - if (a instanceof Res) return new Res.Graft((Res)a, b, c); + if (a instanceof Stream) return new Stream.Graft((Stream)a, b, c); // FEATURE: grafting onto JS throw new JSExn("cannot graft onto "+a.getClass()); //#end @@ -146,11 +146,11 @@ public final class XWT extends JS { case 1: //#switch(name) case "ui.browser": Platform.newBrowserWindow((String)a); return null; - case "clone": return new XWT((Res)a); - case "stream.unzip": return new Res.Zip((Res)a); - case "stream.uncab": return new Res.Cab((Res)a); - case "stream.cache": try { return new Res.CachedRes((Res)a, "resources", true); } - catch (Res.NotCacheableException e) { throw new JSExn("this resource cannot be cached"); } + case "clone": return new XWT((Stream)a); + case "stream.unzip": return new Stream.Zip((Stream)a); + case "stream.uncab": return new Stream.Cab((Stream)a); + case "stream.cache": try { return new Stream.CachedStream((Stream)a, "resources", true); } + catch (Stream.NotCacheableException e) { throw new JSExn("this resource cannot be cached"); } case "stream.url": return url2res((String)a); case "thread.sleep": sleep(JS.toInt(a)); return null; case "log.debug": JS.log(this, a== null ? "**null**" : a.toString()); return null; @@ -170,9 +170,9 @@ public final class XWT extends JS { break; case 2: //#switch(name) - case "stream.watch": return new Res.ProgressWatcher((Res)a, (JSFunction)b); + case "stream.watch": return new Stream.ProgressWatcher((Stream)a, (JSFunction)b); case "apply": - if (b instanceof Res) Template.getTemplate((Res)b).apply((Box)a, XWT.this); + if (b instanceof Stream) Template.getTemplate((Stream)b).apply((Box)a, XWT.this); else { JS to = (JS)a, from = (JS)b; Object k; for (Enumeration e = from.keys(); e.hasMoreElements();) { @@ -192,11 +192,11 @@ public final class XWT extends JS { throw new JSExn("invalid number of arguments for xwt object method "+name+"()"); } - public Res url2res(String url) throws JSExn { - if (url.startsWith("http://")) return new Res.HTTP(url); - else if (url.startsWith("https://")) return new Res.HTTP(url); - else if (url.startsWith("data:")) return new Res.ByteArray(Base64.decode(url.substring(5)), null); - else if (url.startsWith("utf8:")) return new Res.ByteArray(url.substring(5).getBytes(), null); + public Stream url2res(String url) throws JSExn { + if (url.startsWith("http://")) return new Stream.HTTP(url); + else if (url.startsWith("https://")) return new Stream.HTTP(url); + else if (url.startsWith("data:")) return new Stream.ByteArray(Base64.decode(url.substring(5)), null); + else if (url.startsWith("utf8:")) return new Stream.ByteArray(url.substring(5).getBytes(), null); else throw new JSExn("invalid resource specifier " + url); // FIXME support file:// via dialog boxes }