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


Reply via email to