UploadToREST.java
package org.jbehave.core.io.rest;
import org.jbehave.core.io.InvalidStoryResource;
import org.jbehave.core.io.rest.RESTClient.Type;
/**
* Uploads resource to REST
*/
public class UploadToREST implements ResourceUploader {
private RESTClient client;
public UploadToREST(Type type) {
this(type, null, null);
}
public UploadToREST(Type type, String username, String password) {
this.client = new RESTClient(type, username, password);
}
public UploadToREST(RESTClient client) {
this.client = client;
}
@Override
public void uploadResource(Resource resource) {
try {
Type type = client.getType();
put(uri(resource.getURI(), type), entity(resource, type));
} catch (Exception cause) {
throw new InvalidStoryResource(resource.toString(), cause);
}
}
protected String uri(String resourcePath, Type type) {
return resourcePath;
}
protected String entity(Resource resource, Type type) {
return resource.getContent();
}
private void put(String uri, String entity) {
client.put(uri, entity);
}
}