species-products-discovery/src/main/java/org/gcube/data/spd/resources/ResultSetEndpoint.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);
}
}