import java.io.InputStream;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
import java.util.Iterator;
import java.util.List;
-import javax.mail.internet.InternetAddress;
-
-import org.apache.commons.mail.SimpleEmail;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
*/
class ProgramConfigurationParser {
+ 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";
+
+ // Configuration of interesting programs.
+
private static final String ELEM_PROGRAM = "program";
private static final String ELEM_PATTERN = "match";
}
_filters = filters;
- Element notifier = root.element("notification");
+ Element notifier = root.element(ELEM_NOTIFICATION);
_notifier = parseNotifier(notifier);
} catch (DocumentException e) {
* @return Notifier
*/
private Notifier parseNotifier(Element aNotifier) {
- String from = aNotifier.elementTextTrim("from");
- String to = aNotifier.elementTextTrim("to");
- String subject = aNotifier.elementTextTrim("subject");
+ String from = aNotifier.elementTextTrim(ELEM_FROM);
+ String to = aNotifier.elementTextTrim(ELEM_TO);
+ String subject = aNotifier.elementTextTrim(ELEM_SUBJECT);
- Element smtp = aNotifier.element("smtp");
+ Element smtp = aNotifier.element(ELEM_SMTP);
MailServer server = parseMailServer( smtp );
- Element format = aNotifier.element("format");
- String htmlXslt = format.elementTextTrim("html");
- String textXslt = format.elementTextTrim("text");
+ 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);
}
/**
- * @param smtp
- * @return
+ * Parses the mail server from the XML.
+ * @param aSmtp Mail server configuration.
+ * @return Mail server.
*/
- private MailServer parseMailServer( Element smtp ) {
- String host = smtp.elementTextTrim("host");
- Element portElem = smtp.element("port");
+ private MailServer parseMailServer( Element aSmtp ) {
+ String host = aSmtp.elementTextTrim(ELEM_HOST);
+ Element portElem = aSmtp.element(ELEM_PORT);
int port = 25;
if ( portElem != null ) {
port = Integer.valueOf(portElem.getTextTrim());
}
- String username = smtp.elementTextTrim("username");
- String password = smtp.elementTextTrim("password");
+ String username = aSmtp.elementTextTrim(ELEM_USERNAME);
+ String password = aSmtp.elementTextTrim(ELEM_PASSWORD);
MailServer server = new MailServer(host, port, username, password);
return server;