This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.jcr.webconsole-1.0.2
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-webconsole.git

commit caebbcd137fbb2e2916297f371341134649c13d5
Author: Justin Edelson <jus...@apache.org>
AuthorDate: Tue May 15 00:14:55 2012 +0000

    SLING-2478 - logging out of sessions created by configuration printers
    
    git-svn-id: 
https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/webconsole@1338487 
13f79535-47bb-0310-9956-ffa450edef68
---
 .../jcr/webconsole/internal/NamespaceConfigurationPrinter.java   | 7 ++++++-
 .../jcr/webconsole/internal/NodeTypeConfigurationPrinter.java    | 9 +++++++--
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/jcr/webconsole/internal/NamespaceConfigurationPrinter.java
 
b/src/main/java/org/apache/sling/jcr/webconsole/internal/NamespaceConfigurationPrinter.java
index 0ae658e..2278208 100644
--- 
a/src/main/java/org/apache/sling/jcr/webconsole/internal/NamespaceConfigurationPrinter.java
+++ 
b/src/main/java/org/apache/sling/jcr/webconsole/internal/NamespaceConfigurationPrinter.java
@@ -67,8 +67,9 @@ public class NamespaceConfigurationPrinter implements 
ConfigurationPrinter {
      */
     public void printConfiguration(PrintWriter pw) {
         if (slingRepository != null) {
+            Session session = null;
             try {
-                Session session = slingRepository.loginAdministrative(null);
+                session = slingRepository.loginAdministrative(null);
                 NamespaceRegistry reg = 
session.getWorkspace().getNamespaceRegistry();
                 List<String> globalPrefixes = Arrays.asList(reg.getPrefixes());
                 for (String prefix : session.getNamespacePrefixes()) {
@@ -85,6 +86,10 @@ public class NamespaceConfigurationPrinter implements 
ConfigurationPrinter {
             } catch (RepositoryException e) {
                 pw.println("Unable to output namespace mappings.");
                 e.printStackTrace(pw);
+            } finally {
+                if (session != null) {
+                    session.logout();
+                }
             }
         } else {
             pw.println("SlingRepository is not available.");
diff --git 
a/src/main/java/org/apache/sling/jcr/webconsole/internal/NodeTypeConfigurationPrinter.java
 
b/src/main/java/org/apache/sling/jcr/webconsole/internal/NodeTypeConfigurationPrinter.java
index 47d561a..cb7710e 100644
--- 
a/src/main/java/org/apache/sling/jcr/webconsole/internal/NodeTypeConfigurationPrinter.java
+++ 
b/src/main/java/org/apache/sling/jcr/webconsole/internal/NodeTypeConfigurationPrinter.java
@@ -68,8 +68,9 @@ public class NodeTypeConfigurationPrinter implements 
ModeAwareConfigurationPrint
      */
     public void printConfiguration(PrintWriter pw, String mode) {
         if (slingRepository != null) {
+            Session session = null;
             try {
-                Session session = slingRepository.loginAdministrative(null);
+                session = slingRepository.loginAdministrative(null);
                 NodeTypeManager ntm = 
session.getWorkspace().getNodeTypeManager();
                 NodeTypeIterator it = ntm.getAllNodeTypes();
                 while (it.hasNext()) {
@@ -158,9 +159,13 @@ public class NodeTypeConfigurationPrinter implements 
ModeAwareConfigurationPrint
             } catch (RepositoryException e) {
                 pw.println("Unable to output namespace mappings.");
                 e.printStackTrace(pw);
+            } finally {
+                if (session != null) {
+                    session.logout();
+                }
             }
         } else {
-            pw.println("SlingRepsoitory is not available.");
+            pw.println("SlingRepository is not available.");
         }
     }
 

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <commits@sling.apache.org>.

Reply via email to