X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=crawler%2Fkiss%2Fsrc%2Forg%2Fwamblee%2Fcrawler%2Fkiss%2Fnotification%2FMailNotifier.java;h=e464657214c2560b1dba226445853d82acbaaa09;hb=54d040ce5ecbe8f1dce9cd9e4a9dd3c0417361b5;hp=536135b28508288f65f42bf82f3ea3089584d66c;hpb=951167e3811e07ba8c8c02226fe08a8bca6acc3f;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 536135b2..e4646572 100644 --- a/crawler/kiss/src/org/wamblee/crawler/kiss/notification/MailNotifier.java +++ b/crawler/kiss/src/org/wamblee/crawler/kiss/notification/MailNotifier.java @@ -1,6 +1,17 @@ -/** - * 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; @@ -15,8 +26,7 @@ import javax.xml.transform.TransformerException; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; import org.dom4j.Element; -import org.wamblee.xml.ClasspathUriResolver; -import org.wamblee.xml.XSLT; +import org.wamblee.xml.XslTransformer; /** * A notifier that uses SMTP to notify users by mail. @@ -35,6 +45,8 @@ public class MailNotifier implements Notifier { private String _textXslt; private MailServer _server; + + private XslTransformer _transformer; /** * Constructs the notifier. @@ -51,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; } /* @@ -112,7 +126,20 @@ public class MailNotifier implements Notifier { private String transformReport(Element aReport, String aXslt) throws IOException, TransformerException { String reportXmlText = aReport.asXML(); - XSLT xsltProcessor = new XSLT(new ClasspathUriResolver()); - return xsltProcessor.textTransform(reportXmlText.getBytes(), xsltProcessor.resolve(aXslt)); + return _transformer.textTransform(reportXmlText.getBytes(), _transformer.resolve(aXslt)); + } + + /* (non-Javadoc) + * @see org.wamblee.crawler.kiss.notification.Notifier#asHtml(org.dom4j.Element) + */ + public String asHtml(Element aReport) throws IOException, TransformerException { + return transformReport(aReport, _htmlXslt); + } + + /* (non-Javadoc) + * @see org.wamblee.crawler.kiss.notification.Notifier#asText(org.dom4j.Element) + */ + public String asText(Element aReport) throws IOException, TransformerException { + return transformReport(aReport, _textXslt); } }