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.plugin.develop; 017 018 import java.util.List; 019 import java.util.Map; 020 import java.util.Calendar; 021 022 import org.opengion.hayabusa.develop.AbstractJspCreate; 023 import org.opengion.hayabusa.develop.JspConvertEntity; 024 import org.opengion.fukurou.xml.OGElement; 025 import org.opengion.fukurou.xml.OGAttributes; 026 import org.opengion.fukurou.util.HybsDateUtil; 027 import org.opengion.fukurou.util.StringUtil; // 5.6.8.0 (2013/09/06) 028 029 /** 030 * query.jspの<og:comment>タグを作?します? 031 * comment タグは、既存? 032 * 033 * ●使用? 034 * <og:comment 035 * system = ENTITY.getNmSys() 036 * pgid = ENTITY.getPgid() 037 * title = ENTITY.getNmpg() 038 * date = HybsDateUtil.getDate( "yyyy/MM/dd" ) 039 * author = "Auto Create" 040 * text = "" 041 * version = "001" 042 * /> 043 * 044 * @og.rev 5.6.1.2 (2013/02/22) ??連結から?XML処?るよ?変更します? 045 * 046 * @author Administrator 047 * 048 */ 049 public class JspCreate_COMMENT extends AbstractJspCreate { 050 //* こ?プログラ??VERSION??を設定します? {@value} */ 051 private static final String VERSION = "5.6.8.0 (2013/09/06)" ; 052 053 private static final String DEF_DATE_FORMAT = "yyyy/MM/dd" ; // 5.6.8.0 (2013/09/06) 054 private static final String DEF_AUTHOR_NAME = "Auto Create" ; // 5.6.8.0 (2013/09/06) 055 056 private List<JspConvertEntity> COMMENT_ROWS ; 057 private boolean IS_NULL ; 058 059 /** 060 * 初期化メソ? 061 * 062 * ?で使用する JspConvertEntity の リス?のマップを受け取り、?期化を行います? 063 * @og.rev 5.2.1.0 (2010/10/01) 名前空間を、og 決め打ちから、名前空間指定無しに変更します? 064 * @og.rev 5.6.1.2 (2013/02/22) 処?象のファイル名を?するよ?変更します? 065 * 066 * @param master JspConvertEntityのリスト?マッ? 067 */ 068 @Override 069 protected void init( final Map<String,List<JspConvertEntity>> master ) { 070 COMMENT_ROWS = master.get("COMMENT"); 071 IS_NULL = !isNotEmpty( COMMENT_ROWS ); 072 KEY = ":comment"; // 5.2.1.0 (2010/10/01) 名前空間指定無? 073 NAME = "query,result,update,entry"; 074 } 075 076 /** 077 * ファイル名から?処?象かど?を判断します? 078 * 079 * @og.rev 5.6.1.2 (2013/02/22) 処?象のファイル名を?するため??します? 080 * 081 * @param name 処?象のファイル? 082 * 083 * @return 処?象な?true/ そうでなければ、false 084 */ 085 // @Override 086 // protected boolean isExecute( final String name ) { 087 // return ( name != null && name.indexOf( "index" ) < 0 && name.indexOf( "forward" ) < 0 ); 088 // } 089 090 /** 091 * JSPに出力するタグの?を作?します? 092 * 引数より作?前?タグの属??を確認するする事が出来ます? 093 * 094 * @og.rev 5.2.1.0 (2010/10/01) メソ?の引数を?OGAttributes から OGElement に変更します? 095 * @og.rev 5.2.1.0 (2010/10/01) 名前空間を、og 決め打ちから、引数を使用するように変更します? 096 * @og.rev 5.6.1.2 (2013/02/22) XML処?るよ?変更します? 097 * @og.rev 5.6.8.0 (2013/09/06) 日付?フォーマット変換します?author と text は更新しません? 098 * 099 * @param ele OGElementエレメントオブジェク? 100 * @param nameSpace こ?ドキュメント?nameSpace( og と?mis と?) 101 * 102 * @return 変換された文字? 103 * @throws Throwable 変換時?エラー 104 */ 105 @Override 106 protected String execute( final OGElement ele , final String nameSpace ) throws Throwable { 107 if( IS_NULL ) { return ""; } 108 109 // こ? OGElement の階層の深さを探ります? 110 // ele.getText( para ) とすることでXML全体を階層表示できる? 111 // int para = ele.getParentCount(); 112 113 JspConvertEntity ENTITY = COMMENT_ROWS.get(0); 114 115 OGAttributes attri = ele.getOGAttributes(); 116 117 // 5.6.8.0 (2013/09/06) 日付?フォーマット変換します?author は、あれ???値を使?す? 118 String dtFmt = StringUtil.nval( attri.getVal( "date" ) , DEF_DATE_FORMAT ); 119 String author = StringUtil.nval( attri.getVal( "author" ) , DEF_AUTHOR_NAME ); 120 121 attri.setUseCR( true ); 122 attri.setVal( "system" , ENTITY.getNmSys() ); 123 attri.setVal( "pgid" , ENTITY.getPgid() ); 124 attri.setVal( "title" , ENTITY.getNmpg() ); 125 // attri.setVal( "date" , toDay() ); 126 // attri.setVal( "date" , HybsDateUtil.getDate( "yyyy/MM/dd" ) ); // 5.6.1.2 (2013/02/22) 127 // attri.setVal( "author" , "Auto Create" ); 128 attri.setVal( "date" , HybsDateUtil.getDate( dtFmt ) ); // 5.6.8.0 (2013/09/06) 129 attri.setVal( "author" , author ); // 5.6.8.0 (2013/09/06) 130 // attri.setVal( "text" , "" ); // 5.6.8.0 (2013/09/06) 131 attri.setVal( "version" , "001" ); 132 133 return ele.getText( 0 ); 134 } 135 136 /** 137 * JSPに出力するタグの?を作?します? 138 * 引数より作?前?タグの属??を確認するする事が出来ます? 139 * 140 * @og.rev 5.2.1.0 (2010/10/01) メソ?の引数を?OGAttributes から OGElement に変更します? 141 * @og.rev 5.2.1.0 (2010/10/01) 名前空間を、og 決め打ちから、引数を使用するように変更します? 142 * 143 * @param ele OGElementエレメントオブジェク? 144 * @param nameSpace こ?ドキュメント?nameSpace( og と?mis と?) 145 * 146 * @return 変換された文字? 147 * @throws Throwable 変換時?エラー 148 */ 149 // @Override 150 // protected String execute( final OGElement ele , final String nameSpace ) throws Throwable { 151 // if( IS_NULL ) { return ""; } 152 // 153 // String ns = (nameSpace.length() == 0) ? "" : nameSpace + ":" ; // 5.2.1.0 (2010/10/01) 名前空? 154 // 155 // JspConvertEntity ENTITY = COMMENT_ROWS.get(0); 156 // 157 // // TODO Auto-generated method stub 158 // //書き?す文字?を作?開始? 159 // StringBuilder sbTub = new StringBuilder(); 160 // sbTub.append( "<" ).append( ns ).append( "comment").append( CR ); 161 // sbTub.append( "\tsystem = \"" ).append( ENTITY.getNmSys() ).append( "\"" ).append( CR ); 162 // sbTub.append( "\tpgid = \"" ).append( ENTITY.getPgid() ).append( "\"" ).append( CR ); 163 // sbTub.append( "\ttitle = \"" ).append( ENTITY.getNmpg() ).append( "\"" ).append( CR ); 164 // sbTub.append( "\tdate = \"" ).append( toDay() ).append( "\"" ).append( CR ); 165 // sbTub.append( "\tauthor = \"" ).append( "Auto Create" ).append( "\"" ).append( CR ); 166 // sbTub.append( "\ttext = \"" ).append( "" ).append( "\"" ).append( CR ); 167 // sbTub.append( "\tversion = \"" ).append( "001" ).append( "\"" ).append( CR ); 168 // sbTub.append( "/>" ).append( CR ); 169 // return sbTub.toString(); 170 // } 171 172 /** 173 * 現在の日?yyyy/MM/dd)を取得? 174 * 175 * @return 現在の日? 176 */ 177 // private String toDay(){ 178 // //インスタンス? 179 // Calendar now = Calendar.getInstance(); 180 // 181 // int year = now.get(Calendar.YEAR); 182 // int mm = now.get(Calendar.MONTH) + 1; 183 // int dd = now.get(Calendar.DATE); 184 // 185 // String month = String.valueOf( mm ); 186 // if (mm < 10){ 187 // month = "0" + month ; 188 // } 189 // String day = String.valueOf( dd ); 190 // if (dd < 10){ 191 // day = "0" + day ; 192 // } 193 // return year + "/" + month + "/" + day; 194 // } 195 }