X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=crawler%2Fkiss%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2Fkiss%2Fnotification%2FMailNotifier.java;h=3b6431d763db1ec78e290fba51bf185e2a1309e0;hb=3c68ffbb4f2b908015301accc3f4473acc4619e2;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..3b6431d7 100644 --- a/crawler/kiss/src/org/wamblee/crawler/kiss/notification/MailNotifier.java +++ b/crawler/kiss/src/org/wamblee/crawler/kiss/notification/MailNotifier.java @@ -1,11 +1,20 @@ -/** - * Copyright (c) 2005 UPS_SCS NL - * +/* + * Copyright 2006 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ 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 +25,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 +45,8 @@ public class MailNotifier implements Notifier { private String _textXslt; private MailServer _server; + + private XslTransformer _transformer; /** * Constructs the notifier. @@ -57,15 +63,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 +92,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 +123,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)); } }