major update to xt
[org.ibex.xt.git] / src / org / ibex / xt / Servlet.java
index be36ac8..1d18563 100644 (file)
@@ -31,6 +31,7 @@ public class Servlet extends HttpServlet {
     public void init(ServletConfig sc) throws ServletException {
         cx = sc.getServletContext();
         prevayler = Prevalence.getPrevayler(cx);
+        prevalent = (JS)prevayler.prevalentSystem();
     }
 
     public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { doGet(request, response); }
@@ -98,13 +99,6 @@ public class Servlet extends HttpServlet {
 
         public Object callMethod(Object method, final Object a, final Object b, Object c, Object[] rest, int nargs) throws JSExn {
             //#switch(method)
-            case "prevalent.query":
-                try {
-                    return prevayler.execute(new Prevalence.JSQuery(JS.cloneWithNewParentScope((JS)a, null)));
-                } catch (Exception e) {
-                    e.printStackTrace();
-                    throw new RuntimeException(e); }
-
             case "session.invalidate":    request.getSession(true).invalidate(); return null;
             case "context.list":
                 String path = JS.toString(a);
@@ -122,7 +116,7 @@ public class Servlet extends HttpServlet {
             //#switch(key)
             case "body":
             case "arg":                   return null;
-            case "prevalent":             return prevalent;
+            case "prevalent":             return prevayler.prevalentSystem();
             case "request":               return getSub("request");
             case "request.user":          return request.getRemoteUser();
             case "request.header":        return requestHeader;
@@ -151,12 +145,12 @@ public class Servlet extends HttpServlet {
         public void put(Object key, Object val) throws JSExn {
             try {
             //#switch(JS.toString(key))
+            case "transaction":
+                try { prevayler.execute(new Prevalence.JSTransaction((JS)val));
+                } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); }
             case "response.code":         response.setStatus(JS.toInt(val));
             case "response.redirect":     response.sendRedirect(JS.toString(val));
             case "response.contentType":  response.setContentType(JS.toString(val));
-            case "prevalent":             
-                try { prevayler.execute(new Prevalence.JSTransaction(JS.cloneWithNewParentScope((JS)val, null)));
-                } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); }
             //#end
             } catch (IOException e) {
                 throw new JSExn(e);