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 2016/02/08 19:46:55 UTC

svn commit: r1729228 - in /sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl: ResourceResolverImpl.java helper/ResourceIteratorDecorator.java

Author: cziegeler
Date: Mon Feb  8 18:46:54 2016
New Revision: 1729228

URL: http://svn.apache.org/viewvc?rev=1729228&view=rev
Log:
SLING-5495 : Resolution path is not always set

Modified:
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
    sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceIteratorDecorator.java

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java?rev=1729228&r1=1729227&r2=1729228&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java Mon Feb  8 18:46:54 2016
@@ -1198,6 +1198,7 @@ public class ResourceResolverImpl extend
             }
         }
         final Resource rsrc = this.control.create(this.context, path, properties);
+        rsrc.getResourceMetadata().setResolutionPath(rsrc.getPath());
         return this.factory.getResourceDecoratorTracker().decorate(rsrc);
     }
 
@@ -1298,16 +1299,31 @@ public class ResourceResolverImpl extend
 
     @Override
     public Resource getParent(final Resource child) {
-        return this.control.getParent(this.context, child);
+        Resource rsrc = this.control.getParent(this.context, child);
+        if (rsrc != null ) {
+            rsrc.getResourceMetadata().setResolutionPath(rsrc.getPath());
+            rsrc = this.factory.getResourceDecoratorTracker().decorate(rsrc);
+        }
+        return rsrc;
     }
 
     @Override
     public Resource copy(final String srcAbsPath, final String destAbsPath) throws PersistenceException {
-        return this.control.copy(this.context, srcAbsPath, destAbsPath);
+        Resource rsrc = this.control.copy(this.context, srcAbsPath, destAbsPath);
+        if (rsrc != null ) {
+            rsrc.getResourceMetadata().setResolutionPath(rsrc.getPath());
+            rsrc = this.factory.getResourceDecoratorTracker().decorate(rsrc);
+        }
+        return rsrc;
     }
 
     @Override
     public Resource move(final String srcAbsPath, final String destAbsPath) throws PersistenceException {
-        return this.control.move(this.context, srcAbsPath, destAbsPath);
+        Resource rsrc = this.control.move(this.context, srcAbsPath, destAbsPath);
+        if (rsrc != null ) {
+            rsrc.getResourceMetadata().setResolutionPath(rsrc.getPath());
+            rsrc = this.factory.getResourceDecoratorTracker().decorate(rsrc);
+        }
+        return rsrc;
     }
 }

Modified: sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceIteratorDecorator.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceIteratorDecorator.java?rev=1729228&r1=1729227&r2=1729228&view=diff
==============================================================================
--- sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceIteratorDecorator.java (original)
+++ sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceIteratorDecorator.java Mon Feb  8 18:46:54 2016
@@ -40,6 +40,7 @@ public class ResourceIteratorDecorator i
     /**
      * @see java.util.Iterator#hasNext()
      */
+    @Override
     public boolean hasNext() {
         return this.iterator.hasNext();
     }
@@ -47,13 +48,18 @@ public class ResourceIteratorDecorator i
     /**
      * @see java.util.Iterator#next()
      */
+    @Override
     public Resource next() {
-        return this.tracker.decorate(this.iterator.next());
+        final Resource rsrc = this.iterator.next();
+        rsrc.getResourceMetadata().setResolutionPath(rsrc.getPath());
+
+        return this.tracker.decorate(rsrc);
     }
 
     /**
      * @see java.util.Iterator#remove()
      */
+    @Override
     public void remove() {
         this.iterator.remove();
     }