From: adam Date: Fri, 18 Feb 2005 10:51:41 +0000 (+0000) Subject: finished updating xt for new JS API X-Git-Url: http://git.megacz.com/?p=org.ibex.xt.git;a=commitdiff_plain;h=ef26083dc84f06010099ecee9caec22df3b3e114 finished updating xt for new JS API darcs-hash:20050218105141-5007d-853a991ab3a3c8159695155d36af48422b9acbd0.gz --- diff --git a/src/org/ibex/xt/Node.java b/src/org/ibex/xt/Node.java index 3f8b2c2..04e7ee6 100644 --- a/src/org/ibex/xt/Node.java +++ b/src/org/ibex/xt/Node.java @@ -118,8 +118,8 @@ public class Node { protected boolean _read(Node n) { try { Object ret = xml.next(); if (ret == null) return false; - if (ret instanceof String) { - n.cdata = (String)ret; + if (ret instanceof XML.Text) { + n.cdata = ((XML.Text)ret).t; n.delta = xml.getDepth() - currentdelta; currentdelta = xml.getDepth(); return true; @@ -139,7 +139,11 @@ public class Node { } catch (Exception e) { throw new RuntimeException(e); } } } - public void toXML(Writer writer) throws IOException { Node n = new Node(); if (read(n)) toXML(writer, n); } + public void toXML(Writer writer) throws IOException { + Node n = new Node(); + do { if (!read(n)) n = null; } while (n!=null && n.cdata != null); + toXML(writer, n); + } private Node toXML(Writer w, Node n) throws IOException { final String name = n.name; if (n.cdata != null) { @@ -160,7 +164,7 @@ public class Node { w.write("/>"); } else { w.write(">"); - while(n != null && n.delta > 0) n = toXML(w, n); + while(n != null && n.delta > 0) { n = toXML(w, n); } w.write(""); diff --git a/src/org/ibex/xt/Prevalence.java b/src/org/ibex/xt/Prevalence.java index 98f8071..7245386 100644 --- a/src/org/ibex/xt/Prevalence.java +++ b/src/org/ibex/xt/Prevalence.java @@ -62,7 +62,7 @@ public class Prevalence { System.err.println("configuring with " + manager); pf.configureSnapshotManager(manager); */ - //pf.configureSnapshotManager(new SnapshotManager(new JS(), base)); + pf.configureSnapshotManager(new SnapshotManager(new JS.Obj(), base)); //pf.configureClassLoader(JSTransaction.class.getClassLoader()); prevayler = pf.create(); prevaylers.put(cx, prevayler); diff --git a/src/org/ibex/xt/Servlet.java b/src/org/ibex/xt/Servlet.java index 38182ca..f00c387 100644 --- a/src/org/ibex/xt/Servlet.java +++ b/src/org/ibex/xt/Servlet.java @@ -44,7 +44,9 @@ public class Servlet extends HttpServlet { servletscope = new ServletScope(request, response, cx); path = cx.getRealPath(((HttpServletRequest)request).getServletPath()); Reader xmlreader = new InputStreamReader(new FileInputStream(path)); - new Template(servletscope, servletscope, xmlreader).wrap(null).toXML(response.getWriter()); + Writer w = response.getWriter(); + new Template(servletscope, servletscope, xmlreader).wrap(null).toXML(w); + w.flush(); } public class ServletScope extends JS.Obj { diff --git a/src/org/ibex/xt/Template.java b/src/org/ibex/xt/Template.java index b585033..3a492af 100644 --- a/src/org/ibex/xt/Template.java +++ b/src/org/ibex/xt/Template.java @@ -41,30 +41,32 @@ public class Template extends Node.Stream.Filter implements Node.Stream.Functor } public static Node transform(Node n, Scope scope) { - if (n.cdata != null) n.cdata = eval(n.cdata, scope).toString(); - else for(int i=1; i