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
