X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=crawler%2Fkiss%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2Fkiss%2Fnotification%2FMailNotifier.java;h=558a7738a377cf9a63585f9d95c5327b87525cf9;hb=ced416c35f215bf01967df3060ab9206b4f455c7;hp=1c970a7151f11f1260583a873636299b3397ab5b;hpb=d85bc24e068a68a54786fae5dc71573607b3b0cb;p=utils diff --git a/crawler/kiss/src/org/wamblee/crawler/kiss/notification/MailNotifier.java b/crawler/kiss/src/org/wamblee/crawler/kiss/notification/MailNotifier.java index 1c970a71..558a7738 100644 --- a/crawler/kiss/src/org/wamblee/crawler/kiss/notification/MailNotifier.java +++ b/crawler/kiss/src/org/wamblee/crawler/kiss/notification/MailNotifier.java @@ -4,8 +4,6 @@ */ package org.wamblee.crawler.kiss.notification; -import java.io.ByteArrayOutputStream; -import java.io.File; import java.io.IOException; import java.util.Arrays; import java.util.Date; @@ -16,13 +14,8 @@ import javax.xml.transform.TransformerException; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; -import org.apache.xml.serialize.OutputFormat; -import org.apache.xml.serialize.XMLSerializer; import org.dom4j.Element; -import org.w3c.dom.Document; -import org.wamblee.io.FileResource; -import org.wamblee.io.InputResource; -import org.wamblee.xml.XSLT; +import org.wamblee.xml.XslTransformer; /** * A notifier that uses SMTP to notify users by mail. @@ -41,6 +34,8 @@ public class MailNotifier implements Notifier { private String _textXslt; private MailServer _server; + + private XslTransformer _transformer; /** * Constructs the notifier. @@ -57,15 +52,17 @@ public class MailNotifier implements Notifier { * XSLT file to transform the report into text. * @param aServer * Mail server to use. + * @param aTransformer Transformer to use. */ public MailNotifier(String aFrom, String aTo, String aSubject, - String aHtmlXslt, String aTextXslt, MailServer aServer) { + String aHtmlXslt, String aTextXslt, MailServer aServer, XslTransformer aTransformer) { _from = aFrom; _to = aTo; _subject = aSubject; _htmlXslt = aHtmlXslt; _textXslt = aTextXslt; _server = aServer; + _transformer = aTransformer; } /* @@ -84,10 +81,8 @@ public class MailNotifier implements Notifier { mail.setSentDate(new Date()); mail.setSubject(_subject); - String htmlText = transformReport(aReport, new FileResource( - new File(_htmlXslt))); - String plainText = transformReport(aReport, new FileResource( - new File(_textXslt))); + String htmlText = transformReport(aReport, _htmlXslt); + String plainText = transformReport(aReport, _textXslt); mail.setHtmlMsg(htmlText); mail.setTextMsg(plainText); @@ -117,9 +112,9 @@ public class MailNotifier implements Notifier { * @throws TransformerException * In case of problems transforming. */ - private String transformReport(Element aReport, InputResource aXslt) + private String transformReport(Element aReport, String aXslt) throws IOException, TransformerException { String reportXmlText = aReport.asXML(); - return new XSLT().textTransform(reportXmlText.getBytes(), aXslt); + return _transformer.textTransform(reportXmlText.getBytes(), _transformer.resolve(aXslt)); } }