remm        01/03/18 16:55:50

  Modified:    src/webdav/server/org/apache/slide/webdav/method
                        PropFindMethod.java
  Log:
  - Supports DAV:acl-semantics property.
  
  Revision  Changes    Path
  1.13      +45 -4     
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java
  
  Index: PropFindMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- PropFindMethod.java       2001/03/18 21:55:03     1.12
  +++ PropFindMethod.java       2001/03/19 00:55:50     1.13
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java,v
 1.12 2001/03/18 21:55:03 remm Exp $
  - * $Revision: 1.12 $
  - * $Date: 2001/03/18 21:55:03 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PropFindMethod.java,v
 1.13 2001/03/19 00:55:50 remm Exp $
  + * $Revision: 1.13 $
  + * $Date: 2001/03/19 00:55:50 $
    *
    * ====================================================================
    *
  @@ -171,6 +171,24 @@
       
       
       /**
  +     * ACL semantics.
  +     */
  +    private static final String SLIDE_ACL_SEMANTICS =
  +        "<acl-sem>"
  +        + "<ace-combination><no-deny/></ace-combination>"
  +        + "</acl-sem>"
  +        + "<acl-sem>"
  +        + "<required-principal><href/></required-principal>"
  +        + "</acl-sem>"
  +        + "<acl-sem>"
  +        + "<required-principal><self/></required-principal>"
  +        + "</acl-sem>"
  +        + "<acl-sem>"
  +        + "<required-principal><all/></required-principal>"
  +        + "</acl-sem>";
  +    
  +    
  +    /**
        * Current user privilege set.
        */
       private static final String CURRENT_USER_PRIVILEGE_SET =
  @@ -178,6 +196,12 @@
       
       
       /**
  +     * ACL semantics.
  +     */
  +    private static final String ACL_SEMANTICS = "acl-semantics";
  +    
  +    
  +    /**
        * ACL.
        */
       private static final String ACL = "acl";
  @@ -607,6 +631,7 @@
               showSupportedPrivilegeSet(generatedXML);
               showCurrentUserPrivilegeSet(object, generatedXML);
               showAcl(object, generatedXML);
  +            showAclSemantics(generatedXML);
               
               // Other properties
               Enumeration propertyList =
  @@ -674,6 +699,8 @@
                                         XMLPrinter.NO_CONTENT);
               generatedXML.writeElement(null, "acl",
                                         XMLPrinter.NO_CONTENT);
  +            generatedXML.writeElement(null, ACL_SEMANTICS,
  +                                      XMLPrinter.NO_CONTENT);
               
               // Then, add this resource's custom properties
               propertyList = revisionDescriptor.enumerateProperties();
  @@ -749,6 +776,10 @@
                              (propertyNamespace.equals
                               (NodeProperty.DEFAULT_NAMESPACE))) {
                       showAcl(object, generatedXML);
  +                } else if ((propertyName.equals(ACL_SEMANTICS)) &&
  +                           (propertyNamespace.equals
  +                            (NodeProperty.DEFAULT_NAMESPACE))) {
  +                    showAclSemantics(generatedXML);
                   } else {
                       
                       // Search in the custom properties
  @@ -1402,7 +1433,7 @@
           if (principal.equals("~")) {
               generatedXML.writeElement(null, "self", XMLPrinter.NO_CONTENT);
           } if (principal.equals("nobody")) {
  -            generatedXML.writeElement(null, "unauthenticated", 
  +            generatedXML.writeElement(null, "all", 
                                         XMLPrinter.NO_CONTENT);
           } else {
               generatedXML.writeElement(null, "href", XMLPrinter.OPENING);
  @@ -1426,6 +1457,16 @@
                                         XMLPrinter.NO_CONTENT);
           }
           generatedXML.writeElement(null, PRIVILEGE, XMLPrinter.CLOSING);
  +    }
  +    
  +    
  +    /**
  +     * WebDAV ACL DAV:acl-semantics property.
  +     */
  +    private void showAclSemantics(XMLPrinter generatedXML) {
  +        generatedXML.writeElement(null, ACL_SEMANTICS, XMLPrinter.OPENING);
  +        generatedXML.writeText(SLIDE_ACL_SEMANTICS);
  +        generatedXML.writeElement(null, ACL_SEMANTICS, XMLPrinter.CLOSING);
       }
       
       
  
  
  

Reply via email to