diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RegeneratingGraph.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RegeneratingGraph.java index 54aef0a14..c8575528c 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RegeneratingGraph.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/RegeneratingGraph.java @@ -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(); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroJenaSDBModelMaker.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroJenaSDBModelMaker.java index f69950a22..ec95d31b0 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroJenaSDBModelMaker.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/VitroJenaSDBModelMaker.java @@ -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) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/WebappDaoFactoryJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/WebappDaoFactoryJena.java index 5c2b9035e..1e0a46ede 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/WebappDaoFactoryJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/WebappDaoFactoryJena.java @@ -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 flag2ValueHashMap = new HashMap(); - HashMap flag2ClassLabelHashMap = new HashMap(); - 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 makeFlag2ClassLabelMap() { - HashMap flag2ClassLabelMap = new HashMap(); - return flag2ClassLabelMap; - } - /* ******************************************** */ public Map getProperties() {