Update webdav
[lgpl/argeo-commons.git] / sandbox / runtime / org.argeo.sandbox.jackrabbit / src / main / java / org / argeo / sandbox / jackrabbit / WebDavTest.java
index f121e928eb17dd882d92d2fb84e30f4f19a754a7..9a422f268d571a2223c4e4a30d63204b0f2a1f06 100644 (file)
@@ -1,6 +1,8 @@
 package org.argeo.sandbox.jackrabbit;
 
 import java.io.FileInputStream;
+import java.util.ArrayList;
+import java.util.List;
 
 import org.apache.commons.httpclient.Credentials;
 import org.apache.commons.httpclient.HostConfiguration;
@@ -18,7 +20,11 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.jackrabbit.webdav.client.methods.CheckoutMethod;
 import org.apache.jackrabbit.webdav.client.methods.CopyMethod;
 import org.apache.jackrabbit.webdav.client.methods.DavMethod;
+import org.apache.jackrabbit.webdav.client.methods.PropPatchMethod;
 import org.apache.jackrabbit.webdav.client.methods.PutMethod;
+import org.apache.jackrabbit.webdav.property.DavProperty;
+import org.apache.jackrabbit.webdav.property.DefaultDavProperty;
+import org.apache.jackrabbit.webdav.version.DeltaVConstants;
 
 public class WebDavTest {
        private final static Log log = LogFactory.getLog(WebDavTest.class);
@@ -42,24 +48,47 @@ public class WebDavTest {
                        client.setHostConfiguration(hostConfig);
                        // return client;
 
-                       String baseUrl = "http://localhost:7070/org.argeo.server.jackrabbit.webapp/default/";
-                       String fileName = "test.xml";
-                       String url1 = baseUrl + fileName;
-                       String url2 = baseUrl + "test-copied.xml";
+                       String baseUrl = "http://localhost:7070/webdav/default/";
+                       // String fileName = "test.xml";
+                       String file00 = "dummy00.xls";
+                       String file01 = "dummy01.xls";
+                       String url00 = baseUrl + file00;
+                       String url01 = baseUrl + file01;
+                       String urlCopied = baseUrl + "test-copied.xls";
 
                        // PUT
-                       log.debug("Create " + url1);
-                       PutMethod pm = new PutMethod(url1);
+                       log.debug("Create " + url00);
+                       PutMethod pm = new PutMethod(url00);
                        RequestEntity requestEntity = new InputStreamRequestEntity(
-                                       new FileInputStream(fileName));
+                                       new FileInputStream(file00));
+                       pm.setRequestEntity(requestEntity);
+                       client.executeMethod(pm);
+                       log.debug("POST status: " + pm.getStatusCode() + " "
+                                       + pm.getStatusText());
+
+                       // PROP PATCH
+                       List<DavProperty> props = new ArrayList<DavProperty>();
+                       props.add(new DefaultDavProperty("auto-version",
+                                       DeltaVConstants.XML_CHECKOUT_CHECKIN,
+                                       DeltaVConstants.NAMESPACE));
+                       PropPatchMethod pp = new PropPatchMethod(url00, props);
+                       client.executeMethod(pp);
+                       log.debug("PROP PATCH status: " + pp.getStatusCode() + " "
+                                       + pp.getStatusText());
+
+                       // PUT (update)
+                       log.debug("Update " + url00);
+                       pm = new PutMethod(url00);
+                       requestEntity = new InputStreamRequestEntity(new FileInputStream(
+                                       file01));
                        pm.setRequestEntity(requestEntity);
                        client.executeMethod(pm);
                        log.debug("POST status: " + pm.getStatusCode() + " "
                                        + pm.getStatusText());
 
                        // COPY
-                       log.debug("Copy to " + url2);
-                       DavMethod copy = new CopyMethod(url1, url2, true);
+                       log.debug("Copy to " + urlCopied);
+                       DavMethod copy = new CopyMethod(url00, urlCopied, true);
                        client.executeMethod(copy);
 
                        log.debug("COPY status: " + copy.getStatusCode() + " "
@@ -67,8 +96,8 @@ public class WebDavTest {
 
                        // GET
                        // CheckoutMethod gm = new CheckoutMethod(baseUrl + fileName);
-                       log.debug("Retrieve " + url2);
-                       GetMethod gm = new GetMethod(url2);
+                       log.debug("Retrieve " + urlCopied);
+                       GetMethod gm = new GetMethod(urlCopied);
                        client.executeMethod(gm);
                        String responseGet = gm.getResponseBodyAsString();
                        log.debug("GET status: " + gm.getStatusCode() + " "
@@ -78,5 +107,4 @@ public class WebDavTest {
                        e.printStackTrace();
                }
        }
-
 }