-/**
- * 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 org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.dom4j.Element;
-import org.wamblee.xml.ClasspathUriResolver;
import org.wamblee.xml.XslTransformer;
/**
private String _textXslt;
private MailServer _server;
+
+ private XslTransformer _transformer;
/**
* Constructs the 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;
}
/*
private String transformReport(Element aReport, String aXslt)
throws IOException, TransformerException {
String reportXmlText = aReport.asXML();
- XslTransformer xsltProcessor = new XslTransformer(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);
}
}