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