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)
.execConstruct();
} 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();
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.QuerySolution;
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.LockMRSW;
import com.hp.hpl.jena.sparql.core.DatasetGraph;
import com.hp.hpl.jena.sparql.core.Quad;
import com.hp.hpl.jena.sparql.resultset.ResultSetMem;
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.WrappedIterator;
@ -35,6 +34,7 @@ public class SparqlDatasetGraph implements DatasetGraph {
private String endpointURI;
private Repository repository;
private Lock lock = new LockMRSW();
public SparqlDatasetGraph(String endpointURI) {
this.endpointURI = endpointURI;
@ -171,8 +171,7 @@ public class SparqlDatasetGraph implements DatasetGraph {
@Override
public Lock getLock() {
// TODO Auto-generated method stub
return null;
return lock;
}
@Override

View file

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

View file

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

View file

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

View file

@ -45,13 +45,6 @@ public class SimpleReasonerSetup implements ServletContextListener {
@Override
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 {
// set up Pellet reasoning for the TBox