You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2006/06/22 17:17:45 UTC

svn commit: r416393 - /cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/TemplateObjectModelHelper.java

Author: cziegeler
Date: Thu Jun 22 08:17:44 2006
New Revision: 416393

URL: http://svn.apache.org/viewvc?rev=416393&view=rev
Log:
Move javascript related stuff out of the TemplateObjectModelHelper

Modified:
    cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/TemplateObjectModelHelper.java

Modified: cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/TemplateObjectModelHelper.java
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/TemplateObjectModelHelper.java?rev=416393&r1=416392&r2=416393&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/TemplateObjectModelHelper.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/java/org/apache/cocoon/environment/TemplateObjectModelHelper.java Thu Jun 22 08:17:44 2006
@@ -20,15 +20,11 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.avalon.framework.CascadingRuntimeException;
 import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.cocoon.components.flow.FlowHelper;
-import org.apache.cocoon.components.flow.javascript.fom.FOM_JavaScriptFlowHelper;
 import org.apache.commons.jxpath.DynamicPropertyHandler;
 import org.apache.commons.jxpath.JXPathBeanInfo;
 import org.apache.commons.jxpath.JXPathIntrospector;
-import org.mozilla.javascript.*;
-import org.mozilla.javascript.Context;
 
 
 /**
@@ -40,32 +36,10 @@
  * @version $Id: TemplateObjectModelHelper.java 359757 2005-12-29 08:53:30Z cziegeler $
  */
 public class TemplateObjectModelHelper {
-    private static Scriptable rootScope = null;
 
     /** Avoid instantiation */
     private TemplateObjectModelHelper() {}
 
-    public static Scriptable getScope() {
-        Context ctx = Context.enter();
-        try {
-            // Create it if never used up to now
-            if (rootScope == null) {
-                rootScope = ctx.initStandardObjects(null);
-            }
-            Scriptable scope = null;
-            try {
-                scope = ctx.newObject(rootScope);
-            } catch (Exception e) {
-                throw new CascadingRuntimeException("Exception", e);
-            }
-            scope.setPrototype(rootScope);
-            scope.setParentScope(null);
-            return scope;
-        } finally {
-            Context.exit();
-        }
-    }
-
     public static void fillContext(Object contextObject, Map map) {
         // Hack: I use jxpath to populate the context object's properties
         // in the jexl context
@@ -120,28 +94,21 @@
         // first create the "cocoon object":
         final Map cocoon = new HashMap();
 
-        // Needed for the FOM wrappers
-        Context.enter();
-        try {
-            // cocoon.request
-            final Request request = ObjectModelHelper.getRequest( objectModel );
-            cocoon.put("request", request);
-
-            // cocoon.session
-            final Session session = request.getSession(false);
-            if (session != null) {
-                cocoon.put("session", session);
-            }
-
-            // cocoon.context
-            final org.apache.cocoon.environment.Context context =
-                ObjectModelHelper.getContext( objectModel );
-            cocoon.put("context", context);
-
-        } finally {
-            Context.exit();
+        // cocoon.request
+        final Request request = ObjectModelHelper.getRequest( objectModel );
+        cocoon.put("request", request);
+
+        // cocoon.session
+        final Session session = request.getSession(false);
+        if (session != null) {
+            cocoon.put("session", session);
         }
 
+        // cocoon.context
+        final org.apache.cocoon.environment.Context context =
+            ObjectModelHelper.getContext( objectModel );
+        cocoon.put("context", context);
+
         // cocoon.continuation
         final Object cont = FlowHelper.getWebContinuation(objectModel);
         if ( cont != null ) {
@@ -165,35 +132,5 @@
         }
 
         return map;
-    }
-
-    /**
-     * Add java packages to object model. Allows to construct java objects.
-     * @param objectModel usually the result of invoking getTemplateObjectModel
-     */
-    public static Object addJavaPackages( Map objectModel ) {
-        Object javaPkg = FOM_JavaScriptFlowHelper.getJavaPackage(objectModel);
-        Object pkgs = FOM_JavaScriptFlowHelper.getPackages(objectModel);
-
-        // packages might have already been set up if flowscript is being used
-        if ( javaPkg != null && pkgs != null ) {
-            objectModel.put( "Packages", javaPkg );
-            objectModel.put( "java", pkgs );
-        } else {
-            Context.enter();
-            try {
-                final String JAVA_PACKAGE = "JavaPackage";
-                ClassLoader cl = Thread.currentThread().getContextClassLoader();
-                Scriptable newPackages = new NativeJavaPackage( "", cl );
-                newPackages.setParentScope( getScope() );
-                newPackages.setPrototype( ScriptableObject.getClassPrototype(   getScope(),
-                                                                                JAVA_PACKAGE ) );
-                objectModel.put( "Packages", newPackages );
-                objectModel.put( "java", ScriptableObject.getProperty( getScope(), "java" ) );
-            } finally {
-                Context.exit();
-            }
-        }
-        return objectModel;
     }
 }