NIHVIVO-1700 reloading display model on upgrade
This commit is contained in:
parent
855ea3663f
commit
d6abfa8ce5
2 changed files with 24 additions and 1 deletions
|
@ -57,7 +57,7 @@ public class JenaDataSourceSetupBase extends JenaBaseDaoCon {
|
||||||
protected static String USERPATH = BASE+"user/";
|
protected static String USERPATH = BASE+"user/";
|
||||||
protected static String SYSTEMPATH = BASE+"system/";
|
protected static String SYSTEMPATH = BASE+"system/";
|
||||||
protected static String AUTHPATH = BASE+"auth/";
|
protected static String AUTHPATH = BASE+"auth/";
|
||||||
protected static String APPPATH = BASE+"app/";
|
public static String APPPATH = BASE+"app/";
|
||||||
protected static String SUBMODELS = "/WEB-INF/submodels/";
|
protected static String SUBMODELS = "/WEB-INF/submodels/";
|
||||||
|
|
||||||
String DB_USER = "jenatest"; // database user id
|
String DB_USER = "jenatest"; // database user id
|
||||||
|
|
|
@ -18,7 +18,9 @@ import com.hp.hpl.jena.ontology.OntModel;
|
||||||
import com.hp.hpl.jena.ontology.OntModelSpec;
|
import com.hp.hpl.jena.ontology.OntModelSpec;
|
||||||
import com.hp.hpl.jena.rdf.model.Model;
|
import com.hp.hpl.jena.rdf.model.Model;
|
||||||
import com.hp.hpl.jena.rdf.model.ModelFactory;
|
import com.hp.hpl.jena.rdf.model.ModelFactory;
|
||||||
|
import com.hp.hpl.jena.rdf.model.Property;
|
||||||
import com.hp.hpl.jena.rdf.model.RDFNode;
|
import com.hp.hpl.jena.rdf.model.RDFNode;
|
||||||
|
import com.hp.hpl.jena.rdf.model.Resource;
|
||||||
import com.hp.hpl.jena.rdf.model.Statement;
|
import com.hp.hpl.jena.rdf.model.Statement;
|
||||||
import com.hp.hpl.jena.rdf.model.StmtIterator;
|
import com.hp.hpl.jena.rdf.model.StmtIterator;
|
||||||
import com.hp.hpl.jena.shared.Lock;
|
import com.hp.hpl.jena.shared.Lock;
|
||||||
|
@ -105,6 +107,7 @@ public class UpdateKnowledgeBase implements ServletContextListener {
|
||||||
if (ontologyUpdater.updateRequired()) {
|
if (ontologyUpdater.updateRequired()) {
|
||||||
ctx.setAttribute(LuceneSetup.INDEX_REBUILD_REQUESTED_AT_STARTUP, Boolean.TRUE);
|
ctx.setAttribute(LuceneSetup.INDEX_REBUILD_REQUESTED_AT_STARTUP, Boolean.TRUE);
|
||||||
doMiscAppMetadataReplacements(ctx.getRealPath(MISC_REPLACEMENTS_FILE), oms);
|
doMiscAppMetadataReplacements(ctx.getRealPath(MISC_REPLACEMENTS_FILE), oms);
|
||||||
|
reloadDisplayModel(ctx);
|
||||||
}
|
}
|
||||||
} catch (Throwable t){
|
} catch (Throwable t){
|
||||||
log.warn("Unable to perform miscellaneous application metadata replacements", t);
|
log.warn("Unable to perform miscellaneous application metadata replacements", t);
|
||||||
|
@ -177,6 +180,26 @@ public class UpdateKnowledgeBase implements ServletContextListener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void reloadDisplayModel(ServletContext ctx) {
|
||||||
|
log.info("Reloading display model");
|
||||||
|
Object o = ctx.getAttribute("displayOntModel");
|
||||||
|
if (o instanceof OntModel) {
|
||||||
|
OntModel displayModel = (OntModel) o;
|
||||||
|
displayModel.removeAll((Resource) null, (Property) null, (RDFNode) null);
|
||||||
|
if (displayModel.size() != 0) {
|
||||||
|
log.error("Display model not cleared successfully");
|
||||||
|
}
|
||||||
|
JenaPersistentDataSourceSetup.readOntologyFilesInPathSet(
|
||||||
|
JenaPersistentDataSourceSetup.APPPATH, ctx, displayModel);
|
||||||
|
log.info("Display model reloaded");
|
||||||
|
if (displayModel.size() == 0) {
|
||||||
|
log.warn("Display model empty after reloading");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.error("No display model found in context");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private OntModel loadModelFromDirectory(String directoryPath) {
|
private OntModel loadModelFromDirectory(String directoryPath) {
|
||||||
|
|
||||||
OntModel om = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
|
OntModel om = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue