NIHVIVO-1714 made changes to have button for Recomputing Inferences

This commit is contained in:
ass92 2011-01-19 16:09:47 +00:00
parent c69bc2d9fc
commit 0693506db0

View file

@ -24,6 +24,8 @@ public class SimpleReasonerRecomputeController extends FreemarkerHttpServlet {
private static final Log log = LogFactory.getLog( private static final Log log = LogFactory.getLog(
SimpleReasonerRecomputeController.class); SimpleReasonerRecomputeController.class);
private static final String RECOMPUTE_INFERENCES_FTL = "recomputeInferences.ftl";
protected ResponseValues processRequest(VitroRequest vreq) { protected ResponseValues processRequest(VitroRequest vreq) {
// Due to requiresLoginLevel(), we don't get here unless logged in as DBA // Due to requiresLoginLevel(), we don't get here unless logged in as DBA
if (!LoginStatusBean.getBean(vreq) if (!LoginStatusBean.getBean(vreq)
@ -40,13 +42,23 @@ public class SimpleReasonerRecomputeController extends FreemarkerHttpServlet {
if (simpleReasoner == null) { if (simpleReasoner == null) {
messageStr = "No SimpleReasoner has been set up."; messageStr = "No SimpleReasoner has been set up.";
} else { } else {
String signal = (String) vreq.getParameter("signal");
if (simpleReasoner.isRecomputing()) { if (simpleReasoner.isRecomputing()) {
messageStr = messageStr =
"The SimpleReasoner is currently in the process of " + "The SimpleReasoner is currently in the process of " +
"recomputing inferences."; "recomputing inferences.";
} else { } else{
String restart = (String)getServletContext().getAttribute("restart");
if(restart == null || restart.equals("showButton") || signal == null){
body.put("link", "show");
messageStr = null;
getServletContext().setAttribute("restart", "yes");
}
else if(signal!=null && signal.equals("Recompute")){
new Thread(new Recomputer(simpleReasoner)).start(); new Thread(new Recomputer(simpleReasoner)).start();
messageStr = "Recomputation of inferences started"; messageStr = "Recomputation of inferences started";
getServletContext().setAttribute("restart", "showButton");
}
} }
} }
@ -56,11 +68,12 @@ public class SimpleReasonerRecomputeController extends FreemarkerHttpServlet {
"There was an error while recomputing inferences: " + "There was an error while recomputing inferences: " +
e.getMessage()); e.getMessage());
return new ExceptionResponseValues( return new ExceptionResponseValues(
Template.ERROR_MESSAGE.toString(), body, e); RECOMPUTE_INFERENCES_FTL, body, e);
} }
body.put("message", messageStr); body.put("message", messageStr);
return new TemplateResponseValues(Template.MESSAGE.toString(), body); body.put("redirecturl",vreq.getContextPath()+"/RecomputeInferences");
return new TemplateResponseValues(RECOMPUTE_INFERENCES_FTL, body);
} }
private class Recomputer implements Runnable { private class Recomputer implements Runnable {