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 SYSTEMPATH = BASE+"system/";
|
||||
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/";
|
||||
|
||||
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.rdf.model.Model;
|
||||
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.Resource;
|
||||
import com.hp.hpl.jena.rdf.model.Statement;
|
||||
import com.hp.hpl.jena.rdf.model.StmtIterator;
|
||||
import com.hp.hpl.jena.shared.Lock;
|
||||
|
@ -105,6 +107,7 @@ public class UpdateKnowledgeBase implements ServletContextListener {
|
|||
if (ontologyUpdater.updateRequired()) {
|
||||
ctx.setAttribute(LuceneSetup.INDEX_REBUILD_REQUESTED_AT_STARTUP, Boolean.TRUE);
|
||||
doMiscAppMetadataReplacements(ctx.getRealPath(MISC_REPLACEMENTS_FILE), oms);
|
||||
reloadDisplayModel(ctx);
|
||||
}
|
||||
} catch (Throwable 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) {
|
||||
|
||||
OntModel om = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue