package edu.neu.ccs.task.rdf;
import java.sql.Connection;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.sql.DataSource;
import com.hp.hpl.jena.sdb.SDBFactory;
import com.hp.hpl.jena.sdb.Store;
import com.hp.hpl.jena.sdb.StoreDesc;
public class SdbUtil {
private SdbUtil() {}
public static void run(DataSource ds, StoreDesc sd, String graph, SdbQuery q)
throws SQLException {
Connection conn = ds.getConnection();
try {
Store store = SDBFactory.connectStore(conn, sd);
try {
q.exec(SDBFactory.connectNamedModel(store, graph));
} finally {
store.close();
}
} finally {
conn.close();
}
}
public static void runWrap(DataSource ds, StoreDesc sd, String graph, SdbQuery q)
throws ServletException {
try {
run(ds, sd, graph, q);
} catch (SQLException e) {
throw new ServletException(e);
}
}
}