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 2005/08/14 12:21:23 UTC

svn commit: r232594 - in /cocoon: blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/ trunk/src/java/org/apache/cocoon/components/treeprocessor/ trunk/src/java/org/apache/cocoon/components/treeprocessor/sitemap/ trunk/src/java/org/apache/c...

Author: cziegeler
Date: Sun Aug 14 03:20:29 2005
New Revision: 232594

URL: http://svn.apache.org/viewcvs?rev=232594&view=rev
Log:
Add more hooks to executor
Fix AbstractRequestWrapper

Modified:
    cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/SimpleSitemapExecutor.java
    cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/InvokeContext.java
    cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/sitemap/PipelineNode.java
    cocoon/trunk/src/java/org/apache/cocoon/environment/wrapper/AbstractRequestWrapper.java
    cocoon/trunk/src/java/org/apache/cocoon/sitemap/SitemapExecutor.java
    cocoon/trunk/src/java/org/apache/cocoon/sitemap/impl/DefaultExecutor.java

Modified: cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/SimpleSitemapExecutor.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/SimpleSitemapExecutor.java?rev=232594&r1=232593&r2=232594&view=diff
==============================================================================
--- cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/SimpleSitemapExecutor.java (original)
+++ cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/SimpleSitemapExecutor.java Sun Aug 14 03:20:29 2005
@@ -226,5 +226,20 @@
         return uri;
     }
 
+    /**
+     * @see org.apache.cocoon.sitemap.SitemapExecutor#enteringPipeline(org.apache.cocoon.sitemap.ExecutionContext, java.util.Map, org.apache.cocoon.sitemap.SitemapExecutor.PipelineComponentDescription)
+     */
+    public PipelineComponentDescription enteringPipeline(ExecutionContext context, Map objectModel, PipelineComponentDescription desc) {
+        this.getLogger().info("- Entering new pipeline section.");
+        return desc;
+    }
+
+    /**
+     * @see org.apache.cocoon.sitemap.SitemapExecutor#notifyPipelineProcessed(org.apache.cocoon.sitemap.ExecutionContext, java.util.Map)
+     */
+    public void notifyPipelineProcessed(ExecutionContext context, Map objectModel) {
+        this.getLogger().info("- Processing finished.");
+    }
+
 }
 

Modified: cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/InvokeContext.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/InvokeContext.java?rev=232594&r1=232593&r2=232594&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/InvokeContext.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/InvokeContext.java Sun Aug 14 03:20:29 2005
@@ -23,6 +23,7 @@
 
 import org.apache.avalon.framework.activity.Disposable;
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.ServiceSelector;
@@ -73,7 +74,7 @@
     protected String processingPipelineName;
 
     /** The parameters for the processing pipeline */
-    protected Map processingPipelineParameters;
+    protected Parameters processingPipelineParameters;
 
     /** The object model used to resolve processingPipelineParameters */
     protected Map processingPipelineObjectModel;
@@ -125,9 +126,9 @@
     /**
      * Informs the context about a new pipeline section
      */
-    public void inform(String pipelineName,
-                       Map    parameters,
-                       Map    objectModel) {
+    public void inform(String     pipelineName,
+                       Parameters parameters,
+                       Map        objectModel) {
         this.processingPipelineName = pipelineName;
         this.processingPipelineParameters = parameters;
         this.processingPipelineObjectModel = objectModel;
@@ -146,11 +147,7 @@
             this.processingPipeline = (ProcessingPipeline)this.pipelineSelector.select(this.processingPipelineName);
             this.processingPipeline.setProcessorManager(this.currentManager);
 
-            this.processingPipeline.setup(
-                  VariableResolver.buildParameters(this.processingPipelineParameters,
-                                                   this,
-                                                   this.processingPipelineObjectModel)
-            );
+            this.processingPipeline.setup(this.processingPipelineParameters);
         }
         return this.processingPipeline;
     }

Modified: cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/sitemap/PipelineNode.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/sitemap/PipelineNode.java?rev=232594&r1=232593&r2=232594&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/sitemap/PipelineNode.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/sitemap/PipelineNode.java Sun Aug 14 03:20:29 2005
@@ -16,6 +16,7 @@
 package org.apache.cocoon.components.treeprocessor.sitemap;
 
 import org.apache.avalon.framework.logger.Logger;
+import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.Serviceable;
 
@@ -25,8 +26,10 @@
 import org.apache.cocoon.components.treeprocessor.InvokeContext;
 import org.apache.cocoon.components.treeprocessor.ParameterizableProcessingNode;
 import org.apache.cocoon.components.treeprocessor.ProcessingNode;
+import org.apache.cocoon.components.treeprocessor.variables.VariableResolver;
 import org.apache.cocoon.environment.Environment;
 import org.apache.cocoon.sitemap.SitemapErrorHandler;
+import org.apache.cocoon.sitemap.SitemapExecutor;
 
 import java.util.Map;
 
@@ -128,7 +131,17 @@
                                                 env.getURIPrefix() + env.getURI());
         }
 
-        context.inform(this.processingPipeline, this.parameters, env.getObjectModel());
+        Parameters params = VariableResolver.buildParameters(this.parameters,
+                context,
+                env.getObjectModel());
+
+        SitemapExecutor.PipelineComponentDescription desc = new SitemapExecutor.PipelineComponentDescription();
+        desc.type = this.processingPipeline;
+        desc.parameters = params;
+
+        desc = this.executor.enteringPipeline(this, env.getObjectModel(), desc);
+        context.inform(desc.type, desc.parameters, env.getObjectModel());
+
         try {
             if (this.errorHandlerHelper.isInternal()) {
                 // Set internal error handler in the pipeline

Modified: cocoon/trunk/src/java/org/apache/cocoon/environment/wrapper/AbstractRequestWrapper.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/environment/wrapper/AbstractRequestWrapper.java?rev=232594&r1=232593&r2=232594&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/environment/wrapper/AbstractRequestWrapper.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/environment/wrapper/AbstractRequestWrapper.java Sun Aug 14 03:20:29 2005
@@ -406,4 +406,19 @@
     public void setAttribute(String name, Object o, int scope) {
         this.req.setAttribute(name, o, scope);
     }
+
+    /**
+     * @see org.apache.cocoon.environment.Request#getSitemapURIPrefix()
+     */
+    public String getSitemapURIPrefix() {
+        return this.req.getSitemapURIPrefix();
+    }
+
+    /**
+     * @see org.apache.cocoon.environment.Request#searchAttribute(java.lang.String)
+     */
+    public Object searchAttribute(String name) {
+        return this.req.searchAttribute(name);
+    }
+
 }

Modified: cocoon/trunk/src/java/org/apache/cocoon/sitemap/SitemapExecutor.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/sitemap/SitemapExecutor.java?rev=232594&r1=232593&r2=232594&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/sitemap/SitemapExecutor.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/sitemap/SitemapExecutor.java Sun Aug 14 03:20:29 2005
@@ -201,6 +201,23 @@
                                            PipelineComponentDescription desc);
 
     /**
+     * This informs the executor about a new pipeline section.
+     * @param context
+     * @param objectModel
+     * @param desc
+     * @return
+     */
+    PipelineComponentDescription enteringPipeline(ExecutionContext context,
+                                                  Map              objectModel,
+                                                  PipelineComponentDescription desc);
+
+    /**
+     * This informs the executor about a finished processing of the pipeline.
+     */
+    void notifyPipelineProcessed(ExecutionContext context,
+            Map              objectModel);
+    
+    /**
      * Informs about a redirect.
      * @return The uri to redirect to.
      */

Modified: cocoon/trunk/src/java/org/apache/cocoon/sitemap/impl/DefaultExecutor.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/sitemap/impl/DefaultExecutor.java?rev=232594&r1=232593&r2=232594&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/sitemap/impl/DefaultExecutor.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/sitemap/impl/DefaultExecutor.java Sun Aug 14 03:20:29 2005
@@ -168,4 +168,18 @@
         return uri;
     }
 
+    /**
+     * @see org.apache.cocoon.sitemap.SitemapExecutor#enteringPipeline(org.apache.cocoon.sitemap.ExecutionContext, java.util.Map, org.apache.cocoon.sitemap.SitemapExecutor.PipelineComponentDescription)
+     */
+    public PipelineComponentDescription enteringPipeline(ExecutionContext context, Map objectModel, PipelineComponentDescription desc) {
+        return desc;
+    }
+
+    /**
+     * @see org.apache.cocoon.sitemap.SitemapExecutor#notifyPipelineProcessed(org.apache.cocoon.sitemap.ExecutionContext, java.util.Map)
+     */
+    public void notifyPipelineProcessed(ExecutionContext context, Map objectModel) {
+        // nothing to do
+    }
+
 }