X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=crawler%2Fkissweb%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2Fkiss%2Fservlet%2FCrawlerServlet.java;h=a8d3597cd7cd36a69b36cf212114b85dbb37626e;hb=c9e672bac3f6f5c168cd3a1914b565746bef281b;hp=479c60b7fb3dbc7c2a1913276802eb24742aa557;hpb=6e19a0e28c41d46c52f118bfdd6d6c9633061c13;p=utils
diff --git a/crawler/kissweb/src/org/wamblee/crawler/kiss/servlet/CrawlerServlet.java b/crawler/kissweb/src/org/wamblee/crawler/kiss/servlet/CrawlerServlet.java
index 479c60b7..a8d3597c 100644
--- a/crawler/kissweb/src/org/wamblee/crawler/kiss/servlet/CrawlerServlet.java
+++ b/crawler/kissweb/src/org/wamblee/crawler/kiss/servlet/CrawlerServlet.java
@@ -17,15 +17,17 @@
package org.wamblee.crawler.kiss.servlet;
import java.io.IOException;
-import java.util.Date;
+import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.wamblee.crawler.kiss.scheduling.CrawlerSchedule;
+import org.wamblee.crawler.kiss.main.Report;
+import org.wamblee.crawler.kiss.notification.Notifier;
import org.wamblee.crawler.kiss.scheduling.CrawlerScheduler;
+import org.wamblee.crawler.kiss.scheduling.CrawlerStatus;
import org.wamblee.general.BeanKernel;
/**
@@ -45,12 +47,22 @@ public class CrawlerServlet extends HttpServlet {
CrawlerScheduler scheduler = BeanKernel.getBeanFactory().find(
CrawlerScheduler.class);
- CrawlerSchedule status = BeanKernel.getBeanFactory().find(
- CrawlerSchedule.class);
+ CrawlerStatus status = BeanKernel.getBeanFactory().find(
+ CrawlerStatus.class);
try {
- if ( aRequest.getParameter("runnow") != null ) {
- status.setLastExecuted(new Date(System.currentTimeMillis() - 24*3600*1000));
+ if (aRequest.getParameter("details") != null) {
+ Report report = status.getLastReport();
+ if (report != null) {
+ Notifier notifier = BeanKernel.getBeanFactory().find(Notifier.class);
+ aResponse.setContentType("text/html");
+ OutputStream os = aResponse.getOutputStream();
+ os.write(notifier.asHtml(report.asXml()).getBytes());
+ return;
+ }
+ }
+ if (aRequest.getParameter("runnow") != null) {
+ status.setMustExecute(true);
scheduler.scheduleNow();
aResponse.sendRedirect("");
return;
@@ -59,10 +71,12 @@ public class CrawlerServlet extends HttpServlet {
aRequest.setAttribute("lastExecuted", status.getLastExecuted());
aRequest.setAttribute("lastResult", status.getLastResult());
aRequest.setAttribute("lastException", status.getLastException());
- String msg = "";
- Throwable e = status.getLastException();
- while ( e != null ) {
- msg = msg + e.getMessage() + "
";
+ aRequest.setAttribute("lastReport", status.getLastReport());
+ String msg = "";
+ Throwable e = status.getLastException();
+ while (e != null) {
+ msg = msg + e.getClass().getName() + ": " + e.getMessage()
+ + "
";
e = e.getCause();
}
aRequest.setAttribute("lastMessage", msg);