ib 2004/02/03 02:43:23
Modified: webdavclient/clientlib/src/java/org/apache/webdav/lib/methods
Tag: SLIDE_2_0_RELEASE_BRANCH
XMLResponseMethodBase.java SearchMethod.java
ReportMethod.java PropFindMethod.java
OptionsMethod.java
Log:
Apply patch by Gianugo Rabellino to return response URLs in the
original order as delivered by the server
Revision Changes Path
No revision
No revision
1.2.2.1 +21 -4
jakarta-slide/webdavclient/clientlib/src/java/org/apache/webdav/lib/methods/XMLResponseMethodBase.java
Index: XMLResponseMethodBase.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/webdavclient/clientlib/src/java/org/apache/webdav/lib/methods/XMLResponseMethodBase.java,v
retrieving revision 1.2
retrieving revision 1.2.2.1
diff -u -r1.2 -r1.2.2.1
--- XMLResponseMethodBase.java 21 Jan 2004 15:40:32 -0000 1.2
+++ XMLResponseMethodBase.java 3 Feb 2004 10:43:22 -0000 1.2.2.1
@@ -150,6 +150,13 @@
*/
private Hashtable responseHashtable = null;
+ /**
+ * Vector of response nodes, to keep track of insertion order
+ * FIXME: the above Hashtable and this Vector should be ported
+ * to plain Collections
+ */
+ protected Vector responseURLs = null;
+
// ------------------------------------------------------------- Properties
@@ -174,7 +181,6 @@
return getResponseHashtable().elements();
}
-
/*protected HttpState getState() {
return state;
}*/
@@ -202,6 +208,7 @@
public void recycle() {
super.recycle();
responseHashtable = null;
+ responseURLs = null;
}
protected void readResponseBody(HttpState state, HttpConnection conn)
@@ -340,11 +347,19 @@
return responseHashtable;
}
+ protected Vector getResponseURLs() {
+ checkUsed();
+ if (responseHashtable == null) {
+ initResponseHashtable();
+ }
+ return responseURLs;
+ }
private synchronized void initResponseHashtable() {
if (responseHashtable == null) {
responseHashtable = new Hashtable();
+ responseURLs = new Vector();
int status = getStatusLine().getStatusCode();
// Also accept OK sent by buggy servers in reply to a PROPFIND.
@@ -368,6 +383,7 @@
new ResponseWithinMultistatus(child);
responseHashtable.put(response.getHref(),
response);
+ responseURLs.add(response.getHref());
/*if (debug>10)
System.out.println(response); */
//log.debug(response);
@@ -380,6 +396,7 @@
Response response = new SingleResponse(responseDocument,
getPath(), status);
responseHashtable.put(response.getHref(), response);
+ responseURLs.add(response.getHref());
/*if (debug>10)
System.out.println(response); */
//log.debug(response);
1.1.2.1 +4 -4
jakarta-slide/webdavclient/clientlib/src/java/org/apache/webdav/lib/methods/SearchMethod.java
Index: SearchMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/webdavclient/clientlib/src/java/org/apache/webdav/lib/methods/SearchMethod.java,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
--- SearchMethod.java 9 Jan 2004 09:56:03 -0000 1.1
+++ SearchMethod.java 3 Feb 2004 10:43:22 -0000 1.1.2.1
@@ -241,7 +241,7 @@
*/
public Enumeration getAllResponseURLs() {
checkUsed();
- return getResponseHashtable().keys();
+ return getResponseURLs().elements();
}
1.1.2.1 +4 -4
jakarta-slide/webdavclient/clientlib/src/java/org/apache/webdav/lib/methods/ReportMethod.java
Index: ReportMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/webdavclient/clientlib/src/java/org/apache/webdav/lib/methods/ReportMethod.java,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
--- ReportMethod.java 9 Jan 2004 09:56:03 -0000 1.1
+++ ReportMethod.java 3 Feb 2004 10:43:22 -0000 1.1.2.1
@@ -459,7 +459,7 @@
*/
public Enumeration getAllResponseURLs() {
checkUsed();
- return getResponseHashtable().keys();
+ return getResponseURLs().elements();
}
1.1.2.1 +4 -4
jakarta-slide/webdavclient/clientlib/src/java/org/apache/webdav/lib/methods/PropFindMethod.java
Index: PropFindMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/webdavclient/clientlib/src/java/org/apache/webdav/lib/methods/PropFindMethod.java,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
--- PropFindMethod.java 9 Jan 2004 09:56:03 -0000 1.1
+++ PropFindMethod.java 3 Feb 2004 10:43:22 -0000 1.1.2.1
@@ -441,7 +441,7 @@
*/
public Enumeration getAllResponseURLs() {
checkUsed();
- return getResponseHashtable().keys();
+ return getResponseURLs().elements();
}
/**
1.1.2.1 +4 -4
jakarta-slide/webdavclient/clientlib/src/java/org/apache/webdav/lib/methods/OptionsMethod.java
Index: OptionsMethod.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/webdavclient/clientlib/src/java/org/apache/webdav/lib/methods/OptionsMethod.java,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
--- OptionsMethod.java 9 Jan 2004 09:56:03 -0000 1.1
+++ OptionsMethod.java 3 Feb 2004 10:43:22 -0000 1.1.2.1
@@ -348,7 +348,7 @@
*/
public Enumeration getAllResponseURLs() {
checkUsed();
- return getResponseHashtable().keys();
+ return getResponseURLs().elements();
}
public Enumeration getResponseProperties(){
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]