Merge branch 'develop' of https://github.com/vivo-project/Vitro into develop
This commit is contained in:
commit
2da5324c1a
5 changed files with 13 additions and 52 deletions
|
@ -15,6 +15,7 @@ import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.display.DisplayObje
|
|||
import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAction;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.Property;
|
||||
|
||||
|
@ -113,10 +114,11 @@ public class DisplayByRolePermission extends Permission {
|
|||
private boolean isAuthorized(DisplayObjectPropertyStatement action) {
|
||||
ObjectPropertyStatement stmt = action.getObjectPropertyStatement();
|
||||
String subjectUri = stmt.getSubjectURI();
|
||||
String predicateUri = stmt.getPropertyURI();
|
||||
String objectUri = stmt.getObjectURI();
|
||||
Property op = (stmt.getProperty() != null)
|
||||
? stmt.getProperty() : new Property(stmt.getPropertyURI());
|
||||
return canDisplayResource(subjectUri)
|
||||
&& canDisplayPredicate(new Property(predicateUri))
|
||||
&& canDisplayPredicate(op)
|
||||
&& canDisplayResource(objectUri);
|
||||
}
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ public class KnowledgeBaseUpdater {
|
|||
}
|
||||
|
||||
long startTime = System.currentTimeMillis();
|
||||
log.info("Migrating the knowledge base");
|
||||
log.info("Performing any necessary data migration");
|
||||
logger.log("Started knowledge base migration");
|
||||
|
||||
try {
|
||||
|
@ -104,12 +104,6 @@ public class KnowledgeBaseUpdater {
|
|||
log.error(e,e);
|
||||
}
|
||||
|
||||
try {
|
||||
migrateMigrationMetadata(servletContext);
|
||||
logger.log("Migrated migration metadata");
|
||||
} catch (Exception e) {
|
||||
log.error("unable to migrate migration metadata " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
// update ABox data any time
|
||||
|
@ -264,39 +258,6 @@ public class KnowledgeBaseUpdater {
|
|||
aboxUpdater.processClassChanges(changes.getAtomicClassChanges());
|
||||
}
|
||||
|
||||
// special for 1.5 - temporary code
|
||||
// migrate past migration indicators to not use blank nodes and move them to app metadata model
|
||||
// changing structure for pre 1.5 ones in the process
|
||||
private void migrateMigrationMetadata(ServletContext servletContext) throws Exception {
|
||||
|
||||
String baseResourceURI = "http://vitro.mannlib.cornell.edu/ns/vitro/metadata/migration/";
|
||||
String queryFile = "MigrationData.sparql";
|
||||
|
||||
RDFService rdfService = RDFServiceUtils.getRDFServiceFactory(servletContext).getRDFService();
|
||||
|
||||
String fmQuery = FileUtils.readFileToString(new File(settings.getSparqlConstructDeletionsDir() + "/" + queryFile));
|
||||
Model toRemove = ModelFactory.createDefaultModel();
|
||||
toRemove.read(rdfService.sparqlConstructQuery(fmQuery, RDFService.ModelSerializationFormat.RDFXML), null);
|
||||
|
||||
String cmQuery = FileUtils.readFileToString(new File(settings.getSparqlConstructAdditionsDir() + "/" + queryFile));
|
||||
Model toAdd = ModelFactory.createDefaultModel();
|
||||
toAdd.read(rdfService.sparqlConstructQuery(cmQuery, RDFService.ModelSerializationFormat.RDFXML), null);
|
||||
|
||||
ByteArrayOutputStream outAdd = new ByteArrayOutputStream();
|
||||
toAdd.write(outAdd);
|
||||
InputStream inAdd = new ByteArrayInputStream(outAdd.toByteArray());
|
||||
ChangeSet addChangeSet = rdfService.manufactureChangeSet();
|
||||
addChangeSet.addAddition(inAdd, RDFService.ModelSerializationFormat.RDFXML, JenaDataSourceSetupBase.JENA_APPLICATION_METADATA_MODEL);
|
||||
rdfService.changeSetUpdate(addChangeSet);
|
||||
|
||||
ByteArrayOutputStream outRemove = new ByteArrayOutputStream();
|
||||
toRemove.write(outRemove);
|
||||
InputStream inRemove = new ByteArrayInputStream(outRemove.toByteArray());
|
||||
ChangeSet removeChangeSet = rdfService.manufactureChangeSet();
|
||||
removeChangeSet.addRemoval(inRemove, RDFService.ModelSerializationFormat.RDFXML, JenaDataSourceSetupBase.JENA_DB_MODEL);
|
||||
rdfService.changeSetUpdate(removeChangeSet);
|
||||
}
|
||||
|
||||
private void updateTBoxAnnotations() {
|
||||
TBoxUpdater tboxUpdater = new TBoxUpdater(settings, logger, record);
|
||||
try {
|
||||
|
|
|
@ -89,10 +89,6 @@ public class TBoxUpdater {
|
|||
|
||||
}
|
||||
|
||||
private Model mergeConfigurations(Model oldConfig, Model newConfig) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void updateDefaultAnnotationValues() throws IOException {
|
||||
updateDefaultAnnotationValues(null);
|
||||
}
|
||||
|
@ -528,7 +524,8 @@ public class TBoxUpdater {
|
|||
" OPTIONAL { <" + oldPropertyURI + "> vitro:inPropertyGroupAnnot ?group . \n" +
|
||||
" ?configuration config:propertyGroup ?rgroup } \n" +
|
||||
" OPTIONAL { <" + oldPropertyURI + "> <" + RDFS.label.getURI() + "> ?label . \n" +
|
||||
" ?configuration config:displayName ?rlabel } \n " +
|
||||
" ?configuration config:displayName ?rlabel . \n " +
|
||||
" FILTER(?rlabel != ?label) } \n " +
|
||||
" OPTIONAL { <" + oldPropertyURI + "> vitro:displayRankAnnot ?displayRank . \n" +
|
||||
" ?configuration vitro:displayRantAnnot ?rdisplayRank } \n " +
|
||||
" OPTIONAL { <" + oldPropertyURI + "> vitro:customEntryFormAnnot ?customForm . \n" +
|
||||
|
|
|
@ -81,6 +81,8 @@ public class SimpleReasonerSetup implements ServletContextListener {
|
|||
|
||||
log.info("Pellet reasoner connected for the TBox");
|
||||
|
||||
waitForTBoxReasoning(sce);
|
||||
|
||||
// set up simple reasoning for the ABox
|
||||
|
||||
RDFService rdfService = RDFServiceUtils.getRDFServiceFactory(ctx).getRDFService();
|
||||
|
@ -131,7 +133,7 @@ public class SimpleReasonerSetup implements ServletContextListener {
|
|||
int sleeps = 0;
|
||||
// sleep at least once to make sure the TBox reasoning gets started
|
||||
while ((0 == sleeps) || ((sleeps < 1000) && pelletListener.isReasoning())) {
|
||||
if ((sleeps % 10) == 0) { // print message at 10 second intervals
|
||||
if (((sleeps - 1) % 10) == 0) { // print message at 10 second intervals
|
||||
log.info("Waiting for initial TBox reasoning to complete");
|
||||
}
|
||||
Thread.sleep(1000);
|
||||
|
|
|
@ -141,7 +141,6 @@ public class UpdateKnowledgeBase implements ServletContextListener {
|
|||
if(!JenaDataSourceSetupBase.isFirstStartup()) {
|
||||
try {
|
||||
ctx.setAttribute(KBM_REQURIED_AT_STARTUP, Boolean.TRUE);
|
||||
log.info("Data migration required");
|
||||
migrationChangesMade = ontologyUpdater.update(ctx);
|
||||
if (tryMigrateDisplay) {
|
||||
try {
|
||||
|
@ -221,8 +220,8 @@ public class UpdateKnowledgeBase implements ServletContextListener {
|
|||
StartupStatus.getBean(ctx).info(this, "Updating knowledge base: reports are in '" + dataDir + "'");
|
||||
|
||||
Path changedDir = createDirectory(dataDir, "changedData");
|
||||
settings.setAddedDataFile(changedDir.resolve("addedData.n3").toString());
|
||||
settings.setRemovedDataFile(changedDir.resolve("removedData.n3").toString());
|
||||
settings.setAddedDataFile(changedDir.resolve(timestampedFileName("addedData", "n3")).toString());
|
||||
settings.setRemovedDataFile(changedDir.resolve(timestampedFileName("removedData", "n3")).toString());
|
||||
|
||||
Path logDir = createDirectory(dataDir, "logs");
|
||||
settings.setLogFile(logDir.resolve(timestampedFileName("knowledgeBaseUpdate", "log")).toString());
|
||||
|
|
Loading…
Add table
Reference in a new issue