import org.wamblee.crawler.kiss.notification.MailNotifier;
import org.wamblee.crawler.kiss.notification.MailServer;
import org.wamblee.crawler.kiss.notification.Notifier;
+import org.wamblee.xml.XslTransformer;
/**
* Parse the configuration of desired programs.
*/
class ProgramConfigurationParser {
-
- /**
- *
- */
private static final int DEFAULT_SMTP_PORT = 25;
+
+ private static final int DEFAULT_PRIORITY = 1;
private static final String ELEM_PASSWORD = "password";
// 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";
private static final String ACTION_NOTIFY = "notify";
private List<ProgramFilter> _filters;
+
+ private XslTransformer _transformer;
private Notifier _notifier;
- ProgramConfigurationParser() {
+ ProgramConfigurationParser(XslTransformer aTransformer) {
_filters = null;
_notifier = null;
+ _transformer = aTransformer;
}
/**
}
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);
String htmlXslt = format.elementTextTrim(ELEM_HTML);
String textXslt = format.elementTextTrim(ELEM_TEXT);
- return new MailNotifier(from, to, subject, htmlXslt, textXslt, server);
+ return new MailNotifier(from, to, subject, htmlXslt, textXslt, server, _transformer);
}
/**
String username = aSmtp.elementTextTrim(ELEM_USERNAME);
String password = aSmtp.elementTextTrim(ELEM_PASSWORD);
- MailServer server = new MailServer(host, port, username, password);
- return server;
+ return new MailServer(host, port, username, password);
}
/**