39 lines
1.0 KiB
Java
39 lines
1.0 KiB
Java
package org.gcube.data.spd.resources;
|
|
|
|
import javax.ws.rs.DELETE;
|
|
import javax.ws.rs.GET;
|
|
import javax.ws.rs.Path;
|
|
import javax.ws.rs.PathParam;
|
|
import javax.ws.rs.Produces;
|
|
import javax.ws.rs.core.MediaType;
|
|
|
|
import org.gcube.data.spd.model.Constants;
|
|
import org.gcube.data.spd.utils.ResultWrapperMantainer;
|
|
import org.glassfish.jersey.server.ChunkedOutput;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
@Path(value = Constants.RESULTSET_PATH)
|
|
public class ResultSetEndpoint {
|
|
|
|
Logger logger = LoggerFactory.getLogger(ResultSetEndpoint.class);
|
|
|
|
@GET
|
|
@Produces(MediaType.TEXT_XML)
|
|
@Path("{locator}")
|
|
public ChunkedOutput<String> get(@PathParam("locator") String locator){
|
|
logger.info("requesting locator {} ",locator);
|
|
return ResultWrapperMantainer.getWriterById(locator).getOutput();
|
|
}
|
|
|
|
@DELETE
|
|
@Produces(MediaType.TEXT_XML)
|
|
@Path("{locator}")
|
|
public void close(@PathParam("locator") String locator){
|
|
logger.info("removing locator {} ",locator);
|
|
ResultWrapperMantainer.remove(locator);
|
|
}
|
|
|
|
}
|