You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2016/01/25 15:56:41 UTC

svn commit: r1726635 - /sling/trunk/installer/providers/jcr/src/main/java/org/apache/sling/installer/provider/jcr/impl/RootFolderMoveListener.java

Author: bdelacretaz
Date: Mon Jan 25 14:56:40 2016
New Revision: 1726635

URL: http://svn.apache.org/viewvc?rev=1726635&view=rev
Log:
SLING-5371 - cleaner cleanup ;-)

Modified:
    sling/trunk/installer/providers/jcr/src/main/java/org/apache/sling/installer/provider/jcr/impl/RootFolderMoveListener.java

Modified: sling/trunk/installer/providers/jcr/src/main/java/org/apache/sling/installer/provider/jcr/impl/RootFolderMoveListener.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/providers/jcr/src/main/java/org/apache/sling/installer/provider/jcr/impl/RootFolderMoveListener.java?rev=1726635&r1=1726634&r2=1726635&view=diff
==============================================================================
--- sling/trunk/installer/providers/jcr/src/main/java/org/apache/sling/installer/provider/jcr/impl/RootFolderMoveListener.java (original)
+++ sling/trunk/installer/providers/jcr/src/main/java/org/apache/sling/installer/provider/jcr/impl/RootFolderMoveListener.java Mon Jan 25 14:56:40 2016
@@ -42,6 +42,8 @@ class RootFolderMoveListener implements
     private final RescanTimer timer;
 
     private final String[] watchedPaths;
+    
+    private EventListener toCleanup;
 
     RootFolderMoveListener(final Session session, final String[] rootFolders,  final RescanTimer timer) throws RepositoryException {
         this.timer = timer;
@@ -58,6 +60,7 @@ class RootFolderMoveListener implements
             if(obsManager instanceof  JackrabbitObservationManager){
                 JackrabbitObservationManager observationManager = (JackrabbitObservationManager)obsManager;
                 observationManager.addEventListener(this, eventFilter);
+                toCleanup = this;
                 logger.info("Watching {} to detect move changes in subfolders", Arrays.toString(watchedPaths));
             }
         }
@@ -69,12 +72,11 @@ class RootFolderMoveListener implements
     }
 
     void cleanup(final Session session) throws RepositoryException {
-        if(watchedPaths != null && watchedPaths.length > 0){
-            session.getWorkspace().getObservationManager().removeEventListener(this);
+        if(toCleanup != null) {
+            session.getWorkspace().getObservationManager().removeEventListener(toCleanup);
         }
     }
 
-
     /**
      * Schedule a scan.
      */