jericho     01/05/17 23:44:43

  Modified:    src/webdav/client/src/org/apache/webdav/lib/methods
                        XMLResponseMethodBase.java
               src/webdav/client/src/org/apache/webdav/lib/properties
                        SupportedLockProperty.java
                        LockDiscoveryProperty.java
               src/webdav/client/src/org/apache/webdav/lib Lock.java
  Log:
  - Update javadoc messages.
  - Support the supportedlock property.
     It's no longer interface.
  
  Revision  Changes    Path
  1.16      +2 -0      
jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/XMLResponseMethodBase.java
  
  Index: XMLResponseMethodBase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/XMLResponseMethodBase.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- XMLResponseMethodBase.java        2001/05/14 00:09:16     1.15
  +++ XMLResponseMethodBase.java        2001/05/18 06:44:38     1.16
  @@ -302,6 +302,8 @@
                       new CurrentUserPrivilegeSetProperty(response, element);
               } else if (LockDiscoveryProperty.TAG_NAME.equals(localName)) {
                   property = new LockDiscoveryProperty(response, element);
  +            } else if (SupportedLockProperty.TAG_NAME.equals(localName)) {
  +                property = new SupportedLockProperty(response, element);
               }
           }
   
  
  
  
  1.2       +111 -8    
jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/properties/SupportedLockProperty.java
  
  Index: SupportedLockProperty.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/properties/SupportedLockProperty.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SupportedLockProperty.java        2000/12/07 06:57:01     1.1
  +++ SupportedLockProperty.java        2001/05/18 06:44:40     1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/properties/SupportedLockProperty.java,v
 1.1 2000/12/07 06:57:01 bcholmes Exp $
  - * $Revision: 1.1 $
  - * $Date: 2000/12/07 06:57:01 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/properties/SupportedLockProperty.java,v
 1.2 2001/05/18 06:44:40 jericho Exp $
  + * $Revision: 1.2 $
  + * $Date: 2001/05/18 06:44:40 $
    *
    * ====================================================================
    *
  @@ -62,12 +62,115 @@
    */
   package org.apache.webdav.lib.properties;
   
  -import org.apache.webdav.lib.Property;
  +import java.util.Enumeration;
  +import java.util.ArrayList;
   
  +import org.w3c.dom.Element;
  +import org.w3c.dom.NodeList;
  +import org.w3c.dom.Node;
  +
  +import org.apache.util.DOMUtils;
  +
  +import org.apache.webdav.lib.ResponseEntity;
  +import org.apache.webdav.lib.BaseProperty;
  +import org.apache.webdav.lib.Lock;
  +import org.apache.webdav.lib.methods.DepthSupport;
  +
   /**
    * @author BC Holmes
  - * @version $Revision: 1.1 $
  + * @author <a href="mailto:[EMAIL PROTECTED]";>Park, Sung-Gu</a>
  + * @version $Revision: 1.2 $
    */
  -public interface SupportedLockProperty extends Property {
  -    public abstract LockEntryProperty[] getLockEntries();
  -}
  \ No newline at end of file
  +public class SupportedLockProperty extends BaseProperty {
  +
  +
  +    // -------------------------------------------------------------- Constants
  +
  +
  +    /**
  +     * The property name.
  +     */
  +    public static final String TAG_NAME = "supportedlock";
  +
  +
  +    // ----------------------------------------------------------- Constructors
  +
  +
  +    /**
  +     * Default constructor for the property.
  +     */
  +    public SupportedLockProperty(ResponseEntity response, Element element) {
  +        super(response, element);
  +    }
  +
  +
  +    // --------------------------------------------------------- Public Methods
  +        
  +
  +
  +    /**
  +     * Get the lockentry in this supportedlock property.
  +     *
  +     * @return Lock[] A lock array.
  +     */
  +    public Lock[] getLockEntries() {
  +        NodeList children = element.getChildNodes();
  +        if (children == null || children.getLength() == 0)
  +            return null;
  +        ArrayList locks = new ArrayList();
  +        for (int i = 0; i < children.getLength(); i++) {
  +            try {
  +                Element child = (Element) children.item(i);
  +                String namespace = DOMUtils.getElementNamespaceURI(child);
  +                if (namespace != null && namespace.equals("DAV:")) {
  +                    String localName = DOMUtils.getElementLocalName(child);
  +                    if ("lockentry".equals(localName)) {
  +                        locks.add(parseLock(child));
  +                    }
  +                }
  +            } catch (ClassCastException e) {
  +            }
  +        }
  +        return (Lock[]) locks.toArray();
  +    }
  +
  +
  +    // ------------------------------------------------------ Protected Methods
  +
  +
  +    /**
  +     * Parse a lock.
  +     */
  +    protected Lock parseLock(Element element) {
  +
  +        int ls = -1;
  +        Element child = DOMUtils.getFirstElement(element, "DAV:", "lockscope");
  +        if (child != null) {
  +            Element lockScope =
  +                DOMUtils.getFirstElement(child, "DAV:", "exclusive");
  +            if (lockScope != null) {
  +                ls = Lock.SCOPE_EXCLUSIVE;
  +            }
  +            lockScope = DOMUtils.getFirstElement(child, "DAV:", "shared");
  +            if (lockScope != null) {
  +                ls = Lock.SCOPE_SHARED;
  +            }
  +        }
  +        
  +        int lt = -1;
  +        child = DOMUtils.getFirstElement(element, "DAV:", "locktype");
  +        if (child != null) {
  +            Element lockType =
  +                DOMUtils.getFirstElement(child, "DAV:", "write");
  +            if (lockType != null) {
  +                lt = Lock.TYPE_WRITE;
  +            }
  +        }
  +
  +        return new Lock(ls, lt);
  +    }
  +
  +
  +}
  +
  +
  
  
  
  1.6       +6 -5      
jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/properties/LockDiscoveryProperty.java
  
  Index: LockDiscoveryProperty.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/properties/LockDiscoveryProperty.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- LockDiscoveryProperty.java        2001/05/16 05:23:02     1.5
  +++ LockDiscoveryProperty.java        2001/05/18 06:44:40     1.6
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/properties/LockDiscoveryProperty.java,v
 1.5 2001/05/16 05:23:02 jericho Exp $
  - * $Revision: 1.5 $
  - * $Date: 2001/05/16 05:23:02 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/properties/LockDiscoveryProperty.java,v
 1.6 2001/05/18 06:44:40 jericho Exp $
  + * $Revision: 1.6 $
  + * $Date: 2001/05/18 06:44:40 $
    *
    * ====================================================================
    *
  @@ -87,7 +87,8 @@
    *
    * @author Jojada J. Tirtowidjojo at SpeedLegal Holdings Inc.
    * @author <a href="mailto:[EMAIL PROTECTED]";>Park, Sung-Gu</a>
  - * @version $Revision: 1.5 $
  + * @author Remy Maucherat
  + * @version $Revision: 1.6 $
    */
   public class LockDiscoveryProperty extends BaseProperty {
   
  @@ -116,7 +117,7 @@
   
   
       /** 
  -     * Retruns the activelock properties.
  +     * Get the activelock in this lockdiscovery property.
        * 
        * @return Lock[] A lock array.
        */
  
  
  
  1.2       +13 -5     
jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/Lock.java
  
  Index: Lock.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/Lock.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Lock.java 2001/05/16 00:41:21     1.1
  +++ Lock.java 2001/05/18 06:44:42     1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/Lock.java,v 1.1 
2001/05/16 00:41:21 remm Exp $
  - * $Revision: 1.1 $
  - * $Date: 2001/05/16 00:41:21 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/Lock.java,v 1.2 
2001/05/18 06:44:42 jericho Exp $
  + * $Revision: 1.2 $
  + * $Date: 2001/05/18 06:44:42 $
    *
    * ====================================================================
    *
  @@ -65,11 +65,10 @@
   
   /**
    * This class represents a lock on a resource.
  - *  <!ELEMENT activelock (lockscope, locktype, depth, owner?, timeout?,
  - * locktoken?) >
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Park, Sung-Gu</a>
  - * @version $Revision: 1.1 $
  + * @author Remy Maucherat
  + * @version $Revision: 1.2 $
    */
   public class Lock {
   
  @@ -105,7 +104,16 @@
   
   
       /**
  -     * Default constructor for the lock.
  +     * Default constructor for the lockentry.
  +     */
  +    public Lock(int lockScope, int lockType) {
  +        this.lockScope = lockScope;
  +        this.lockType = lockType;
  +    }
  +
  +
  +    /**
  +     * Default constructor for the activelock.
        */
       public Lock(int lockScope, int lockType, int depth, String owner, 
                   long timeout, String lockToken) {
  
  
  

Reply via email to