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 19:41:12 UTC
svn commit: r232625 - 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 10:40:28 2005
New Revision: 232625
URL: http://svn.apache.org/viewcvs?rev=232625&view=rev
Log:
Fix notification of sitemap entering/leaving
Modified:
cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/RemoteDebuggingSitemapExecutor.java
cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/SimpleSitemapExecutor.java
cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/ConcreteTreeProcessor.java
cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/InvokeContext.java
cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java
cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/sitemap/MountNode.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/RemoteDebuggingSitemapExecutor.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/RemoteDebuggingSitemapExecutor.java?rev=232625&r1=232624&r2=232625&view=diff
==============================================================================
--- cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/RemoteDebuggingSitemapExecutor.java (original)
+++ cocoon/blocks/profiler/trunk/java/org/apache/cocoon/profiler/debugging/RemoteDebuggingSitemapExecutor.java Sun Aug 14 10:40:28 2005
@@ -209,7 +209,7 @@
/**
* @see org.apache.cocoon.sitemap.SitemapExecutor#enterSitemap(org.apache.cocoon.sitemap.ExecutionContext, java.util.Map, java.lang.String)
*/
- public String enterSitemap(ExecutionContext context,
+ public void enterSitemap(ExecutionContext context,
Map objectModel,
String source) {
Integer sitemapCounter = Debugger.getSitemapCounter(objectModel);
@@ -273,7 +273,6 @@
}
Debugger.incSitemapCounter(objectModel);
- return source;
}
/**
@@ -284,6 +283,7 @@
if ( count.intValue() == 0 ) {
final Debugger debugger = Debugger.getDebugger(objectModel);
if ( debugger != null ) {
+ this.notifyPipelineProcessed(context, objectModel);
debugger.sendFinal("<finished/>");
debugger.close();
ContainerUtil.dispose(debugger);
@@ -386,10 +386,7 @@
return desc;
}
- /**
- * @see org.apache.cocoon.sitemap.SitemapExecutor#notifyPipelineProcessed(org.apache.cocoon.sitemap.ExecutionContext, java.util.Map)
- */
- public void notifyPipelineProcessed(ExecutionContext context, Map objectModel) {
+ protected void notifyPipelineProcessed(ExecutionContext context, Map objectModel) {
final Debugger debugger = Debugger.getDebugger(objectModel);
if (debugger != null) {
Profiler profiler = null;
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=232625&r1=232624&r2=232625&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 10:40:28 2005
@@ -163,11 +163,10 @@
/**
* @see org.apache.cocoon.sitemap.SitemapExecutor#enterSitemap(org.apache.cocoon.sitemap.ExecutionContext, java.util.Map, java.lang.String)
*/
- public String enterSitemap(ExecutionContext context,
+ public void enterSitemap(ExecutionContext context,
Map objectModel,
String source) {
this.getLogger().info("- Entering sitemap " + source);
- return source;
}
/**
@@ -232,13 +231,6 @@
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/ConcreteTreeProcessor.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/ConcreteTreeProcessor.java?rev=232625&r1=232624&r2=232625&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/ConcreteTreeProcessor.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/ConcreteTreeProcessor.java Sun Aug 14 10:40:28 2005
@@ -41,6 +41,7 @@
import org.apache.cocoon.sitemap.ComponentLocator;
import org.apache.cocoon.sitemap.EnterSitemapEvent;
import org.apache.cocoon.sitemap.EnterSitemapEventListener;
+import org.apache.cocoon.sitemap.ExecutionContext;
import org.apache.cocoon.sitemap.LeaveSitemapEvent;
import org.apache.cocoon.sitemap.LeaveSitemapEventListener;
import org.apache.cocoon.sitemap.SitemapExecutor;
@@ -54,7 +55,7 @@
* @version $Id$
*/
public class ConcreteTreeProcessor extends AbstractLogEnabled
- implements Processor, Disposable, FilesystemAlterationListener {
+ implements Processor, Disposable, FilesystemAlterationListener, ExecutionContext {
/** Our ServiceManager */
private ServiceManager manager;
@@ -329,6 +330,7 @@
}
}
+ this.sitemapExecutor.enterSitemap(this, environment.getObjectModel(), this.wrappingProcessor.source.getURI());
// and now process
EnvironmentHelper.enterProcessor(this, this.manager, environment);
final Redirector oldRedirector = context.getRedirector();
@@ -350,6 +352,7 @@
}
} finally {
+ this.sitemapExecutor.leaveSitemap(this, environment.getObjectModel());
// invoke listeners
// only invoke if pipeline is not internally
if ( !context.isBuildingPipelineOnly() && this.leaveSitemapEventListeners.size() > 0 ) {
@@ -528,4 +531,19 @@
public void setAttribute(String name, Object value) {
this.processorAttributes.put(name, value);
}
+
+ /**
+ * @see org.apache.cocoon.sitemap.ExecutionContext#getLocation()
+ */
+ public String getLocation() {
+ return "Sitemap";
+ }
+
+ /**
+ * @see org.apache.cocoon.sitemap.ExecutionContext#getType()
+ */
+ public String getType() {
+ return "sitemap";
+ }
+
}
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=232625&r1=232624&r2=232625&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 10:40:28 2005
@@ -30,7 +30,6 @@
import org.apache.avalon.framework.service.Serviceable;
import org.apache.cocoon.Processor;
import org.apache.cocoon.components.pipeline.ProcessingPipeline;
-import org.apache.cocoon.components.treeprocessor.variables.VariableResolver;
import org.apache.cocoon.environment.Environment;
import org.apache.cocoon.environment.Redirector;
Modified: cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java?rev=232625&r1=232624&r2=232625&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java Sun Aug 14 10:40:28 2005
@@ -174,6 +174,9 @@
this.fom = (SitemapMonitor) this.manager.lookup(SitemapMonitor.ROLE);
}
+ /**
+ * @see org.apache.avalon.framework.activity.Initializable#initialize()
+ */
public void initialize() throws Exception {
// setup the environment helper
if (this.environmentHelper == null ) {
Modified: cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/sitemap/MountNode.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/sitemap/MountNode.java?rev=232625&r1=232624&r2=232625&view=diff
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/sitemap/MountNode.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/sitemap/MountNode.java Sun Aug 14 10:40:28 2005
@@ -1,5 +1,5 @@
/*
- * Copyright 1999-2004 The Apache Software Foundation.
+ * Copyright 1999-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -85,8 +85,11 @@
if (resolvedSource.length() == 0) {
throw new ProcessingException("Source of mount statement is empty");
}
+ // Handle directory mounts
+ if (resolvedSource.charAt(resolvedSource.length() - 1) == '/') {
+ resolvedSource = resolvedSource + "sitemap.xmap";
+ }
- resolvedSource = this.executor.enterSitemap(this, objectModel, resolvedSource);
TreeProcessor processor = getProcessor(resolvedSource, resolvedPrefix);
// Save context
@@ -118,7 +121,6 @@
env.removeAttribute(COCOON_PASS_THROUGH);
}
- this.executor.leaveSitemap(this, objectModel);
// Turning recomposing as a test, according to:
// http://marc.theaimsgroup.com/?t=106802211400005&r=1&w=2
// Recompose pipelines which may have been recomposed by subsitemap
@@ -131,15 +133,8 @@
TreeProcessor processor = (TreeProcessor) processors.get(source);
if (processor == null) {
- // Handle directory mounts
- String actualSource;
- if (source.charAt(source.length() - 1) == '/') {
- actualSource = source + "sitemap.xmap";
- } else {
- actualSource = source;
- }
- processor = this.parentProcessor.createChildProcessor(actualSource, this.checkReload, prefix);
+ processor = this.parentProcessor.createChildProcessor(source, this.checkReload, prefix);
// Associate to the original source
processors.put(source, processor);
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=232625&r1=232624&r2=232625&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 10:40:28 2005
@@ -144,11 +144,10 @@
* @param context The execution context
* @param objectModel The object model
* @param source The uri of the sitemap
- * @return The uri of the sitemap to read
*/
- String enterSitemap(ExecutionContext context,
- Map objectModel,
- String source);
+ void enterSitemap(ExecutionContext context,
+ Map objectModel,
+ String source);
/**
* Leaves a sitemap.
@@ -211,12 +210,6 @@
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=232625&r1=232624&r2=232625&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 10:40:28 2005
@@ -116,9 +116,8 @@
/**
* @see org.apache.cocoon.sitemap.SitemapExecutor#enterSitemap(org.apache.cocoon.sitemap.ExecutionContext, java.util.Map, java.lang.String)
*/
- public String enterSitemap(ExecutionContext context, Map objectModel,
- String source) {
- return source;
+ public void enterSitemap(ExecutionContext context, Map objectModel, String source) {
+ // nothing to do
}
/**
@@ -173,13 +172,6 @@
*/
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
}
}