package io.trygvis.esper.testing.web.resource; import fj.data.*; import io.trygvis.esper.testing.*; import io.trygvis.esper.testing.util.sql.*; import javax.ws.rs.*; import javax.ws.rs.core.*; import java.sql.*; public class AbstractResource { protected final DatabaseAccess da; public AbstractResource(DatabaseAccess da) { this.da = da; } public T get(DatabaseAccess.DaosCallback> callback) throws SQLException { Option server = da.inTransaction(callback); if(server.isNone()) { throw new WebApplicationException(Response.Status.NOT_FOUND); } return server.some(); } public T sql(DatabaseAccess.DaosCallback> callback) throws SQLException { SqlOption server = da.inTransaction(callback); if(server.isNone()) { throw new WebApplicationException(Response.Status.NOT_FOUND); } return server.get(); } }