You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by di...@apache.org on 2001/04/13 18:02:29 UTC
cvs commit: xml-cocoon/src/org/apache/cocoon/transformation AbstractDOMTransformer.java FragmentExtractorTransformer.java SQLTransformer.java TraxTransformer.java XIncludeTransformer.java XTTransformer.java
dims 01/04/13 09:02:29
Modified: src/org/apache/cocoon/acting Tag: xml-cocoon2
AbstractAction.java AbstractDatabaseAction.java
src/org/apache/cocoon/components/language/generator Tag:
xml-cocoon2 GeneratorSelector.java
ProgramGeneratorImpl.java
src/org/apache/cocoon/components/language/programming/java
Tag: xml-cocoon2 JavaLanguage.java
src/org/apache/cocoon/components/pipeline Tag: xml-cocoon2
AbstractEventPipeline.java
CachingEventPipeline.java
NonCachingStreamPipeline.java
src/org/apache/cocoon/generation Tag: xml-cocoon2
FileGenerator.java ServerPagesGenerator.java
src/org/apache/cocoon/reading Tag: xml-cocoon2
DatabaseReader.java
src/org/apache/cocoon/sitemap Tag: xml-cocoon2
AbstractSitemap.java Handler.java
src/org/apache/cocoon/transformation Tag: xml-cocoon2
AbstractDOMTransformer.java
FragmentExtractorTransformer.java
SQLTransformer.java TraxTransformer.java
XIncludeTransformer.java XTTransformer.java
Log:
Added release in dispose() for releasing look'ed up components.
Revision Changes Path
No revision
No revision
1.1.2.6 +11 -2 xml-cocoon/src/org/apache/cocoon/acting/Attic/AbstractAction.java
Index: AbstractAction.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/acting/Attic/AbstractAction.java,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -r1.1.2.5 -r1.1.2.6
--- AbstractAction.java 2001/03/12 04:38:30 1.1.2.5
+++ AbstractAction.java 2001/04/13 16:02:17 1.1.2.6
@@ -7,6 +7,7 @@
*****************************************************************************/
package org.apache.cocoon.acting;
+import org.apache.avalon.Disposable;
import org.apache.avalon.configuration.Configurable;
import org.apache.avalon.configuration.Configuration;
import org.apache.avalon.configuration.ConfigurationException;
@@ -19,15 +20,23 @@
* Actions. In order to get at the Logger, use getLogger().
*
* @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
- * @version CVS $Revision: 1.1.2.5 $ $Date: 2001/03/12 04:38:30 $
+ * @version CVS $Revision: 1.1.2.6 $ $Date: 2001/04/13 16:02:17 $
*/
public abstract class AbstractAction extends AbstractLoggable
-implements Action, Configurable {
+implements Action, Configurable, Disposable {
/**
* Configures the Action. This implementation currently does nothing.
*/
public void configure(Configuration conf) throws ConfigurationException {
+ // Purposely empty so that we don't need to implement it in every
+ // class.
+ }
+
+ /**
+ * dispose
+ */
+ public void dispose() {
// Purposely empty so that we don't need to implement it in every
// class.
}
1.1.2.26 +11 -2 xml-cocoon/src/org/apache/cocoon/acting/Attic/AbstractDatabaseAction.java
Index: AbstractDatabaseAction.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/acting/Attic/AbstractDatabaseAction.java,v
retrieving revision 1.1.2.25
retrieving revision 1.1.2.26
diff -u -r1.1.2.25 -r1.1.2.26
--- AbstractDatabaseAction.java 2001/04/11 12:41:11 1.1.2.25
+++ AbstractDatabaseAction.java 2001/04/13 16:02:18 1.1.2.26
@@ -40,6 +40,7 @@
import org.apache.avalon.ComponentManager;
import org.apache.avalon.ComponentSelector;
import org.apache.avalon.ComponentManagerException;
+import org.apache.avalon.Disposable;
import org.apache.avalon.component.ComponentException;
import org.apache.avalon.configuration.Configurable;
import org.apache.avalon.configuration.Configuration;
@@ -175,9 +176,9 @@
* </table>
*
* @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
- * @version CVS $Revision: 1.1.2.25 $ $Date: 2001/04/11 12:41:11 $
+ * @version CVS $Revision: 1.1.2.26 $ $Date: 2001/04/13 16:02:18 $
*/
-public abstract class AbstractDatabaseAction extends AbstractComplimentaryConfigurableAction implements Configurable {
+public abstract class AbstractDatabaseAction extends AbstractComplimentaryConfigurableAction implements Configurable, Disposable {
protected Map files = new HashMap();
private static final Map typeConstants;
protected ComponentSelector dbselector;
@@ -548,5 +549,13 @@
private final long dateValue(String value, String format) throws Exception {
DateFormat formatter = new SimpleDateFormat(format);
return formatter.parse(value).getTime();
+ }
+
+ /**
+ * dispose
+ */
+ public void dispose() {
+ this.manager.release((Component)dbselector);
+ super.dispose();
}
}
No revision
No revision
1.1.2.11 +11 -2 xml-cocoon/src/org/apache/cocoon/components/language/generator/Attic/GeneratorSelector.java
Index: GeneratorSelector.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/components/language/generator/Attic/GeneratorSelector.java,v
retrieving revision 1.1.2.10
retrieving revision 1.1.2.11
diff -u -r1.1.2.10 -r1.1.2.11
--- GeneratorSelector.java 2001/04/11 16:39:39 1.1.2.10
+++ GeneratorSelector.java 2001/04/13 16:02:19 1.1.2.11
@@ -13,6 +13,7 @@
import org.apache.avalon.ComponentManager;
import org.apache.avalon.ComponentManagerException;
import org.apache.avalon.component.ComponentException;
+import org.apache.avalon.Disposable;
import org.apache.avalon.configuration.DefaultConfiguration;
import org.apache.cocoon.components.classloader.ClassLoaderManager;
@@ -26,13 +27,17 @@
* includes Sitemaps and XSP Pages
*
* @author <a href="mailto:bloritsch@apache.org">Berin Loritsch</a>
- * @version CVS $Revision: 1.1.2.10 $ $Date: 2001/04/11 16:39:39 $
+ * @version CVS $Revision: 1.1.2.11 $ $Date: 2001/04/13 16:02:19 $
*/
-public class GeneratorSelector extends DefaultComponentSelector {
+public class GeneratorSelector extends DefaultComponentSelector implements Disposable {
private ClassLoaderManager classManager;
+ /** The component manager */
+ protected ComponentManager manager = null;
+
public void compose (ComponentManager manager) throws ComponentException {
super.compose(manager);
+ this.manager = manager;
try {
this.classManager = (ClassLoaderManager) manager.lookup(Roles.CLASS_LOADER);
@@ -71,5 +76,9 @@
public void addGenerator(Object hint, Class generator) throws ComponentException {
super.addComponent(hint, generator, new DefaultConfiguration("", "GeneratorSelector"));
+ }
+
+ public void dispose() {
+ this.manager.release((Component)this.classManager);
}
}
1.1.2.47 +14 -2 xml-cocoon/src/org/apache/cocoon/components/language/generator/Attic/ProgramGeneratorImpl.java
Index: ProgramGeneratorImpl.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/components/language/generator/Attic/ProgramGeneratorImpl.java,v
retrieving revision 1.1.2.46
retrieving revision 1.1.2.47
diff -u -r1.1.2.46 -r1.1.2.47
--- ProgramGeneratorImpl.java 2001/04/12 17:17:35 1.1.2.46
+++ ProgramGeneratorImpl.java 2001/04/13 16:02:20 1.1.2.47
@@ -19,6 +19,7 @@
import org.apache.avalon.Composer;
import org.apache.avalon.Context;
import org.apache.avalon.Contextualizable;
+import org.apache.avalon.Disposable;
import org.apache.avalon.Loggable;
import org.apache.avalon.Modifiable;
import org.apache.avalon.ThreadSafe;
@@ -47,9 +48,10 @@
/**
* The default implementation of <code>ProgramGenerator</code>
* @author <a href="mailto:ricardo@apache.org">Ricardo Rocha</a>
- * @version CVS $Revision: 1.1.2.46 $ $Date: 2001/04/12 17:17:35 $
+ * @version CVS $Revision: 1.1.2.47 $ $Date: 2001/04/13 16:02:20 $
*/
-public class ProgramGeneratorImpl extends AbstractLoggable implements ProgramGenerator, Contextualizable, Composer, Configurable, ThreadSafe {
+public class ProgramGeneratorImpl extends AbstractLoggable
+ implements ProgramGenerator, Contextualizable, Composer, Configurable, ThreadSafe, Disposable {
/** The auto-reloading option */
protected boolean autoReload = false;
@@ -269,5 +271,15 @@
public void release(CompiledComponent component) {
this.cache.release((Component) component);
+ }
+
+ /**
+ * dispose
+ */
+ public void dispose() {
+ this.manager.release((Component)this.cache);
+ this.manager.release((Component)this.repository);
+ this.manager.release((Component)this.markupSelector);
+ this.manager.release((Component)this.languageSelector);
}
}
No revision
No revision
1.1.2.25 +13 -3 xml-cocoon/src/org/apache/cocoon/components/language/programming/java/Attic/JavaLanguage.java
Index: JavaLanguage.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/components/language/programming/java/Attic/JavaLanguage.java,v
retrieving revision 1.1.2.24
retrieving revision 1.1.2.25
diff -u -r1.1.2.24 -r1.1.2.25
--- JavaLanguage.java 2001/03/19 21:20:29 1.1.2.24
+++ JavaLanguage.java 2001/04/13 16:02:21 1.1.2.25
@@ -18,6 +18,7 @@
import org.apache.avalon.Composer;
import org.apache.avalon.Component;
import org.apache.avalon.ComponentManager;
+import org.apache.avalon.Disposable;
import org.apache.avalon.ThreadSafe;
import org.apache.avalon.Loggable;
@@ -33,14 +34,15 @@
* The Java programming language processor
*
* @author <a href="mailto:ricardo@apache.org">Ricardo Rocha</a>
- * @version CVS $Revision: 1.1.2.24 $ $Date: 2001/03/19 21:20:29 $
+ * @version CVS $Revision: 1.1.2.25 $ $Date: 2001/04/13 16:02:21 $
*/
-public class JavaLanguage extends CompiledProgrammingLanguage implements ThreadSafe, Composer {
+public class JavaLanguage extends CompiledProgrammingLanguage implements ThreadSafe, Composer, Disposable {
/** The class loader */
private ClassLoaderManager classLoaderManager;
- //private ComponentManager manager;
+ /** The component manager */
+ protected ComponentManager manager = null;
/**
* Return the language name
@@ -93,6 +95,7 @@
* @param manager The global component manager
*/
public void compose(ComponentManager manager) {
+ this.manager = manager;
if (this.classLoaderManager == null) {
try {
log.debug("Looking up " + Roles.CLASS_LOADER);
@@ -290,5 +293,12 @@
buffer.append(files[i]).append(File.pathSeparator);
}
return buffer.toString();
+ }
+
+ /**
+ * dispose
+ */
+ public void dispose() {
+ manager.release((Component)this.classLoaderManager);
}
}
No revision
No revision
1.1.2.3 +27 -19 xml-cocoon/src/org/apache/cocoon/components/pipeline/Attic/AbstractEventPipeline.java
Index: AbstractEventPipeline.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/components/pipeline/Attic/AbstractEventPipeline.java,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- AbstractEventPipeline.java 2001/04/12 12:30:34 1.1.2.2
+++ AbstractEventPipeline.java 2001/04/13 16:02:22 1.1.2.3
@@ -16,6 +16,7 @@
import org.apache.avalon.ComponentSelector;
import org.apache.avalon.Component;
import org.apache.avalon.Composer;
+import org.apache.avalon.Disposable;
import org.apache.avalon.configuration.Parameters;
import org.apache.cocoon.ProcessingException;
@@ -37,15 +38,17 @@
/**
* @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
* @author <a href="mailto:cziegeler@Carsten Ziegeler">Carsten Ziegeler</a>
- * @version CVS $Revision: 1.1.2.2 $ $Date: 2001/04/12 12:30:34 $
+ * @version CVS $Revision: 1.1.2.3 $ $Date: 2001/04/13 16:02:22 $
*/
public abstract class AbstractEventPipeline
extends AbstractXMLProducer
-implements EventPipeline {
+implements EventPipeline, Disposable {
protected Generator generator;
protected Parameters generatorParam;
protected String generatorSource;
+ protected ComponentSelector generatorSelector;
+ protected ComponentSelector transformerSelector;
protected ArrayList transformers = new ArrayList();
protected ArrayList transformerParams = new ArrayList();
protected ArrayList transformerSources = new ArrayList();
@@ -57,6 +60,8 @@
public void compose (ComponentManager manager)
throws ComponentManagerException {
this.manager = manager;
+ generatorSelector = (ComponentSelector) this.manager.lookup(Roles.GENERATORS);
+ transformerSelector = (ComponentSelector)this.manager.lookup(Roles.TRANSFORMERS);
}
public void setGenerator (String role, String source, Parameters param, Exception e)
@@ -75,18 +80,14 @@
if (this.generator != null) {
throw new ProcessingException ("Generator already set. You can only select one Generator (" + role + ")");
}
- ComponentSelector selector = (ComponentSelector) this.manager.lookup(Roles.GENERATORS);
- this.generator = (Generator) selector.select(role);
- this.manager.release((Component)selector);
+ this.generator = (Generator) generatorSelector.select(role);
this.generatorSource = source;
this.generatorParam = param;
}
public void addTransformer (String role, String source, Parameters param)
throws Exception {
- ComponentSelector selector = (ComponentSelector) this.manager.lookup(Roles.TRANSFORMERS);
- this.transformers.add ((Transformer)selector.select(role));
- this.manager.release((Component)selector);
+ this.transformers.add ((Transformer)transformerSelector.select(role));
this.transformerSources.add (source);
this.transformerParams.add (param);
}
@@ -225,24 +226,31 @@
}
+ public void dispose() {
+ if(generatorSelector != null)
+ manager.release((Component)generatorSelector);
+ if(transformerSelector != null)
+ manager.release((Component)transformerSelector);
+ }
+
public void recycle() {
super.recycle();
try {
- // release generator
- if ( this.generator != null ) {
- ((ComponentSelector) this.manager.lookup(Roles.GENERATORS))
- .release(this.generator);
+ // Release generator.
+ if ( this.generatorSelector != null ) {
+ if ( this.generator != null ) {
+ generatorSelector.release(this.generator);
+ }
}
this.generator = null;
// Release transformers
- ComponentSelector transformerSelector;
- transformerSelector = (ComponentSelector)this.manager.lookup(Roles.TRANSFORMERS);
- Iterator itt = this.transformers.iterator();
- while ( itt.hasNext() ) {
- transformerSelector.release((Component)itt.next());
+ if(transformerSelector != null) {
+ Iterator itt = this.transformers.iterator();
+ while ( itt.hasNext() ) {
+ transformerSelector.release((Component)itt.next());
+ }
}
- this.manager.release((Component)transformerSelector);
this.transformers.clear();
this.transformerParams.clear();
@@ -254,7 +262,7 @@
this.manager.release((Component) itc.next());
}
this.connectors.clear();
- } catch ( ComponentManagerException e ) {
+ } catch ( Exception e ) {
getLogger().warn(
"Failed to release components from event pipeline.",
e
1.1.2.4 +9 -3 xml-cocoon/src/org/apache/cocoon/components/pipeline/Attic/CachingEventPipeline.java
Index: CachingEventPipeline.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/components/pipeline/Attic/CachingEventPipeline.java,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -r1.1.2.3 -r1.1.2.4
--- CachingEventPipeline.java 2001/04/12 14:15:26 1.1.2.3
+++ CachingEventPipeline.java 2001/04/13 16:02:22 1.1.2.4
@@ -18,6 +18,7 @@
import org.apache.avalon.ComponentSelector;
import org.apache.avalon.Component;
import org.apache.avalon.Composer;
+import org.apache.avalon.Disposable;
import org.apache.avalon.configuration.Parameters;
import org.apache.cocoon.ProcessingException;
@@ -51,9 +52,9 @@
* The CachingEventPipeline
*
* @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
- * @version CVS $Revision: 1.1.2.3 $ $Date: 2001/04/12 14:15:26 $
+ * @version CVS $Revision: 1.1.2.4 $ $Date: 2001/04/13 16:02:22 $
*/
-public class CachingEventPipeline extends AbstractEventPipeline {
+public class CachingEventPipeline extends AbstractEventPipeline implements Disposable {
/** The store for the cached sax events */
private EventCache saxStore;
@@ -294,10 +295,15 @@
getLogger().debug("Recycling of CachingEventPipeline");
super.recycle();
-
+
this.producer = null;
this.generatorRole = null;
this.transformerRoles.clear();
this.notCacheableTransformers.clear();
+ }
+
+ public void dispose() {
+ if(this.saxStore != null)
+ this.manager.release((Component)this.saxStore);
}
}
1.1.2.4 +29 -19 xml-cocoon/src/org/apache/cocoon/components/pipeline/Attic/NonCachingStreamPipeline.java
Index: NonCachingStreamPipeline.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/components/pipeline/Attic/NonCachingStreamPipeline.java,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -r1.1.2.3 -r1.1.2.4
--- NonCachingStreamPipeline.java 2001/04/12 12:30:34 1.1.2.3
+++ NonCachingStreamPipeline.java 2001/04/13 16:02:22 1.1.2.4
@@ -12,9 +12,10 @@
import org.apache.avalon.Component;
import org.apache.avalon.ComponentManager;
-import org.apache.avalon.component.ComponentException;
+import org.apache.avalon.ComponentManagerException;
import org.apache.avalon.ComponentSelector;
import org.apache.avalon.Composer;
+import org.apache.avalon.Disposable;
import org.apache.avalon.configuration.Parameters;
import org.apache.avalon.AbstractLoggable;
@@ -37,9 +38,9 @@
* resource
* </UL>
* @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
- * @version CVS $Revision: 1.1.2.3 $ $Date: 2001/04/12 12:30:34 $
+ * @version CVS $Revision: 1.1.2.4 $ $Date: 2001/04/13 16:02:22 $
*/
-public class NonCachingStreamPipeline extends AbstractLoggable implements StreamPipeline {
+public class NonCachingStreamPipeline extends AbstractLoggable implements StreamPipeline, Disposable {
private EventPipeline eventPipeline;
private Reader reader;
private Parameters readerParam;
@@ -51,6 +52,8 @@
private String serializerSource;
private String serializerMimeType;
private String sitemapSerializerMimeType;
+ private SitemapComponentSelector readerSelector;
+ private SitemapComponentSelector serializerSelector;
/** the component manager */
private ComponentManager manager;
@@ -63,9 +66,11 @@
*
* @param manager The <code>ComponentManager</code> which this
* <code>Composer</code> uses.
- * @throws ComponentException */
- public void compose (ComponentManager manager) throws ComponentException {
+ * @throws ComponentManagerException */
+ public void compose (ComponentManager manager) throws ComponentManagerException {
this.manager = manager;
+ readerSelector = (SitemapComponentSelector) this.manager.lookup(Roles.READERS);
+ serializerSelector = (SitemapComponentSelector) this.manager.lookup(Roles.SERIALIZERS);
}
public void setEventPipeline (EventPipeline eventPipeline) throws Exception {
@@ -97,13 +102,11 @@
if (this.reader != null) {
throw new ProcessingException ("Reader already set. You can only select one Reader (" + role + ")");
}
- SitemapComponentSelector selector = (SitemapComponentSelector) this.manager.lookup(Roles.READERS);
- this.reader = (Reader)selector.select(role);
+ this.reader = (Reader)readerSelector.select(role);
this.readerSource = source;
this.readerParam = param;
this.readerMimeType = mimeType;
- this.sitemapReaderMimeType = selector.getMimeTypeForRole(role);
- this.manager.release((Component)selector);
+ this.sitemapReaderMimeType = readerSelector.getMimeTypeForRole(role);
}
public void setSerializer (String role, String source, Parameters param)
@@ -116,13 +119,11 @@
if (this.serializer != null) {
throw new ProcessingException ("Serializer already set. You can only select one Serializer (" + role + ")");
}
- SitemapComponentSelector selector = (SitemapComponentSelector) this.manager.lookup(Roles.SERIALIZERS);
- this.serializer = (Serializer)selector.select(role);
+ this.serializer = (Serializer)serializerSelector.select(role);
this.serializerSource = source;
this.serializerParam = param;
this.serializerMimeType = mimeType;
- this.sitemapSerializerMimeType = selector.getMimeTypeForRole(role);
- this.manager.release((Component)selector);
+ this.sitemapSerializerMimeType = serializerSelector.getMimeTypeForRole(role);
}
public void addTransformer (String role, String source, Parameters param) throws Exception {
@@ -231,14 +232,22 @@
prev.setConsumer(this.serializer);
}
+ public void dispose() {
+ if(readerSelector != null)
+ manager.release((Component)readerSelector);
+ if(serializerSelector != null)
+ manager.release((Component)serializerSelector);
+ }
+
public void recycle() {
getLogger().debug("Recycling of NonCachingStreamPipeline");
try {
// release reader.
- if ( this.reader != null ) {
- ((ComponentSelector) this.manager.lookup(Roles.READERS))
- .release(this.reader);
+ if ( this.readerSelector != null) {
+ if ( this.reader != null ) {
+ readerSelector.release(this.reader);
+ }
}
this.reader = null;
@@ -246,9 +255,10 @@
this.eventPipeline = null;
// release serializer
- if ( this.serializer != null ) {
- ((ComponentSelector) this.manager.lookup(Roles.SERIALIZERS))
- .release(this.serializer);
+ if ( this.serializerSelector != null ) {
+ if ( this.serializer != null ) {
+ serializerSelector.release(this.serializer);
+ }
}
this.serializer = null;
} catch ( Exception e ) {
No revision
No revision
1.1.2.29 +1 -6 xml-cocoon/src/org/apache/cocoon/generation/Attic/FileGenerator.java
Index: FileGenerator.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/generation/Attic/FileGenerator.java,v
retrieving revision 1.1.2.28
retrieving revision 1.1.2.29
diff -u -r1.1.2.28 -r1.1.2.29
--- FileGenerator.java 2001/04/12 09:40:03 1.1.2.28
+++ FileGenerator.java 2001/04/13 16:02:23 1.1.2.29
@@ -37,7 +37,7 @@
* @author <a href="mailto:fumagalli@exoffice.com">Pierpaolo Fumagalli</a>
* (Apache Software Foundation, Exoffice Technologies)
* @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
- * @version CVS $Revision: 1.1.2.28 $ $Date: 2001/04/12 09:40:03 $
+ * @version CVS $Revision: 1.1.2.29 $ $Date: 2001/04/13 16:02:23 $
*/
public class FileGenerator extends ComposerGenerator
implements Cacheable {
@@ -53,11 +53,6 @@
*/
public void compose(ComponentManager manager) {
super.compose(manager);
- try {
- getLogger().debug("Looking up " + Roles.STORE);
- } catch (Exception e) {
- getLogger().error("Could not find component", e);
- }
}
/**
1.1.2.22 +13 -2 xml-cocoon/src/org/apache/cocoon/generation/Attic/ServerPagesGenerator.java
Index: ServerPagesGenerator.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/generation/Attic/ServerPagesGenerator.java,v
retrieving revision 1.1.2.21
retrieving revision 1.1.2.22
diff -u -r1.1.2.21 -r1.1.2.22
--- ServerPagesGenerator.java 2001/03/02 12:21:05 1.1.2.21
+++ ServerPagesGenerator.java 2001/04/13 16:02:23 1.1.2.22
@@ -20,8 +20,11 @@
import org.xml.sax.ext.LexicalHandler;
import org.apache.avalon.Composer;
+import org.apache.avalon.Component;
import org.apache.avalon.ComponentManager;
import org.apache.avalon.Poolable;
+import org.apache.avalon.Recyclable;
+import org.apache.avalon.Disposable;
import org.apache.avalon.Loggable;
import org.apache.cocoon.components.language.generator.CompiledComponent;
@@ -41,11 +44,11 @@
* delegating actual SAX event generation.
*
* @author <a href="mailto:ricardo@apache.org">Ricardo Rocha</a>
- * @version CVS $Revision: 1.1.2.21 $ $Date: 2001/03/02 12:21:05 $
+ * @version CVS $Revision: 1.1.2.22 $ $Date: 2001/04/13 16:02:23 $
*/
public class ServerPagesGenerator
extends ServletGenerator
- implements ContentHandler, LexicalHandler, Poolable
+ implements ContentHandler, LexicalHandler, Recyclable, Disposable
{
/**
* The sitemap-defined server pages program generator
@@ -392,4 +395,12 @@
protected String getSystemId() { return this.systemId; }
protected String getName() { return this.name; }
}
+
+ /**
+ * dispose
+ */
+ public void dispose() {
+ if(this.programGenerator != null) manager.release((Component)this.programGenerator);
+ if(this.factory != null) manager.release((Component)this.factory);
+ }
}
No revision
No revision
1.1.2.10 +13 -1 xml-cocoon/src/org/apache/cocoon/reading/Attic/DatabaseReader.java
Index: DatabaseReader.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/reading/Attic/DatabaseReader.java,v
retrieving revision 1.1.2.9
retrieving revision 1.1.2.10
diff -u -r1.1.2.9 -r1.1.2.10
--- DatabaseReader.java 2001/03/30 17:14:35 1.1.2.9
+++ DatabaseReader.java 2001/04/13 16:02:24 1.1.2.10
@@ -12,6 +12,7 @@
import org.apache.avalon.ComponentSelector;
import org.apache.avalon.ComponentManager;
import org.apache.avalon.ComponentManagerException;
+import org.apache.avalon.Disposable;
import org.apache.avalon.util.datasource.DataSourceComponent;
import org.apache.avalon.configuration.Configurable;
import org.apache.avalon.configuration.Configuration;
@@ -45,15 +46,18 @@
*
* @author <a href="bloritsch@apache.org">Berin Loritsch</a>
*/
-public class DatabaseReader extends AbstractReader implements Composer, Configurable {
+public class DatabaseReader extends AbstractReader implements Composer, Configurable, Disposable {
ComponentSelector dbselector;
String dsn;
+ private ComponentManager manager;
+
/**
* Compose the object so that we get the <code>Component</code>s we need from
* the <code>ComponentManager</code>.
*/
public void compose(ComponentManager manager) throws ComponentManagerException {
+ this.manager = manager;
this.dbselector = (ComponentSelector) manager.lookup(Roles.DB_CONNECTION);
}
@@ -232,5 +236,13 @@
}
is.close();
out.flush();
+ }
+
+ /**
+ * dispose()
+ */
+ public void dispose()
+ {
+ if (this.dbselector != null) this.manager.release((Component)this.dbselector);
}
}
No revision
No revision
1.1.2.32 +17 -2 xml-cocoon/src/org/apache/cocoon/sitemap/Attic/AbstractSitemap.java
Index: AbstractSitemap.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/sitemap/Attic/AbstractSitemap.java,v
retrieving revision 1.1.2.31
retrieving revision 1.1.2.32
diff -u -r1.1.2.31 -r1.1.2.32
--- AbstractSitemap.java 2001/04/12 16:00:57 1.1.2.31
+++ AbstractSitemap.java 2001/04/13 16:02:25 1.1.2.32
@@ -25,6 +25,7 @@
import org.apache.avalon.component.ComponentException;
import org.apache.avalon.component.ComponentException;
import org.apache.avalon.AbstractLoggable;
+import org.apache.avalon.Disposable;
import org.apache.avalon.component.DefaultComponentSelector;
import org.apache.cocoon.ProcessingException;
@@ -43,9 +44,9 @@
* Base class for generated <code>Sitemap</code> classes
*
* @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
- * @version CVS $Revision: 1.1.2.31 $ $Date: 2001/04/12 16:00:57 $
+ * @version CVS $Revision: 1.1.2.32 $ $Date: 2001/04/13 16:02:25 $
*/
-public abstract class AbstractSitemap extends AbstractLoggable implements Sitemap {
+public abstract class AbstractSitemap extends AbstractLoggable implements Sitemap, Disposable {
private Context context;
private static final int BYTE_ARRAY_SIZE = 1024;
@@ -249,4 +250,18 @@
*/
public abstract boolean process (Environment environment, StreamPipeline pipeline, EventPipeline eventPipeline)
throws Exception;
+
+ /**
+ * dispose
+ */
+ public void dispose() {
+ if (this.urlFactory!=null) manager.release((Component)this.urlFactory);
+ if (this.generators!=null) manager.release((Component)this.generators);
+ if (this.transformers!=null) manager.release((Component)this.transformers);
+ if (this.serializers!=null) manager.release((Component)this.serializers);
+ if (this.readers!=null) manager.release((Component)this.readers);
+ if (this.actions!=null) manager.release((Component)this.actions);
+ if (this.matchers!=null) manager.release((Component)this.matchers);
+ if (this.selectors!=null) manager.release((Component)this.selectors);
+ }
}
1.1.2.23 +10 -2 xml-cocoon/src/org/apache/cocoon/sitemap/Attic/Handler.java
Index: Handler.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/sitemap/Attic/Handler.java,v
retrieving revision 1.1.2.22
retrieving revision 1.1.2.23
diff -u -r1.1.2.22 -r1.1.2.23
--- Handler.java 2001/04/12 16:00:57 1.1.2.22
+++ Handler.java 2001/04/13 16:02:25 1.1.2.23
@@ -34,6 +34,7 @@
import org.apache.avalon.Contextualizable;
import org.apache.avalon.Context;
import org.apache.avalon.Component;
+import org.apache.avalon.Disposable;
import org.apache.avalon.AbstractLoggable;
import org.apache.avalon.Loggable;
@@ -42,9 +43,9 @@
*
* @author <a href="mailto:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
* @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
- * @version CVS $Revision: 1.1.2.22 $ $Date: 2001/04/12 16:00:57 $
+ * @version CVS $Revision: 1.1.2.23 $ $Date: 2001/04/13 16:02:25 $
*/
-public class Handler extends AbstractLoggable implements Runnable, Configurable, Composer, Contextualizable, Processor {
+public class Handler extends AbstractLoggable implements Runnable, Configurable, Composer, Contextualizable, Processor, Disposable {
private Context context;
/** the configuration */
@@ -216,5 +217,12 @@
public void throwEventualException() throws Exception {
if (this.exception != null) throw this.exception;
+ }
+
+ /**
+ * dispose
+ */
+ public void dispose() {
+ if(urlFactory != null) manager.release((Component)urlFactory);
}
}
No revision
No revision
1.1.2.8 +10 -2 xml-cocoon/src/org/apache/cocoon/transformation/Attic/AbstractDOMTransformer.java
Index: AbstractDOMTransformer.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/transformation/Attic/AbstractDOMTransformer.java,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -r1.1.2.7 -r1.1.2.8
--- AbstractDOMTransformer.java 2001/03/19 21:20:44 1.1.2.7
+++ AbstractDOMTransformer.java 2001/04/13 16:02:26 1.1.2.8
@@ -16,9 +16,10 @@
import org.apache.cocoon.components.parser.Parser;
import org.apache.cocoon.Roles;
import org.apache.avalon.Composer;
+import org.apache.avalon.Component;
import org.apache.avalon.ComponentManager;
import org.apache.avalon.configuration.Parameters;
-import org.apache.avalon.Recyclable;
+import org.apache.avalon.Disposable;
/**
* An Abstract DOM Transformer, for use when a transformer needs a DOM-based
@@ -32,7 +33,7 @@
* @version CVS $Revision $Date
*/
public abstract class AbstractDOMTransformer extends DOMBuilder
- implements Transformer, DOMBuilder.Listener, Composer {
+ implements Transformer, DOMBuilder.Listener, Composer, Disposable {
/** The SAX entity resolver */
protected EntityResolver resolver;
@@ -145,5 +146,12 @@
*/
public void setLexicalHandler(LexicalHandler handler) {
this.lexicalHandler = handler;
+ }
+
+ /**
+ * dispose
+ */
+ public void dispose() {
+ if(super.factory != null) manager.release((Component)super.factory);
}
}
1.1.2.7 +14 -14 xml-cocoon/src/org/apache/cocoon/transformation/Attic/FragmentExtractorTransformer.java
Index: FragmentExtractorTransformer.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/transformation/Attic/FragmentExtractorTransformer.java,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -u -r1.1.2.6 -r1.1.2.7
--- FragmentExtractorTransformer.java 2001/03/19 21:20:45 1.1.2.6
+++ FragmentExtractorTransformer.java 2001/04/13 16:02:26 1.1.2.7
@@ -18,6 +18,7 @@
import org.apache.avalon.Composer;
import org.apache.avalon.ComponentManagerException;
import org.apache.avalon.Component;
+import org.apache.avalon.Disposable;
import org.xml.sax.SAXException;
import org.xml.sax.Attributes;
@@ -40,9 +41,9 @@
* <a href="http://c2.com/cgi/wiki?YouArentGonnaNeedIt">you aren't gonna need it</a>,
* so I've just used very simple extraction based on a URI and local name.
* @author <a href="mailto:paul@luminas.co.uk">Paul Russell</a>
- * @version CVS $Revision: 1.1.2.6 $ $Date: 2001/03/19 21:20:45 $
+ * @version CVS $Revision: 1.1.2.7 $ $Date: 2001/04/13 16:02:26 $
*/
-public class FragmentExtractorTransformer extends AbstractTransformer implements Composer {
+public class FragmentExtractorTransformer extends AbstractTransformer implements Composer, Disposable {
private static String EXTRACT_URI="http://www.w3.org/2000/svg";
private static String EXTRACT_ELEMENT="svg";
@@ -63,8 +64,10 @@
private DOMFactory documentFactory;
- public void compose(ComponentManager manager) {
+ public void compose(ComponentManager manager)
+ throws ComponentManagerException{
this.manager = manager;
+ documentFactory = (DOMFactory) manager.lookup(Roles.PARSER);
}
/** Setup the transformer.
@@ -81,14 +84,6 @@
*/
public void startDocument()
throws SAXException {
- try {
- documentFactory = (DOMFactory) manager.lookup(Roles.PARSER);
- } catch ( ComponentManagerException cme ) {
- documentFactory = null;
- getLogger().error("FragmentExtractorTransformer could not lookup parser.");
- throw new SAXException("Could not get documentFactory", cme);
- }
-
super.startDocument();
}
@@ -98,9 +93,6 @@
public void endDocument()
throws SAXException {
super.endDocument();
-
- this.manager.release((Component) this.documentFactory);
- this.documentFactory = null;
}
/**
@@ -387,5 +379,13 @@
} else {
this.currentBuilder.comment(ch,start,len);
}
+ }
+
+ /**
+ * dispose
+ */
+ public void dispose() {
+ if(this.documentFactory!=null) this.manager.release((Component) this.documentFactory);
+ this.documentFactory = null;
}
}
1.1.2.22 +13 -2 xml-cocoon/src/org/apache/cocoon/transformation/Attic/SQLTransformer.java
Index: SQLTransformer.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/transformation/Attic/SQLTransformer.java,v
retrieving revision 1.1.2.21
retrieving revision 1.1.2.22
diff -u -r1.1.2.21 -r1.1.2.22
--- SQLTransformer.java 2001/03/19 21:20:47 1.1.2.21
+++ SQLTransformer.java 2001/04/13 16:02:27 1.1.2.22
@@ -26,7 +26,9 @@
import org.apache.avalon.ComponentManagerException;
import org.apache.avalon.ComponentSelector;
import org.apache.avalon.Composer;
+import org.apache.avalon.Component;
import org.apache.avalon.Poolable;
+import org.apache.avalon.Disposable;
import org.apache.avalon.util.datasource.DataSourceComponent;
import org.apache.cocoon.ProcessingException;
@@ -48,10 +50,10 @@
* @author <a href="mailto:balld@webslingerZ.com">Donald Ball</a>
* @author <a href="mailto:giacomo.pati@pwr.ch">Giacomo Pati</a>
* (PWR Organisation & Entwicklung)
- * @version CVS $Revision: 1.1.2.21 $ $Date: 2001/03/19 21:20:47 $ $Author: bloritsch $
+ * @version CVS $Revision: 1.1.2.22 $ $Date: 2001/04/13 16:02:27 $ $Author: dims $
*/
-public class SQLTransformer extends AbstractTransformer implements Composer, Loggable, Poolable {
+public class SQLTransformer extends AbstractTransformer implements Composer, Loggable, Poolable, Disposable {
private Logger log;
@@ -104,9 +106,11 @@
protected LexicalHandler lexical_handler;
protected ComponentSelector dbSelector = null;
+ protected ComponentManager manager;
public void compose(ComponentManager manager) {
try {
+ this.manager = manager;
this.dbSelector = (ComponentSelector) manager.lookup(Roles.DB_CONNECTION);
} catch (ComponentManagerException cme) {
this.log.warn("Could not get the DataSource Selector", cme);
@@ -637,4 +641,11 @@
}
+
+ /**
+ * dispose
+ */
+ public void dispose() {
+ if(this.dbSelector != null) this.manager.release((Component) this.dbSelector);
+ }
}
1.1.2.15 +12 -2 xml-cocoon/src/org/apache/cocoon/transformation/Attic/TraxTransformer.java
Index: TraxTransformer.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/transformation/Attic/TraxTransformer.java,v
retrieving revision 1.1.2.14
retrieving revision 1.1.2.15
diff -u -r1.1.2.14 -r1.1.2.15
--- TraxTransformer.java 2001/04/11 10:53:04 1.1.2.14
+++ TraxTransformer.java 2001/04/13 16:02:27 1.1.2.15
@@ -27,6 +27,7 @@
import org.apache.avalon.configuration.Configuration;
import org.apache.avalon.Poolable;
import org.apache.avalon.Recyclable;
+import org.apache.avalon.Disposable;
import org.apache.avalon.configuration.Parameters;
import org.apache.avalon.Loggable;
@@ -62,10 +63,10 @@
* (Apache Software Foundation, Exoffice Technologies)
* @author <a href="mailto:dims@yahoo.com">Davanum Srinivas</a>
* @author <a href="mailto:cziegeler@apache.org">Carsten Ziegeler</a>
- * @version CVS $Revision: 1.1.2.14 $ $Date: 2001/04/11 10:53:04 $
+ * @version CVS $Revision: 1.1.2.15 $ $Date: 2001/04/13 16:02:27 $
*/
public class TraxTransformer extends ContentHandlerWrapper
-implements Transformer, Composer, Recyclable, Configurable, Cacheable {
+implements Transformer, Composer, Recyclable, Configurable, Cacheable, Disposable {
private static String FILE = "file:/";
/** The store service instance */
@@ -80,6 +81,8 @@
/** Is the store turned on? (default is on) */
private boolean useStore = true;
+ private ComponentManager manager;
+
/** The InputSource */
private InputSource inputSource;
private String systemID;
@@ -155,6 +158,7 @@
*/
public void compose(ComponentManager manager) {
try {
+ this.manager = manager;
log.debug("Looking up " + Roles.STORE);
this.store = (Store) manager.lookup(Roles.STORE);
} catch (Exception e) {
@@ -318,6 +322,12 @@
}
return true;
+ }
+
+ public void dispose()
+ {
+ if(this.store != null)
+ this.manager.release((Component)this.store);
}
public void recycle()
1.1.2.26 +9 -2 xml-cocoon/src/org/apache/cocoon/transformation/Attic/XIncludeTransformer.java
Index: XIncludeTransformer.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/transformation/Attic/XIncludeTransformer.java,v
retrieving revision 1.1.2.25
retrieving revision 1.1.2.26
diff -u -r1.1.2.25 -r1.1.2.26
--- XIncludeTransformer.java 2001/04/12 12:30:36 1.1.2.25
+++ XIncludeTransformer.java 2001/04/13 16:02:27 1.1.2.26
@@ -34,6 +34,7 @@
import org.apache.avalon.Loggable;
import org.apache.avalon.AbstractLoggable;
import org.apache.avalon.Poolable;
+import org.apache.avalon.Disposable;
import org.apache.avalon.Component;
import org.apache.cocoon.Roles;
import org.apache.cocoon.ProcessingException;
@@ -52,9 +53,9 @@
* by the SAX event FSM yet.
*
* @author <a href="mailto:balld@webslingerZ.com">Donald Ball</a>
- * @version CVS $Revision: 1.1.2.25 $ $Date: 2001/04/12 12:30:36 $ $Author: dims $
+ * @version CVS $Revision: 1.1.2.26 $ $Date: 2001/04/13 16:02:27 $ $Author: dims $
*/
-public class XIncludeTransformer extends AbstractTransformer implements Composer, Poolable {
+public class XIncludeTransformer extends AbstractTransformer implements Composer, Poolable, Disposable {
protected URLFactory urlFactory;
@@ -380,5 +381,11 @@
throws SAXException {
lexical_handler.comment(ary,start,length);
}
+ }
+
+ public void dispose()
+ {
+ if(this.urlFactory != null)
+ this.manager.release((Component)this.urlFactory);
}
}
1.1.2.20 +12 -2 xml-cocoon/src/org/apache/cocoon/transformation/Attic/XTTransformer.java
Index: XTTransformer.java
===================================================================
RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/transformation/Attic/XTTransformer.java,v
retrieving revision 1.1.2.19
retrieving revision 1.1.2.20
diff -u -r1.1.2.19 -r1.1.2.20
--- XTTransformer.java 2001/04/12 12:30:36 1.1.2.19
+++ XTTransformer.java 2001/04/13 16:02:27 1.1.2.20
@@ -24,6 +24,7 @@
import org.apache.avalon.Modifiable;
import org.apache.avalon.configuration.Parameters;
import org.apache.avalon.Poolable;
+import org.apache.avalon.Disposable;
import org.apache.cocoon.Constants;
import org.apache.cocoon.Roles;
@@ -71,10 +72,10 @@
* This Transformer use the XT processor.
*
* @author <a href="mailto:ssahuc@imediation.com">Sahuc Sebastien</a>
- * @version CVS $Revision: 1.1.2.19 $ $Date: 2001/04/12 12:30:36 $
+ * @version CVS $Revision: 1.1.2.20 $ $Date: 2001/04/13 16:02:27 $
*/
public class XTTransformer extends DocumentHandlerWrapper
-implements Transformer, Composer, Loggable, Poolable {
+implements Transformer, Composer, Loggable, Poolable, Disposable {
private Logger log;
/** The component manager */
@@ -276,6 +277,15 @@
public void unparsedEntityDecl (String name, String publicId, String systemId, String notationName) throws SAXException {
builder.unparsedEntityDecl (name, publicId, systemId, notationName);
}
+ }
+
+ /**
+ * dispose
+ */
+ public void dispose()
+ {
+ if(this.store != null)
+ this.manager.release((Component)this.store);
}
}
----------------------------------------------------------------------
In case of troubles, e-mail: webmaster@xml.apache.org
To unsubscribe, e-mail: cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org