(no commit message)
[utils] / crawler / kiss / src / org / wamblee / crawler / kiss / main / ProgramConfigurationParser.java
index 103ec0702c6caea299ca6583e265797c6e7cc8ee..8a5d5acaf1880886b21e1736fb504b9f46190730 100644 (file)
@@ -30,50 +30,18 @@ import org.wamblee.conditions.AndCondition;
 import org.wamblee.conditions.Condition;
 import org.wamblee.conditions.PropertyRegexCondition;
 import org.wamblee.crawler.kiss.guide.Program;
-import org.wamblee.crawler.kiss.notification.MailNotifier;
-import org.wamblee.crawler.kiss.notification.MailServer;
-import org.wamblee.crawler.kiss.notification.Notifier;
 
 /**
  * Parse the configuration of desired programs.
  */
 class ProgramConfigurationParser {
-
-    /**
-     * 
-     */
-    private static final int DEFAULT_SMTP_PORT = 25;
-
-    private static final String ELEM_PASSWORD = "password";
-
-    private static final String ELEM_USERNAME = "username";
-
-    private static final String ELEM_PORT = "port";
-
-    private static final String ELEM_HOST = "host";
-
-    // Formatting configuration.
-    private static final String ELEM_FORMAT = "format";
-
-    private static final String ELEM_TEXT = "text";
-
-    private static final String ELEM_HTML = "html";
-
-    // Mail server configuration.
-
-    private static final String ELEM_NOTIFICATION = "notification";
-
-    private static final String ELEM_SMTP = "smtp";
-
-    private static final String ELEM_SUBJECT = "subject";
-
-    private static final String ELEM_TO = "to";
-
-    private static final String ELEM_FROM = "from";
+    private static final int DEFAULT_PRIORITY = 1; 
 
     // Configuration of interesting programs.
 
     private static final String ELEM_PROGRAM = "program";
+    
+    private static final String ELEM_PRIORITY = "priority";
 
     private static final String ELEM_PATTERN = "match";
 
@@ -85,11 +53,8 @@ class ProgramConfigurationParser {
 
     private List<ProgramFilter> _filters;
 
-    private Notifier _notifier;
-
     ProgramConfigurationParser() {
         _filters = null;
-        _notifier = null;
     }
 
     /**
@@ -117,7 +82,12 @@ class ProgramConfigurationParser {
                 }
 
                 Element actionElem = program.element(ELEM_ACTION);
-                ProgramAction action = new RecordProgramAction(1);
+                int priority = DEFAULT_PRIORITY; 
+                String priorityString = program.elementTextTrim(ELEM_PRIORITY);
+                if ( priorityString != null ) { 
+                    priority = Integer.valueOf(priorityString);
+                }
+                ProgramAction action = new RecordProgramAction(priority);
                 if (actionElem != null) {
                     if (actionElem.getText().equals(ACTION_NOTIFY)) {
                         action = new InterestingProgramAction(category);
@@ -142,56 +112,11 @@ class ProgramConfigurationParser {
                 filters.add(new ProgramFilter(condition, action));
             }
             _filters = filters;
-
-            Element notifier = root.element(ELEM_NOTIFICATION);
-            _notifier = parseNotifier(notifier);
-
         } catch (DocumentException e) {
             throw new RuntimeException("Error parsing program configuraiton", e);
         }
     }
 
-    /**
-     * Parses the notifier
-     * 
-     * @return Notifier
-     */
-    private Notifier parseNotifier(Element aNotifier) {
-        String from = aNotifier.elementTextTrim(ELEM_FROM);
-        String to = aNotifier.elementTextTrim(ELEM_TO);
-        String subject = aNotifier.elementTextTrim(ELEM_SUBJECT);
-
-        Element smtp = aNotifier.element(ELEM_SMTP);
-        MailServer server = parseMailServer(smtp);
-
-        Element format = aNotifier.element(ELEM_FORMAT);
-        String htmlXslt = format.elementTextTrim(ELEM_HTML);
-        String textXslt = format.elementTextTrim(ELEM_TEXT);
-
-        return new MailNotifier(from, to, subject, htmlXslt, textXslt, server);
-    }
-
-    /**
-     * Parses the mail server from the XML.
-     * 
-     * @param aSmtp
-     *            Mail server configuration.
-     * @return Mail server.
-     */
-    private MailServer parseMailServer(Element aSmtp) {
-        String host = aSmtp.elementTextTrim(ELEM_HOST);
-        Element portElem = aSmtp.element(ELEM_PORT);
-        int port = DEFAULT_SMTP_PORT;
-        if (portElem != null) {
-            port = Integer.valueOf(portElem.getTextTrim());
-        }
-        String username = aSmtp.elementTextTrim(ELEM_USERNAME);
-        String password = aSmtp.elementTextTrim(ELEM_PASSWORD);
-
-        MailServer server = new MailServer(host, port, username, password);
-        return server;
-    }
-
     /**
      * Returns the list of program filters.
      * 
@@ -200,13 +125,4 @@ class ProgramConfigurationParser {
     public List<ProgramFilter> getFilters() {
         return _filters;
     }
-
-    /**
-     * Returns the notifier to use.
-     * 
-     * @return Notifier.
-     */
-    public Notifier getNotifier() {
-        return _notifier;
-    }
 }