You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Tyson Norris (JIRA)" <ji...@apache.org> on 2013/01/11 06:06:16 UTC

[jira] [Created] (SLING-2708) ResourceUtil.isA() fails for adapted Resources unless user is admin

Tyson Norris created SLING-2708:
-----------------------------------

             Summary: ResourceUtil.isA() fails for adapted Resources unless user is admin
                 Key: SLING-2708
                 URL: https://issues.apache.org/jira/browse/SLING-2708
             Project: Sling
          Issue Type: Bug
          Components: ResourceResolver
            Reporter: Tyson Norris


Summary - adapting a Resource to a specified type, loses the ability to test the Resources super types using ResourceUtil.isA(), UNLESS user is admin

1. TypeA is defined as:
class TypeA {
    private Resource res;
    public boolean isTypeB(){
        return ResourceUtil.isA(res, "some/type");
    }
}

2. TypeA adapter is an AdapterFactory to adapt Resource -> TypeA

3. /some/res/path is a resource whose sling:resourceSuperType 2 levels up is "/apps/some/type"

4. In a JSP, we use code like:
TypeA typeA = resource.adaptTo(TypeA)
if (!typeA.isTypeB()){
    //FAIL: typeA.isTypeB() is actually true
}

Note that:
ResourceUtil.isA(resource, "some/type") == true
but
ResourceUtil.isA(typeA.resource, "some/type") == false
(unless user is admin)






--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira