(no commit message)
[utils] / crawler / kiss / src / org / wamblee / crawler / kiss / KissCrawler.java
index 0549e48f3a8a99910512c8ca125f574a021d027c..3ea7249902fd65d59c61a960c19b1e6009cac5bb 100644 (file)
@@ -135,19 +135,20 @@ public class KissCrawler {
 
         try {
             HttpClient client = new HttpClient();
-            // client.getHostConfiguration().setProxy("127.0.0.1", 3128);
+            //client.getHostConfiguration().setProxy("127.0.0.1", 3128);
 
             Crawler crawler = createCrawler(aCrawlerConfig, os, client);
             InputStream programConfigFile = new FileInputStream(new File(
                     aProgramConfig));
-            List<ProgramFilter> programFilters = new ProgramConfigurationParser()
-                    .parse(programConfigFile);
-
+            ProgramConfigurationParser parser = new ProgramConfigurationParser();
+            parser.parse(programConfigFile);
+            List<ProgramFilter> programFilters = parser.getFilters(); 
+            
             Page page = getStartPage(aStartUrl, crawler);
             TVGuide guide = createGuide(page);
             PrintVisitor printer = new PrintVisitor(System.out);
             guide.accept(printer);
-            processResults(programFilters, guide);
+            processResults(programFilters, guide, parser.getNotifier());
         } finally {
             os.flush();
             os.close();
@@ -166,7 +167,7 @@ public class KissCrawler {
      *             In case of problems sending a summary mail.
      */
     private void processResults(List<ProgramFilter> aProgramCondition,
-            TVGuide aGuide) throws MessagingException {
+            TVGuide aGuide, Notifier aNotifier) throws MessagingException {
         ProgramActionExecutor executor = new ProgramActionExecutor();
         for (ProgramFilter filter : aProgramCondition) {
             List<Program> programs = filter.apply(aGuide);
@@ -176,6 +177,11 @@ public class KissCrawler {
             }
         }
         executor.commit();
+        try {
+            aNotifier.send(executor.getXmlReport());
+        } catch (NotificationException e) { 
+            throw new RuntimeException(e);
+        }
         sendMail(executor);
     }