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 2015/10/28 16:21:00 UTC
svn commit: r1711030 - in
/sling/trunk/bundles/api/src/main/java/org/apache/sling:
api/resource/observation/ spi/resource/provider/
Author: cziegeler
Date: Wed Oct 28 15:21:00 2015
New Revision: 1711030
URL: http://svn.apache.org/viewvc?rev=1711030&view=rev
Log:
SLING-5162 : Support for the new observation API in the resource resolver
Added:
sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ExternalResourceChangeListener.java
- copied, changed from r1710960, sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ExternalResourceListener.java
Removed:
sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ExternalResourceListener.java
Modified:
sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChange.java
sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java
sling/trunk/bundles/api/src/main/java/org/apache/sling/spi/resource/provider/ObservationReporter.java
sling/trunk/bundles/api/src/main/java/org/apache/sling/spi/resource/provider/ObserverConfiguration.java
Copied: sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ExternalResourceChangeListener.java (from r1710960, sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ExternalResourceListener.java)
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ExternalResourceChangeListener.java?p2=sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ExternalResourceChangeListener.java&p1=sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ExternalResourceListener.java&r1=1710960&r2=1711030&rev=1711030&view=diff
==============================================================================
--- sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ExternalResourceListener.java (original)
+++ sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ExternalResourceChangeListener.java Wed Oct 28 15:21:00 2015
@@ -24,7 +24,7 @@ import aQute.bnd.annotation.ConsumerType
* This is a marker interface to receive external events.
*/
@ConsumerType
-public interface ExternalResourceListener {
+public interface ExternalResourceChangeListener {
// marker interface
}
Modified: sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChange.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChange.java?rev=1711030&r1=1711029&r2=1711030&view=diff
==============================================================================
--- sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChange.java (original)
+++ sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChange.java Wed Oct 28 15:21:00 2015
@@ -33,7 +33,7 @@ import aQute.bnd.annotation.ConsumerType
* instance.
*
* Resource listeners only receive external changes if they mark themselves
- * as a {@link ExternalResourceListener}.
+ * as a {@link ExternalResourceChangeListener}.
*
* For all events (local and external), the path and the type of change is
* set.
Modified: sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java?rev=1711030&r1=1711029&r2=1711030&view=diff
==============================================================================
--- sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java (original)
+++ sling/trunk/bundles/api/src/main/java/org/apache/sling/api/resource/observation/ResourceChangeListener.java Wed Oct 28 15:21:00 2015
@@ -44,7 +44,7 @@ import aQute.bnd.annotation.ConsumerType
* By default a resource listener gets only local events which means events
* caused by changes persisted on the same instance as this listener is registered.
* If the resource listener is interested in external events, the implementation
- * should implement the {@link ExternalResourceListener} interface, but still register
+ * should implement the {@link ExternalResourceChangeListener} interface, but still register
* the service as a {@code ResourceChangeListener} service.
*/
@ConsumerType
Modified: sling/trunk/bundles/api/src/main/java/org/apache/sling/spi/resource/provider/ObservationReporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/api/src/main/java/org/apache/sling/spi/resource/provider/ObservationReporter.java?rev=1711030&r1=1711029&r2=1711030&view=diff
==============================================================================
--- sling/trunk/bundles/api/src/main/java/org/apache/sling/spi/resource/provider/ObservationReporter.java (original)
+++ sling/trunk/bundles/api/src/main/java/org/apache/sling/spi/resource/provider/ObservationReporter.java Wed Oct 28 15:21:00 2015
@@ -47,6 +47,9 @@ public interface ObservationReporter {
* it should set the distribute flag. In this case the resource resolver implementation
* will distribute the events to all other instances.
*
+ * Due to performance reasons, the observation reporter might not verify if the
+ * reported change matches the observer configurations.
+ *
* @param changes The list of changes.
* @param distribute Whether the changes should be distributed to other instances.
*/
Modified: sling/trunk/bundles/api/src/main/java/org/apache/sling/spi/resource/provider/ObserverConfiguration.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/api/src/main/java/org/apache/sling/spi/resource/provider/ObserverConfiguration.java?rev=1711030&r1=1711029&r2=1711030&view=diff
==============================================================================
--- sling/trunk/bundles/api/src/main/java/org/apache/sling/spi/resource/provider/ObserverConfiguration.java (original)
+++ sling/trunk/bundles/api/src/main/java/org/apache/sling/spi/resource/provider/ObserverConfiguration.java Wed Oct 28 15:21:00 2015
@@ -55,4 +55,12 @@ public interface ObserverConfiguration {
* @return Non empty set of types
*/
@Nonnull Set<ResourceChange.ChangeType> getChangeTypes();
+
+ /**
+ * Checks whether a path matches one of the paths of this configuration
+ * but is not in the excluded paths list.
+ * @param path The path to check
+ * @return {@code true} if the path matches the configuration.
+ */
+ boolean matches(String path);
}