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;
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);
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() + " "
// 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() + " "
e.printStackTrace();
}
}
-
}