You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2017/03/02 10:33:11 UTC
svn commit: r1785099 - in
/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation:
BasicObservationReporter.java ResourceChangeListImpl.java
Author: cziegeler
Date: Thu Mar 2 10:33:11 2017
New Revision: 1785099
URL: http://svn.apache.org/viewvc?rev=1785099&view=rev
Log:
SLING-6590 : Change events for resource providers are not send to listeners
Modified:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListImpl.java
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java?rev=1785099&r1=1785098&r2=1785099&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/BasicObservationReporter.java Thu Mar 2 10:33:11 2017
@@ -96,7 +96,7 @@ public class BasicObservationReporter im
// find the set of paths that match the provider
final Set<Path> paths = new HashSet<>();
for(final Path p : info.getPaths()) {
- // add when there is an intersection between provider path and resource change listener path
+ // add when there is an intersection between provider path and resource change listener path
boolean add = providerPath.matches(p.getPath()) || (!p.isPattern() && p.matches(providerPath.getPath()));
if ( add ) {
if ( p.isPattern() ) {
@@ -232,7 +232,8 @@ public class BasicObservationReporter im
if ( !infoA.isExternal() && infoB.isExternal() ) {
return false;
}
- return infoA.getResourceChangeTypes().equals(infoB.getResourceChangeTypes());
+ return infoA.getResourceChangeTypes().equals(infoB.getResourceChangeTypes())
+ && infoA.getProviderChangeTypes().equals(infoB.getProviderChangeTypes());
}
/**
@@ -298,7 +299,7 @@ public class BasicObservationReporter im
* @return {@code true} whether it matches
*/
private boolean matches(final ResourceChange change, final ResourceChangeListenerInfo config) {
- if (!config.getResourceChangeTypes().contains(change.getType())) {
+ if (!config.getResourceChangeTypes().contains(change.getType()) && !config.getProviderChangeTypes().contains(change.getType())) {
return false;
}
if (!config.isExternal() && change.isExternal()) {
Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListImpl.java?rev=1785099&r1=1785098&r2=1785099&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListImpl.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/observation/ResourceChangeListImpl.java Thu Mar 2 10:33:11 2017
@@ -166,6 +166,11 @@ public class ResourceChangeListImpl impl
return this.searchPath.clone();
}
+ @Override
+ public String toString() {
+ return list.toString();
+ }
+
private static final class UnmodifiableListIterator implements ListIterator<ResourceChange> {
private final ListIterator<ResourceChange> iterator;