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();
}