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