package org.gcube.data.spd.client.proxies; import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.GenericType; import org.gcube.common.clients.Call; import org.gcube.common.clients.delegates.ProxyDelegate; import org.gcube.common.clients.stubs.jaxws.JAXWSUtils.Empty; import org.glassfish.jersey.client.ChunkedInput; public class DefaultResultSet implements ResultSetClient { private final ProxyDelegate delegate; public DefaultResultSet(ProxyDelegate config){ this.delegate = config; } @Override public ChunkedInput getResultSet(final String locator){ Call> call = new Call>() { @Override public ChunkedInput call(WebTarget manager) throws Exception { return manager.path(locator).request().get(new GenericType>() {}); } }; try { return delegate.make(call); }catch(Exception e) { throw new RuntimeException(e); } } @Override public void closeResultSet(final String locator){ Call call = new Call() { @Override public Empty call(WebTarget manager) throws Exception { manager.path(locator).request().delete(); return new Empty(); } }; try { delegate.make(call); }catch(Exception e) { throw new RuntimeException(e); } } }