X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=crawler%2Fkiss%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2Fkiss%2FMailNotifier.java;h=c8074ced0ed6e8cfab88aceb217014f27ae542c7;hb=4396b19804a64ca19cdf6508878ea17332069b72;hp=c602f63f91ed1867ad9495d5d70071617400c3da;hpb=bd7ff4fd9e484dfe7c723c3b1e12fddc03efc9ea;p=utils diff --git a/crawler/kiss/src/org/wamblee/crawler/kiss/MailNotifier.java b/crawler/kiss/src/org/wamblee/crawler/kiss/MailNotifier.java index c602f63f..c8074ced 100644 --- a/crawler/kiss/src/org/wamblee/crawler/kiss/MailNotifier.java +++ b/crawler/kiss/src/org/wamblee/crawler/kiss/MailNotifier.java @@ -24,6 +24,10 @@ import org.wamblee.io.FileResource; import org.wamblee.io.InputResource; import org.wamblee.xml.XSLT; +/** + * A notifier that uses SMTP to notify users by mail. + * + */ public class MailNotifier implements Notifier { private String _from; @@ -33,6 +37,16 @@ public class MailNotifier implements Notifier { private String _textXslt; private MailServer _server; + /** + * Constructs the notifier. + * + * @param aFrom Sender mail address to use. + * @param aTo Recipient mail address to use. + * @param aSubject Subject to use in the email. + * @param aHtmlXslt XSLT file to transform the report into HTML. + * @param aTextXslt XSLT file to transform the report into text. + * @param aServer Mail server to use. + */ public MailNotifier( String aFrom, String aTo, String aSubject, String aHtmlXslt, String aTextXslt, MailServer aServer) { _from = aFrom; @@ -43,6 +57,10 @@ public class MailNotifier implements Notifier { _server = aServer; } + /* + * (non-Javadoc) + * @see org.wamblee.crawler.kiss.Notifier#send(org.dom4j.Element) + */ public void send( Element aReport ) throws NotificationException { HtmlEmail mail = new HtmlEmail(); try { @@ -54,6 +72,8 @@ public class MailNotifier implements Notifier { String htmlText = transformReport( aReport, new FileResource(new File(_htmlXslt)) ); String plainText = transformReport( aReport, new FileResource(new File(_textXslt)) ); + + mail.setHtmlMsg(htmlText); mail.setTextMsg(plainText); @@ -71,26 +91,15 @@ public class MailNotifier implements Notifier { } /** - * @param aReport - * @return - * @throws IOException - * @throws TransformerException + * Transforms a report into a destination format. + * @param aReport Report to transform + * @param aXslt XSLT to use. + * @return Transformed result. + * @throws IOException In case of IO problems. + * @throws TransformerException In case of problems transforming. */ private String transformReport( Element aReport, InputResource aXslt ) throws IOException, TransformerException { String reportXmlText = aReport.asXML(); - Document document = new XSLT().transform(reportXmlText.getBytes(), aXslt); - ByteArrayOutputStream transformed = new ByteArrayOutputStream(); - XMLSerializer serializer = new XMLSerializer(transformed, new OutputFormat()); - serializer.serialize(document); - return transformed.toString(); + return new XSLT().textTransform(reportXmlText.getBytes(), aXslt); } - - /** - * @param args - */ - public static void main( String[] args ) { - // TODO Auto-generated method stub - - } - }