X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=sandbox%2Fruntime%2Forg.argeo.sandbox.jackrabbit%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsandbox%2Fjackrabbit%2FWebDavTest.java;fp=sandbox%2Fruntime%2Forg.argeo.sandbox.jackrabbit%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsandbox%2Fjackrabbit%2FWebDavTest.java;h=f121e928eb17dd882d92d2fb84e30f4f19a754a7;hb=47966699088f615c49bb4abbebfca2b2570524c1;hp=0000000000000000000000000000000000000000;hpb=7dad6fc8a5cf5be15dcb6bdddc1e1e33a3745af6;p=lgpl%2Fargeo-commons.git diff --git a/sandbox/runtime/org.argeo.sandbox.jackrabbit/src/main/java/org/argeo/sandbox/jackrabbit/WebDavTest.java b/sandbox/runtime/org.argeo.sandbox.jackrabbit/src/main/java/org/argeo/sandbox/jackrabbit/WebDavTest.java new file mode 100644 index 000000000..f121e928e --- /dev/null +++ b/sandbox/runtime/org.argeo.sandbox.jackrabbit/src/main/java/org/argeo/sandbox/jackrabbit/WebDavTest.java @@ -0,0 +1,82 @@ +package org.argeo.sandbox.jackrabbit; + +import java.io.FileInputStream; + +import org.apache.commons.httpclient.Credentials; +import org.apache.commons.httpclient.HostConfiguration; +import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.HttpConnectionManager; +import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager; +import org.apache.commons.httpclient.UsernamePasswordCredentials; +import org.apache.commons.httpclient.auth.AuthScope; +import org.apache.commons.httpclient.methods.GetMethod; +import org.apache.commons.httpclient.methods.InputStreamRequestEntity; +import org.apache.commons.httpclient.methods.RequestEntity; +import org.apache.commons.httpclient.params.HttpConnectionManagerParams; +import org.apache.commons.logging.Log; +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.PutMethod; + +public class WebDavTest { + private final static Log log = LogFactory.getLog(WebDavTest.class); + + /** + * @param args + */ + public static void main(String[] args) { + try { + HostConfiguration hostConfig = new HostConfiguration(); + hostConfig.setHost("localhost", 7070); + // hostConfig. + HttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager(); + HttpConnectionManagerParams params = new HttpConnectionManagerParams(); + int maxHostConnections = 20; + params.setMaxConnectionsPerHost(hostConfig, maxHostConnections); + connectionManager.setParams(params); + HttpClient client = new HttpClient(connectionManager); + Credentials creds = new UsernamePasswordCredentials("demo", "demo"); + client.getState().setCredentials(AuthScope.ANY, creds); + 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"; + + // PUT + log.debug("Create " + url1); + PutMethod pm = new PutMethod(url1); + RequestEntity requestEntity = new InputStreamRequestEntity( + new FileInputStream(fileName)); + 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); + client.executeMethod(copy); + + log.debug("COPY status: " + copy.getStatusCode() + " " + + copy.getStatusText()); + + // GET + // CheckoutMethod gm = new CheckoutMethod(baseUrl + fileName); + log.debug("Retrieve " + url2); + GetMethod gm = new GetMethod(url2); + client.executeMethod(gm); + String responseGet = gm.getResponseBodyAsString(); + log.debug("GET status: " + gm.getStatusCode() + " " + + gm.getStatusText()); + // log.debug("GET: " + responseGet); + } catch (Exception e) { + e.printStackTrace(); + } + } + +}