Author: cziegeler
Date: Tue Oct 18 14:21:10 2016
New Revision: 1765444

URL: http://svn.apache.org/viewvc?rev=1765444&view=rev
Log:
SLING-6056 : achieve 1:1 mapping between observation and resource change 
listener

Modified:
    
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
    
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProvider.java

Modified: 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java?rev=1765444&r1=1765443&r2=1765444&view=diff
==============================================================================
--- 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
 (original)
+++ 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
 Tue Oct 18 14:21:10 2016
@@ -52,7 +52,7 @@ import org.apache.sling.spi.resource.pro
  */
 public class JcrResourceListener implements EventListener, Closeable {
 
-    private final ObserverConfiguration config;
+    private volatile ObserverConfiguration config;
 
     private final JcrListenerBaseConfig baseConfig;
 
@@ -64,6 +64,10 @@ public class JcrResourceListener impleme
         this.baseConfig.register(this, config);
     }
 
+    public void update(final ObserverConfiguration cfg) {
+        this.config = cfg;
+    }
+
     /**
      * Dispose this listener.
      */
@@ -174,4 +178,5 @@ public class JcrResourceListener impleme
     public String toString() {
         return "JcrResourceListener [" + config + "]";
     }
+
 }

Modified: 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProvider.java?rev=1765444&r1=1765443&r2=1765444&view=diff
==============================================================================
--- 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProvider.java
 (original)
+++ 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrResourceProvider.java
 Tue Oct 18 14:21:10 2016
@@ -249,6 +249,8 @@ public class JcrResourceProvider extends
                     Closeable listener = oldMap.remove(config);
                     if ( listener == null ) {
                         listener = new 
JcrResourceListener(this.listenerConfig, config);
+                    } else {
+                        ((JcrResourceListener)listener).update(config);
                     }
                     this.listeners.put(config, listener);
                 }


Reply via email to