X-Git-Url: http://git.megacz.com/?p=org.ibex.xt.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fxt%2FServlet.java;h=80545be30aba81ead35f54f7beaf505fcaa7ecc9;hp=7a2b58f00978c208ded1432ae26248d72035c51b;hb=895124c1bfbfb35522477936af38d250bcc65f4c;hpb=507fd40aa9c563c5fdeeac08929523f9fdd35590 diff --git a/src/org/ibex/xt/Servlet.java b/src/org/ibex/xt/Servlet.java index 7a2b58f..80545be 100644 --- a/src/org/ibex/xt/Servlet.java +++ b/src/org/ibex/xt/Servlet.java @@ -15,29 +15,11 @@ import com.thoughtworks.xstream.*; import org.prevayler.*; import org.prevayler.implementation.snapshot.*; -public class Servlet extends HttpServlet { +public class Servlet extends Prevalence.PrevalentServlet { public static final JS METHOD = new JS.Method(); private ServletScope servletscope = null; private String path; - private Prevayler prevayler; - private JS prevalent; - private ServletContext cx = null; - - public void destroy() { try { - synchronized(this.getClass()) { - Prevayler privatePrevayler = prevayler; - if (prevayler == null) return; - prevayler = null; - Prevalence.destroy(cx, prevayler); - } - } catch (Exception e) { e.printStackTrace(); } } - - 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); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { @@ -54,24 +36,26 @@ public class Servlet extends HttpServlet { public class ServletScope extends JSSubProperties { HttpServletRequest request; HttpServletResponse response; + HttpSession session; ServletContext cx; public String getRealPath(String s) { return cx.getRealPath(s); } public ServletScope(ServletRequest request, ServletResponse response, ServletContext cx) { super(); this.request = (HttpServletRequest)request; this.response = (HttpServletResponse)response; + this.session = this.request.getSession(); this.cx = cx; } - // FIXME: setattributes - //#repeat params/cookies/requestHeader/attributes \ - // getParameter/getCookie/getHeader/getAttribute \ - // getParameterNames/getCookieNames/getHeaderNames/getAttributeNames \ - // request/request/request/session/response \ - // setParameter/setCookie/setHeader/setAttribute + // FIXME: setattributes, cookies + //#repeat params/requestHeader/attributes \ + // getParameter/getHeader/getAttribute \ + // getParameterNames/getHeaderNames/getAttributeNames \ + // request/request/session/response \ + // setAttribute/setAttribute/setAttribute private JS params = new JS.Obj() { public JS get(JS key) throws JSExn { return JSU.S(request.getParameter(JSU.toString(key)).toString()); } - public void put(JS key, JS val) throws JSExn { request.setParameter(JSU.toString(key), JSU.toString(val)); } + public void put(JS key, JS val) throws JSExn { request.setAttribute(JSU.toString(key), JSU.toString(val)); } public Enumeration keys() throws JSExn { return new JS.Enumeration.JavaStringEnumeration(request.getParameterNames()); } }; @@ -92,9 +76,9 @@ public class Servlet extends HttpServlet { case "request.ssl": return JSU.B(request.isSecure()); case "request.path": return JSU.S(request.getPathInfo()); case "response": return SUBPROPERTY; - case "response.header": return responseHeader; + case "form": return SUBPROPERTY; + case "form.fields": return currentForm.fields(); case "session": return SUBPROPERTY; - case "session.attr": return sessionAttributes; case "session.created": return new JSDate(request.getSession(true).getCreationTime()); case "session.accessed": return new JSDate(request.getSession(true).getLastAccessedTime()); case "session.invalidate": return METHOD; @@ -103,11 +87,13 @@ public class Servlet extends HttpServlet { case "context": return SUBPROPERTY; case "context.list": return METHOD; case "params": return params; - case "cookie": return cookies; //#end + // cookie, responseheader needed, session.attributes return null; } + Form currentForm = null; + public void put(JS key, JS val) throws JSExn { try { //#switch(JSU.toString(key))