You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:46:53 UTC

[sling-org-apache-sling-jcr-contentloader] 27/36: SLING-838 : Clean up code, use method for session logout.

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

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

commit 94f72a0bdfbf73d30727f3692ce8837548734466
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Wed Jan 21 08:59:53 2009 +0000

    SLING-838 : Clean up code, use method for session logout.
    
    git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/contentloader@736268 13f79535-47bb-0310-9956-ffa450edef68
---
 .../internal/ContentLoaderService.java             | 33 +++++++++++++---------
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java b/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java
index c454fe5..1f94f63 100644
--- a/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java
+++ b/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java
@@ -128,7 +128,7 @@ public class ContentLoaderService implements SynchronousBundleListener {
                 // as node types are registered when the bundle is installed
                 // we can safely add the content at this point.
                 try {
-                    session = getAdminSession();
+                    session = this.getSession();
                     final boolean isUpdate = this.updatedBundles.remove(event.getBundle().getSymbolicName());
                     initialContentLoader.registerBundle(session, event.getBundle(), isUpdate);
                 } catch (Throwable t) {
@@ -137,9 +137,7 @@ public class ContentLoaderService implements SynchronousBundleListener {
                             + event.getBundle().getSymbolicName() + " ("
                             + event.getBundle().getBundleId() + ")", t);
                 } finally {
-                    if ( session != null ) {
-                        session.logout();
-                    }
+                    this.ungetSession(session);
                 }
                 break;
             case BundleEvent.UPDATED:
@@ -149,7 +147,7 @@ public class ContentLoaderService implements SynchronousBundleListener {
                 break;
             case BundleEvent.UNINSTALLED:
                 try {
-                    session = getAdminSession();
+                    session = this.getSession();
                     initialContentLoader.unregisterBundle(session, event.getBundle());
                 } catch (Throwable t) {
                     log.error(
@@ -157,9 +155,7 @@ public class ContentLoaderService implements SynchronousBundleListener {
                             + event.getBundle().getSymbolicName() + " ("
                             + event.getBundle().getBundleId() + ")", t);
                 } finally {
-                    if ( session != null ) {
-                        session.logout();
-                    }
+                    this.ungetSession(session);
                 }
                 break;
         }
@@ -211,7 +207,7 @@ public class ContentLoaderService implements SynchronousBundleListener {
 
         Session session = null;
         try {
-            session = this.getAdminSession();
+            session = this.getSession();
             this.createRepositoryPath(session, ContentLoaderService.BUNDLE_CONTENT_NODE);
             log.debug(
                     "Activated - attempting to load content from all "
@@ -250,9 +246,7 @@ public class ContentLoaderService implements SynchronousBundleListener {
             log.error("activate: Problem while loading initial content and"
                 + " registering mappings for existing bundles", t);
         } finally {
-            if ( session != null ) {
-                session.logout();
-            }
+            this.ungetSession(session);
         }
     }
 
@@ -276,12 +270,25 @@ public class ContentLoaderService implements SynchronousBundleListener {
     /**
      * Returns an administrative session to the default workspace.
      */
-    private Session getAdminSession()
+    private Session getSession()
     throws RepositoryException {
         return getRepository().loginAdministrative(null);
     }
 
     /**
+     * Return the administrative session and close it.
+     */
+    private void ungetSession(final Session session) {
+        if ( session != null ) {
+            try {
+                session.logout();
+            } catch (Throwable t) {
+                log.error("Unable to log out of session: " + t.getMessage(), t);
+            }
+        }
+    }
+
+    /**
      * Return the bundle content info and make an exclusive lock.
      * @param session
      * @param bundle

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