OSDN Git Service

meven
[hayashilib/hayashi.git] / src / main / java / hayashi / yuu / tools / mail / gui / SetupMailServer.java
diff --git a/src/main/java/hayashi/yuu/tools/mail/gui/SetupMailServer.java b/src/main/java/hayashi/yuu/tools/mail/gui/SetupMailServer.java
new file mode 100755 (executable)
index 0000000..2dedb5f
--- /dev/null
@@ -0,0 +1,169 @@
+package hayashi.yuu.tools.mail.gui;\r
+\r
+import hayashi.yuu.tools.properties.Properties;\r
+import hayashi.yuu.tools.properties.PropertyCheckItem;\r
+import hayashi.yuu.tools.properties.PropertyFieldItem;\r
+import hayashi.yuu.tools.properties.PropertyItem;\r
+import hayashi.yuu.tools.properties.PropertyPasswordItem;\r
+import hayashi.yuu.tools.mail.SiteData;\r
+\r
+import java.awt.Dimension;\r
+\r
+import javax.swing.BoxLayout;\r
+import javax.swing.JPanel;\r
+\r
+\r
+\r
+/**\r
+ * セットアップフォーム:[]\r
+ *     ・メール送信に関する設定\r
+ * (1)アイテム: [ mail.smtp.host : SMPTサーバー ]\r
+ * (2)アイテム: [ mail.smtp.port : SMPTサーバーのポート番号 ]\r
+ * (3)アイテム: [ MAIL_POP : POPサーバー ]\r
+ * (4)アイテム: [ mail.smtp.user : ユーザーID ]\r
+ * (5)アイテム: [ MAIL_PASSWORD : パスワード ]\r
+ * (6)アイテム: [ mail.smtp.auth : SMTP auth 認証 ]\r
+ * (7)アイテム: [ mail.smtp.starttls.enable : STARTTLS ]\r
+ * (8)アイテム: [ MAIL_POP_before_SMTP : POP before SMTP ]\r
+ * (9)アイテム: [ mail.smtp.from ]\r
+ */\r
+@SuppressWarnings("serial")\r
+public class SetupMailServer extends JPanel\r
+{\r
+    public static final int LINE_COUNT = 9;\r
+    public static final int CATEGORY_HEIGHT = PropertyItem.LINE_HEIGHT * LINE_COUNT;\r
+    PropertyFieldItem ismtp;           // 'mail.smtp.host' SMTPサーバー\r
+    PropertyFieldItem ismtpPort;       // 'mail.smtp.port' SMTPサーバーのポート番号(25)\r
+    PropertyFieldItem iPop;                    // 'MAIL_POP' POPサーバー\r
+    PropertyFieldItem iuser;           // 'mail.smtp.user' ユーザーID\r
+    PropertyPasswordItem ipassword;    // 'MAIL_PASSWORD' パスワード\r
+       PropertyCheckItem checkMailSMTPauth;    // 'mail.smtp.auth' : SMTP auth 認証\r
+       PropertyCheckItem checkSTARTTLS;        // 'mail.smtp.starttls.enable' : STARTTLS\r
+       PropertyCheckItem checkPOPbeforeSMTP;   // 'MAIL_POP_before_SMTP : "POP before SMTP'\r
+    PropertyFieldItem iFrom;           // 'mail.smtp.from' メール発信元アドレス\r
+    \r
+       public SetupMailServer(Properties prop) {\r
+               super();\r
+\r
+               /*\r
+                * カテゴリの配置\r
+                */\r
+           setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));\r
+\r
+           /*\r
+            * (1)アイテム: [ mail.smtp.host : SMPTサーバー ]\r
+            */\r
+           ismtp = new PropertyFieldItem(prop, "mail.smtp.host", "SMPTサーバー", true);\r
+               add(ismtp);\r
+               ismtp.setBounds(0, PropertyItem.LINE_HEIGHT * 0, PropertyItem.LINE_WIDTH, PropertyItem.LINE_HEIGHT);\r
+\r
+           /*\r
+            * (2)アイテム: [ mail.smtp.port : SMPTサーバーのポート番号 ]\r
+            */\r
+           ismtpPort = new PropertyFieldItem(prop, "mail.smtp.port", "ポート番号", true);\r
+               add(ismtpPort);\r
+               ismtpPort.setBounds(0, PropertyItem.LINE_HEIGHT * 1, PropertyItem.LINE_WIDTH, PropertyItem.LINE_HEIGHT);\r
+\r
+               /*\r
+                * (3)アイテム: [ MAIL_POP : POPサーバー ]\r
+                */\r
+               iPop = new PropertyFieldItem(prop, "MAIL_POP", "POPサーバー", true);\r
+               add(iPop);\r
+               iPop.setBounds(0, PropertyItem.LINE_HEIGHT * 2, PropertyItem.LINE_WIDTH, PropertyItem.LINE_HEIGHT);\r
+\r
+               /*\r
+                * (4)アイテム: [ mail.smtp.user : ユーザーID ]\r
+                */\r
+               iuser = new PropertyFieldItem(prop, "mail.smtp.user", "ユーザーID", true);\r
+               add(iuser);\r
+               iuser.setBounds(0, PropertyItem.LINE_HEIGHT * 3, PropertyItem.LINE_WIDTH, PropertyItem.LINE_HEIGHT);\r
+\r
+               /*\r
+                * (5)アイテム: [ MAIL_PASSWORD : パスワード ]\r
+                */\r
+               ipassword = new PropertyPasswordItem(prop, "MAIL_PASSWORD", "パスワード", true);\r
+               add(ipassword);\r
+               ipassword.setBounds(0, PropertyItem.LINE_HEIGHT * 4, PropertyItem.LINE_WIDTH, PropertyItem.LINE_HEIGHT);\r
+               \r
+               /*\r
+                * (6)アイテム: [ mail.smtp.auth : SMTP auth 認証 ]\r
+                */\r
+               checkMailSMTPauth = new PropertyCheckItem(prop, "mail.smtp.auth", "SMTP auth 認証", false, true);\r
+               add(checkMailSMTPauth);\r
+               checkMailSMTPauth.setBounds(PropertyItem.ITEM_WIDTH_1, PropertyItem.LINE_HEIGHT * 5, PropertyItem.ITEM_WIDTH_2, PropertyItem.LINE_HEIGHT);\r
+\r
+               /*\r
+                * (7)アイテム: [ mail.smtp.starttls.enable : STARTTLS ]\r
+                */\r
+               checkSTARTTLS = new PropertyCheckItem(prop, "mail.smtp.starttls.enable", "STARTTLS", false, true);\r
+               add(checkSTARTTLS);\r
+               checkSTARTTLS.setBounds(PropertyItem.ITEM_WIDTH_1, PropertyItem.LINE_HEIGHT * 6, PropertyItem.ITEM_WIDTH_2, PropertyItem.LINE_HEIGHT);\r
+\r
+               /*\r
+                * (8)アイテム: [ MAIL_POP_before_SMTP : POP before SMTP ]\r
+                */\r
+               checkPOPbeforeSMTP = new PropertyCheckItem(prop, "MAIL_POP_before_SMTP", "POP before SMTP", false, true);\r
+               add(checkPOPbeforeSMTP);\r
+               checkPOPbeforeSMTP.setBounds(PropertyItem.ITEM_WIDTH_1, PropertyItem.LINE_HEIGHT * 7, PropertyItem.ITEM_WIDTH_2, PropertyItem.LINE_HEIGHT);\r
+               \r
+               /*\r
+                * (9)アイテム: [ mail.smtp.from ]\r
+                */\r
+               iFrom = new PropertyFieldItem(prop, "mail.smtp.from", "発信元アドレス", true);\r
+               add(iFrom);\r
+               iFrom.setBounds(0, PropertyItem.LINE_HEIGHT * 8, PropertyItem.LINE_WIDTH, PropertyItem.LINE_HEIGHT);\r
+               \r
+               setPreferredSize(new Dimension(PropertyItem.LINE_WIDTH, CATEGORY_HEIGHT));\r
+       }\r
+       \r
+       public SiteData getSiteData() {\r
+               SiteData data = new SiteData("");\r
+\r
+               /*\r
+            * (1)アイテム: [ MAIL_SMTP : SMPTサーバー ]\r
+            */\r
+               data.MAIL_SMTP = ismtp.getValue();\r
+               \r
+           /*\r
+            * (2)アイテム: [ MAIL_SMTP_PORT : SMPTサーバーのポート番号 ]\r
+            */\r
+           data.MAIL_SMTP_PORT = ismtpPort.getValue();\r
+\r
+               /*\r
+                * (3)アイテム: [ MAIL_POP : POPサーバー ]\r
+                */\r
+               data.MAIL_POP = iPop.getValue();\r
+               \r
+               /*\r
+                * (4)アイテム: [ MAIL_USER_ID : ユーザーID ]\r
+                */\r
+               data.USER_ID = iuser.getValue();\r
+\r
+               /*\r
+                * (5)アイテム: [ MAIL_PASSWORD : パスワード ]\r
+                */\r
+               data.PASSWORD = ipassword.getValue();\r
+               \r
+               /*\r
+                * (6)アイテム: [ mail.smtp.auth : SMTP auth 認証 ]\r
+                */\r
+               data.USER_AUTH = checkMailSMTPauth.isSelected();\r
+\r
+               /*\r
+                * (7)アイテム: [ mail.smtp.starttls.enable : STARTTLS ]\r
+                */\r
+               data.STARTTLS = checkSTARTTLS.isSelected();\r
+\r
+               /*\r
+                * (8)アイテム: [ MAIL_POP_before_SMTP : POP before SMTP ]\r
+                */\r
+               data.POP_before_SMTP = checkPOPbeforeSMTP.isSelected();\r
+               \r
+               /*\r
+                * (9)アイテム: [ MAIL_FROM ]\r
+                */\r
+               data.MAIL_FROM = iFrom.getValue();\r
+               \r
+               return data;\r
+       }\r
+}\r