diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SimpleReasonerRecomputeController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SimpleReasonerRecomputeController.java index 1881edbe7..a3d1f1833 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SimpleReasonerRecomputeController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/SimpleReasonerRecomputeController.java @@ -42,10 +42,10 @@ public class SimpleReasonerRecomputeController extends FreemarkerHttpServlet { } else { if (simpleReasoner.isRecomputing()) { messageStr = - "The SimpleReasoner is already in the process of " + + "The SimpleReasoner is currently in the process of " + "recomputing inferences."; } else { - simpleReasoner.recompute(); + new Thread(new Recomputer(simpleReasoner)).start(); messageStr = "Recomputation of inferences started"; } } @@ -63,4 +63,18 @@ public class SimpleReasonerRecomputeController extends FreemarkerHttpServlet { return new TemplateResponseValues(Template.MESSAGE.toString(), body); } + private class Recomputer implements Runnable { + + private SimpleReasoner simpleReasoner; + + public Recomputer(SimpleReasoner simpleReasoner) { + this.simpleReasoner = simpleReasoner; + } + + public void run() { + simpleReasoner.recompute(); + } + + } + } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasoner.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasoner.java index 0fb7d9952..9e4b7d930 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasoner.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/reasoner/SimpleReasoner.java @@ -501,6 +501,8 @@ public class SimpleReasoner extends StatementListener { inferenceRebuildModel.leaveCriticalSection(); scratchpadModel.leaveCriticalSection(); } + + log.info("ABox inferences recomputed."); } // The following three methods aren't currently called; the default behavior of VIVO is to not materialize such inferences.