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/02/23 22:14:47 UTC
svn commit: r380225 - in
/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon:
components/treeprocessor/ components/treeprocessor/sitemap/
core/container/spring/ serialization/
Author: cziegeler
Date: Thu Feb 23 13:14:44 2006
New Revision: 380225
URL: http://svn.apache.org/viewcvs?rev=380225&view=rev
Log:
Dispose sitemap application contexts, add support for aliases (shorthands)
Modified:
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/AbstractProcessingNodeBuilder.java
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/ConcreteTreeProcessor.java
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/DefaultTreeBuilder.java
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/TreeBuilder.java
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/SitemapLanguage.java
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/CocoonXmlWebApplicationContext.java
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ComponentInfo.java
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ConfigReader.java
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/XmlConfigCreator.java
cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/serialization/AbstractTextSerializer.java
Modified: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/AbstractProcessingNodeBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/AbstractProcessingNodeBuilder.java?rev=380225&r1=380224&r2=380225&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/AbstractProcessingNodeBuilder.java (original)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/AbstractProcessingNodeBuilder.java Thu Feb 23 13:14:44 2006
@@ -31,12 +31,12 @@
protected ServiceManager manager;
- /* (non-Javadoc)
+ /**
* @see org.apache.cocoon.components.treeprocessor.ProcessingNodeBuilder#setBuilder(org.apache.cocoon.components.treeprocessor.TreeBuilder)
*/
public void setBuilder(TreeBuilder treeBuilder) {
this.treeBuilder = treeBuilder;
- this.manager = treeBuilder.getBuiltProcessorManager();
+ this.manager = (ServiceManager)treeBuilder.getApplicationContext().getBean(ServiceManager.class.getName());
}
/**
Modified: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/ConcreteTreeProcessor.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/ConcreteTreeProcessor.java?rev=380225&r1=380224&r2=380225&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/ConcreteTreeProcessor.java (original)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/ConcreteTreeProcessor.java Thu Feb 23 13:14:44 2006
@@ -30,6 +30,7 @@
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.Processor;
import org.apache.cocoon.components.source.impl.SitemapSourceInfo;
+import org.apache.cocoon.core.container.spring.CocoonXmlWebApplicationContext;
import org.apache.cocoon.environment.Environment;
import org.apache.cocoon.environment.ForwardRedirector;
import org.apache.cocoon.environment.Redirector;
@@ -93,7 +94,10 @@
/** no listeners by default */
private Map classpathListeners = Collections.EMPTY_MAP;
-
+
+ /** Application Context for this sitemap. */
+ protected CocoonXmlWebApplicationContext applicationContext;
+
/**
* Builds a concrete processig, given the wrapping processor
*/
@@ -103,7 +107,7 @@
this.wrappingProcessor = wrappingProcessor;
// Get the sitemap executor - we use the same executor for each sitemap
- this.sitemapExecutor = sitemapExecutor;
+ this.sitemapExecutor = sitemapExecutor;
}
public void handleNotification() {
@@ -122,7 +126,7 @@
}
/** Set the processor data, result of the treebuilder job */
- public void setProcessorData(ServiceManager manager,
+ public void setProcessorData(CocoonXmlWebApplicationContext appContext,
ClassLoader classloader,
ProcessingNode rootNode,
List disposableNodes,
@@ -132,7 +136,8 @@
throw new IllegalStateException("setProcessorData() can only be called once");
}
- this.manager = manager;
+ this.applicationContext = appContext;
+ this.manager = (ServiceManager)this.applicationContext.getBean(ServiceManager.class.getName());
this.classloader = classloader;
this.rootNode = rootNode;
this.disposableNodes = disposableNodes;
@@ -388,6 +393,10 @@
// dispose listeners
this.disposeListeners(this.enterSitemapEventListeners);
this.disposeListeners(this.leaveSitemapEventListeners);
+ if ( this.applicationContext != null ) {
+ this.applicationContext.destroy();
+ this.applicationContext = null;
+ }
}
protected void disposeListeners(List l) {
Modified: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/DefaultTreeBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/DefaultTreeBuilder.java?rev=380225&r1=380224&r2=380225&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/DefaultTreeBuilder.java (original)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/DefaultTreeBuilder.java Thu Feb 23 13:14:44 2006
@@ -41,6 +41,7 @@
import org.apache.cocoon.components.source.SourceUtil;
import org.apache.cocoon.components.treeprocessor.variables.VariableResolverFactory;
import org.apache.cocoon.components.treeprocessor.variables.VariableResolver;
+import org.apache.cocoon.core.container.spring.CocoonXmlWebApplicationContext;
import org.apache.cocoon.sitemap.PatternException;
import org.apache.cocoon.sitemap.SitemapParameters;
import org.apache.cocoon.util.location.Location;
@@ -53,10 +54,9 @@
*
* @version $Id$
*/
-public class DefaultTreeBuilder
- extends AbstractLogEnabled
- implements TreeBuilder, Contextualizable, Serviceable,
- Recyclable, Disposable {
+public abstract class DefaultTreeBuilder
+ extends AbstractLogEnabled
+ implements TreeBuilder, Contextualizable, Serviceable, Recyclable, Disposable {
protected Map attributes = new HashMap();
@@ -95,6 +95,8 @@
* It is created by {@link #createServiceManager(ClassLoader, Context, Configuration)}.
*/
private ServiceManager itsManager;
+
+ private CocoonXmlWebApplicationContext itsApplicationContext;
/**
* The classloader for the processor that we are building.
@@ -127,13 +129,6 @@
// -------------------------------------
- /**
- * Component processor of the parent manager
- * (can be null for the root sitemap)
- */
- protected ServiceManager parentProcessorManager;
-
-
/** Nodes gone through setupNode() that implement Initializable */
private List initializableNodes = new ArrayList();
@@ -150,14 +145,14 @@
private Map registeredNodes = new HashMap();
- /* (non-Javadoc)
+ /**
* @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
*/
public void contextualize(Context context) throws ContextException {
this.context = context;
}
- /* (non-Javadoc)
+ /**
* @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
*/
public void service(ServiceManager manager) throws ServiceException {
@@ -172,11 +167,7 @@
return "resource://org/apache/cocoon/components/treeprocessor/sitemap-language.xml";
}
- public void setParentProcessorManager(ServiceManager manager) {
- this.parentProcessorManager = manager;
- }
-
- /* (non-Javadoc)
+ /**
* @see org.apache.cocoon.components.treeprocessor.TreeBuilder#setAttribute(java.lang.String, java.lang.Object)
*/
public void setAttribute(String name, Object value) {
@@ -227,28 +218,29 @@
*
* @return a component manager
*/
- protected ServiceManager createServiceManager(ClassLoader classloader, Context context, Configuration tree)
- throws Exception {
- return this.manager;
- }
+ protected abstract CocoonXmlWebApplicationContext createApplicationContext(ClassLoader classloader, Context context, Configuration tree)
+ throws Exception;
- /* (non-Javadoc)
+ /**
* @see org.apache.cocoon.components.treeprocessor.TreeBuilder#setProcessor(ConcreteTreeProcessor)
*/
public void setProcessor(ConcreteTreeProcessor processor) {
this.processor = processor;
}
- /* (non-Javadoc)
+ /**
* @see org.apache.cocoon.components.treeprocessor.TreeBuilder#getProcessor()
*/
public ConcreteTreeProcessor getProcessor() {
return this.processor;
}
- public ServiceManager getBuiltProcessorManager() {
- return this.itsManager;
+ /**
+ * @see org.apache.cocoon.components.treeprocessor.TreeBuilder#getApplicationContext()
+ */
+ public CocoonXmlWebApplicationContext getApplicationContext() {
+ return this.itsApplicationContext;
}
public ClassLoader getBuiltProcessorClassLoader() {
@@ -379,9 +371,9 @@
// currentThread.setContextClassLoader(this.itsClassLoader);
this.itsClassLoader = Thread.currentThread().getContextClassLoader();
- this.itsManager = createServiceManager(this.itsClassLoader, this.itsContext, componentConfig);
- this.itsComponentInfo = (ProcessorComponentInfo)this.itsManager.lookup(ProcessorComponentInfo.ROLE);
-
+ this.itsApplicationContext = createApplicationContext(this.itsClassLoader, this.itsContext, componentConfig);
+ this.itsComponentInfo = (ProcessorComponentInfo)this.itsApplicationContext.getBean(ProcessorComponentInfo.ROLE);
+ this.itsManager = (ServiceManager)this.itsApplicationContext.getBean(ServiceManager.class.getName());
// Create a helper object to setup components
this.itsLifecycle = new LifecycleHelper(getLogger(),
this.itsContext,
@@ -607,7 +599,6 @@
this.disposableNodes = new ArrayList(); // Must not be cleared as it's used for processor disposal
this.initializableNodes.clear();
this.linkedBuilders.clear();
- this.parentProcessorManager = null; // Set in setParentProcessorManager()
this.processor = null; // Set in setProcessor()
this.itsNamespace = null; // Set in build()
Modified: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/TreeBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/TreeBuilder.java?rev=380225&r1=380224&r2=380225&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/TreeBuilder.java (original)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/TreeBuilder.java Thu Feb 23 13:14:44 2006
@@ -19,7 +19,7 @@
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.cocoon.core.container.spring.CocoonXmlWebApplicationContext;
/**
*
@@ -40,9 +40,7 @@
}
}
- void setParentProcessorManager(ServiceManager manager);
-
- ServiceManager getBuiltProcessorManager();
+ CocoonXmlWebApplicationContext getApplicationContext();
ClassLoader getBuiltProcessorClassLoader();
Modified: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java?rev=380225&r1=380224&r2=380225&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java (original)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java Thu Feb 23 13:14:44 2006
@@ -28,7 +28,6 @@
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.configuration.NamespacedSAXConfigurationHandler;
-import org.apache.avalon.framework.configuration.SAXConfigurationHandler;
import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.context.ContextException;
@@ -78,9 +77,6 @@
Configurable, Contextualizable,
Disposable, Initializable {
- private static final String XCONF_URL =
- "resource://org/apache/cocoon/components/treeprocessor/sitemap-language.xml";
-
/** The parent TreeProcessor, if any */
protected TreeProcessor parent;
@@ -125,9 +121,6 @@
/** The actual processor */
protected ConcreteTreeProcessor concreteProcessor;
- /** The tree builder configuration */
- private Configuration treeBuilderConfiguration;
-
/**
* Create a TreeProcessor.
*/
@@ -150,7 +143,6 @@
// Copy all that can be copied from the parent
this.context = parent.context;
this.source = sitemapSource;
- this.treeBuilderConfiguration = parent.treeBuilderConfiguration;
this.checkReload = checkReload;
this.lastModifiedDelay = parent.lastModifiedDelay;
@@ -181,14 +173,14 @@
return new TreeProcessor(this, delayedSource, checkReload, prefix);
}
- /* (non-Javadoc)
+ /**
* @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
*/
public void contextualize(Context context) throws ContextException {
this.context = context;
}
- /* (non-Javadoc)
+ /**
* @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
*/
public void service(ServiceManager manager) throws ServiceException {
@@ -241,10 +233,6 @@
this.checkReload = config.getAttributeAsBoolean("check-reload",
this.core.getSettings().isReloadingEnabled("sitemap"));
- // Obtain the configuration file, or use the XCONF_URL if none
- // is defined
- String xconfURL = config.getAttribute("config", XCONF_URL);
-
// Reload check delay. Default is 1 second.
this.lastModifiedDelay = config.getChild("reload").getAttributeAsLong("delay", this.core.getSettings().getReloadDelay("sitemap"));
@@ -255,21 +243,6 @@
} catch (Exception e) {
throw new ConfigurationException("Cannot resolve " + fileName, e);
}
-
- // Read the builtin languages definition file
- try {
- Source source = this.resolver.resolveURI(xconfURL);
- try {
- SAXConfigurationHandler handler = new SAXConfigurationHandler();
- SourceUtil.toSAX(this.manager, source, null, handler);
- this.treeBuilderConfiguration = handler.getConfiguration();
- } finally {
- this.resolver.release(source);
- }
- } catch (Exception e) {
- String msg = "Error while reading " + xconfURL + ": " + e.getMessage();
- throw new ConfigurationException(msg, e);
- }
}
/**
@@ -719,11 +692,10 @@
TreeBuilder treeBuilder = getTreeBuilder(sitemapProgram);
try {
treeBuilder.setProcessor(newProcessor);
- treeBuilder.setParentProcessorManager(this.manager);
ProcessingNode root = treeBuilder.build(sitemapProgram);
newProcessor.setProcessorData(
- treeBuilder.getBuiltProcessorManager(),
+ treeBuilder.getApplicationContext(),
treeBuilder.getBuiltProcessorClassLoader(),
root,
treeBuilder.getDisposableNodes(),
@@ -764,7 +736,7 @@
return newProcessor;
}
- /* (non-Javadoc)
+ /**
* @see org.apache.avalon.framework.activity.Disposable#dispose()
*/
public void dispose() {
Modified: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/SitemapLanguage.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/SitemapLanguage.java?rev=380225&r1=380224&r2=380225&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/SitemapLanguage.java (original)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/components/treeprocessor/sitemap/SitemapLanguage.java Thu Feb 23 13:14:44 2006
@@ -103,7 +103,7 @@
* Build a component manager with the contents of the <map:components> element of
* the tree.
*/
- protected ServiceManager createServiceManager(ClassLoader classloader, Context context, Configuration config)
+ protected CocoonXmlWebApplicationContext createApplicationContext(ClassLoader classloader, Context context, Configuration config)
throws Exception {
// Create the classloader, if needed.
@@ -154,7 +154,7 @@
}
}
- return newManager;
+ return sitemapContext;
}
/**
Modified: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/CocoonXmlWebApplicationContext.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/CocoonXmlWebApplicationContext.java?rev=380225&r1=380224&r2=380225&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/CocoonXmlWebApplicationContext.java (original)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/CocoonXmlWebApplicationContext.java Thu Feb 23 13:14:44 2006
@@ -99,10 +99,18 @@
}
}
+ /**
+ * Get the avalon configuration information.
+ */
public ConfigurationInfo getConfigurationInfo() {
return this.avalonConfiguration;
}
+ /**
+ * Register a child context as a listener. This allows a child context to destroy itself
+ * when the parent is destroyed.
+ * @param childContext The child context.
+ */
public void registerChildContext(CocoonXmlWebApplicationContext childContext) {
this.addListener(childContext);
}
@@ -129,6 +137,8 @@
}
/**
+ * Create a new bean factory and add a bean post processor to handle
+ * Avalon components.
* @see org.springframework.context.support.AbstractRefreshableApplicationContext#createBeanFactory()
*/
protected DefaultListableBeanFactory createBeanFactory() {
@@ -173,7 +183,7 @@
return super.getResourceByPath(path);
}
}
-
+
/**
* The default location for the context is "conf/applicationContext.xml"
* which is searched relative to the current sitemap.
Modified: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ComponentInfo.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ComponentInfo.java?rev=380225&r1=380224&r2=380225&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ComponentInfo.java (original)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ComponentInfo.java Thu Feb 23 13:14:44 2006
@@ -46,6 +46,7 @@
private Parameters parameters;
private String loggerCategory;
private String role;
+ private String alias;
public ComponentInfo() {
this.model = MODEL_PRIMITIVE;
@@ -216,6 +217,14 @@
public void setParameters(Parameters parameters) {
this.parameters = parameters;
+ }
+
+ public String getAlias() {
+ return alias;
+ }
+
+ public void setAlias(String alias) {
+ this.alias = alias;
}
/**
Modified: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ConfigReader.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ConfigReader.java?rev=380225&r1=380224&r2=380225&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ConfigReader.java (original)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/ConfigReader.java Thu Feb 23 13:14:44 2006
@@ -175,9 +175,11 @@
// Component declaration
// Find the role
String role = componentConfig.getAttribute("role", null);
+ String alias = null;
if (role == null) {
// Get the role from the role manager if not explicitely specified
role = (String)this.configInfo.getShorthands().get( componentName );
+ alias = componentName;
if (role == null) {
// Unknown role
throw new ConfigurationException("Unknown component type '" + componentName +
@@ -209,6 +211,9 @@
info.fill(componentConfig);
info.setComponentClassName(className);
info.setRole(role);
+ if ( alias != null ) {
+ info.setAlias(alias);
+ }
info.setConfiguration(componentConfig);
this.configInfo.addComponent(info);
@@ -454,6 +459,7 @@
info.fill(role);
info.setRole(roleName);
info.setConfiguration(role);
+ info.setAlias(shorthand);
this.configInfo.getClassNames().put(roleName, info);
} else {
// Check that it's consistent with the existing info
@@ -485,6 +491,7 @@
info.setComponentClassName(className);
info.fill(key);
info.setConfiguration(key);
+ info.setAlias(shortHand);
keyMap.put( shortHand, info );
} else {
// Check that it's consistent with the existing info
Modified: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/XmlConfigCreator.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/XmlConfigCreator.java?rev=380225&r1=380224&r2=380225&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/XmlConfigCreator.java (original)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/XmlConfigCreator.java Thu Feb 23 13:14:44 2006
@@ -33,7 +33,6 @@
* This is a simple component that uses a {@link ConfigurationInfo} to create
* a Spring like configuration xml document.
*
- * TODO: register aliases for shorthands
* @since 2.2
* @version $Id$
*/
@@ -163,6 +162,12 @@
}
buffer.append("</bean>\n");
pooledRoles.add(role);
+ }
+ if ( current.getAlias() != null ) {
+ buffer.append("<alias");
+ this.appendAttribute(buffer, "name", this.xml(role));
+ this.appendAttribute(buffer, "alias", current.getAlias());
+ buffer.append("/>\n");
}
}
// add the Cocoon object to the root
Modified: cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/serialization/AbstractTextSerializer.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/serialization/AbstractTextSerializer.java?rev=380225&r1=380224&r2=380225&view=diff
==============================================================================
--- cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/serialization/AbstractTextSerializer.java (original)
+++ cocoon/trunk/cocoon-core/src/main/java/org/apache/cocoon/serialization/AbstractTextSerializer.java Thu Feb 23 13:14:44 2006
@@ -15,7 +15,6 @@
*/
package org.apache.cocoon.serialization;
-import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;