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 2007/01/18 08:43:43 UTC

svn commit: r497333 - in /cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom: FOM_Cocoon.java FOM_WebContinuation.java

Author: cziegeler
Date: Wed Jan 17 23:43:42 2007
New Revision: 497333

URL: http://svn.apache.org/viewvc?view=rev&rev=497333
Log:
Reduce dependencies to Avalon

Modified:
    cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_Cocoon.java
    cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_WebContinuation.java

Modified: cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_Cocoon.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_Cocoon.java?view=diff&rev=497333&r1=497332&r2=497333
==============================================================================
--- cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_Cocoon.java (original)
+++ cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_Cocoon.java Wed Jan 17 23:43:42 2007
@@ -31,7 +31,6 @@
 import java.util.Set;
 
 import org.apache.avalon.framework.context.Context;
-import org.apache.avalon.framework.context.ContextException;
 import org.apache.avalon.framework.logger.Logger;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.cocoon.components.ContextHelper;
@@ -40,6 +39,7 @@
 import org.apache.cocoon.components.flow.WebContinuation;
 import org.apache.cocoon.components.flow.Interpreter.Argument;
 import org.apache.cocoon.configuration.Settings;
+import org.apache.cocoon.core.container.spring.avalon.AvalonUtils;
 import org.apache.cocoon.environment.ObjectModelHelper;
 import org.apache.cocoon.environment.Redirector;
 import org.apache.cocoon.environment.Request;
@@ -69,7 +69,7 @@
     class CallContext {
         CallContext caller;
         Context avalonContext;
-        ServiceManager serviceManager;
+        WebApplicationContext webAppContext;
         FOM_JavaScriptInterpreter interpreter;
         Redirector redirector;
         Logger logger;
@@ -86,14 +86,14 @@
         public CallContext(CallContext caller,
                            FOM_JavaScriptInterpreter interp,
                            Redirector redirector,
-                           ServiceManager manager,
+                           WebApplicationContext waContext,
                            Context avalonContext,
                            Logger logger,
                            WebContinuation lastContinuation) {
             this.caller = caller;
             this.interpreter = interp;
             this.redirector = redirector;
-            this.serviceManager = manager;
+            this.webAppContext = waContext;
             this.avalonContext = avalonContext;
             this.logger = logger;
             this.lastContinuation = lastContinuation;
@@ -220,15 +220,10 @@
             pageLocal = new PageLocalScopeHolder(getTopLevelScope(this));
         }
         
-        // The call context will use the current sitemap's service manager when looking up components
-        ServiceManager sitemapManager;
-        try {
-            sitemapManager = (ServiceManager)avalonContext.get(ContextHelper.CONTEXT_SITEMAP_SERVICE_MANAGER);
-        } catch (ContextException e) {
-            throw new FOMResourceNotFoundException("Cannot get sitemap service manager", e);
-        }
+        // The call context will use the current application context when looking up components
+        final WebApplicationContext appContext = WebAppContextUtils.getCurrentWebApplicationContext();
 
-        this.currentCall = new CallContext(currentCall, interp, redirector, sitemapManager,
+        this.currentCall = new CallContext(currentCall, interp, redirector, appContext,
                                            avalonContext,
                                            logger, lastContinuation);
     }
@@ -325,7 +320,7 @@
      */
     public Object jsFunction_getComponent(String id)
         throws Exception {
-        return org.mozilla.javascript.Context.javaToJS(getServiceManager().lookup(id), 
+        return org.mozilla.javascript.Context.javaToJS(currentCall.webAppContext.getBean(id), 
                                                        getParentScope());
     }
 
@@ -335,7 +330,7 @@
      * @param component a component
      */
     public void jsFunction_releaseComponent( Object component ) throws Exception {
-        this.getServiceManager().release( unwrap(component) );
+        // this will be done by Spring
     }
 
     /**
@@ -375,7 +370,7 @@
              unwrap(obj),
              this.getLogger(),
              this.getAvalonContext(),
-             this.getServiceManager(),
+             (ServiceManager)currentCall.webAppContext.getBean(AvalonUtils.SERVICE_MANAGER_ROLE),
              null,// configuration
              true);
          return org.mozilla.javascript.Context.javaToJS(obj, getParentScope());
@@ -697,10 +692,6 @@
         return currentCall.logger;
     }
 
-    public ServiceManager getServiceManager() {
-        return currentCall.serviceManager;
-    }
-
     private FOM_JavaScriptInterpreter getInterpreter() {
         return currentCall.interpreter;
     }
@@ -811,8 +802,7 @@
         }
         WebContinuation wk;
         ContinuationsManager contMgr;
-        contMgr = (ContinuationsManager)
-            getServiceManager().lookup(ContinuationsManager.ROLE);
+        contMgr = (ContinuationsManager)currentCall.webAppContext.getBean(ContinuationsManager.ROLE);
         wk = contMgr.createWebContinuation(unwrap(k),
                                            (parent == null ? null : parent.getWebContinuation()),
                                            timeToLive,

Modified: cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_WebContinuation.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_WebContinuation.java?view=diff&rev=497333&r1=497332&r2=497333
==============================================================================
--- cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_WebContinuation.java (original)
+++ cocoon/trunk/blocks/cocoon-flowscript/cocoon-flowscript-impl/src/main/java/org/apache/cocoon/components/flow/javascript/fom/FOM_WebContinuation.java Wed Jan 17 23:43:42 2007
@@ -19,7 +19,6 @@
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.cocoon.components.flow.ContinuationsManager;
 import org.apache.cocoon.components.flow.WebContinuation;
 import org.mozilla.javascript.Context;
@@ -86,9 +85,7 @@
         WebContinuation wk;
         Scriptable scope = getTopLevelScope(c);
         FOM_Cocoon cocoon = (FOM_Cocoon)getProperty(scope, "cocoon");
-        ServiceManager componentManager =  cocoon.getServiceManager();
-        ContinuationsManager contMgr = (ContinuationsManager)
-            componentManager.lookup(ContinuationsManager.ROLE);
+        ContinuationsManager contMgr = (ContinuationsManager)cocoon.getApplicationContext().getBean(ContinuationsManager.ROLE);
         wk = contMgr.createWebContinuation(c,
                                            (parent == null ? null : parent.getWebContinuation()),
                                            timeToLive,
@@ -165,12 +162,9 @@
     }
 
     public void jsFunction_invalidate() throws Exception {
-        ContinuationsManager contMgr = null;
         FOM_Cocoon cocoon =
             (FOM_Cocoon)getProperty(getTopLevelScope(this), "cocoon");
-        ServiceManager componentManager = cocoon.getServiceManager();
-        contMgr = (ContinuationsManager)
-            componentManager.lookup(ContinuationsManager.ROLE);
+        ContinuationsManager contMgr = (ContinuationsManager)cocoon.getApplicationContext().getBean(ContinuationsManager.ROLE);
         contMgr.invalidateWebContinuation(wk);
     }