r9655 - in helma-ng/trunk: modules/helma modules/helma/webapp src/org/helma/jack

[email protected] Wed, 22 Apr 2009 15:10:05 +0200 (CEST)
Newsgroups gmane.comp.java.helma.cvs
Message-ID <20090422131005.0BCB13D0D6@mia>
Author: hannes
Date: 2009-04-22 15:10:04 +0200 (Wed, 22 Apr 2009)
New Revision: 9655

Modified:
   helma-ng/trunk/modules/helma/httpserver.js
   helma-ng/trunk/modules/helma/logging.js
   helma-ng/trunk/modules/helma/webapp.js
   helma-ng/trunk/modules/helma/webapp/request.js
   helma-ng/trunk/src/org/helma/jack/JackEnv.java
Log:
Minor code cleanup

Details at http://dev.helma.org/trac/helma/changeset/9655

Modified: helma-ng/trunk/modules/helma/httpserver.js
===================================================================
--- helma-ng/trunk/modules/helma/httpserver.js	2009-04-22 13:10:01 UTC (rev 9654)
+++ helma-ng/trunk/modules/helma/httpserver.js	2009-04-22 13:10:04 UTC (rev 9655)
@@ -2,6 +2,10 @@
  * Module for starting and stopping the jetty http server.
  */
 
+var IO = require('io').IO;
+var HashP = require('hashp').HashP;
+var Request = require('helma/webapp/request').Request;
+
 export('start', 'stop', 'initRequest', 'commitResponse');
 
 // mark this module as shared between all requests
@@ -107,9 +111,8 @@
  * @param env a jack request object
  */
 function initRequest(env) {
-    var IO = require('io').IO;
-    env['jack.input'] = new IO(env['jack.input_stream'], null);
-    env['jack.error'] = new IO(null, env['jack.error_stream']);
+    env["jack.input"]  = new IO(env['jack.servlet_request'].getInputStream(), null);
+    env["jack.errors"] = new IO(null, java.lang.System.err);
 }
 
 /**

Modified: helma-ng/trunk/modules/helma/logging.js
===================================================================
--- helma-ng/trunk/modules/helma/logging.js	2009-04-22 13:10:01 UTC (rev 9654)
+++ helma-ng/trunk/modules/helma/logging.js	2009-04-22 13:10:04 UTC (rev 9655)
@@ -1,5 +1,5 @@
 require('core/string');
-import('helma/system', 'system');
+include('helma/system');
 include('helma/buffer');
 
 var __shared__ = true;
@@ -48,8 +48,7 @@
     if (!responseLogEnabled) {
         return req.process();
     }
-    var cx = system.getRhinoContext();
-    cx.putThreadLocal('responseLog', new java.util.LinkedList());
+    getRhinoContext().putThreadLocal('responseLog', new java.util.LinkedList());
 
     var res = req.process();
 
@@ -63,8 +62,7 @@
         return res;
     }
 
-    var cx = system.getRhinoContext();
-    var list = cx.getThreadLocal('responseLog');
+    var list = getRhinoContext().getThreadLocal('responseLog');
 
     if (list && !list.isEmpty()) {
         if (!(body instanceof Buffer)) {

Modified: helma-ng/trunk/modules/helma/webapp/request.js
===================================================================
--- helma-ng/trunk/modules/helma/webapp/request.js	2009-04-22 13:10:01 UTC (rev 9654)
+++ helma-ng/trunk/modules/helma/webapp/request.js	2009-04-22 13:10:04 UTC (rev 9655)
@@ -6,10 +6,11 @@
 
 // var log = require('helma/logging').getLogger(__name__);
 
-function Request(servletRequest) {
+function Request(env) {
 
     var params, cookies, session, headers;
     var define = bindArguments(Object.defineProperty, this);
+    var servletRequest = env["jack.servlet_request"];
 
     define("charset", readWritePropertyDesc(servletRequest, "characterEncoding"));
     define("port", readOnlyPropertyDesc(servletRequest, "port"));

Modified: helma-ng/trunk/modules/helma/webapp.js
===================================================================
--- helma-ng/trunk/modules/helma/webapp.js	2009-04-22 13:10:01 UTC (rev 9654)
+++ helma-ng/trunk/modules/helma/webapp.js	2009-04-22 13:10:04 UTC (rev 9655)
@@ -13,7 +13,7 @@
 import('helma/httpserver', 'server');
 import('helma/logging', 'logging');
 
-export('start', 'stop', 'getConfig', 'handleServletRequest', 'error', 'notfound');
+export('start', 'stop', 'getConfig', 'handleRequest', 'error', 'notfound');
 
 var log = logging.getLogger(__name__);
 
@@ -29,19 +29,12 @@
     var config = getConfig();
     if (log.debugEnabled) log.debug('got config: ' + config.toSource());
 
-    var req = new Request(env['jack.servlet_request']);
+    var req = new Request(env);
     var res;
 
     req.charset = config.charset || 'utf8';
     // res.contentType = config.contentType || 'text/html';
 
-    // invoke onRequest
-    // invokeMiddleware('onRequest', config.middleware, [req, res]);
-    // resume continuation?
-    /* if (continuation.resume(req, res)) {
-        return;
-    } */
-
     // resolve path and invoke action
     var path = req.path;
     if (path.startsWith('/')) {
@@ -102,9 +95,6 @@
                         // add remaining path elements as additional action arguments
                         var actionArgs = path.slice(1).map(decodeURIComponent);
                         var args = [req].concat(actionArgs);
-                        /* invokeMiddleware('onAction',
-                                config.middleware,
-                                [req, action, actionArgs]); */
                         var middleware = config.middleware;
                         var middlewareIndex = 0;
                         // set up middleware chain in request object
@@ -127,7 +117,6 @@
         } else if (e.redirect) {
             return new RedirectResponse(e.redirect);
         } else {
-            // invokeMiddleware('onError', config.middleware, [req, res, e]);
             res = error(req, e);
         }
     } finally {
@@ -136,7 +125,6 @@
             res = notfound(req);
         if (!(res instanceof Array) && res.close)
             res = res.close();
-        // invokeMiddleware('onResponse', config.middleware, [req, res]);
     }
     return res;
 }

Modified: helma-ng/trunk/src/org/helma/jack/JackEnv.java
===================================================================
--- helma-ng/trunk/src/org/helma/jack/JackEnv.java	2009-04-22 13:10:01 UTC (rev 9654)
+++ helma-ng/trunk/src/org/helma/jack/JackEnv.java	2009-04-22 13:10:04 UTC (rev 9655)
@@ -21,7 +21,6 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Enumeration;
-import java.io.IOException;
 import java.lang.reflect.Method;
 
 public class JackEnv extends ScriptableObject {
@@ -87,18 +86,6 @@
         return request.isSecure() ? "https" : "http";
     }
 
-    public Object getInputStream() {
-        try {
-            return Context.javaToJS(request.getInputStream(), this);
-        } catch (IOException iox) {
-            return Undefined.instance;
-        }
-    }
-
-    public Object getErrorStream() {
-        return Context.javaToJS(System.err, this);
-    }
-
     public Object getServletRequest() {
         return Context.javaToJS(request, this);
     }
@@ -120,8 +107,6 @@
         proto.defineProperty("QUERY_STRING", null, getMethod("getQueryString"), null, flags);
         proto.defineProperty("HTTP_VERSION", null, getMethod("getHttpVersion"), null, flags);
         proto.defineProperty("REMOTE_HOST", null, getMethod("getRemoteHost"), null, flags);
-        proto.defineProperty("jack.input_stream", null, getMethod("getInputStream"), null, flags);
-        proto.defineProperty("jack.error_stream", null, getMethod("getErrorStream"), null, flags);
         Scriptable version = cx.newArray(scope, new Object[] {Integer.valueOf(0), Integer.valueOf(1)});
         ScriptableObject.defineProperty(proto, "jack.version", version, flags);
         ScriptableObject.defineProperty(proto, "jack.multithread", Boolean.TRUE, flags);
@@ -140,21 +125,6 @@
         return str == null ? "" : str;
     }
 
-    @Override
-    public Object get(String name, Scriptable start) {
-        // FIXME: implement IO wrappers
-        if ("jack.input".equals(name)) {
-            try {
-                return Context.toObject(request.getInputStream(), this);
-            } catch (IOException iox) {
-                return Undefined.instance;
-            }
-        } else if ("jack.error".equals(name)) {
-            return Context.toObject(System.err, this);
-        }
-        return super.get(name, start);
-    }
-
     /**
      * Return the name of the class.
      */