cziegeler 02/04/22 06:44:23
Modified: src/java/org/apache/cocoon/components/treeprocessor/sitemap
SitemapLanguage.java
src/java/org/apache/cocoon/sitemap AbstractSitemap.java
DefaultSitemapComponentSelector.java
Log:
Releasing of components
Revision Changes Path
1.5 +6 -3
xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/sitemap/SitemapLanguage.java
Index: SitemapLanguage.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/treeprocessor/sitemap/SitemapLanguage.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SitemapLanguage.java 26 Mar 2002 10:57:02 -0000 1.4
+++ SitemapLanguage.java 22 Apr 2002 13:44:23 -0000 1.5
@@ -82,7 +82,7 @@
* The tree builder for the sitemap language.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Sylvain Wallez</a>
- * @version CVS $Id: SitemapLanguage.java,v 1.4 2002/03/26 10:57:02 sylvain Exp $
+ * @version CVS $Id: SitemapLanguage.java,v 1.5 2002/04/22 13:44:23 cziegeler Exp $
*/
public class SitemapLanguage extends DefaultTreeBuilder {
@@ -176,7 +176,7 @@
public void recycle() {
super.recycle();
-
+
// Go back to initial state
this.labelViews.clear();
this.viewsNode = null;
@@ -247,8 +247,9 @@
Set labels = new HashSet();
// 1 - labels defined on the component
+ SitemapComponentSelector selector = null;
try {
- SitemapComponentSelector selector =
(SitemapComponentSelector)this.manager.lookup(role + "Selector");
+ selector = (SitemapComponentSelector)this.manager.lookup(role +
"Selector");
String[] compLabels = selector.getLabels(hint);
if (compLabels != null) {
for (int i = 0; i < compLabels.length; i++) {
@@ -258,6 +259,8 @@
} catch(Exception e) {
// Ignore (no selector for this role)
getLogger().debug("No selector for role " + role);
+ } finally {
+ this.manager.release( selector );
}
// 2 - labels defined on this statement
1.12 +37 -17
xml-cocoon2/src/java/org/apache/cocoon/sitemap/AbstractSitemap.java
Index: AbstractSitemap.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/sitemap/AbstractSitemap.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- AbstractSitemap.java 19 Apr 2002 19:38:11 -0000 1.11
+++ AbstractSitemap.java 22 Apr 2002 13:44:23 -0000 1.12
@@ -91,7 +91,7 @@
* Base class for generated <code>Sitemap</code> classes
*
* @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a>
- * @version CVS $Id: AbstractSitemap.java,v 1.11 2002/04/19 19:38:11 vgritsenko Exp
$
+ * @version CVS $Id: AbstractSitemap.java,v 1.12 2002/04/22 13:44:23 cziegeler Exp $
*/
public abstract class AbstractSitemap extends AbstractLoggable implements Sitemap,
Disposable, ThreadSafe {
private Context context;
@@ -453,28 +453,48 @@
manager.release(this.urlFactory);
this.urlFactory = null;
- manager.release(this.generators);
- this.generators = null;
-
- manager.release(this.transformers);
- this.transformers = null;
+ if ( this.generators != null) {
+ this.manager.release( this.generators.getParentSelector() );
+ this.manager.release(this.generators);
+ this.generators = null;
+ }
+ if ( this.transformers != null ) {
+ this.manager.release( this.transformers.getParentSelector() );
+ this.manager.release(this.transformers);
+ this.transformers = null;
+ }
- manager.release(this.serializers);
- this.serializers = null;
+ if ( this.serializers != null ) {
+ this.manager.release( this.serializers.getParentSelector() );
+ this.manager.release(this.serializers);
+ this.serializers = null;
+ }
- manager.release(this.readers);
- this.readers = null;
+ if ( this.readers != null ) {
+ this.manager.release( this.readers.getParentSelector() );
+ this.manager.release(this.readers);
+ this.readers = null;
+ }
- manager.release(this.actions);
- this.actions = null;
+ if ( this.actions != null ) {
+ this.manager.release( this.actions.getParentSelector() );
+ this.manager.release(this.actions);
+ this.actions = null;
+ }
- manager.release(this.matchers);
- this.matchers = null;
+ if ( this.matchers != null ) {
+ this.manager.release( this.matchers.getParentSelector() );
+ this.manager.release(this.matchers);
+ this.matchers = null;
+ }
- manager.release(this.selectors);
- this.selectors = null;
+ if ( this.selectors != null ) {
+ this.manager.release( this.selectors.getParentSelector() );
+ this.manager.release(this.selectors);
+ this.selectors = null;
+ }
- manager = null;
+ this.manager = null;
}
/**
1.3 +9 -1
xml-cocoon2/src/java/org/apache/cocoon/sitemap/DefaultSitemapComponentSelector.java
Index: DefaultSitemapComponentSelector.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/sitemap/DefaultSitemapComponentSelector.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DefaultSitemapComponentSelector.java 22 Feb 2002 07:03:55 -0000 1.2
+++ DefaultSitemapComponentSelector.java 22 Apr 2002 13:44:23 -0000 1.3
@@ -67,7 +67,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a>
- * @version CVS $Id: DefaultSitemapComponentSelector.java,v 1.2 2002/02/22 07:03:55
cziegeler Exp $
+ * @version CVS $Id: DefaultSitemapComponentSelector.java,v 1.3 2002/04/22 13:44:23
cziegeler Exp $
*/
public class DefaultSitemapComponentSelector extends ExcaliburComponentSelector
implements SitemapComponentSelector {
@@ -92,6 +92,14 @@
if (this.parentSelector == null) {
this.parentSelector = newSelector;
}
+ }
+
+ /**
+ * Get the parent selector.
+ * This is mainly used for releasing the parent selector
+ */
+ public SitemapComponentSelector getParentSelector() {
+ return this.parentSelector;
}
public Component select(Object hint) throws ComponentException {
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]