From f389d320ed03011dcf8519a623c5553c837fbd75 Mon Sep 17 00:00:00 2001 From: Jim Blake Date: Tue, 24 Mar 2015 12:21:51 -0400 Subject: [PATCH] VIVO-898 Call removedStatements.add(), not removedStatements.remove() Also, in RefactorOperationController, edit events must be fired against the base model, not against the ontModel itself. Also, add some debugging statements. --- .../edit/RefactorOperationController.java | 4 ++-- .../tboxreasoner/ConfiguredReasonerListener.java | 15 +++++++++++++++ .../vitro/webapp/tboxreasoner/TBoxChanges.java | 11 ++++++++++- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/RefactorOperationController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/RefactorOperationController.java index a708a02c1..3c40c35cf 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/RefactorOperationController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/edit/RefactorOperationController.java @@ -238,10 +238,10 @@ public class RefactorOperationController extends BaseEditController { Model model = null; if (TBOX_ASSERTIONS.equals(graphURI)) { - model = ModelAccess.on(getServletContext()).getOntModel(TBOX_ASSERTIONS); + model = ModelAccess.on(getServletContext()).getOntModel(TBOX_ASSERTIONS).getBaseModel(); doNotify = true; } else if (ABOX_ASSERTIONS.equals(graphURI)) { - model = ModelAccess.on(getServletContext()).getOntModel(ABOX_ASSERTIONS); + model = ModelAccess.on(getServletContext()).getOntModel(ABOX_ASSERTIONS).getBaseModel(); doNotify = true; } else { model = dataset.getNamedModel(graphURI); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ConfiguredReasonerListener.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ConfiguredReasonerListener.java index 42ec57f1d..017994afe 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ConfiguredReasonerListener.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/ConfiguredReasonerListener.java @@ -173,10 +173,17 @@ public class ConfiguredReasonerListener implements ModelChangedListener { @Override public void notifyEvent(Model m, Object event) { + log.debug("Notified of event."); if (event instanceof EditEvent) { EditEvent ee = (EditEvent) event; if (!ee.getBegin()) { + log.debug("Notified of ending EditEvent."); + TBoxChanges changes = changeSet.getAndSet(new TBoxChanges()); + if (log.isDebugEnabled()) { + log.debug("Change set: " + changes); + } + this.reasonerDriver.runSynchronizer(changes); } } @@ -190,6 +197,10 @@ public class ConfiguredReasonerListener implements ModelChangedListener { // ---------------------------------------------------------------------- public void tryAdd(Statement stmt) { + if (log.isDebugEnabled()) { + log.debug("try to add statement: " + stmt); + } + if (suspended.get()) { return; } @@ -215,6 +226,10 @@ public class ConfiguredReasonerListener implements ModelChangedListener { } public void tryRemove(Statement stmt) { + if (log.isDebugEnabled()) { + log.debug("try to remove statement: " + stmt); + } + if (suspended.get()) { return; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxChanges.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxChanges.java index efe79d917..4ec7ae0f6 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxChanges.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/tboxreasoner/TBoxChanges.java @@ -36,7 +36,7 @@ public class TBoxChanges { } public void removeStatement(Statement stmt) { - removedStatements.remove(stmt); + removedStatements.add(stmt); } public void deleteDataProperty(Statement stmt) { @@ -80,4 +80,13 @@ public class TBoxChanges { return deletedObjectPropertyUris; } + @Override + public String toString() { + return "TBoxChanges[addedStatements=" + addedStatements + + ", removedStatements=" + removedStatements + + ", deletedDataPropertyUris=" + deletedDataPropertyUris + + ", deletedObjectPropertyUris=" + deletedObjectPropertyUris + + "]"; + } + }