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) {