Hi,

Am Montag, den 22.11.2010, 13:05 +0000 schrieb Ian Boston: 
> On 22 Nov 2010, at 10:15, Felix Meschberger wrote:
> 
> >> 
> >>    at 
> >> org.sakaiproject.nakamura.lite.authorizable.AuthorizableManagerImpl.findAuthorizable(AuthorizableManagerImpl.java:290)
> >>    at 
> >> org.sakaiproject.nakamura.api.lite.jackrabbit.SparseMapUserManager.findAuthorizables(SparseMapUserManager.java:110)
> >>    at 
> >> org.apache.jackrabbit.core.security.principal.DynamicPrincipalProvider.findUserPrincipals(DynamicPrincipalProvider.java:346)
> >>    at 
> >> org.apache.jackrabbit.core.security.principal.DynamicPrincipalProvider.findPrincipals(DynamicPrincipalProvider.java:194)
> >>    at 
> >> org.apache.jackrabbit.core.security.principal.DynamicPrincipalProvider.getPrincipals(DynamicPrincipalProvider.java:217)
> >>    at 
> >> org.apache.jackrabbit.core.security.principal.PrincipalManagerImpl.getPrincipals(PrincipalManagerImpl.java:114)
> >>    at 
> >> org.sakaiproject.nakamura.user.resource.SakaiAuthorizableResourceProvider.listChildren(SakaiAuthorizableResourceProvider.java:182)
> >>    at 
> >> org.apache.sling.jcr.resource.internal.helper.WrappedResourceProvider.listChildren(WrappedResourceProvider.java:65)
> >>    at 
> >> org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry$1.seek(ResourceProviderEntry.java:206)
> >>    at 
> >> org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry$1.<init>(ResourceProviderEntry.java:179)
> >>    at 
> >> org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry.listChildren(ResourceProviderEntry.java:145)
> >>    at 
> >> org.apache.sling.jcr.resource.internal.JcrResourceResolver.listChildren(JcrResourceResolver.java:819)
> >>    at 
> >> org.apache.sling.jcr.resource.internal.JcrResourceResolver.getChildInternal(JcrResourceResolver.java:1101)
> >>    at 
> >> org.apache.sling.jcr.resource.internal.JcrResourceResolver.resolveInternal(JcrResourceResolver.java:1036)
> >>    at 
> >> org.apache.sling.jcr.resource.internal.JcrResourceResolver.resolve(JcrResourceResolver.java:463)
> >>    at 
> >> org.apache.sling.engine.impl.request.RequestData.initResource(RequestData.java:196)
> >>    at 
> >> org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:302)
> >>    at 
> >> org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:207)
> >>    at 
> >> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
> >>    at 
> >> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
> >> 
> >> 
> 
> This only happens if the user does not exist.
> 
> If the user does exist, then there is no listChildren called.
> 
> Also, when the user does not exist, the iterator is used until hasNext() is 
> false, ie the entire iterator.

This sounds wrong, though. Where is this happening ?

Looking at the code, the AuthorizableResourceProvider.getResource method
just returns null if a user/group of said name does not exist.

Regards
Felix

> Ian


Reply via email to