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 2013/03/19 19:32:58 UTC
svn commit: r1458452 -
/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
Author: cziegeler
Date: Tue Mar 19 18:32:58 2013
New Revision: 1458452
URL: http://svn.apache.org/r1458452
Log:
SLING-2780 : Make ResourceMetadata read-only when delivered to client code
Modified:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.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=1458452&r1=1458451&r2=1458452&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 Tue Mar 19 18:32:58 2013
@@ -863,7 +863,13 @@ public class ResourceResolverImpl extend
}
private Resource getChildInternal(final Resource parent, final String childName) {
- Resource child = getResource(parent, childName);
+ final String path;
+ if ( childName.startsWith("/") ) {
+ path = childName;
+ } else {
+ path = parent.getPath() + '/' + childName;
+ }
+ Resource child = getResourceInternal(path);
if (child != null) {
final String alias = getProperty(child, PROP_REDIRECT_INTERNAL);
if (alias != null) {
@@ -881,8 +887,15 @@ public class ResourceResolverImpl extend
final Map<String, String> aliases = factory.getMapEntries().getAliasMap(parent.getPath());
if (aliases != null) {
- if (aliases.containsKey(childName)) {
- final Resource aliasedChild = getResource(parent, aliases.get(childName));
+ final String aliasName = aliases.get(childName);
+ if (aliasName != null ) {
+ final String aliasPath;
+ if ( aliasName.startsWith("/") ) {
+ aliasPath = aliasName;
+ } else {
+ aliasPath = parent.getPath() + '/' + aliasName;
+ }
+ final Resource aliasedChild = getResourceInternal(aliasPath);
logger.debug("getChildInternal: Found Resource {} with alias {} to use", aliasedChild, childName);
return aliasedChild;
}