remm        01/02/05 10:20:23

  Modified:    src/webdav/client/src/org/apache/webdav/lib/methods
                        LockMethod.java PropFindMethod.java
                        PropPatchMethod.java WebdavMethodBase.java
  Log:
  - Some requests which were generating an XML request body were not
    repeatable, so would fail if the first attempt was getting an unauthorizied
    response. Now, the generated request body is saved and reused for
    subsequent attempts.
    Thanks to Sung-Gu Park for the patch.
  
  Revision  Changes    Path
  1.11      +19 -8     
jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/LockMethod.java
  
  Index: LockMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/LockMethod.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- LockMethod.java   2001/01/29 15:26:36     1.10
  +++ LockMethod.java   2001/02/05 18:20:09     1.11
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/LockMethod.java,v
 1.10 2001/01/29 15:26:36 juergen Exp $
  - * $Revision: 1.10 $
  - * $Date: 2001/01/29 15:26:36 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/LockMethod.java,v
 1.11 2001/02/05 18:20:09 remm Exp $
  + * $Revision: 1.11 $
  + * $Date: 2001/02/05 18:20:09 $
    *
    * ====================================================================
    *
  @@ -186,15 +186,24 @@
       private String refreshOpaqueToken = null;
   
   
  +    /**
  +     * Lock timeout.
  +     */
       private long timeout = TIMEOUT_INFINITY;
   
   
  +    /**
  +     * Lock owner.
  +     */
       private String owner = null;
   
   
       private State state = null;
   
   
  +    /**
  +     * Lock token.
  +     */
       private String lockToken = null;
   
   
  @@ -374,18 +383,17 @@
        */
       public String generateQuery() {
   
  -        
           if (query != null) return query;
   
  -        String result = null;
  -
           if (!isRefresh()) {
  +
               if (this.owner == null || this.owner.equals("")) {
                   throw new IllegalStateException
                       ("The owner property has not been set");
               }
   
               try {
  +
                   DocumentBuilderFactory factory =
                       DocumentBuilderFactory.newInstance();
                   DocumentBuilder builder = factory.newDocumentBuilder();
  @@ -423,13 +431,16 @@
                   DOMWriter domWriter = new DOMWriter(stringWriter, true);
                   domWriter.print(document);
   
  -                result = stringWriter.getBuffer().toString();
  +                query = stringWriter.getBuffer().toString();
   
               } catch (DOMException e) {
               } catch (ParserConfigurationException e) {
               }
  +
           }
  -        return result;
  +
  +        return query;
  +
       }
   
   
  
  
  
  1.14      +8 -5      
jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/PropFindMethod.java
  
  Index: PropFindMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/PropFindMethod.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- PropFindMethod.java       2001/01/29 15:26:38     1.13
  +++ PropFindMethod.java       2001/02/05 18:20:11     1.14
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/PropFindMethod.java,v
 1.13 2001/01/29 15:26:38 juergen Exp $
  - * $Revision: 1.13 $
  - * $Date: 2001/01/29 15:26:38 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/PropFindMethod.java,v
 1.14 2001/02/05 18:20:11 remm Exp $
  + * $Revision: 1.14 $
  + * $Date: 2001/02/05 18:20:11 $
    *
    * ====================================================================
    *
  @@ -313,7 +313,8 @@
        */
       public String generateQuery() {
           
  -        if (query != null) return query;
  +        if (query != null) 
  +            return query;
   
           WebdavXMLPrinter printer = new WebdavXMLPrinter();
           printer.writeXMLHeader();
  @@ -345,7 +346,9 @@
               System.out.println("Request body:");
               System.out.println(printer.toString());
           }
  -        return printer.toString();
  +
  +        query = printer.toString();
  +        return query;
   
       }
   
  
  
  
  1.11      +9 -5      
jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/PropPatchMethod.java
  
  Index: PropPatchMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/PropPatchMethod.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- PropPatchMethod.java      2001/01/29 15:26:38     1.10
  +++ PropPatchMethod.java      2001/02/05 18:20:12     1.11
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/PropPatchMethod.java,v
 1.10 2001/01/29 15:26:38 juergen Exp $
  - * $Revision: 1.10 $
  - * $Date: 2001/01/29 15:26:38 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/PropPatchMethod.java,v
 1.11 2001/02/05 18:20:12 remm Exp $
  + * $Revision: 1.11 $
  + * $Date: 2001/02/05 18:20:12 $
    *
    * ====================================================================
    *
  @@ -227,7 +227,8 @@
        */
       public String generateQuery() {
           
  -        if (query != null) return query;
  +        if (query != null) 
  +            return query;
   
           WebdavXMLPrinter printer = new WebdavXMLPrinter();
           printer.writeXMLHeader();
  @@ -279,7 +280,10 @@
   
           printer.writeElement("D", "DAV:", "propertyupdate",
                                WebdavXMLPrinter.CLOSING);
  -        return printer.toString();
  +
  +        query = printer.toString();
  +        return query;
  +
       }
   
   
  
  
  
  1.10      +10 -10    
jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/WebdavMethodBase.java
  
  Index: WebdavMethodBase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/WebdavMethodBase.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- WebdavMethodBase.java     2001/01/29 15:26:39     1.9
  +++ WebdavMethodBase.java     2001/02/05 18:20:14     1.10
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/WebdavMethodBase.java,v
 1.9 2001/01/29 15:26:39 juergen Exp $
  - * $Revision: 1.9 $
  - * $Date: 2001/01/29 15:26:39 $
  + * $Header: 
/home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/WebdavMethodBase.java,v
 1.10 2001/02/05 18:20:14 remm Exp $
  + * $Revision: 1.10 $
  + * $Date: 2001/02/05 18:20:14 $
    *
    * ====================================================================
    *
  @@ -133,6 +133,12 @@
       protected State state;
   
   
  +    /*
  +     * Holds the query body if set by setQuery.
  +     */
  +    protected String query = null;
  +
  +
       // ----------------------------------------------------------- Constructors
   
   
  @@ -328,6 +334,7 @@
           headers.clear();
           state = null;
           used = false;
  +        query = null;
       }
   
   
  @@ -400,11 +407,6 @@
           return false;
       }
   
  -    /**
  -     * Holds the query body if set by setQuery.
  -     */
  -        
  -    String query = null;
   
       /**
        * Set the query String as a XML document.
  @@ -416,8 +418,6 @@
       public void setQuery(String query) {
           this.query = query;
       }
  -
  -
   
   
       /**
  
  
  

Reply via email to