You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by da...@apache.org on 2006/10/02 20:04:35 UTC

svn commit: r452149 - in /cocoon/trunk/blocks: cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/ cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/util/ cocoon-petstore/coco...

Author: danielf
Date: Mon Oct  2 11:04:34 2006
New Revision: 452149

URL: http://svn.apache.org/viewvc?view=rev&rev=452149
Log:
Removed the Rhino dependency from core and added it to some other projects that depended on Rhino indirectly before.
Moved PipelineUtil and CompilingInterpreter to the flowscript block as they seem to be floscript specific anyway.

Added:
    cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/CompilingInterpreter.java
      - copied unchanged from r452003, cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/CompilingInterpreter.java
    cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/util/
      - copied from r452003, cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/util/
    cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/util/PipelineUtil.java
      - copied, changed from r452146, cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/util/PipelineUtil.java
Modified:
    cocoon/trunk/blocks/cocoon-petstore/cocoon-petstore-impl/pom.xml
    cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/pom.xml
    cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/AO_FOM_JavaScriptInterpreter.java
    cocoon/trunk/blocks/cocoon-velocity/cocoon-velocity-impl/pom.xml
    cocoon/trunk/blocks/cocoon-xsp/cocoon-xsp-impl/pom.xml

Copied: cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/util/PipelineUtil.java (from r452146, cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/util/PipelineUtil.java)
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/util/PipelineUtil.java?view=diff&rev=452149&p1=cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/util/PipelineUtil.java&r1=452146&p2=cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/util/PipelineUtil.java&r2=452149
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/components/flow/util/PipelineUtil.java (original)
+++ cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/util/PipelineUtil.java Mon Oct  2 11:04:34 2006
@@ -35,6 +35,8 @@
 import org.apache.commons.io.IOUtils;
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceResolver;
+import org.mozilla.javascript.Undefined;
+import org.mozilla.javascript.Wrapper;
 import org.w3c.dom.Document;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.SAXException;
@@ -101,7 +103,7 @@
 
         // Keep the previous view data, if any (is it really necessary?), and set the new one
         Object oldViewData = FlowHelper.getContextObject(objectModel);
-        FlowHelper.setContextObject(objectModel, FlowHelper.unwrap(viewData));
+        FlowHelper.setContextObject(objectModel, PipelineUtil.unwrap(viewData));
 
         Source src = null;
         InputStream input = null;
@@ -138,7 +140,7 @@
 
         Map objectModel = ContextHelper.getObjectModel(this.context);
         Object oldViewData = FlowHelper.getContextObject(objectModel);
-        FlowHelper.setContextObject(objectModel, FlowHelper.unwrap(viewData));
+        FlowHelper.setContextObject(objectModel, PipelineUtil.unwrap(viewData));
 
         Source src = null;
         try {
@@ -164,7 +166,7 @@
 
         Map objectModel = ContextHelper.getObjectModel(this.context);
         Object oldViewData = FlowHelper.getContextObject(objectModel);
-        FlowHelper.setContextObject(objectModel, FlowHelper.unwrap(viewData));
+        FlowHelper.setContextObject(objectModel, PipelineUtil.unwrap(viewData));
 
         Source src = null;
 
@@ -177,5 +179,17 @@
                 this.resolver.release(src);
             }
         }
+    }
+
+    /**
+     * Unwrap a Rhino object (getting the raw java object) and convert undefined to null
+     */
+    public static Object unwrap(Object obj) {
+        if (obj instanceof Wrapper) {
+            obj = ((Wrapper)obj).unwrap();
+        } else if (obj == Undefined.instance) {
+            obj = null;
+        }
+        return obj;
     }
 }

Modified: cocoon/trunk/blocks/cocoon-petstore/cocoon-petstore-impl/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-petstore/cocoon-petstore-impl/pom.xml?view=diff&rev=452149&r1=452148&r2=452149
==============================================================================
--- cocoon/trunk/blocks/cocoon-petstore/cocoon-petstore-impl/pom.xml (original)
+++ cocoon/trunk/blocks/cocoon-petstore/cocoon-petstore-impl/pom.xml Mon Oct  2 11:04:34 2006
@@ -40,5 +40,10 @@
       <artifactId>cocoon-core</artifactId>
       <version>2.2.0-M2-SNAPSHOT</version>
     </dependency>
+    <dependency>
+      <groupId>org.apache.cocoon</groupId>
+      <artifactId>cocoon-flowscript-impl</artifactId>
+      <version>1.0.0-M2-SNAPSHOT</version>
+    </dependency>
   </dependencies>
 </project>

Modified: cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/pom.xml?view=diff&rev=452149&r1=452148&r2=452149
==============================================================================
--- cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/pom.xml (original)
+++ cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/pom.xml Mon Oct  2 11:04:34 2006
@@ -46,6 +46,11 @@
       <version>1.0.0-SNAPSHOT</version>
     </dependency>
     <dependency>
+      <groupId>org.apache.cocoon</groupId>
+      <artifactId>cocoon-flowscript-impl</artifactId>
+      <version>1.0.0-M2-SNAPSHOT</version>
+    </dependency>
+    <dependency>
       <groupId>org.apache.axis</groupId>
       <artifactId>axis</artifactId>
       <version>1.4</version>

Modified: cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/AO_FOM_JavaScriptInterpreter.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/AO_FOM_JavaScriptInterpreter.java?view=diff&rev=452149&r1=452148&r2=452149
==============================================================================
--- cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/AO_FOM_JavaScriptInterpreter.java (original)
+++ cocoon/trunk/blocks/cocoon-scratchpad/cocoon-scratchpad-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/AO_FOM_JavaScriptInterpreter.java Mon Oct  2 11:04:34 2006
@@ -44,6 +44,7 @@
 import org.apache.cocoon.components.flow.javascript.JSErrorReporter;
 import org.apache.cocoon.components.flow.javascript.ScriptablePointerFactory;
 import org.apache.cocoon.components.flow.javascript.ScriptablePropertyHandler;
+import org.apache.cocoon.components.flow.util.PipelineUtil;
 import org.apache.cocoon.environment.ObjectModelHelper;
 import org.apache.cocoon.environment.Redirector;
 import org.apache.cocoon.environment.Request;
@@ -754,7 +755,14 @@
                     OutputStream out)
         throws Exception {
         setupView(scope, cocoon, null);
-        super.process(uri, bizData, out);
+        PipelineUtil pipeUtil = new PipelineUtil();
+        try {
+            pipeUtil.contextualize(this.avalonContext);
+            pipeUtil.service(this.manager);
+            pipeUtil.processToStream(uri, bizData, out);
+        } finally {
+            pipeUtil.dispose();
+        }
     }
     
     private void setupView(Scriptable scope,

Modified: cocoon/trunk/blocks/cocoon-velocity/cocoon-velocity-impl/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-velocity/cocoon-velocity-impl/pom.xml?view=diff&rev=452149&r1=452148&r2=452149
==============================================================================
--- cocoon/trunk/blocks/cocoon-velocity/cocoon-velocity-impl/pom.xml (original)
+++ cocoon/trunk/blocks/cocoon-velocity/cocoon-velocity-impl/pom.xml Mon Oct  2 11:04:34 2006
@@ -41,6 +41,11 @@
       <version>2.2.0-M2-SNAPSHOT</version>
     </dependency>
     <dependency>
+      <groupId>rhino</groupId>
+      <artifactId>js</artifactId>
+      <version>1.6R2</version>
+    </dependency>
+    <dependency>
       <groupId>velocity</groupId>
       <artifactId>velocity</artifactId>
       <version>1.4</version>

Modified: cocoon/trunk/blocks/cocoon-xsp/cocoon-xsp-impl/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-xsp/cocoon-xsp-impl/pom.xml?view=diff&rev=452149&r1=452148&r2=452149
==============================================================================
--- cocoon/trunk/blocks/cocoon-xsp/cocoon-xsp-impl/pom.xml (original)
+++ cocoon/trunk/blocks/cocoon-xsp/cocoon-xsp-impl/pom.xml Mon Oct  2 11:04:34 2006
@@ -120,6 +120,11 @@
       </exclusions>
     </dependency>
     <dependency>
+      <groupId>rhino</groupId>
+      <artifactId>js</artifactId>
+      <version>1.6R2</version>
+    </dependency>
+    <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>servlet-api</artifactId>
       <version>2.4</version>