jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Brosius <dbros...@apache.org>
Subject seemingly incorrect if guard
Date Mon, 17 Oct 2011 02:45:39 GMT
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()]);
     }


Mime
View raw message