logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

svn commit: r219145 - /lenya/trunk/src/webapp/lenya/pubs/default/java/src/o: msg#00066

Subject: 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);
             }
         }
     }


<Prev in Thread] Current Thread [Next in Thread>