NIHVIVO-3236 fixes timeout bug when attaching models to TBox
This commit is contained in:
parent
7d5a413c15
commit
f346789445
3 changed files with 16 additions and 29 deletions
|
@ -30,6 +30,11 @@ public class RegeneratingGraph implements Graph, Regenerable {
|
|||
regenerate();
|
||||
}
|
||||
|
||||
public RegeneratingGraph(Graph initGraph, GraphGenerator graphGenerator) {
|
||||
this.g = initGraph;
|
||||
this.generator = graphGenerator;
|
||||
}
|
||||
|
||||
public void regenerate() {
|
||||
this.g = generator.generateGraph();
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@ import java.util.Set;
|
|||
|
||||
import org.apache.commons.dbcp.BasicDataSource;
|
||||
|
||||
import com.hp.hpl.jena.graph.Graph;
|
||||
import com.hp.hpl.jena.graph.GraphMaker;
|
||||
import com.hp.hpl.jena.graph.Node;
|
||||
import com.hp.hpl.jena.query.Dataset;
|
||||
|
@ -24,6 +25,7 @@ import com.hp.hpl.jena.query.QueryExecutionFactory;
|
|||
import com.hp.hpl.jena.query.QueryFactory;
|
||||
import com.hp.hpl.jena.rdf.model.Literal;
|
||||
import com.hp.hpl.jena.rdf.model.Model;
|
||||
import com.hp.hpl.jena.rdf.model.ModelFactory;
|
||||
import com.hp.hpl.jena.rdf.model.ModelMaker;
|
||||
import com.hp.hpl.jena.rdf.model.ModelReader;
|
||||
import com.hp.hpl.jena.rdf.model.Property;
|
||||
|
@ -169,11 +171,11 @@ public class VitroJenaSDBModelMaker implements ModelMaker {
|
|||
getStore().close();
|
||||
}
|
||||
|
||||
public Model createModel(String arg0) {
|
||||
Model model = SDBFactory.connectNamedModel(getStore(), arg0);
|
||||
public Model createModel(String modelName) {
|
||||
Model model = getModel(modelName);
|
||||
Model metadataModel = getMetadataModel();
|
||||
try {
|
||||
metadataModel.add(sdbResource,metadataModel.getProperty(HAS_NAMED_MODEL_URI),arg0);
|
||||
metadataModel.add(sdbResource,metadataModel.getProperty(HAS_NAMED_MODEL_URI), modelName);
|
||||
} finally {
|
||||
metadataModel.close();
|
||||
}
|
||||
|
@ -403,8 +405,12 @@ public class VitroJenaSDBModelMaker implements ModelMaker {
|
|||
return (this.hasModel(arg0)) ? SDBFactory.connectNamedModel(getStore(),arg0) : null;
|
||||
}
|
||||
|
||||
public Model getModel(String arg0) {
|
||||
return SDBFactory.connectNamedModel(getStore(), arg0);
|
||||
public Model getModel(String modelName) {
|
||||
SDBGraphGenerator graphGen = new SDBGraphGenerator(
|
||||
bds, storeDesc, modelName);
|
||||
Graph g = new RegeneratingGraph(
|
||||
SDBFactory.connectNamedGraph(getStore(), modelName), graphGen);
|
||||
return ModelFactory.createModelForGraph(g);
|
||||
}
|
||||
|
||||
public Model getModel(String arg0, ModelReader arg1) {
|
||||
|
|
|
@ -147,7 +147,6 @@ public class WebappDaoFactoryJena implements WebappDaoFactory {
|
|||
initPreferredLanguages();
|
||||
}
|
||||
this.userURI = userURI;
|
||||
makeFlag2ConvenienceMaps();
|
||||
Model languageUniversalsModel = ModelFactory.createDefaultModel();
|
||||
if (INCLUDE_TOP_CONCEPT) {
|
||||
Resource top = getTopConcept();
|
||||
|
@ -284,29 +283,6 @@ public class WebappDaoFactoryJena implements WebappDaoFactory {
|
|||
preferredLanguages[2] = "EN";
|
||||
}
|
||||
|
||||
private void makeFlag2ConvenienceMaps() {
|
||||
HashMap<String,OntClass> flag2ValueHashMap = new HashMap<String,OntClass>();
|
||||
HashMap<Resource,String> flag2ClassLabelHashMap = new HashMap<Resource,String>();
|
||||
for (Iterator classIt = ontModelSelector.getTBoxModel().listClasses(); classIt.hasNext(); ) {
|
||||
OntClass ontClass = (OntClass) classIt.next();
|
||||
String ontClassName = ontClass.getLocalName();
|
||||
if(ontClassName != null && ontClass.getNameSpace().equals(VitroVocabulary.vitroURI) && ontClassName.indexOf("Flag2Value")==0) {
|
||||
String ontClassLabel = ontClass.getLabel(null);
|
||||
if (ontClassLabel != null) {
|
||||
flag2ValueHashMap.put(ontClassLabel, ontClass);
|
||||
flag2ClassLabelHashMap.put(ontClass, ontClassLabel);
|
||||
}
|
||||
}
|
||||
}
|
||||
this.flag2ValueMap = flag2ValueHashMap;
|
||||
this.flag2ClassLabelMap = flag2ClassLabelHashMap;
|
||||
}
|
||||
|
||||
private Map<Resource,String> makeFlag2ClassLabelMap() {
|
||||
HashMap<Resource,String> flag2ClassLabelMap = new HashMap<Resource,String>();
|
||||
return flag2ClassLabelMap;
|
||||
}
|
||||
|
||||
/* ******************************************** */
|
||||
|
||||
public Map<String,String> getProperties() {
|
||||
|
|
Loading…
Add table
Reference in a new issue