You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2014/07/16 22:16:43 UTC

svn commit: r1611171 - /sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ResourceChangeCommandFactory.java

Author: rombert
Date: Wed Jul 16 20:16:42 2014
New Revision: 1611171

URL: http://svn.apache.org/r1611171
Log:
SLING-3741 - When processing deleted folders, check for a covering
aggregate higher in the filesytem hierarchy

Prevent infinite loop in
ResourceChangeCommandFactory.findSerializationDataFromCoveringParent

Modified:
    sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ResourceChangeCommandFactory.java

Modified: sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ResourceChangeCommandFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ResourceChangeCommandFactory.java?rev=1611171&r1=1611170&r2=1611171&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ResourceChangeCommandFactory.java (original)
+++ sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ResourceChangeCommandFactory.java Wed Jul 16 20:16:42 2014
@@ -256,7 +256,8 @@ public class ResourceChangeCommandFactor
         PluginLogger logger = Activator.getDefault().getPluginLogger();
         logger.trace("Found plain nt:folder candidate at {0}, trying to find a covering resource for it",
                 changedResource.getProjectRelativePath());
-        while (!serializationFilePath.isRoot()) {
+        // don't use isRoot() to prevent infinite loop when the final path is '//'
+        while (serializationFilePath.segmentCount() != 0) {
             serializationFilePath = serializationFilePath.removeLastSegments(1);
             IFolder folderWithPossibleSerializationFile = (IFolder) syncDirectory.findMember(serializationFilePath);
             if (folderWithPossibleSerializationFile == null) {