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 }