[ https://issues.apache.org/jira/browse/SLING-2708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13550915#comment-13550915 ]
Felix Meschberger commented on SLING-2708: ------------------------------------------ > Note that: > ResourceUtil.isA(resource, "some/type") == true > but > ResourceUtil.isA(typeA.resource, "some/type") == false > (unless user is admin) The only explanation I can come up with for this behaviour is that resource and typeA.resource are not the same. Can you find out, what resources these are ? Also: What exactly does your AdapterFactory do ? I would assume the AdapterFactory just does a "new TypeA(resource)" for the resource given to adapt. If not, this might explain the behaviour. > 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