package app.s3.rw.map.com.aol.micro.server;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import cyclops.control.Try;
import org.springframework.beans.factory.annotation.Autowired;
import com.amazonaws.services.s3.transfer.Upload;
import com.aol.micro.server.auto.discovery.Rest;
import com.aol.micro.server.s3.data.S3Reader;
import com.aol.micro.server.s3.data.S3Utils;
import com.aol.micro.server.s3.data.S3ObjectWriter;
@Path("/s3")
@Rest
public class S3Resource {
private final S3Reader client;
private final S3ObjectWriter writer;
@Autowired
public S3Resource(S3Utils utils) {
this.client = utils.reader("aolp-lana-dev-test-partition-us-east-1");
this.writer = utils.writer("aolp-lana-dev-test-partition-us-east-1");
}
@GET
@Path("/get")
public String bucket() {
return client.getAsString("hello")
.get();
}
@GET
@Path("/put")
public String put() {
Try<Upload, Throwable> operation = writer.put("hello", "world");
if(operation.isSuccess())
return "added";
return operation.failureGet().getMessage();
}
}