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]

Reply via email to