You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by an...@apache.org on 2008/03/05 11:01:52 UTC

svn commit: r633803 - /jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/header/OverwriteHeader.java

Author: angela
Date: Wed Mar  5 02:01:46 2008
New Revision: 633803

URL: http://svn.apache.org/viewvc?rev=633803&view=rev
Log:
JCR-1439: MOVE method returns error 412 Precondition Failed

Modified:
    jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/header/OverwriteHeader.java

Modified: jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/header/OverwriteHeader.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/header/OverwriteHeader.java?rev=633803&r1=633802&r2=633803&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/header/OverwriteHeader.java (original)
+++ jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/header/OverwriteHeader.java Wed Mar  5 02:01:46 2008
@@ -32,16 +32,32 @@
     public static final String OVERWRITE_TRUE = "T";
     public static final String OVERWRITE_FALSE = "F";
 
-    private boolean doOverwrite;
+    /**
+     * Set 'doOverwrite' to <code>true</code> by default. See RFC 2518:
+     * "If the overwrite header is not included in a COPY or MOVE request then
+     * the resource MUST treat the request as if it has an overwrite header of
+     * value {@link #OVERWRITE_TRUE}".
+     */
+    private final boolean doOverwrite;
 
     public OverwriteHeader(boolean doOverwrite) {
         this.doOverwrite = doOverwrite;
     }
 
+    /**
+     * Create a new <code>OverwriteHeader</code> for the given request object.
+     * If the latter does not contain an "Overwrite" header field, the default
+     * applies, which is {@link #OVERWRITE_TRUE} according to RFC 2518.
+     *
+     * @param request
+     */
     public OverwriteHeader(HttpServletRequest request) {
         String overwriteHeader = request.getHeader(DavConstants.HEADER_OVERWRITE);
         if (overwriteHeader != null) {
             doOverwrite = overwriteHeader.equalsIgnoreCase(OVERWRITE_TRUE);
+        } else {
+            // no Overwrite header -> default is 'true'
+            doOverwrite = true;
         }
     }