nearly complete support for running Vitro from an arbitrary SPARQL endpoint

This commit is contained in:
brianjlowe 2012-04-26 17:59:25 +00:00
parent 6416e51bdb
commit 33f39989f6
6 changed files with 20 additions and 20 deletions

View file

@ -135,6 +135,12 @@ public class IndividualSDB extends IndividualImpl implements Individual {
QueryFactory.create(getStatements), dataset) QueryFactory.create(getStatements), dataset)
.execConstruct(); .execConstruct();
} finally { } finally {
if (dataset == null) {
throw new RuntimeException("dataset is null");
} else if (dataset.getLock() == null) {
throw new RuntimeException("dataset lock is null");
}
dataset.getLock().leaveCriticalSection(); dataset.getLock().leaveCriticalSection();
w.close(); w.close();
} }

View file

@ -21,13 +21,12 @@ import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.query.QueryFactory; import com.hp.hpl.jena.query.QueryFactory;
import com.hp.hpl.jena.query.QuerySolution; import com.hp.hpl.jena.query.QuerySolution;
import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.query.ResultSet;
import com.hp.hpl.jena.rdf.model.ResourceFactory;
import com.hp.hpl.jena.shared.Lock; import com.hp.hpl.jena.shared.Lock;
import com.hp.hpl.jena.shared.LockMRSW;
import com.hp.hpl.jena.sparql.core.DatasetGraph; import com.hp.hpl.jena.sparql.core.DatasetGraph;
import com.hp.hpl.jena.sparql.core.Quad; import com.hp.hpl.jena.sparql.core.Quad;
import com.hp.hpl.jena.sparql.resultset.ResultSetMem; import com.hp.hpl.jena.sparql.resultset.ResultSetMem;
import com.hp.hpl.jena.sparql.util.Context; import com.hp.hpl.jena.sparql.util.Context;
import com.hp.hpl.jena.sparql.util.NodeFactory;
import com.hp.hpl.jena.util.iterator.SingletonIterator; import com.hp.hpl.jena.util.iterator.SingletonIterator;
import com.hp.hpl.jena.util.iterator.WrappedIterator; import com.hp.hpl.jena.util.iterator.WrappedIterator;
@ -35,6 +34,7 @@ public class SparqlDatasetGraph implements DatasetGraph {
private String endpointURI; private String endpointURI;
private Repository repository; private Repository repository;
private Lock lock = new LockMRSW();
public SparqlDatasetGraph(String endpointURI) { public SparqlDatasetGraph(String endpointURI) {
this.endpointURI = endpointURI; this.endpointURI = endpointURI;
@ -171,8 +171,7 @@ public class SparqlDatasetGraph implements DatasetGraph {
@Override @Override
public Lock getLock() { public Lock getLock() {
// TODO Auto-generated method stub return lock;
return null;
} }
@Override @Override

View file

@ -204,13 +204,13 @@ public class WebappDaoFactorySDBPrep implements Filter {
//datasource.addNamedModel("fake:fake", m); //datasource.addNamedModel("fake:fake", m);
//dataset = datasource; //dataset = datasource;
WebappDaoFactory wadf = new WebappDaoFactoryJena(oms, config); //WebappDaoFactory wadf = new WebappDaoFactoryJena(oms, config);
//wadf = new WebappDaoFactorySDB(oms, dataset, config); WebappDaoFactory wadf = new WebappDaoFactorySDB(oms, dataset, config);
vreq.setWebappDaoFactory(wadf); vreq.setWebappDaoFactory(wadf);
vreq.setFullWebappDaoFactory(wadf); vreq.setFullWebappDaoFactory(wadf);
vreq.setUnfilteredWebappDaoFactory(wadf); vreq.setUnfilteredWebappDaoFactory(wadf);
vreq.setWebappDaoFactory(wadf); vreq.setWebappDaoFactory(wadf);
vreq.setAssertionsWebappDaoFactory(wadf); //vreq.setAssertionsWebappDaoFactory(wadf);
vreq.setDataset(dataset); vreq.setDataset(dataset);
vreq.setJenaOntModel(om); vreq.setJenaOntModel(om);
vreq.setOntModelSelector(oms); vreq.setOntModelSelector(oms);

View file

@ -156,13 +156,14 @@ public class WebappDaoFactorySparqlPrep implements Filter {
//datasource.addNamedModel("fake:fake", m); //datasource.addNamedModel("fake:fake", m);
//dataset = datasource; //dataset = datasource;
vreq.setAssertionsWebappDaoFactory(wadf);
wadf = new WebappDaoFactoryJena(oms, config); wadf = new WebappDaoFactoryJena(oms, config);
//wadf = new WebappDaoFactorySDB(oms, dataset, config); //wadf = new WebappDaoFactorySDB(oms, dataset, config);
vreq.setWebappDaoFactory(wadf); vreq.setWebappDaoFactory(wadf);
vreq.setFullWebappDaoFactory(wadf); vreq.setFullWebappDaoFactory(wadf);
vreq.setUnfilteredWebappDaoFactory(wadf); vreq.setUnfilteredWebappDaoFactory(wadf);
vreq.setWebappDaoFactory(wadf); vreq.setWebappDaoFactory(wadf);
vreq.setAssertionsWebappDaoFactory(wadf);
vreq.setDataset(dataset); vreq.setDataset(dataset);
vreq.setJenaOntModel(om); vreq.setJenaOntModel(om);
vreq.setOntModelSelector(oms); vreq.setOntModelSelector(oms);

View file

@ -249,16 +249,17 @@ public class JenaDataSourceSetupSparql2 extends JenaDataSourceSetupBase
applicationMetadataModel.getBaseModel().register( applicationMetadataModel.getBaseModel().register(
new ModelSynchronizer(applicationMetadataModelDB)); new ModelSynchronizer(applicationMetadataModelDB));
if (isFirstStartup()) { if (applicationMetadataModel.size()== 0 /* isFirstStartup() */) {
applicationMetadataModel.add( applicationMetadataModel.add(
InitialJenaModelUtils.loadInitialModel( InitialJenaModelUtils.loadInitialModel(
ctx, getDefaultNamespace(ctx))); ctx, getDefaultNamespace(ctx)));
} else if (applicationMetadataModelDB.size() == 0) {
repairAppMetadataModel(
applicationMetadataModel, aboxAssertions,
aboxInferences);
} }
// else if (applicationMetadataModelDB.size() == 0) {
// repairAppMetadataModel(
// applicationMetadataModel, aboxAssertions,
// aboxInferences);
// }
baseOms.setApplicationMetadataModel(applicationMetadataModel); baseOms.setApplicationMetadataModel(applicationMetadataModel);
inferenceOms.setApplicationMetadataModel( inferenceOms.setApplicationMetadataModel(

View file

@ -45,13 +45,6 @@ public class SimpleReasonerSetup implements ServletContextListener {
@Override @Override
public void contextInitialized(ServletContextEvent sce) { public void contextInitialized(ServletContextEvent sce) {
// temporary scaffolding in the rdfapi dev branch
// TODO remove me
if (ConfigurationProperties.getBean(sce).getProperty(
"VitroConnection.DataSource.endpointURI") != null) {
return;
}
try { try {
// set up Pellet reasoning for the TBox // set up Pellet reasoning for the TBox