You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by ch...@apache.org on 2005/07/15 02:27:58 UTC

svn commit: r219145 - /lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/webdav/Propfind.java

Author: chestnut
Date: Thu Jul 14 17:27:57 2005
New Revision: 219145

URL: http://svn.apache.org/viewcvs?rev=219145&view=rev
Log:
Properly releases ServiceSelector, patch provided by Andreas Hartmann.  This resloves Bug 35734

Modified:
    lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/webdav/Propfind.java

Modified: lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/webdav/Propfind.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/webdav/Propfind.java?rev=219145&r1=219144&r2=219145&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/webdav/Propfind.java (original)
+++ lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/webdav/Propfind.java Thu Jul 14 17:27:57 2005
@@ -66,7 +66,8 @@
 
         Publication _publication = this.getPublication();
 
-        ServiceSelector selector = null;
+        ServiceSelector siteManagerSelector = null;
+        ServiceSelector docBuilderSelector = null;
         SiteManager siteManager = null;
         ResourcesManager resourcesManager = null;
         DocumentBuilder docBuilder = null;
@@ -93,14 +94,14 @@
                     backupDirectory,
                     publicationPath);
 
-            selector = (ServiceSelector) this.manager.lookup(SiteManager.ROLE + "Selector");
-            siteManager = (SiteManager) selector.select(_publication.getSiteManagerHint());
+            siteManagerSelector = (ServiceSelector) this.manager.lookup(SiteManager.ROLE + "Selector");
+            siteManager = (SiteManager) siteManagerSelector.select(_publication.getSiteManagerHint());
             Document[] documents = siteManager.getDocuments(getDocumentIdentityMap(),
                     _publication,
                     this.getArea());
 
-            selector = (ServiceSelector) this.manager.lookup(DocumentBuilder.ROLE + "Selector");
-            docBuilder = (DocumentBuilder) selector.select(_publication.getDocumentBuilderHint());
+            docBuilderSelector = (ServiceSelector) this.manager.lookup(DocumentBuilder.ROLE + "Selector");
+            docBuilder = (DocumentBuilder) docBuilderSelector.select(_publication.getDocumentBuilderHint());
 
             for (int i = 0; i < documents.length; i++) {
                 String test = documents[i].getCanonicalWebappURL().replaceFirst("/[^/]*.html", "");
@@ -165,12 +166,17 @@
         } catch (Exception e) {
             throw new RuntimeException(e);
         } finally {
-            if (selector != null) {
+            if (siteManagerSelector != null) {
                 if (siteManager != null) {
-                    selector.release(siteManager);
-                    selector.release(docBuilder);
+                    siteManagerSelector.release(siteManager);
                 }
-                this.manager.release(selector);
+                this.manager.release(siteManagerSelector);
+            }
+            if (docBuilderSelector != null) {
+                if (docBuilder != null) {
+                    docBuilderSelector.release(docBuilder);
+                }
+                this.manager.release(docBuilderSelector);
             }
         }
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org