From 7b581308afca0a7faaf40bbbd825522a8b98fd74 Mon Sep 17 00:00:00 2001 From: stellamit Date: Fri, 28 Oct 2011 21:41:12 +0000 Subject: [PATCH] NIHVIVO-3206 data migration --- .../servlet/setup/UpdateKnowledgeBase.java | 48 ++++++++++++++++--- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBase.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBase.java index 8c303b2ed..61a0afa60 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBase.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/UpdateKnowledgeBase.java @@ -7,7 +7,10 @@ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; +import java.util.Iterator; +import java.util.List; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; @@ -23,10 +26,14 @@ 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.ResourceFactory; import com.hp.hpl.jena.rdf.model.Statement; import com.hp.hpl.jena.rdf.model.StmtIterator; import com.hp.hpl.jena.shared.Lock; +import com.hp.hpl.jena.util.ResourceUtils; +import com.hp.hpl.jena.vocabulary.RDF; +import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext; import edu.cornell.mannlib.vitro.webapp.dao.jena.OntModelSelector; @@ -106,11 +113,8 @@ public class UpdateKnowledgeBase implements ServletContextListener { try { if (ontologyUpdater.updateRequired()) { - //ctx.setAttribute(IndexConstants.INDEX_REBUILD_REQUESTED_AT_STARTUP, Boolean.TRUE); ctx.setAttribute(KBM_REQURIED_AT_STARTUP, Boolean.TRUE); - //doMiscAppMetadataReplacements(ctx.getRealPath(MISC_REPLACEMENTS_FILE), oms); - //reloadDisplayModel(ctx); - log.info("Display model has not been migrated"); + //log.info("Migrating data model"); //doMigrateDisplayModel(ctx); //log.info("Display model migrated"); ontologyUpdater.update(); @@ -209,9 +213,39 @@ public class UpdateKnowledgeBase implements ServletContextListener { OntModel displayModel = (OntModel) o; migrateDisplayModel(displayModel); } - + public static void migrateDisplayModel(Model displayModel) { - /* + + Resource browseDataGetterClass = ResourceFactory.createResource("java:edu.cornell.mannlib.vitro.webapp.utils.pageDataGetter.BrowseDataGetter"); + Resource pageDataGetterClass = ResourceFactory.createResource("java:edu.cornell.mannlib.vitro.webapp.utils.pageDataGetter.ClassGroupPageData"); + + Resource homeDataGetter = ResourceFactory.createResource(DisplayVocabulary.DISPLAY_NS + "homeDataGetter"); + Property homeDataGetterProperty = ResourceFactory.createProperty(DisplayVocabulary.DISPLAY_NS + "hasDataGetter"); + + Resource homeClass = displayModel.getResource(DisplayVocabulary.DISPLAY_NS + "Home"); + Resource classGroupPage = displayModel.getResource(DisplayVocabulary.DISPLAY_NS + "ClassGroupPage"); + + Resource peopleDataGetter = displayModel.getResource(DisplayVocabulary.DISPLAY_NS + "peopleDataGetter"); + Resource researchDataGetter = displayModel.getResource(DisplayVocabulary.DISPLAY_NS + "researchDataGetter"); + Resource organizationsDataGetter = displayModel.getResource(DisplayVocabulary.DISPLAY_NS + "organizationsDataGetter"); + Resource eventsDataGetter = displayModel.getResource(DisplayVocabulary.DISPLAY_NS + "eventsDataGetter"); + + displayModel.remove(peopleDataGetter, RDF.type, classGroupPage); + displayModel.remove(researchDataGetter, RDF.type, classGroupPage); + displayModel.remove(organizationsDataGetter, RDF.type, classGroupPage); + displayModel.remove(eventsDataGetter, RDF.type, classGroupPage); + + displayModel.add(peopleDataGetter, RDF.type, pageDataGetterClass); + displayModel.add(researchDataGetter, RDF.type, pageDataGetterClass); + displayModel.add(organizationsDataGetter, RDF.type, pageDataGetterClass); + displayModel.add(eventsDataGetter, RDF.type, pageDataGetterClass); + + displayModel.add(homeClass, homeDataGetterProperty, homeDataGetter); + displayModel.add(homeDataGetter, RDF.type, browseDataGetterClass); + } + + public static void migrateDisplayModel12(Model displayModel) { + Resource indexRes = displayModel.getResource( DisplayVocabulary.DISPLAY_NS + "PrimaryLuceneIndex"); ResourceUtils.renameResource( @@ -263,7 +297,7 @@ public class UpdateKnowledgeBase implements ServletContextListener { } } } - */ + } private OntModel loadModelFromDirectory(String directoryPath) {