r9796 - in helma-ng/trunk: apps/demo apps/storage modules/helma modules/helma/middleware modules/helma/webapp

[email protected] Sat, 16 May 2009 11:27:39 +0200 (CEST)
Newsgroups gmane.comp.java.helma.cvs
Message-ID <20090516092739.762B33D0D6@mia>
Author: hannes
Date: 2009-05-16 11:27:39 +0200 (Sat, 16 May 2009)
New Revision: 9796

Added:
   helma-ng/trunk/modules/helma/middleware/
   helma-ng/trunk/modules/helma/middleware/etag.js
   helma-ng/trunk/modules/helma/middleware/profiler.js
   helma-ng/trunk/modules/helma/middleware/responselog.js
Removed:
   helma-ng/trunk/modules/helma/webapp/etag.js
Modified:
   helma-ng/trunk/apps/demo/actions.js
   helma-ng/trunk/apps/demo/config.js
   helma-ng/trunk/apps/storage/config.js
   helma-ng/trunk/modules/helma/logging.js
   helma-ng/trunk/modules/helma/profiler.js
Log:
Move middleware modules into separate helma/middleware/* package

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

Modified: helma-ng/trunk/apps/demo/actions.js
===================================================================
--- helma-ng/trunk/apps/demo/actions.js	2009-05-15 22:18:54 UTC (rev 9795)
+++ helma-ng/trunk/apps/demo/actions.js	2009-05-16 09:27:39 UTC (rev 9796)
@@ -37,7 +37,7 @@
             log.error(e, e.rhinoException);
         }
     } else if (req.params.profile) {
-        var profiler = require('helma/profiler');
+        var profiler = require('helma/middleware/profiler');
         req.process = function() {
             return new SkinnedResponse('skins/logging.txt', {
                 title: "Logging &amp; Profiling"

Modified: helma-ng/trunk/apps/demo/config.js
===================================================================
--- helma-ng/trunk/apps/demo/config.js	2009-05-15 22:18:54 UTC (rev 9795)
+++ helma-ng/trunk/apps/demo/config.js	2009-05-16 09:27:39 UTC (rev 9796)
@@ -9,7 +9,9 @@
 ];
 
 exports.middleware = [
-    'helma/logging',
+    'helma/middleware/etag',
+    'helma/middleware/responselog',
+    // 'helma/middleware/profiler'
 ];
 
 exports.macros = [

Modified: helma-ng/trunk/apps/storage/config.js
===================================================================
--- helma-ng/trunk/apps/storage/config.js	2009-05-15 22:18:54 UTC (rev 9795)
+++ helma-ng/trunk/apps/storage/config.js	2009-05-16 09:27:39 UTC (rev 9796)
@@ -3,7 +3,9 @@
 ];
 
 exports.middleware = [
-    'helma/logging'
+    'helma/middleware/etag',
+    'helma/middleware/responselog',
+    // 'helma/middleware/profiler'
 ];
 
 exports.macros = [

Modified: helma-ng/trunk/modules/helma/logging.js
===================================================================
--- helma-ng/trunk/modules/helma/logging.js	2009-05-15 22:18:54 UTC (rev 9795)
+++ helma-ng/trunk/modules/helma/logging.js	2009-05-16 09:27:39 UTC (rev 9796)
@@ -1,15 +1,10 @@
 require('core/string');
-include('hashp');
-include('helma/system');
-include('helma/buffer');
 
 importPackage(org.apache.log4j);
 importClass(org.apache.log4j.xml.DOMConfigurator);
 
 var __shared__ = true;
-
 var configured = false;
-var responseLogEnabled = true;
 
 /**
  * Configure log4j using the given file resource.
@@ -40,92 +35,3 @@
     return Logger.getLogger(name.replace(/\//g, '.'));
 }
 
-// now that getLogger is installed we can get our own log
-var log = getLogger(__name__);
-
-/**
- * Render log4j messages to response buffer in the style of helma 1 res.debug().
- */
-exports.handleRequest = function handleRequest(req) {
-    // Install list in 'responseLog' threadlocal
-    if (!responseLogEnabled) {
-        return req.process();
-    }
-
-    var messages = [];
-    var appender = Logger.getRootLogger().getAppender("rhino") || {};
-
-    appender.callback = function(level, message, scriptStack, javaStack) {
-        messages.push([level, message, scriptStack, javaStack]);
-    };
-
-    var res;
-    try {
-        res = req.process();
-    } finally {
-        appender.callback = null;
-    }
-
-    var [status, headers, body] = res;
-
-    // only do this for ordinary HTML responses
-    var contentType = HashP.get(headers, "content-type");
-    if (status != 200 && status < 400 || !contentType || !contentType.startsWith("text/html")) {
-        return res;
-    }
-
-    if (messages.length > 0) {
-        var ResponseFilter = require("helma/webapp/util").ResponseFilter;
-        res[2] = new ResponseFilter(body, function(part) {
-            if (typeof part != "string" && part.lastIndexOf("</body>") == -1) {
-                return part;
-            }
-            return injectMessages(part, messages);
-        });
-    }
-
-    return res;
-};
-
-function injectMessages(part, messages) {
-    var buffer = new Buffer();
-    for (var i = 0; i < messages.length; i++) {
-        appendMessage(buffer, messages[i]);
-    }
-    var insert = part.lastIndexOf("</body>");
-    return part.substring(0, insert) + buffer + part.substring(insert);
-}
-
-function appendMessage(buffer, item) {
-    var [level, message, jsstack, javastack] = item;
-    var multiline = message
-            && (message.trim().indexOf('\n') > 0 || message.indexOf('\r')> 0);
-    var bgcolor = colors[level.toString()] || '#fff';
-    buffer.write("<div class='helma-debug-line' style='background:", bgcolor,
-                 "; color: black; border-top: 1px solid black;'>");
-    if (multiline) {
-        buffer.write("<pre>", message, "</pre>");
-    } else {
-        buffer.write(message);
-    }
-    appendStackTrace(buffer, "Script Stack", jsstack);
-    appendStackTrace(buffer, "Java Stack", javastack);
-    buffer.writeln("</div>");    
-}
-
-function appendStackTrace(buffer, header, stack) {
-    if (stack) {
-        buffer.write("<h4 style='padding-left: 8px; margin: 4px;'>");
-        buffer.write(header);
-        buffer.write("</h4>");
-        buffer.write("<pre style='margin: 0;'>", stack, "</pre>");
-    }
-}
-
-var colors = {
-    DEBUG: '#fff',
-    INFO: '#ff6',
-    WARN: '#ff0',
-    ERROR: '#f90',
-    FATAL: '#f30'
-}
\ No newline at end of file

Copied: helma-ng/trunk/modules/helma/middleware/etag.js (from rev 9795, helma-ng/trunk/modules/helma/webapp/etag.js)

Added: helma-ng/trunk/modules/helma/middleware/profiler.js

Copied: helma-ng/trunk/modules/helma/middleware/responselog.js (from rev 9795, helma-ng/trunk/modules/helma/logging.js)

Modified: helma-ng/trunk/modules/helma/profiler.js
===================================================================
--- helma-ng/trunk/modules/helma/profiler.js	2009-05-15 22:18:54 UTC (rev 9795)
+++ helma-ng/trunk/modules/helma/profiler.js	2009-05-16 09:27:39 UTC (rev 9796)
@@ -1,51 +1,8 @@
-require('core/string');
-include('helma/buffer');
-import('helma/system');
-import('helma/logging');
-import('helma/shell');
 
-export('handleRequest', 'Profiler');
+var log = require('helma/logging').getLogger(__name__);
 
-var system = helma.system;
-var {write, writeln} = helma.shell;
-var log = helma.logging.getLogger(__name__);
+export('Profiler');
 
-/**
- * Register a request listener that automatically sets rhino optimization
- * level to -1 and adds a profiler.
- */
-(function() {
-    var maxFrames = 20;
-    var profiler;
-
-    this.handleRequest = function(req) {
-        if (system.getOptimizationLevel() > -1) {
-            system.setOptimizationLevel(-1);
-            throw {retry: true};
-        }
-        if (!profiler) {
-            profiler = new Profiler();
-        }
-        system.getRhinoContext().setDebugger(profiler, null);
-
-        var res = req.process();
-
-        var result = profiler.getResult(maxFrames);
-        var buffer = new Buffer();
-        buffer.writeln();
-        buffer.writeln("     total  average  calls    path");
-        for (var i = 1; i < result.maxLength; i++) {
-            // b.write("—");
-            buffer.write("-");
-        }
-        buffer.writeln();
-        buffer.writeln(result.data);
-        log.info(buffer.toString());
-
-        return res;
-    };
-}).apply(this);
-
 function Profiler() {
     var frames = {};
     var currentFrame = null;

Deleted: helma-ng/trunk/modules/helma/webapp/etag.js

_______________________________________________
Helma-CVS mailing list
[email protected]
http://helma.org/mailman/listinfo/helma-cvs