X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=crawler%2Fkissweb%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2Fkiss%2Fservlet%2FCrawlerServlet.java;h=a8d3597cd7cd36a69b36cf212114b85dbb37626e;hb=a4989a42abd15edeb746619e339c8f5a87f9fc78;hp=479c60b7fb3dbc7c2a1913276802eb24742aa557;hpb=945d06753950da5bb62974c13cd5d24a3f390115;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);