Merge branch 'develop' of https://github.com/vivo-project/Vitro into develop

This commit is contained in:
hudajkhan 2013-10-14 15:47:10 -04:00
commit 2da5324c1a
5 changed files with 13 additions and 52 deletions

View file

@ -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);
}

View file

@ -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 {

View file

@ -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" +

View file

@ -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);

View file

@ -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());