msmith 01/10/09 21:42:45
Modified: src/contrib/webdavgui/src/java/org/apache/webdav/ui
LoginFrame.java
src/contrib/webdavgui/src/java/org/apache/webdav/ui/filechooser/dir
SPWebFolder.java
src/contrib/webdavgui/src/java/org/apache/webdav/ui/lib/methods
SPPutMethod.java
src/contrib/webdavgui/src/java/org/apache/webdav/ui/util
SPUtils.java
Log:
Misc. fixes to webdav compliance, mostly when checking for a specific response
code rather than a range of response codes.
Revision Changes Path
1.4 +10 -6
jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/LoginFrame.java
Index: LoginFrame.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/LoginFrame.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- LoginFrame.java 2001/08/01 02:22:21 1.3
+++ LoginFrame.java 2001/10/10 04:42:45 1.4
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/LoginFrame.java,v
1.3 2001/08/01 02:22:21 msmith Exp $
- * $Revision: 1.3 $
- * $Date: 2001/08/01 02:22:21 $
+ * $Header:
/home/cvs/jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/LoginFrame.java,v
1.4 2001/10/10 04:42:45 msmith Exp $
+ * $Revision: 1.4 $
+ * $Date: 2001/10/10 04:42:45 $
*
* ====================================================================
*
@@ -431,11 +431,15 @@
protected void createWebdavClient(String webdavServer,
String userName, String userPasswd) {
int colonIndex = webdavServer.lastIndexOf(":");
- String host = webdavServer.substring(0, colonIndex);
- String port = webdavServer.substring(colonIndex+1);
+ String host = "";
+ String port = "80";
+ if (colonIndex>0) {
+ host = webdavServer.substring(0, colonIndex);
+ port = webdavServer.substring(colonIndex+1);
+ }
webdavClient = new SPWebdavClient();
- webdavClient.setDebug(10);
+ //webdavClient.setDebug(10);
webdavClient.startSession(host, Integer.parseInt(port));
webdavClient.setState(new WebdavState());
1.3 +4 -4
jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/filechooser/dir/SPWebFolder.java
Index: SPWebFolder.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/filechooser/dir/SPWebFolder.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SPWebFolder.java 2001/07/17 04:00:47 1.2
+++ SPWebFolder.java 2001/10/10 04:42:45 1.3
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/filechooser/dir/SPWebFolder.java,v
1.2 2001/07/17 04:00:47 msmith Exp $
- * $Revision: 1.2 $
- * $Date: 2001/07/17 04:00:47 $
+ * $Header:
/home/cvs/jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/filechooser/dir/SPWebFolder.java,v
1.3 2001/10/10 04:42:45 msmith Exp $
+ * $Revision: 1.3 $
+ * $Date: 2001/10/10 04:42:45 $
*
* ====================================================================
*
@@ -157,7 +157,7 @@
while (enum.hasMoreElements()){
String url = (String) enum.nextElement();
Property p =
(Property)propFindMethod.getProperty("current-user-privilege-set", url);
- System.err.println("current-user-privilege-set is "+p.getClass().getName());
+ //System.err.println("current-user-privilege-set is
"+p.getClass().getName());
CurrentUserPrivilegeSetProperty userPrivilege =
// (CurrentUserPrivilegeSetProperty)
// propFindMethod.getProperty("current-user-privilege-set", url);
1.3 +8 -4
jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/lib/methods/SPPutMethod.java
Index: SPPutMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/lib/methods/SPPutMethod.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SPPutMethod.java 2001/07/17 04:00:50 1.2
+++ SPPutMethod.java 2001/10/10 04:42:45 1.3
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/lib/methods/SPPutMethod.java,v
1.2 2001/07/17 04:00:50 msmith Exp $
- * $Revision: 1.2 $
- * $Date: 2001/07/17 04:00:50 $
+ * $Header:
/home/cvs/jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/lib/methods/SPPutMethod.java,v
1.3 2001/10/10 04:42:45 msmith Exp $
+ * $Revision: 1.3 $
+ * $Date: 2001/10/10 04:42:45 $
*
* ====================================================================
*
@@ -136,7 +136,11 @@
*/
public void generateHeaders(String host, State state) {
super.generateHeaders(host, state);
- setHeader("If", "(<" + lockToken + ">)");
+ if(lockToken != null)
+ setHeader("If", "(<" + lockToken + ">)");
+ else
+ System.err.println("ERROR: lockToken is null!");
+ setHeader("Content-Type", "text/xml");
}
public String toString() {
1.7 +46 -14
jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/util/SPUtils.java
Index: SPUtils.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/util/SPUtils.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- SPUtils.java 2001/08/01 05:18:21 1.6
+++ SPUtils.java 2001/10/10 04:42:45 1.7
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/util/SPUtils.java,v
1.6 2001/08/01 05:18:21 msmith Exp $
- * $Revision: 1.6 $
- * $Date: 2001/08/01 05:18:21 $
+ * $Header:
/home/cvs/jakarta-slide/src/contrib/webdavgui/src/java/org/apache/webdav/ui/util/SPUtils.java,v
1.7 2001/10/10 04:42:45 msmith Exp $
+ * $Revision: 1.7 $
+ * $Date: 2001/10/10 04:42:45 $
*
* ====================================================================
*
@@ -343,22 +343,21 @@
try {
propFindMethod.executeByName(propList.elements());
int statusCode = propFindMethod.getStatusCode();
- if ( (statusCode != HttpStatus.SC_MULTI_STATUS) &&
- (statusCode != HttpStatus.SC_NOT_FOUND) ) {
- checkParent = false;
- final String title = "Remote Failure";
- final String msg = "Unable to access the resource properties
("+statusCode+")\n"+
- "Resource Path = "+resourceUrlPath;
- SPUtils.showMessageDialog(title, msg);
- }
+
if ( (statusCode == HttpStatus.SC_NOT_FOUND) &&
(propertyName.equals("current-user-privilege-set")) ) {
checkParent = (! checkParent) ? true: false; //a toggle
checkedPath = getParentUrl(checkedPath);
}
- if ( (statusCode == HttpStatus.SC_MULTI_STATUS) ) {
+ else if ( (statusCode >=200 && statusCode<300) ) {
checkParent = false;
theProperty = propFindMethod.getProperty(propertyName);
+ } else {
+ checkParent = false;
+ final String title = "Remote Failure";
+ final String msg = "Unable to access the resource properties
("+statusCode+")\n"+
+ "Resource Path = "+resourceUrlPath;
+ SPUtils.showMessageDialog(title, msg);
}
} catch(Exception e) {
@@ -388,7 +387,7 @@
pp.execute();
int status = pp.getStatusCode();
- if(status != HttpStatus.SC_MULTI_STATUS &&
+ if(!(status>=200 && status<300) &&
status != HttpStatus.SC_NOT_FOUND) {
SPUtils.showMessageDialog("Remote Failure",
"Unable to set property on resource "
@@ -400,6 +399,39 @@
}
/*
+ * Checks to see if the passed in path is valid
+ *
+ * @Returns false if the resourceUrlPath is a collection or the method fails
+ *
+ */
+ public static boolean isValidUrl(HttpClient client,
+ String resourceUrlPath) {
+
+ try {
+ SPPropFindMethod propFindMethod = new SPPropFindMethod(client);
+ propFindMethod.setPath(resourceUrlPath);
+
+ Vector propList = new Vector(2);
+ propList.add("resourcetype");
+ propList.add("current-user-privilege-set");
+
+ propFindMethod.executeByName(propList.elements());
+
+ int statusCode = propFindMethod.getStatusCode();
+
+ if (!(statusCode>=200 && statusCode<300 )) {
+ return false;
+ }
+
+ }catch (Exception e) {
+ return false;
+ }
+ return true;
+
+ } //getSPResourceNode()
+
+
+ /*
* Creates a SPResourceNode object from the given client and resourceUrlPath.
*
* @Returns null if the resourceUrlPath is a collection or the method fails
@@ -421,7 +453,7 @@
int statusCode = propFindMethod.getStatusCode();
- if (statusCode != HttpStatus.SC_MULTI_STATUS) {
+ if (!(statusCode>=200 && statusCode<300 )) {
final String title = "Remote Failure";
final String msg = "Unable to access the remote resource ("
+statusCode+") "+resourceUrlPath;