Author: cziegeler
Date: Thu Mar 2 10:51:15 2017
New Revision: 1785102
URL: http://svn.apache.org/viewvc?rev=1785102&view=rev
Log:
SLING-6591 : Improve cache updates
Modified:
sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
Modified:
sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java?rev=1785102&r1=1785101&r2=1785102&view=diff
==============================================================================
---
sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
(original)
+++
sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
Thu Mar 2 10:51:15 2017
@@ -1388,27 +1388,23 @@ public class SlingServletResolver
}
@Override
- public void onChange(List<ResourceChange> changes) {
+ public void onChange(final List<ResourceChange> changes) {
if (this.cache != null) {
boolean flushCache = false;
- for(ResourceChange change : changes){
- // we may receive different events
- final String topic = change.getType().toString();
- // this is a resource or resource provider event
+ for(final ResourceChange change : changes){
// if the path of the event is a sub path of a search path
// we flush the whole cache
final String path = change.getPath();
- if ( path != null ) {
- int index = 0;
- while (!flushCache && index < searchPaths.length) {
- if (path.startsWith(this.searchPaths[index])) {
- flushCache = true;
- }
- index++;
+ int index = 0;
+ while (!flushCache && index < searchPaths.length) {
+ if (path.startsWith(this.searchPaths[index])) {
+ flushCache = true;
}
+ index++;
}
- if (flushCache) {
+ if ( flushCache ) {
flushCache();
+ break; // we can stop looping
}
}
}