package net.sourceforge.seqware.webservice.resources.queries; import java.io.IOException; import java.sql.SQLException; import net.sourceforge.seqware.common.factory.DBAccess; import net.sourceforge.seqware.common.metadata.MetadataDB; import net.sourceforge.seqware.common.util.Log; import net.sourceforge.seqware.webservice.resources.BasicRestlet; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.io.IOUtils; import org.restlet.Context; import org.restlet.Request; import org.restlet.Response; import org.restlet.data.Status; public class TriggerFileProvenanceResource extends BasicRestlet { public TriggerFileProvenanceResource(Context context) { super(context); } @Override public void handle(final Request request, Response response) { super.handle(request, response); authenticate(request.getChallengeResponse().getIdentifier()); init(request); MetadataDB mdb = null; try { Log.info("Executing file provenance update"); String query = IOUtils.toString(getClass().getClassLoader().getResourceAsStream("file-provenance-report.sql")); mdb = DBAccess.get(); mdb.executeUpdate(query); response.setStatus(Status.SUCCESS_NO_CONTENT); } catch (IOException | SQLException ex) { throw new RuntimeException(ex); } finally { if (mdb != null) { DbUtils.closeQuietly(mdb.getDb(), mdb.getSql(), null); } DBAccess.close(); } } }