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]
>
>