Seemingly incorrect short-circuiting logic

2011-10-16 Thread Dave Brosius

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 respMap = new HashMapMultiStatusResponse>();
List list = (List) 
((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()]);

}



Re: Seemingly incorrect short-circuiting logic

2011-10-16 Thread sebb
Wrong mailing list?

This is Jakarta, not Jackrabbit ...

On 17 October 2011 00:44, Dave Brosius  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 respMap = new HashMap MultiStatusResponse>();
>        List list = (List)
> ((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: dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: dev-h...@jakarta.apache.org



Re: Seemingly incorrect short-circuiting logic

2011-10-16 Thread Dave Brosius

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  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  respMap = new HashMap();
List  list = (List)
((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: dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: dev-h...@jakarta.apache.org





-
To unsubscribe, e-mail: dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: dev-h...@jakarta.apache.org