diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/ContentModelSetup.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/ContentModelSetup.java index 3919aa069..c22fbbc48 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/ContentModelSetup.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/ContentModelSetup.java @@ -53,24 +53,22 @@ public class ContentModelSetup extends JenaDataSourceSetupBase Model applicationMetadataModel = models.getOntModel(APPLICATION_METADATA); if (applicationMetadataModel.size()== 0) { - thisIsFirstStartup(); + initializeApplicationMetadata(ctx, applicationMetadataModel); + } else { + checkForNamespaceMismatch( applicationMetadataModel, ctx ); } - OntModel baseABoxModel = models.getOntModel(ABOX_ASSERTIONS); - OntModel baseTBoxModel = models.getOntModel(TBOX_ASSERTIONS); - - if (isFirstStartup()) { - initializeApplicationMetadata(ctx, applicationMetadataModel); + if (baseABoxModel.size() == 0) { RDFFilesLoader.loadFirstTimeFiles("abox", baseABoxModel, true); - RDFFilesLoader.loadFirstTimeFiles("tbox", baseTBoxModel, true); - } else { - checkForNamespaceMismatch( applicationMetadataModel, ctx ); } - RDFFilesLoader.loadEveryTimeFiles("abox", baseABoxModel); + RDFFilesLoader.loadEveryTimeFiles("abox", baseABoxModel); + + OntModel baseTBoxModel = models.getOntModel(TBOX_ASSERTIONS); + if (baseTBoxModel.size() == 0) { + RDFFilesLoader.loadFirstTimeFiles("tbox", baseTBoxModel, true); + } RDFFilesLoader.loadEveryTimeFiles("tbox", baseTBoxModel); - - log.info("Setting up DAO factories"); } private long secondsSince(long startTime) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/RDFFilesLoader.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/RDFFilesLoader.java index d1d24f7f8..653bfccde 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/RDFFilesLoader.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/servlet/setup/RDFFilesLoader.java @@ -67,9 +67,10 @@ public class RDFFilesLoader { public static void loadFirstTimeFiles(String modelPath, Model model, boolean firstTime) { if (firstTime) { - Set paths = getPaths(locateHomeDirectory(), RDF, modelPath, - FIRST_TIME); + String home = locateHomeDirectory(); + Set paths = getPaths(home, RDF, modelPath, FIRST_TIME); for (Path p : paths) { + log.info("Loading " + relativePath(p, home)); readOntologyFileIntoModel(p, model); } } else { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/tdb/ContentTripleSourceTDB.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/tdb/ContentTripleSourceTDB.java index 78b8af9da..e601192bb 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/tdb/ContentTripleSourceTDB.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/triplesource/impl/tdb/ContentTripleSourceTDB.java @@ -10,6 +10,7 @@ import com.hp.hpl.jena.tdb.TDB; import edu.cornell.mannlib.vitro.webapp.dao.jena.RDFServiceDataset; import edu.cornell.mannlib.vitro.webapp.dao.jena.RDFServiceModelMaker; +import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelNames; import edu.cornell.mannlib.vitro.webapp.modelaccess.adapters.ListCachingModelMaker; import edu.cornell.mannlib.vitro.webapp.modelaccess.adapters.MemoryMappingModelMaker; import edu.cornell.mannlib.vitro.webapp.modelaccess.ontmodels.OntModelCache; @@ -21,6 +22,7 @@ import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceFactory; import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceFactorySingle; import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena.tdb.RDFServiceTDB; import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.logging.LoggingRDFServiceFactory; +import edu.cornell.mannlib.vitro.webapp.servlet.setup.JenaDataSourceSetupBase; import edu.cornell.mannlib.vitro.webapp.utils.configuration.Property; import edu.cornell.mannlib.vitro.webapp.utils.configuration.Validation; import edu.cornell.mannlib.vitro.webapp.utils.logging.ToString; @@ -75,6 +77,7 @@ public class ContentTripleSourceTDB extends ContentTripleSource { this.unclosableRdfService = this.rdfServiceFactory.getRDFService(); this.dataset = new RDFServiceDataset(this.unclosableRdfService); this.modelMaker = createModelMaker(); + checkForFirstTimeStartup(); ss.info("Initialized the RDF source for TDB"); } catch (IOException e) { throw new RuntimeException( @@ -102,6 +105,12 @@ public class ContentTripleSourceTDB extends ContentTripleSource { this.unclosableRdfService), SMALL_CONTENT_MODELS))); } + private void checkForFirstTimeStartup() { + if (this.dataset.getNamedModel(ModelNames.TBOX_ASSERTIONS).size() == 0) { + JenaDataSourceSetupBase.thisIsFirstStartup(); + } + } + @Override public RDFServiceFactory getRDFServiceFactory() { return this.rdfServiceFactory;