001 /*
002 * Copyright (c) 2009 The openGion Project.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
013 * either express or implied. See the License for the specific language
014 * governing permissions and limitations under the License.
015 */
016 package org.opengion.hayabusa.taglib;
017
018 import static org.opengion.fukurou.util.StringUtil.nval;
019
020 import java.util.Locale;
021 import java.util.Map;
022 import java.util.HashMap;
023 import java.util.Enumeration;
024
025 import org.opengion.fukurou.util.ErrorMessage;
026 import org.opengion.fukurou.util.StringUtil;
027 import org.opengion.hayabusa.common.HybsSystem;
028 import org.opengion.hayabusa.common.HybsSystemException;
029 import org.opengion.hayabusa.mail.MailManager_DIRECT;
030 import org.opengion.hayabusa.db.DBTableModel;
031
032 import javax.servlet.ServletRequest ;
033
034 /**
035 * 定型æ–?Šã‚ˆã?パラメータã®è¨å®šã«ã‚ˆã‚‹ãƒ¡ãƒ¼ãƒ«ã‚’é?ä¿¡ã™ã‚‹ãŸã‚ã®ã‚¿ã‚°ã§ã™ã?
036 *
037 * @og.formSample
038 * â—å½¢å¼ï¼?lt;og:mailSender ptnId="…" action="…" from="…" to="…" />
039 * â—body?šãªã?
040 *
041 * â—Tag定義??
042 * <og:mailSender2
043 * ptnId â—‹ã?TAG】メール定型æ–??IDを指定ã—ã¾ã?å¿??)ã€?
044 * from â—‹ã?TAG】é?ä¿¡å…??¦?²?¯?)ã®ç¤¾å“¡IDを指定ã—ã¾ã?å¿??)ã€?
045 * action â—‹ã?TAG】アクション[CHECK/SEND/NOCHECK]ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?å¿??)ã€?
046 * addrCheck ã€TAGã€‘ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æ§‹æ–‡ã¨ãƒ¡ãƒ¼ãƒ«ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã?ãƒã‚§ãƒ?‚¯ã‚’ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?
047 * to ã€TAG】é?ä¿¡å…??´?¯)ã®ç¤¾å“¡IDã€ã‚°ãƒ«ãƒ¼ãƒ—IDã‚’CSVå½¢å¼ã§æŒ?®šã—ã¾ã?
048 * cc ã€TAG】é?ä¿¡å…??£?£)ã®ç¤¾å“¡IDã€ã‚°ãƒ«ãƒ¼ãƒ—IDã‚’CSVå½¢å¼ã§æŒ?®šã—ã¾ã?
049 * bcc ã€TAG】é?ä¿¡å…??¢?£?£)ã®ç¤¾å“¡IDã€ã‚°ãƒ«ãƒ¼ãƒ—IDã‚’CSVå½¢å¼ã§æŒ?®šã—ã¾ã?
050 * tableId ã€TAGã€?通常ã¯ä½¿ã?¾ã›ã‚“)å®›å?ã®DBTableModelã‚’ã?sessionã«ç™»éŒ²ã™ã‚‹ã¨ãã?ã‚ーを指定ã—ã¾ã?
051 * scope ã€TAG】ã‚ャãƒ?‚·ãƒ¥ã™ã‚‹å ´åˆã?スコープ[request/page/session/applicaton]を指定ã—ã¾ã?åˆæœŸå€¤:session)
052 * fileURL ã€TAG】添付ファイルã®ã‚»ãƒ¼ãƒ–ディレクトリを指定ã—ã¾ã?(åˆæœŸå€¤:FILE_URL[=filetemp/])
053 * filename ã€TAG】添付ファイルåã‚’CSVå½¢å¼ã§æŒ?®šã—ã¾ã?
054 * useStop ã€TAG】例外発生ã—ãŸå?åˆã?後続JSPã®è©•ä¾¡ã‚’ä¸æ¢ã™ã‚‹ã‹ã©ã?‹[true:䏿¢/false:継続]を指定ã—ã¾ã?
055 * debug ã€TAG】デãƒãƒƒã‚°æƒ??ã‚’å?力ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false)
056 * />
057 *
058 * â—使用ä¾?
059 * <og:mailSender2 >
060 * ptnId = PtnId 定型文ID(定型æ–??スタã«ç™»éŒ²ã•れã¦ã?‚‹å®šåž‹æ–‡ID)
061 * action = Action アクション(CHECK:確èªã‚ã‚?SEND:確èªå¾Œã?é€ä¿¡/NOCHECK:確èªãªã?
062 * from = From é€ä¿¡å…?é€ä¿¡è€?¤¾å“¡ID)
063 * to = To é€ä¿¡å…?コンマ区åˆ?‚Šã§è¤?•°ã‚»ãƒ?ƒˆå¯èƒ½ã€ç¤¾å“¡IDã€ã‚°ãƒ«ãƒ¼ãƒ—ID)
064 * cc = Cc é€ä¿¡å…?コンマ区åˆ?‚Šã§è¤?•°ã‚»ãƒ?ƒˆå¯èƒ½ã€ç¤¾å“¡IDã€ã‚°ãƒ«ãƒ¼ãƒ—ID)
065 * bcc = Bcc é€ä¿¡å…?コンマ区åˆ?‚Šã§è¤?•°ã‚»ãƒ?ƒˆå¯èƒ½ã€ç¤¾å“¡IDã€ã‚°ãƒ«ãƒ¼ãƒ—ID)
066 * fileURL = 添付ファイルã®ã‚»ãƒ¼ãƒ–ディレクトリ
067 * filename = 添付ファイルå?ãƒãƒ¼ã‚«ãƒ«ã«ã‚»ãƒ¼ãƒ–ã•れãŸãƒ•ァイルå?(コンマ区åˆ?‚Šã§è¤?•°ç™»éŒ²å¯èƒ½)
068 * addrCheck = true/false(メールアカウントã?有効ãƒã‚§ãƒ?‚¯)
069 * useStop = true/falseã€?‚¨ãƒ©ãƒ¼ç™ºç”Ÿæ™‚ã«å¾Œç¶šJSPã®è©•ä¾¡ã‚’ä¸æ¢ã™ã‚‹(true)/䏿¢ã—ãªã?false)
070 * scope = request/session å®›å?ãƒ??ãƒ–ãƒ«ã®æ ¼ç´ã‚¹ã‚³ãƒ¼ãƒ?ãƒ?ƒ•ォルト:session)
071 * tableId = TableId å®›å?ãƒ??ブルã®ID(通常ã¯ãƒ?ƒ•ォルトã?ãƒ??ブルモãƒ?ƒ«IDå称を利用ã—ã¾ã?
072 * debug = true/false
073 * </og:mailSender >
074 *
075 * from ã«ã¯ç¤¾å“¡IDã—ã‹ã‚»ãƒ?ƒˆã§ãã¾ã›ã‚“ã€?
076 * to,cc,bccã«ã¯ç¤¾å“¡IDã€ã¾ãŸã?グループIDをコンマ区åˆ?‚Šã§è¤?•°ã‚»ãƒ?ƒˆã§ãã¾ã™ã?
077 * action:CHECK ã¯é€ä¿¡å‰ã«ã€ä¸?º¦é€ä¿¡å†?®¹ã‚’確èªã—ãŸã„å ´åˆã«åˆ©ç”¨ã—ã¾ã™ã?action=CHECKã®å ´åˆã?scopeã«ã¯sessionã—ã‹ã‚»ãƒ?ƒˆã§ãã¾ã›ã‚“ã€?
078 * action:SEND ã¯ç¢ºèªæ¸ˆã?メールæ–?‚’é€ä¿¡ã™ã‚‹å ´åˆã«åˆ©ç”¨ã—ã¾ã™ã?
079 * action:NOCHECK ã¯ç¢ºèªãªã—ã§é€ä¿¡ã—ãŸã??åˆã«åˆ©ç”¨ã—ã¾ã™ã?
080 *
081 * @og.group ãã?ä»–å?åŠ?
082 *
083 * @version 4.0
084 * @author Sen.Li
085 * @since JDK1.6
086 */
087 public class MailSenderTag2 extends CommonTagSupport {
088 private static final String VERSION = "4.4.0.0 (2009/01/05)";
089 private static final long serialVersionUID = 440020090105L;
090
091 private static final String ACT_CHECK = "CHECK" ;
092 private static final String ACT_SEND = "SEND" ;
093 private static final String ACT_NOCHECK = "NOCHECK" ;
094 private static final int MAX_FILE_COUNT = 5 ;
095 private static final String[] ACTION_LIST = new String[] { ACT_CHECK , ACT_SEND, ACT_NOCHECK };
096 private String ptnId = null;
097 private String action = null;
098 private String from = null;
099 private String to = null;
100 private String cc = null;
101 private String bcc = null;
102 private String fileURL = HybsSystem.sys( "FILE_URL" );
103 private String[] filename = null;
104 private String tableId = HybsSystem.TBL_MDL_KEY ;
105 private boolean addrCheck = false;
106 private boolean useStop = true;
107
108 /**
109 * Taglibã®çµ‚äº?‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doEndTag() ã‚?オーãƒã?ライドã—ã¾ã™ã?
110 *
111 * @return 後続å?ç??æŒ?¤º
112 */
113 @Override
114 public int doEndTag() {
115 debugPrint();
116 int rtnCode = EVAL_PAGE;
117 int errCode = ErrorMessage.OK;
118
119 if( check( action, ACTION_LIST ) ) {
120 try {
121 tableId = ( tableId == null ) ? HybsSystem.TBL_MDL_KEY:tableId;
122 MailManager_DIRECT manager = new MailManager_DIRECT();
123 manager.setResourceManager( getResource() );
124 DBTableModel table = null;
125
126 if ( ACT_NOCHECK.equals( action ) || ACT_CHECK.equals( action ) ){
127 Map<String,String> initParamMap = makeParamMap();
128 manager.create( initParamMap );
129 }
130 if( ACT_NOCHECK.equals( action ) ) {
131 manager.setDebug( isDebug() );
132 manager.send();
133 }
134 else if ( ACT_CHECK.equals( action ) ) {
135 setSessionAttribute( "MAIL.FROM_ADDR", manager.getFromAddr() );
136 setSessionAttribute( "MAIL.PTN_ID", ptnId );
137 setSessionAttribute( "MAIL.TITLE", manager.getTitle() );
138 setSessionAttribute( "MAIL.CONTENT", manager.getContent() );
139 }
140 else if ( ACT_SEND.equals( action ) ) {
141 ptnId = (String) getSessionAttribute( "MAIL.PTN_ID" );
142 Map<String,String> initParamMap = makeParamMap();
143 manager.setFromAddr( (String) getSessionAttribute( "MAIL.FROM_ADDR" ) );
144 manager.setTitle( (String) getSessionAttribute( "MAIL.TITLE" ) );
145 manager.setContent( (String) getSessionAttribute( "MAIL.CONTENT" ) );
146 table = ( DBTableModel )getObject( tableId );
147 manager.create( initParamMap, table );
148 manager.setDebug( isDebug() );
149 manager.send();
150 }
151 startQueryTransaction( tableId );
152 table = manager.makeDstTable();
153 if( ! commitTableObject( tableId, table ) ) {
154 jspPrint( "DBTableModel ã¯ç™»éŒ²ã—ã¾ã›ã‚“ã€? );
155 }
156 }
157 catch( RuntimeException rex ){
158 if ( useStop ) {
159 ErrorMessage errMsg = new ErrorMessage();
160 errMsg.addMessage( 0, ErrorMessage.NG, "ERR0040", rex.getMessage() );
161 jspPrint( TaglibUtil.makeHTMLErrorTable( errMsg, getResource() ) );
162 rtnCode = SKIP_PAGE;
163 }
164 rex.printStackTrace();
165 errCode = ErrorMessage.WARNING;
166 }
167 setSessionAttribute( "MAIL.ERR_CODE", String.valueOf( errCode ) );
168 }
169 else {
170 String errMsg = "è¨å®šã?アクションã¯ã‚µãƒã?トã•れã¦ã?¾ã›ã‚“?? + action ;
171 throw new HybsSystemException( errMsg );
172 }
173 return rtnCode;
174 }
175
176 /**
177 * ã€TAG】アクション[CHECK/SEND/NOCHECK]ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
178 * @og.tag
179 * é€ä¿¡å‰ã«ã€ä¸?º¦é€ä¿¡å†?®¹ã‚’確èªã™ã‚‹å?åˆã?"CHECK "ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
180 * ç¢ºèªæ¸ˆã?メールæ–?‚’é€ä¿¡ã™ã‚‹å ´åˆã?"SEND"ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
181 * 確èªãªã—ã§é€ä¿¡ã™ã‚‹å ´åˆã?"NOCHECK"ã‚’ã‚»ãƒ?ƒˆã—ã¾ã™ã?
182 *
183 * @param act アクション[CHECK/SEND/NOCHECK]
184 */
185 public void setAction( final String act ) {
186 String act2 = getRequestParameter( act );
187 if( act2 != null && act2.length() > 0 ) { action = act2.toUpperCase(Locale.JAPAN); }
188 }
189
190 /**
191 * ã€TAG】メール定型æ–??IDを指定ã—ã¾ã™ã?
192 *
193 * @og.tag
194 * 定型æ–??スタã«å®šç¾©ã•れã¦ã?‚‹å®šåž‹æ–‡IDを指定ã—ã¾ã™ã?
195 *
196 * @param pid 定型文ID
197 */
198 public void setPtnId( final String pid ) {
199 ptnId = nval( getRequestParameter( pid ),null );
200 }
201
202 /**
203 * ã€TAG】é?ä¿¡å…??¦?²?¯?)ã®ç¤¾å“¡IDを指定ã—ã¾ã™ã?
204 *
205 * @og.tag
206 * é€ä¿¡å…??¦?²?¯?)ã®ç¤¾å“¡IDを指定ã—ã¾ã™ã?社員マスタã«å˜åœ¨ã—ã¦ã?‚‹ç¤¾å“¡ID(例ï¼?C12345")ã—ã‹ã‚»ãƒ?ƒˆã§ãã¾ã›ã‚“ã€?
207 *
208 * @param fromId é€ä¿¡å…??¦?²?¯?)ã®ç¤¾å“¡ID
209 */
210 public void setFrom( final String fromId ) {
211 from = nval( getRequestParameter( fromId ), from );
212 setRequestAttribute( "FROM", from );
213 }
214
215 /**
216 * ã€TAG】é?ä¿¡å…??´?¯)ã®ç¤¾å“¡IDã€ã‚°ãƒ«ãƒ¼ãƒ—IDã‚’CSVå½¢å¼ã§æŒ?®šã—ã¾ã™ã?
217 *
218 * @og.tag
219 * è¤?•°ã®ID(社員IDã€ã‚°ãƒ«ãƒ¼ãƒ—ID)をカンマ区åˆ?‚Šã§ã‚»ãƒ?ƒˆã§ãã¾ã™ã?
220 * グループIDã¯ã‚°ãƒ«ãƒ¼ãƒ—ã?スタ管ç?”»é¢ã«ã‚ˆã‚Šå®šç¾©ã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?"GP.XXXXX"ã®å½¢å¼ã§ã‚»ãƒ?ƒˆã—ã¾ã™ã?
221 *
222 * @param toIds é€ä¿¡å…??´?¯)ã®ç¤¾å“¡IDã€ã‚°ãƒ«ãƒ¼ãƒ—ID(CSVå½¢å¼?
223 */
224 public void setTo( final String toIds ) {
225 to = getRequestParameter( toIds );
226 }
227
228 /**
229 * ã€TAG】é?ä¿¡å…??£?£)ã®ç¤¾å“¡IDã€ã‚°ãƒ«ãƒ¼ãƒ—IDã‚’CSVå½¢å¼ã§æŒ?®šã—ã¾ã™ã?
230 *
231 * @og.tag
232 * è¤?•°ã®ID(社員IDã€ã‚°ãƒ«ãƒ¼ãƒ—ID)をカンマ区åˆ?‚Šã§ã‚»ãƒ?ƒˆã§ãã¾ã™ã?
233 * グループIDã¯ã‚°ãƒ«ãƒ¼ãƒ—ã?スタ管ç?”»é¢ã«ã‚ˆã‚Šå®šç¾©ã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?"GP.XXXXX"ã®å½¢å¼ã§ã‚»ãƒ?ƒˆã—ã¾ã™ã?
234 *
235 * @param ccIds é€ä¿¡å…??£?£)ã®ç¤¾å“¡IDã€ã‚°ãƒ«ãƒ¼ãƒ—ID(CSVå½¢å¼?
236 */
237 public void setCc( final String ccIds ) {
238 cc = getRequestParameter( ccIds );
239 }
240
241 /**
242 * ã€TAG】é?ä¿¡å…??¢?£?£)ã®ç¤¾å“¡IDã€ã‚°ãƒ«ãƒ¼ãƒ—IDã‚’CSVå½¢å¼ã§æŒ?®šã—ã¾ã™ã?
243 *
244 * @og.tag
245 * è¤?•°ã®ID(社員IDã€ã‚°ãƒ«ãƒ¼ãƒ—ID)をカンマ区åˆ?‚Šã§ã‚»ãƒ?ƒˆã§ãã¾ã™ã?
246 * グループIDã¯ã‚°ãƒ«ãƒ¼ãƒ—ã?スタ管ç?”»é¢ã«ã‚ˆã‚Šå®šç¾©ã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?"GP.XXXXX"ã®å½¢å¼ã§ã‚»ãƒ?ƒˆã—ã¾ã™ã?
247 *
248 * @param bccIds é€ä¿¡å…??¢?£?£)ã®ç¤¾å“¡IDã€ã‚°ãƒ«ãƒ¼ãƒ—ID(CSVå½¢å¼?
249 */
250 public void setBcc( final String bccIds ) {
251 bcc = getRequestParameter( bccIds );
252 }
253
254 /**
255 * ã€TAG】添付ファイルã®ã‚»ãƒ¼ãƒ–ディレクトリを指定ã—ã¾ã?
256 * (åˆæœŸå€¤:FILE_URL[={@og.value org.opengion.hayabusa.common.SystemData#FILE_URL}])ã€?
257 *
258 * @og.tag
259 * ã“ã?属æ?ã§æŒ?®šã•れるãƒ?‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã€æ·»ä»˜ãƒ•ァイルãŒå˜åœ¨ã™ã‚‹ã¨ä»®å®šã—ã¾ã™ã?
260 * æŒ?®šæ–¹æ³•ã?ã€??常㮠fileURL 属æ?ã¨åŒæ§˜ã«ã€å?é ãŒã?'/' (UNIX) ã¾ãŸã?ã€?¼’æ–‡å—ç›®ãŒã?
261 * ":" (Windows)ã®å ´åˆã?ã€æŒ‡å®šã?URLãã?ã¾ã¾ã®ãƒ?‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã€ãã?§ãªã??åˆã?ã€?
262 * fileURL = "{@USER.ID}" ã¨æŒ?®šã™ã‚‹ã¨ã€FILE_URL 属æ?ã§æŒ?®šã?フォルãƒ??下ã«ã€?
263 * ã•らã«ã€å„個人ID別ã®ãƒ•ォルãƒ?‚’作æ?ã—ã¦ã€ãã“を使用ã—ã¾ã™ã?
264 * (åˆæœŸå€¤:シスãƒ?ƒ 定数ã®FILE_URL[={@og.value org.opengion.hayabusa.common.SystemData#FILE_URL}])ã€?
265 *
266 * @param url 添付ファイルã®ã‚»ãƒ¼ãƒ–ディレクトリ
267 * @see org.opengion.hayabusa.common.SystemData#FILE_URL
268 */
269 public void setFileURL( final String url ) {
270 String furl = nval( getRequestParameter( url ),null );
271 if( furl != null ) {
272 char ch = furl.charAt( furl.length()-1 );
273 if( ch != '/' && ch != '\\' ) { furl = furl + "/"; }
274 fileURL = StringUtil.urlAppend( fileURL,furl );
275 }
276 }
277
278 /**
279 * ã€TAG】添付ファイルåã‚’CSVå½¢å¼ã§æŒ?®šã—ã¾ã™ã?
280 *
281 * @og.tag
282 * è¤?•°ãƒ•ァイルをセãƒ?ƒˆã§ãã¾ã™ã?
283 * è¨å®šæ–¹æ³•ã?ã€ã‚«ãƒ³ãƒžã§åŒºåˆ?£ã¦ä¸¦ã¹è¤?•°æŒ?®šã§ãã¾ã™ã?
284 *
285 * @param fname 添付ファイルå?
286 */
287 public void setFilename( final String fname ) {
288 filename = StringUtil.csv2ArrayOnly( getRequestParameter( fname ) );
289 }
290
291 /**
292 * ã€TAGã€‘ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æ§‹æ–‡ã¨ãƒ¡ãƒ¼ãƒ«ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã?ãƒã‚§ãƒ?‚¯ã‚’ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã™ã?
293 *
294 * @og.tag
295 * ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æ§‹æ–‡ã¨ãƒ¡ãƒ¼ãƒ«ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã?ãƒã‚§ãƒ?‚¯ã‚’ã™ã‚?true)/ã—ãªã?false)を指定ã—ã¾ã™ã?
296 * メールæ–?ˆæˆã?段階ã§ã¯ã€ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æ§‹æ–‡æ–?³•ã«ã¤ã?¦ãƒã‚§ãƒ?‚¯ã—ã¾ã™ã?
297 * メールé€ä¿¡ã®æ®µéšŽã§ã¯ã€ãƒ¡ãƒ¼ãƒ«ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãŒæœ‰åйã‹ã«ã¤ã?¦ãƒã‚§ãƒ?‚¯ã—ã¾ã™ã?
298 * "true"ã¨æŒ?®šã™ã‚‹å?åˆã??´?—ï½°ãŒæ¤œå?ã•れãŸã‚‰ã€ä¾‹å¤–を投ã’ã¦æœ¬ã‚¿ã‚°ã®å‡¦ç?Œä¸æ¢ã•れã¾ã™ã?
299 * "false"ã¨æŒ?®šã™ã‚‹å?åˆã??´?—ï½°ãŒæ¤œå?ã•れã¦ã‚‚ã?例外を投ã’ã¾ã›ã‚“ã€?
300 *
301 * @param addrChk æ§‹æ–‡,アカウントãƒã‚§ãƒ?‚¯ãŠã™ã‚‹ã‹ã©ã?‹[true/false]
302 */
303 public void setAddrCheck( final String addrChk ) {
304 addrCheck = nval( getRequestParameter( addrChk ), addrCheck );
305 }
306
307 /**
308 * ã€TAG】例外発生ã—ãŸå?åˆã?後続JSPã®è©•ä¾¡ã‚’ä¸æ¢ã™ã‚‹ã‹ã©ã?‹[true:䏿¢/false:継続]を指定ã—ã¾ã™ã?
309 *
310 * @og.tag
311 * "true"ã¨æŒ?®šã™ã‚‹å?åˆã?例外ãŒç™ºç”Ÿã—ãŸã‚‰ã€å¾Œç¶šJSPãŒè©•価ã•れã¾ã›ã‚“ã€?
312 * "false"ã¨æŒ?®šã™ã‚‹å?åˆã?例外ãŒç™ºç”Ÿã—ã¦ã‚‚ã?後続JSPãŒè©•価ã•れã¾ã™ã?後続ã?JSPã§ã¯å¤‰æ•°
313 * {@MAIL.ERR_CODE}ã§æœ¬ã‚¿ã‚°ã®å®Ÿè¡Œçжæ³??´?—ー発生ã—ãŸã‹)ã‚’å–å¾—ã§ãã¾ã™ã?
314 *
315 * @param stop 例外時ã«å¾Œç¶šå?ç?‚’䏿¢ã™ã‚‹ã‹ã©ã?‹[true:䏿¢/false:継続]
316 */
317 public void setUseStop( final String stop ) {
318 useStop = nval( getRequestParameter( stop ), useStop );
319 }
320
321 /**
322 * ã€TAGã€?通常ã¯ä½¿ã?¾ã›ã‚“)çµæžœã®DBTableModelã‚’ã?sessionã«ç™»éŒ²ã™ã‚‹ã¨ãã?ã‚ーを指定ã—ã¾ã?
323 * (åˆæœŸå€¤:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])ã€?
324 *
325 * @og.tag
326 * æ¤œç´¢çµæžœã‚ˆã‚Šã€DBTableModelオブジェクトを作æ?ã—ã¾ã™ã?ã“れをã?下æµã?viewã‚¿ã‚°ç‰ã«
327 * 渡ã™å?åˆã«ã€??常ã¯ã€session を利用ã—ã¾ã™ã?ãã?å ´åˆã?登録ã‚ーã§ã™ã?
328 * query ã‚¿ã‚°ã‚’åŒæ™‚ã«å®Ÿè¡Œã—ã¦ã€çµæžœã‚’求ã‚ã‚‹å?åˆã?åŒä¸?ƒ¡ãƒ¢ãƒªã«é…ç½®ã•れる為ã€?
329 * ã“ã? tableId 属æ?を利用ã—ã¦ã€ãƒ¡ãƒ¢ãƒªç©ºé–“ã‚’åˆ?‘ã¾ã™ã?
330 * (åˆæœŸå€¤:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])ã€?
331 *
332 * @param id sessionã«ç™»éŒ²ã™ã‚‹æ™‚ã? ID
333 */
334 public void setTableId( final String id ) {
335 tableId = nval( getRequestParameter( id ),tableId ); // 3.8.0.9 (2005/10/17)
336 }
337
338 /**
339 * タグリブオブジェクトをリリースã—ã¾ã™ã?
340 * ã‚ャãƒ?‚·ãƒ¥ã•れã¦å†åˆ©ç”¨ã•れるã?ã§ã€ãƒ•ィールドã?åˆæœŸè¨å®šã‚’行ã„ã¾ã™ã?
341 *
342 */
343 @Override
344 protected void release2() {
345 super.release2();
346 from = null;
347 to = null;
348 cc = null;
349 bcc = null;
350 fileURL = HybsSystem.sys( "FILE_URL" );
351 filename = null;
352 ptnId = null;
353 action = null;
354 tableId = HybsSystem.TBL_MDL_KEY ;
355 addrCheck = false;
356 useStop = true;
357 }
358
359 /**
360 * ã“ã?オブジェクトã?æ–?—å?表ç¾ã‚’è¿”ã—ã¾ã™ã?
361 * 基本çš?«ãƒ?ƒãƒ?‚°ç›®çš?«ä½¿ç”¨ã—ã¾ã™ã?
362 *
363 * @return ã“ã?ã‚¯ãƒ©ã‚¹ã®æ–?—å?表ç¾
364 */
365 @Override
366 public String toString() {
367 return org.opengion.fukurou.util.ToString.title(this.getClass().getName() )
368 .println( "VERSION" ,VERSION )
369 .println( "ptnId" ,ptnId )
370 .println( "action" ,action )
371 .println( "tableId" ,tableId )
372 .println( "addrCheck" ,addrCheck )
373 .println( "useStop" ,useStop )
374 .println( "from" ,from )
375 .println( "to" ,to )
376 .println( "cc" ,cc )
377 .println( "bcc" ,bcc )
378 .println( "filename" ,filename )
379 .println( "fileURL" ,fileURL )
380 .println( "Other...", getAttributes().getAttribute() )
381 .fixForm().toString();
382 }
383
384 /**
385 * リクエスト変数ã®å€¤ã‚ˆã‚Šã€å®šåž‹æ–?«å¿?¦ãªãƒ‘ラメータをå–å¾—ã—ã¦ã€ãƒ‘レメータマップã«å…¥ã‚Œã¾ã™ã?
386 * パラメータマップã?引数ã¨ã—ã¦ãƒ¡ãƒ¼ãƒ«ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®ãƒžãƒãƒ¼ã‚¸ãƒ£ã«æ¸¡ã—ã¾ã™ã?
387 * マãƒãƒ¼ã‚¸ãƒ£ã®ä¸ã«ã¯ã€å®šåž‹æ–?‚’å…?«ã€ãƒ‘ラメータマップã?値ã¨ãƒžã?ジã—ã¦ãƒ¡ãƒ¼ãƒ«ã®å??ç›®ã‚’åˆæˆã—ã¾ã™ã?
388 *
389 * @return 定型æ–?«å¿?¦ãªãƒ‘レメータマッãƒ?
390 */
391 private Map<String, String> makeParamMap() {
392 Map<String, String> paramMap = new HashMap<String, String>();
393 if( action.endsWith( ACT_NOCHECK ) || action.equals( ACT_CHECK ) ) {
394 ServletRequest request = this.getRequest();
395 Enumeration<?> enu1 = request.getAttributeNames();
396 while( enu1.hasMoreElements() ) {
397 String name = (String) enu1.nextElement();
398 Object tmpObj = request.getAttribute( name );
399 if ( tmpObj instanceof String ) {
400 paramMap.put( name, (String) request.getAttribute( name ) );
401 }
402 }
403 Enumeration<?> enu2 = request.getParameterNames();
404 while( enu2.hasMoreElements() ) {
405 String name = (String) enu2.nextElement();
406 paramMap.put( name, request.getParameter( name ) );
407 }
408
409 paramMap.put( "FROM", from );
410 paramMap.put( "TO", to );
411 paramMap.put( "CC", cc );
412 paramMap.put( "BCC", bcc );
413 }
414 paramMap.put( "PTN_ID", ptnId );
415 paramMap.put( "SYSTEM_ID", HybsSystem.sys( "SYSTEM_ID" ) );
416 paramMap.put( "ADDR_CHECK", String.valueOf( addrCheck ) );
417 paramMap.put( "LOGIN_USERID", getRequestValue( "USER.ID" ) );
418 paramMap.put( "LOGIN_USERNAME", getRequestValue( "USER.JNAME" ) );
419 paramMap.put( "PGID", getRequestValue( "GUI.KEY" ) );
420 paramMap.put( "DATE", HybsSystem.getDate( "yyyy/MM/dd" ) );
421 paramMap.put( "TIME", HybsSystem.getDate( "HH:mm:ss" ) );
422
423 String[] temp = { "", "", "", "", "" };
424 if( filename != null && filename.length > 0 ) {
425 String directory = HybsSystem.url2dir( fileURL );
426 int fileCount = filename.length > MAX_FILE_COUNT ? MAX_FILE_COUNT : filename.length;
427 for( int i = 0; i < fileCount; i++ ) {
428 temp[i] = StringUtil.urlAppend( directory, filename[i] );
429 }
430 }
431 paramMap.put( "ATTACH1", temp[0] );
432 paramMap.put( "ATTACH2", temp[1] );
433 paramMap.put( "ATTACH3", temp[2] );
434 paramMap.put( "ATTACH4", temp[3] );
435 paramMap.put( "ATTACH5", temp[4] );
436 return paramMap;
437 }
438 }