OSDN Git Service

ディレクトリ構成を Maven 2 標準にすることで pom.xml を簡略化
[spring-ext/ozacc-mail.git] / src / java / com / ozacc / mail / impl / AbstractXMLMailBuilder.java
diff --git a/src/java/com/ozacc/mail/impl/AbstractXMLMailBuilder.java b/src/java/com/ozacc/mail/impl/AbstractXMLMailBuilder.java
deleted file mode 100755 (executable)
index de31f90..0000000
+++ /dev/null
@@ -1,274 +0,0 @@
-package com.ozacc.mail.impl;\r
-\r
-import java.io.File;\r
-import java.io.IOException;\r
-import java.io.InputStream;\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-\r
-import javax.xml.parsers.DocumentBuilder;\r
-import javax.xml.parsers.DocumentBuilderFactory;\r
-import javax.xml.parsers.FactoryConfigurationError;\r
-import javax.xml.parsers.ParserConfigurationException;\r
-\r
-import org.w3c.dom.Document;\r
-import org.w3c.dom.Element;\r
-import org.w3c.dom.Node;\r
-import org.w3c.dom.NodeList;\r
-import org.xml.sax.SAXException;\r
-\r
-import com.ozacc.mail.Mail;\r
-\r
-/**\r
- * XMLMailBuilder実装が継承する基底クラス。\r
- * \r
- * @since 1.1\r
- * \r
- * @author Tomohiro Otsuka\r
- * @version $Id: AbstractXMLMailBuilder.java,v 1.4.2.2 2004/11/25 08:00:49 otsuka Exp $\r
- */\r
-public abstract class AbstractXMLMailBuilder {\r
-\r
-       protected Map documentBuilderCache;\r
-\r
-       /**\r
-        * コンストラクタ。\r
-        */\r
-       public AbstractXMLMailBuilder() {\r
-               documentBuilderCache = new HashMap();\r
-       }\r
-\r
-       /**\r
-        * 指定されたXMLファイルを読み込み、DOM Documentを生成します。\r
-        * ignoreCommentが指定されている場合は、XMLのコメントを削除しません。\r
-        * \r
-        * @param file XMLファイル\r
-        * @return DOM Document\r
-        * @throws IOException\r
-        * @throws SAXException\r
-        */\r
-       protected synchronized Document getDocumentFromFile(File file, boolean ignoreComment)\r
-                                                                                                                                                                                       throws SAXException,\r
-                                                                                                                                                                                       IOException {\r
-               DocumentBuilder db = createDocumentBuilder(ignoreComment);\r
-               return db.parse(file);\r
-       }\r
-\r
-       /**\r
-        * 指定されたXMLファイルを読み込み、DOM Documentを生成します。\r
-        * XMLのコメントや改行は削除されます。\r
-        * \r
-        * @param file XMLファイル\r
-        * @return DOM Document\r
-        * @throws IOException\r
-        * @throws SAXException\r
-        */\r
-       protected Document getDocumentFromFile(File file) throws SAXException, IOException {\r
-               return getDocumentFromFile(file, true);\r
-       }\r
-\r
-       /**\r
-        * DocumentBuilderインスタンスを生成します。\r
-        * ignoreCommentが指定されている場合は、コメントを削除しないように設定されたDocumentBuilderを生成します。\r
-        * \r
-        * @param ignoreComment\r
-        * @return DocumentBuilder\r
-        * @throws FactoryConfigurationError \r
-        */\r
-       protected DocumentBuilder createDocumentBuilder(boolean ignoreComment)\r
-                                                                                                                                                       throws FactoryConfigurationError {\r
-               Boolean dbKey = Boolean.valueOf(ignoreComment);\r
-               DocumentBuilder db = (DocumentBuilder)documentBuilderCache.get(dbKey);\r
-               if (db == null) {\r
-                       DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();\r
-                       dbf.setIgnoringComments(ignoreComment);\r
-                       dbf.setCoalescing(ignoreComment);\r
-                       dbf.setIgnoringElementContentWhitespace(true);\r
-                       dbf.setValidating(true);\r
-                       try {\r
-                               db = dbf.newDocumentBuilder();\r
-                               db.setEntityResolver(new DTDEntityResolver());\r
-                               documentBuilderCache.put(dbKey, db);\r
-                       } catch (ParserConfigurationException e) {\r
-                               // never be thrown\r
-                               throw new RuntimeException(e);\r
-                       }\r
-               }\r
-               return db;\r
-       }\r
-\r
-       /**\r
-        * DocumentBuilderインスタンスを生成します。\r
-        * このDocumentBuilderを使用して生成されるDOM Documentでは、元のXMLデータにあるコメントは削除されます。\r
-        * \r
-        * @return DocumentBuilder\r
-        * @throws FactoryConfigurationError \r
-        */\r
-       protected DocumentBuilder createDocumentBuilder() throws FactoryConfigurationError {\r
-               return createDocumentBuilder(true);\r
-       }\r
-\r
-       /**\r
-        * 指定されたクラスパスのXMLファイルを読み込み、DOM Documentを生成します。\r
-        * ignoreCommentが指定されている場合は、XMLのコメントを削除しません。\r
-        * \r
-        * @param ignoreComment\r
-        * @param classPath\r
-        * @return DOM Document\r
-        * @throws IOException\r
-        * @throws SAXException\r
-        */\r
-       protected synchronized Document getDocumentFromClassPath(String classPath, boolean ignoreComment)\r
-                                                                                                                                                                                                               throws SAXException,\r
-                                                                                                                                                                                                               IOException {\r
-               InputStream is = getClass().getResourceAsStream(classPath);\r
-               DocumentBuilder db = createDocumentBuilder(ignoreComment);\r
-               try {\r
-                       return db.parse(is);\r
-               } finally {\r
-                       if (is != null) {\r
-                               is.close();\r
-                       }\r
-               }\r
-       }\r
-\r
-       /**\r
-        * 指定されたクラスパスのXMLファイルを読み込み、DOM Documentを生成します。\r
-        * XMLのコメントや改行は削除されます。\r
-        * \r
-        * @param classPath\r
-        * @return DOM Document\r
-        * @throws IOException\r
-        * @throws SAXException\r
-        */\r
-       protected Document getDocumentFromClassPath(String classPath) throws SAXException, IOException {\r
-               return getDocumentFromClassPath(classPath, true);\r
-       }\r
-\r
-       /**\r
-        * @param root\r
-        * @param mail \r
-        */\r
-       protected void setReplyTo(Element root, Mail mail) {\r
-               NodeList nodes = root.getElementsByTagName("replyTo");\r
-               Element replyTo = (Element)nodes.item(0);\r
-               if (replyTo != null && replyTo.getAttribute("email").length() > 0) {\r
-                       mail.setReplyTo(replyTo.getAttribute("email"));\r
-               }\r
-       }\r
-\r
-       /**\r
-        * @param root\r
-        * @param mail \r
-        */\r
-       protected void setText(Element root, Mail mail) {\r
-               NodeList nodes = root.getElementsByTagName("body");\r
-               Element bodyElem = (Element)nodes.item(0);\r
-               if (bodyElem == null) {\r
-                       return;\r
-               }\r
-               String body = bodyElem.getFirstChild().getNodeValue();\r
-               mail.setText(body.trim());\r
-       }\r
-\r
-       /**\r
-        * HTML本文をセット。\r
-        * \r
-        * @param root\r
-        * @param mail\r
-        */\r
-       protected void setHtml(Element root, Mail mail) {\r
-               NodeList nodes = root.getElementsByTagName("html");\r
-               Element htmlElem = (Element)nodes.item(0);\r
-               if (htmlElem == null) {\r
-                       return;\r
-               }\r
-               String html = htmlElem.getFirstChild().getNodeValue();\r
-               mail.setHtmlText(html.trim());\r
-       }\r
-\r
-       /**\r
-        * @param root\r
-        * @param mail \r
-        */\r
-       protected void setSubject(Element root, Mail mail) {\r
-               NodeList nodes = root.getElementsByTagName("subject");\r
-               Element subjectElem = (Element)nodes.item(0);\r
-               if (subjectElem == null) {\r
-                       return;\r
-               }\r
-               String subject = subjectElem.getFirstChild().getNodeValue();\r
-               mail.setSubject(subject.trim());\r
-       }\r
-\r
-       /**\r
-        * @param root\r
-        * @param mail \r
-        */\r
-       protected void setRecipients(Element root, Mail mail) {\r
-               NodeList nodes = root.getElementsByTagName("recipients");\r
-               Element recipientsElem = (Element)nodes.item(0);\r
-               if (recipientsElem == null) {\r
-                       return;\r
-               }\r
-\r
-               NodeList recipientElemList = recipientsElem.getChildNodes();\r
-               for (int i = 0, max = recipientElemList.getLength(); i < max; i++) {\r
-                       Node node = recipientElemList.item(i);\r
-                       if (node.getNodeType() != Node.ELEMENT_NODE) {\r
-                               continue;\r
-                       }\r
-                       Element e = (Element)node;\r
-                       if ("to".equals(e.getNodeName())) { // to\r
-                               if (e.getAttribute("email").length() > 0) {\r
-                                       if (e.getAttribute("name").length() > 0) {\r
-                                               mail.addTo(e.getAttribute("email"), e.getAttribute("name"));\r
-                                       } else {\r
-                                               mail.addTo(e.getAttribute("email"));\r
-                                       }\r
-                               }\r
-                       } else if ("cc".equals(e.getNodeName())) { // cc\r
-                               if (e.getAttribute("email").length() > 0) {\r
-                                       if (e.getAttribute("name").length() > 0) {\r
-                                               mail.addCc(e.getAttribute("email"), e.getAttribute("name"));\r
-                                       } else {\r
-                                               mail.addCc(e.getAttribute("email"));\r
-                                       }\r
-                               }\r
-                       } else {\r
-                               if (e.getAttribute("email").length() > 0) { // bcc\r
-                                       mail.addBcc(e.getAttribute("email"));\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-\r
-       /**\r
-        * @param root\r
-        * @param mail \r
-        */\r
-       protected void setReturnPath(Element root, Mail mail) {\r
-               NodeList nodes = root.getElementsByTagName("returnPath");\r
-               Element returnPath = (Element)nodes.item(0);\r
-               if (returnPath != null && returnPath.getAttribute("email").length() > 0) {\r
-                       mail.setReturnPath(returnPath.getAttribute("email"));\r
-               }\r
-       }\r
-\r
-       /**\r
-        * @param root\r
-        * @param mail \r
-        */\r
-       protected void setFrom(Element root, Mail mail) {\r
-               NodeList nodes = root.getElementsByTagName("from");\r
-               Element from = (Element)nodes.item(0);\r
-               if (from != null && from.getAttribute("email").length() > 0) {\r
-                       if (from.getAttribute("name").length() > 0) {\r
-                               mail.setFrom(from.getAttribute("email"), from.getAttribute("name"));\r
-                       } else {\r
-                               mail.setFrom(from.getAttribute("email"));\r
-                       }\r
-               }\r
-       }\r
-\r
-}
\ No newline at end of file