X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=crawler%2Fkiss%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2Fkiss%2Fmain%2FProgramConfigurationParser.java;h=8a5d5acaf1880886b21e1736fb504b9f46190730;hb=fe5539c3fc40659242cac7b2954a04101ba94504;hp=103ec0702c6caea299ca6583e265797c6e7cc8ee;hpb=94445186085ec1ec27bed5a5c07b634da957eb08;p=utils diff --git a/crawler/kiss/src/org/wamblee/crawler/kiss/main/ProgramConfigurationParser.java b/crawler/kiss/src/org/wamblee/crawler/kiss/main/ProgramConfigurationParser.java index 103ec070..8a5d5aca 100644 --- a/crawler/kiss/src/org/wamblee/crawler/kiss/main/ProgramConfigurationParser.java +++ b/crawler/kiss/src/org/wamblee/crawler/kiss/main/ProgramConfigurationParser.java @@ -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 _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 getFilters() { return _filters; } - - /** - * Returns the notifier to use. - * - * @return Notifier. - */ - public Notifier getNotifier() { - return _notifier; - } }