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
021 import org.opengion.hayabusa.develop.AbstractJspCreate;
022 import org.opengion.hayabusa.develop.JspConvertEntity;
023 import org.opengion.fukurou.xml.OGElement;
024 import org.opengion.fukurou.xml.OGNode;
025 import org.opengion.fukurou.xml.OGNodeType;
026
027 /**
028 * query.jspã® <og:hideMenu>ã‚¿ã‚° å†?? <og:column>タグを作æ?ã—ã¾ã™ã?
029 * column ã‚¿ã‚°ã¯ã€?ƒ¨åˆ?½®æ›ã§ã¯ãªãã?hideMenuå†??ã€table 部åˆ?‹ã‚‰ã?å…¨é¢ç½®æ›ã§ã™ã??ˆéƒ¨åˆ?½®æ›ã?難ã—ã‹ã£ãŸã?ã§??
030 * hideMenu ã¯ã€??常㮠column ã‚¿ã‚°ã®å‡ºåŠ›åˆ¶é™ä»¥ä¸Šã?カラãƒ?‚’書ãå?ã—ã¾ã™ã?
031 * 具体的ã«ã¯ã€TD_COUNT?ˆå?期å?=3?‰ï¼?TR_COUNT?ˆå?期å?=2?‰ã‚’è¶?ˆã‚‹æ¤œç´¢æ¡ä»¶ã®æ™‚ã?ã¿è¡Œã„ã¾ã™ã?
032 * ãれ以下ã?å ´åˆã?ã€hideMenu ã‚¿ã‚°ã¯æ›¸ãå?ã—ã¾ã›ã‚“ã€?
033 *
034 * ã“れã¨ã€JspCreate_COLUMN クラスã¯ã€å¯?Ž¥ã«é–¢é€£ã—ã¦ã?¾ã™ã?ã§ã€ã”注æ„ãã?•ã??
035 *
036 * â—使用ä¾?
037 * <table summary = "layout" >
038 * <tr><og:column ・・・ /> ・・・TD_COUNT?ˆå?期å?=3??lt;/tr>
039 * ・・・・ TR_COUNT?ˆå?期å?=2??
040 * </table>
041 * <og:hideMenu>
042 * <table summary = "layout" >
043 * <tr>
044 * <og:column
045 * name = column.getColumnName()
046 * defaultVal = column.getDefaultValue()
047 * must = "true" ("1".equals( column.getMust() ))
048 * clazz = "aimai" (ope.startsWith( "lk" ))
049 * />
050 * <og:column
051 * ・・・・
052 * />
053 * </tr>
054 * <tr>
055 * ・・・・
056 * </tr>
057 * </table>
058 * </og:hideMenu>
059 *
060 * @og.rev 5.6.4.4 (2013/05/31) æ–°è¦ä½œæ?。hideMenu ã®å¯¾å¿?
061 *
062 * @version 5.0
063 * @author Kazuhiko Hasegawa
064 * @since JDK7.0,
065 */
066 public class JspCreate_HIDEMENU extends JspCreate_COLUMN {
067 //* ã“ã?プãƒã‚°ãƒ©ãƒ??VERSIONæ–?—å?ã‚’è¨å®šã—ã¾ã™ã? {@value} */
068 private static final String VERSION = "5.6.4.4 (2013/05/31)" ;
069
070 private List<JspConvertEntity> QUERY_ROWS ;
071 private boolean IS_NULL ;
072
073 /**
074 * åˆæœŸåŒ–メソãƒ?ƒ‰
075 *
076 * å†?ƒ¨ã§ä½¿ç”¨ã™ã‚‹ JspConvertEntity 㮠リスãƒ?ã®ãƒžãƒƒãƒ—ã‚’å—ã‘å–りã€å?期化を行ã„ã¾ã™ã?
077 *
078 * @param master JspConvertEntityã®ãƒªã‚¹ãƒˆã?マッãƒ?
079 */
080 @Override
081 protected void init( final Map<String,List<JspConvertEntity>> master ) {
082 QUERY_ROWS = master.get("QUERY");
083 IS_NULL = !isNotEmpty( QUERY_ROWS );
084 KEY = ":hideMenu";
085 NAME = "query";
086 }
087
088 /**
089 * JSPã«å‡ºåŠ›ã™ã‚‹ã‚¿ã‚°ã®å†?®¹ã‚’作æ?ã—ã¾ã™ã?
090 * 引数より作æ?å‰ã?ã‚¿ã‚°ã®å±žæ?å†?®¹ã‚’確èªã™ã‚‹ã™ã‚‹äº‹ãŒå‡ºæ¥ã¾ã™ã?
091 *
092 * @param ele OGElementエレメントオブジェク�
093 * @param nameSpace ã“ã?ドã‚ュメントã?nameSpace( og ã¨ã?mis ã¨ã?)
094 *
095 * @return 変æ›ã•ã‚ŒãŸæ–‡å—å?
096 * @throws Throwable å¤‰æ›æ™‚ã?エラー
097 */
098 @Override
099 protected String execute( final OGElement ele , final String nameSpace ) throws Throwable {
100 if( IS_NULL ) { return ""; }
101
102 if( QUERY_ROWS.size() <= TD_COUNT*TR_COUNT ) { return ""; } // æŒ?®šä»¥ä¸Šã?カラãƒ?Œãªã?¨ã€hideMenu を作æ?ã—ã¾ã›ã‚“ã€?
103
104 // æ—¢å˜ã?è¨å®šå?ã‚’ã™ã¹ã¦å‰Šé™¤ã—ã¾ã™ã?ホントã?自動登録ã—ãŸåˆ? ã‘を削除ã™ã¹ãã?
105 OGElement newEle = new OGElement( "og:hideMenu" );
106
107 OGElement tblEle = new OGElement( "table" );
108 newEle.addNode( tblEle );
109
110 OGElement tr = null;
111 for( int i=(TD_COUNT*TR_COUNT); i<QUERY_ROWS.size(); i++ ) {
112 JspConvertEntity column = QUERY_ROWS.get(i);
113 if( i%TD_COUNT == 0 ) {
114 tr = new OGElement( "tr" );
115 tblEle.addNode( tr );
116 }
117 tr = trElement( tr,column );
118 }
119
120 return newEle.getText( 0 );
121 }
122
123 /**
124 * JSPã«å‡ºåŠ›ã™ã‚‹ã‚¿ã‚°ã®å†?®¹ã‚’作æ?ã—ã¾ã™ã?
125 * 引数より作æ?å‰ã?ã‚¿ã‚°ã®å±žæ?å†?®¹ã‚’確èªã™ã‚‹ã™ã‚‹äº‹ãŒå‡ºæ¥ã¾ã™ã?
126 *
127 * @og.rev 5.2.1.0 (2010/10/01) メソãƒ?ƒ‰ã®å¼•æ•°ã‚’ã?OGAttributes ã‹ã‚‰ OGElement ã«å¤‰æ›´ã—ã¾ã™ã?
128 * @og.rev 5.2.1.0 (2010/10/01) åå‰ç©ºé–“ã‚’ã€og æ±ºã‚æ‰“ã¡ã‹ã‚‰ã€å¼•数を使用ã™ã‚‹ã‚ˆã†ã«å¤‰æ›´ã—ã¾ã™ã?
129 * @og.rev 5.6.1.2 (2013/02/22) XML処ç?™ã‚‹ã‚ˆã?«å¤‰æ›´ã—ã¾ã™ã?
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 // // TODO Auto-generated method stub
144 // //書ãå?ã™æ–‡å—å?を作æ?é–‹å§‹ã?
145 // StringBuilder sbTub = new StringBuilder();
146 //
147 // sbTub.append( "<table summary=\"layout\">" ).append( CR );
148 // for( int i=0; i<QUERY_ROWS.size(); i++ ) {
149 // JspConvertEntity column = QUERY_ROWS.get(i);
150 // if( i%TD_COUNT == 0 ) {
151 // if( i>0 ) { sbTub.append( " </tr>" ).append( CR ); }
152 // sbTub.append( " <tr>" ).append( CR );
153 // }
154 // sbTub.append( "\t<" ).append( ns ).append( "column name=\"" );
155 //
156 // sbTub.append( column.getColumnName() );
157 // sbTub.append( "\"" );
158 // if ( column.getDefaultValue() != null && column.getDefaultValue().trim().length() > 0) {
159 // sbTub.append( " defaultVal=\"");
160 // sbTub.append( column.getDefaultValue() );
161 // sbTub.append( "\" ");
162 // }
163 // if ( "1".equals( column.getMust() )){
164 // sbTub.append( " must=\"true\" ");
165 // }
166 // String ope = column.getRemarks();
167 // if( ope != null && ope.startsWith( "lk" ) ) { sbTub.append( " clazz=\"aimai\" "); }
168 //
169 // sbTub.append( " />" ).append( CR );
170 // }
171 // sbTub.append( " </tr>" ).append( CR );
172 // sbTub.append( "</table>" ).append( CR );
173 //
174 // return sbTub.toString();
175 // }
176 }