Re: Seemingly incorrect short-circuiting logic
Dave Brosius <[email protected]> Mon, 17 Oct 2011 00:46:11 -0400
| Newsgroups | gmane.comp.jakarta.cactus.devel |
|---|---|
| Message-ID | <[email protected]> |
Oops, my apologies :) On 10/16/2011 08:06 PM, sebb wrote: > Wrong mailing list? > > This is Jakarta, not Jackrabbit ... > > On 17 October 2011 00:44, Dave Brosius<[email protected]> wrote: >> Greetings, >> >> org.apache.jackrabbit.webdav.security.report.AclPrincipalReport.java >> >> does the following >> >> This logic seems wrong to me >> >> *if (href == null&& respMap.containsKey(href)) {* >> >> >> i'd expect it should be || >> >> correct? >> >> >> @Override >> public void init(DavResource resource, ReportInfo info) throws >> DavException { >> super.init(resource, info); >> // build the DAV:responses objects. >> DavProperty<?> acl = resource.getProperty(SecurityConstants.ACL); >> if (!(acl instanceof AclProperty)) { >> throw new >> DavException(DavServletResponse.SC_INTERNAL_SERVER_ERROR, "DAV:acl property >> expected."); >> } >> >> DavResourceLocator loc = resource.getLocator(); >> Map<String, MultiStatusResponse> respMap = new HashMap<String, >> MultiStatusResponse>(); >> List<AclProperty.Ace> list = (List<AclProperty.Ace>) >> ((AclProperty)acl).getValue(); >> for (AclProperty.Ace ace : list) { >> String href = ace.getPrincipal().getHref(); >> *if (href == null&& respMap.containsKey(href)) {* >> // ignore non-href principals and principals that have been >> listed before >> continue; >> } >> // href-principal that has not been found before >> DavResourceLocator princLocator = >> loc.getFactory().createResourceLocator(loc.getPrefix(), href); >> DavResource principalResource = >> resource.getFactory().createResource(princLocator, resource.getSession()); >> respMap.put(href, new MultiStatusResponse(principalResource, >> info.getPropertyNameSet())); >> } >> this.responses = respMap.values().toArray(new >> MultiStatusResponse[respMap.size()]); >> } >> >> > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >