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