diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadController.java index 24fe90dce..a196d8d28 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/jena/RDFUploadController.java @@ -77,11 +77,16 @@ public class RDFUploadController extends JenaIngestController { VitroRequest request = new VitroRequest(req); LoginStatusBean loginBean = LoginStatusBean.getBean(request); - String modelName = req.getParameter("modelName"); - if(modelName!=null){ - loadRDF(req,request,response); - return; - } + try { + String modelName = req.getParameter("modelName"); + if(modelName!=null){ + loadRDF(req,request,response); + return; + } + } catch (Exception e) { + log.error(e,e); + throw new RuntimeException(e); + } boolean remove = "remove".equals(request.getParameter("mode")); String verb = remove?"Removed":"Added"; diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java index b1973d45d..5a5f537cb 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/dao/jena/ObjectPropertyDaoJena.java @@ -905,8 +905,8 @@ public class ObjectPropertyDaoJena extends PropertyDaoJena implements ObjectProp "SELECT ?property ?range ?filename WHERE { \n" + " { ?property display:listViewConfigFile ?filename \n" + " } UNION { \n" + - " ?lv config:listViewConfigFile ?filename . \n " + - " ?configuration config:hasListView ?lv . " + + " ?configuration config:listViewConfigFile ?filename . \n " + +// " ?configuration config:hasListView ?lv . " + " ?context config:hasConfiguration ?configuration . \n" + " ?context config:configContextFor ?property . \n" + " ?context config:qualifiedBy ?range . \n" + @@ -955,6 +955,7 @@ public class ObjectPropertyDaoJena extends PropertyDaoJena implements ObjectProp } } else { String filename = soln.getLiteral("filename").getLexicalForm(); + log.info("putting " + prop.getURI() + " " + rangeUri + " " + filename + " into list view map"); customListViewConfigFileMap.put(new Pair(prop, rangeUri), filename); } } @@ -963,6 +964,7 @@ public class ObjectPropertyDaoJena extends PropertyDaoJena implements ObjectProp String customListViewConfigFileName = customListViewConfigFileMap.get(new Pair(op, op.getRangeVClassURI())); if (customListViewConfigFileName == null) { + log.info("no list view found for " + op.getURI() + " qualified by " + op.getRangeVClassURI()); customListViewConfigFileName = customListViewConfigFileMap.get(new Pair(op, OWL.Thing.getURI())); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/uploadrequest/MultipartHttpServletRequest.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/uploadrequest/MultipartHttpServletRequest.java index 76f90a174..95f96f10a 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/uploadrequest/MultipartHttpServletRequest.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/filestorage/uploadrequest/MultipartHttpServletRequest.java @@ -57,6 +57,7 @@ public class MultipartHttpServletRequest extends FileUploadServletRequest { throws IOException{ super(request); storeFilesToTempDir = false; + setup(request); } @@ -73,6 +74,7 @@ public class MultipartHttpServletRequest extends FileUploadServletRequest { storeFilesToTempDir = true; this.maxFileSize = maxFileSize; this.tempDir = figureTemporaryDirectory(request); + setup(request); } private void setup(HttpServletRequest request){ diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/ABoxUpdater.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/ABoxUpdater.java index 29ab6a58a..0482750e8 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/ABoxUpdater.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/ABoxUpdater.java @@ -4,10 +4,12 @@ package edu.cornell.mannlib.vitro.webapp.ontology.update; import java.io.IOException; import java.util.ArrayList; -import java.util.HashSet; import java.util.Iterator; import java.util.List; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + import com.hp.hpl.jena.ontology.OntClass; import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntModelSpec; @@ -24,7 +26,6 @@ import com.hp.hpl.jena.rdf.model.StmtIterator; import com.hp.hpl.jena.shared.Lock; import com.hp.hpl.jena.vocabulary.OWL; import com.hp.hpl.jena.vocabulary.RDF; -import com.hp.hpl.jena.vocabulary.RDFS; import edu.cornell.mannlib.vitro.webapp.ontology.update.AtomicOntologyChange.AtomicChangeType; @@ -34,6 +35,7 @@ import edu.cornell.mannlib.vitro.webapp.ontology.update.AtomicOntologyChange.Ato */ public class ABoxUpdater { + private final Log log = LogFactory.getLog(ABoxUpdater.class); private OntModel oldTboxModel; private OntModel newTboxModel; private OntModel aboxModel; @@ -388,20 +390,33 @@ public class ABoxUpdater { Iterator propItr = changes.iterator(); while(propItr.hasNext()){ AtomicOntologyChange propChangeObj = propItr.next(); - switch (propChangeObj.getAtomicChangeType()){ - case ADD: - addProperty(propChangeObj); - break; - case DELETE: - deleteProperty(propChangeObj); - break; - case RENAME: - renameProperty(propChangeObj); - break; - default: - logger.logError("unexpected change type indicator: " + propChangeObj.getAtomicChangeType()); - break; - } + log.info("processing " + propChangeObj); + try { + if (propChangeObj.getAtomicChangeType() == null) { + log.error("Missing change type; skipping " + propChangeObj); + continue; + } + switch (propChangeObj.getAtomicChangeType()){ + case ADD: + log.info("add"); + addProperty(propChangeObj); + break; + case DELETE: + log.info("delete"); + deleteProperty(propChangeObj); + break; + case RENAME: + log.info("rename"); + renameProperty(propChangeObj); + break; + default: + log.info("unknown"); + logger.logError("unexpected change type indicator: " + propChangeObj.getAtomicChangeType()); + break; + } + } catch (Exception e) { + log.error(e,e); + } } } @@ -518,7 +533,7 @@ public class ABoxUpdater { private void renameProperty(AtomicOntologyChange propObj) throws IOException { - //logger.log("Processing a property rename from: " + propObj.getSourceURI() + " to " + propObj.getDestinationURI()); + logger.log("Processing a property rename from: " + propObj.getSourceURI() + " to " + propObj.getDestinationURI()); OntProperty oldProperty = oldTboxModel.getOntProperty(propObj.getSourceURI()); OntProperty newProperty = newTboxModel.getOntProperty(propObj.getDestinationURI()); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/AtomicOntologyChange.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/AtomicOntologyChange.java index e19b095ff..4fbab936d 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/AtomicOntologyChange.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/AtomicOntologyChange.java @@ -30,6 +30,11 @@ public class AtomicOntologyChange { this.notes = notes; } + @Override + public String toString() { + return "Source: " + sourceURI + "; Destination: " + destinationURI + + "; Type: " + atomicChangeType + "; Notes:" + notes; + } /** * Contains the URI of a class or property in the previous version of diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/KnowledgeBaseUpdater.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/KnowledgeBaseUpdater.java index 62aab4416..09ab5b19d 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/KnowledgeBaseUpdater.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/KnowledgeBaseUpdater.java @@ -98,14 +98,18 @@ public class KnowledgeBaseUpdater { AtomicOntologyChangeLists changes = new AtomicOntologyChangeLists(rawChanges,settings.getNewTBoxModel(),settings.getOldTBoxModel()); //process the TBox before the ABox - log.info("\tupdating tbox annotations"); - updateTBoxAnnotations(); - + try { + log.info("\tupdating tbox annotations"); + updateTBoxAnnotations(); + } catch (Exception e) { + log.error(e,e); + } + try { migrateMigrationMetadata(servletContext); logger.log("Migrated migration metadata"); } catch (Exception e) { - log.debug("unable to migrate migration metadata " + e.getMessage()); + log.error("unable to migrate migration metadata " + e.getMessage()); } log.info("\tupdating the abox"); @@ -390,11 +394,13 @@ public class KnowledgeBaseUpdater { while(listItr.hasNext()) { AtomicOntologyChange changeObj = listItr.next(); if (changeObj.getSourceURI() != null){ - + log.info("triaging " + changeObj); if (oldTboxModel.getOntProperty(changeObj.getSourceURI()) != null){ atomicPropertyChanges.add(changeObj); + log.info("added to property changes"); } else if (oldTboxModel.getOntClass(changeObj.getSourceURI()) != null) { atomicClassChanges.add(changeObj); + log.info("added to class changes"); } else if ("Prop".equals(changeObj.getNotes())) { atomicPropertyChanges.add(changeObj); } else if ("Class".equals(changeObj.getNotes())) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/OntologyChangeParser.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/OntologyChangeParser.java index 6ef0467ea..a966de494 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/OntologyChangeParser.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/OntologyChangeParser.java @@ -9,6 +9,8 @@ import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.skife.csv.CSVReader; import org.skife.csv.SimpleReader; @@ -23,6 +25,8 @@ import edu.cornell.mannlib.vitro.webapp.ontology.update.AtomicOntologyChange.Ato public class OntologyChangeParser { + private final Log log = LogFactory.getLog(OntologyChangeParser.class); + private ChangeLogger logger; public OntologyChangeParser(ChangeLogger logger) { @@ -85,6 +89,8 @@ public class OntologyChangeParser { } + log.info(changeObj); + changeObjects.add(changeObj); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/TBoxUpdater.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/TBoxUpdater.java index b5d66613a..bf5c27817 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/TBoxUpdater.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/ontology/update/TBoxUpdater.java @@ -104,6 +104,11 @@ public class TBoxUpdater { // if the default has changed in the new version of the ontology AND if // the site hasn't overidden the previous default in their knowledge base. + if(oldTboxAnnotationsModel == null) { + logger.log("oldTboxAnnotationModel is null; aborting update of annotation values"); + return; + } + StmtIterator iter = oldTboxAnnotationsModel.listStatements(); while (iter.hasNext()) {