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 org.opengion.hayabusa.common.HybsSystem; 019 import org.opengion.hayabusa.common.HybsSystemException; 020 import org.opengion.hayabusa.db.DBColumn; 021 import org.opengion.hayabusa.db.DBTableModel; 022 import org.opengion.hayabusa.db.DBTableModelUtil; 023 024 import org.opengion.fukurou.util.StringUtil; 025 import static org.opengion.fukurou.util.StringUtil.nval ; 026 027 import java.util.Map; 028 import java.util.LinkedHashMap; 029 import java.util.Locale ; 030 031 /** 032 * ?ć¤ć® DBTableModel ć® é?å¦ē?č”ććæć°ć§ćć? 033 * 034 * ćć¹ćæćØć¹ć¬ć¼ćć?ććććć® DBTableModel ćåå¾ććć?ć¼ćøćå·®å??ęä»ćŖć©ć® 035 * ć??ćæå¦ē?č”ćć¾ćć?ēµęćć?ę?®ć? tableId 㨠scope ć«ęøćå?ćć¾ćć? 036 * ćć¹ćæć??ćć«ćÆćmasterTableId 㨠masterScope ććåćåŗćć¾ćć?ć¹ć¬ć¼ććć¼ćć«ćÆć? 037 * slaveTableId 㨠slaveScope ććåćåŗćć¾ćć? 038 * åćåŗććć?DBTableModel ćÆćć?ć¹ćæć??ćć«ć«åƾćć¦ćć¹ć¬ć¼ććć¼ćć«ę??ćåē §ććå½¢ć§č”ććć? 039 * ēµęćÆćć¹ćæć??ćć«ć«äøęøććććå½¢ć§č”ććć¾ćć? 040 * ę?®ć§ććć¢ćÆć·ć§ć³ćÆćå?ä½éå?UNION_ALL)ćåé?(UNION)ćē©éå?INTERSECT)ć? 041 * å·®é?(MINUS)ćå·®å?å?DIFFERENCE)ćå?åę?(UNION_CLM)ć?åčæ½å?ADD_CLM)ć?ć°ć«ć¼ć?GROUP)ć§ćć? 042 * ååęćØåčæ½å??ć°ć«ć¼ć仄å¤ć?å¦ē?§ćÆćć«ć©ć??ćØć«ć©ć?°ćÆåę°ć§ćŖććć°ćŖćć¾ććć? 043 * primaryKeys ć?unionClms ćŖć©ć®ę?®ć?ćć¼åć?ćć?ć¹ćæć??ćć«ć«ååØććåæ?¦ćććć¾ćć? 044 * ćć¹ćæć??ćć«ćØåćć«ć©ć?Ŗå·ć§ć¹ć¬ć¼ććć¼ćć«ććć??ćæćčŖćæåŗćć¾ćć? 045 * (ć«ć©ć?ć?±ę?ćÆćē°ćŖć£ć¦ććć¾ć?¾ćććć?ćć¹ćæć??ćć«ć«ęŗę ćć¾ćć?) 046 * ć¾ćć?åē¬(ćć¹ćæć??ćć«ć®ćæ)ć§ćåé?ćØåēć?ćć°ć«ć¼ć?GROUP)ć使ēØćććØćęå®ć? 047 * ć«ć©ć?§ć®ć¦ćć?ćÆåćč”ćććØćåÆč½ć«ćŖćć¾ćć?ć°ć«ć¼ćå?ē?§ćÆćå?č”åŖå ćØćć? 048 * ?åē®ć«ē¾ććę??ćåé¤ććććØć«ćŖćć¾ćć?ć°ć«ć¼ć?ćęå®ćććå “åć?ć? 049 * ć¹ć¬ć¼ććć¼ćć«ćÆē”č¦ććć¾ćć?ć?ćć?å¦ē?«ććć¦ćć?é?å¦ē?č”ćäø»ćć¼ć§ 050 * äø?¦ć°ć«ć¼ćåććć¾ćć?å Øä½éå?UNION_ALL)ć§å¦ē?ćå?åć§ćć?äø»ćć¼ćć¦ćć?ćÆć§ 051 * ćŖć??åć?ćć?ć¹ćæć¼ćć¹ć¬ć¼ćć?å?ć¼ćć«ć§äø?¦ć°ć«ć¼ćåćććå¾ć§ćć?ć¼ćøććć¾ćć? 052 * (ćć?ćøå¾ć«ćÆćåäø?ø»ćć¼ćęć¤č”ć?ååØćć¾ćć?) 053 * å Øä½éå?UNION_ALL)ć®å “åć?ćæćmergeKeys ćęå®ććåæ?¦ć?ććć¾ććććć®å “åć?ć? 054 * ćć¼ćŖćć?ćććć?ć¹ćæć¼ćØć¹ć¬ć¼ćć?ć??ćć«ćåć«åę?ććć?ć«ćŖćć¾ćć? 055 * 056 * å¦ē?å¾ć§ć®DBTableModelć®ä»¶ę°ćÆć仄äøć?å¤ę°ć§åå¾ććććØćåÆč½ć§ćć? 057 * å¦ē?ć®ćć¹ćæć¼ć??ćć« : {@DB.MASTER_COUNT} 058 * å¦ē?ć®ć¹ć¬ć¼ććć¼ćć« : {@DB.SLAVE_COUNT} 059 * å¦ē?¾? : {@DB.COUNT} 060 * 061 * @og.formSample 062 * āå½¢å¼ļ¼? 063 * ć»<og:tableMerge 064 * action = "UNION_ALL|UNION|INTERSECT|MINUS|DIFFERENCE|UNION_CLM|ADD_CLM|GROUP|UNION_SELROW" 065 * tableId = "DEFAULT" åŗåćć¼ćć«ć® tableId 066 * scope = "session" åŗåćć¼ćć«ć® scope 067 * masterTableId = "DEFAULT" ćć¹ćæć??ćć«ć® tableId 068 * masterScope = "session" ćć¹ćæć??ćć«ć® scope 069 * slaveTableId = "DEFAULT" ć¹ć¬ć¼ććć¼ćć«ć® tableId 070 * slaveScope = "request" ć¹ć¬ć¼ććć¼ćć«ć® scope 071 * masterKeys = "AA,BB,CC" ćć¹ćæć??ćć«ć®é?å¦ē?č”ćäø»ćć¼ 072 * slaveKeys = "AA,BB,CC" ć¹ć¬ć¼ććć¼ćć«ć®é?å¦ē?č”ćäø»ćć¼(nullę?masterKeys) 073 * diffKeys = "DD,EE" ćć¹ćæć??ćć«ć®DIFFERENCEęć?å·®å?«ć©ć? 074 * unionClms = "DD,EE" UNION_CLM,ADD_CLMęć«ć¹ć¬ć¼ćććć?ć¹ćæćøčæ½å?ćć«ć©ć? 075 * modifyClms = "FF,GG" DIFFERENCEęć«ć¹ć¬ć¼ćććć?ć¹ćæćøå¤ćę“ę°ććć«ć©ć? 076 * noSideEffect = "false" ć??ćć«ć¢ć?«ć«åƾććåÆä½ēØ(true:ćŖć?false:ćć) 077 * useDiffData = "true" DIFFERENCEęć«å·®å??ć¹ć¬ć¼ććć¼ćæćčæ½å?ććć©ć? 078 * useCheckOnly = "false" ćć¹ćæć??ćć«ć®éøęč”ć?ć??ćæć®ćæć対豔ć«å¦ē?č”ććć©ć? 079 * groupAddClms = "FF,GG" masterKeysć§é?å¦ē?ććØćć«ćēøéćć¼ćæćCSVé£ēµćć¦ę®ćć«ć©ć? 080 * display = "true" å¦ē?¦č¦ć蔨示ćććć©ć? 081 * /> 082 * ābody?ćŖć? 083 * 084 * āTagå®ē¾©?? 085 * <og:tableMerge 086 * command ćTAGćć³ćć³ć?NEW,RENEW)ćć»ć?ćć¾ć?åęå¤:NEW) 087 * action ćTAGćć¢ćÆć·ć§ć³ćęå®ćć¾ć?UNION_ALL|UNION|INTERSECT|MINUS|DIFFERENCE|UNION_CLM|ADD_CLM|GROUP|UNION_SELROW) 088 * tableId ćTAGćå?åå?ć®tableIdćęå®ćć¾ć?(åęå¤:HybsSystem#TBL_MDL_KEY[=h_tblmdl]) 089 * scope ćTAGćå?åå?ć®scopećęå®ćć¾ć?åęå¤:session) 090 * masterTableId ćTAGćć?ć¹ćæć??ćć«ć®tableIdćęå®ćć¾ć?(åęå¤:HybsSystem#TBL_MDL_KEY[=h_tblmdl]) 091 * masterScope ćTAGćć?ć¹ćæć??ćć«ć®scopećęå®ćć¾ć?åęå¤:session) 092 * slaveTableId ćTAGćć¹ć¬ć¼ććć¼ćć«ć®tableIdćęå®ćć¾ć?(åęå¤:HybsSystem#TBL_MDL_KEY[=h_tblmdl]) 093 * slaveScope ćTAGćć¹ć¬ć¼ććć¼ćć«ć®scopećęå®ćć¾ć?åęå¤:session) 094 * masterKeys ćTAGćć?ć¹ćæć??ćć«ć®é?å¦ē?č”ćäø»ćć¼ćęå®ćć¾ć? 095 * slaveKeys ćTAGćć¹ć¬ć¼ććć¼ćć«ć®é?å¦ē?č”ćäø»ćć¼ćęå®ćć¾ć? 096 * diffKeys ćTAGćć?ć¹ćæć??ćć«ć®DIFFERENCEęć?å·®å?«ć©ć?ć?CSVå½¢å¼?ę?®ćć¾ć? 097 * unionClms ćTAGćć¹ć¬ć¼ćććć?ć¹ćæćøčæ½å?ćć«ć©ć?ćCSVå½¢å¼ć§ę?®ćć¾ć? 098 * modifyClms ćTAGćć¹ć¬ć¼ćććć?ć¹ćæćøå¤ćę“ę°ććć«ć©ć?ćCSVå½¢å¼ć§ę?®ćć¾ć? 099 * groupAddClms ćTAGćéåå?ē?ććØćć«ćēøéćć¼ćæćCSVé£ēµćć¦ę®ćć«ć©ć?ćCSVå½¢å¼ć§ę?®ćć¾ć? 100 * noSideEffect ćTAGććć¼ćć«ć¢ć?«ć«åƾććåÆä½ēØć®ęē”[true:ćŖć?false:ćć]ćęå®ćć¾ć?åęå¤:false:ćć) 101 * useDiffData ćTAGćå·®å??ć¹ć¬ć¼ććć¼ćæćēµęć??ćć«ć«čæ½å?ććć©ć?ćęå®ćć¾ć?åęå¤:true) 102 * useCheckOnly ćTAGćć?ć¹ćæć??ćć«ć®éøęč”ć?ć??ćæć®ćæć対豔ć«å¦ē?č”ććć©ć?ćęå®ćć¾ć?åęå¤:false) 103 * stopZero ćTAGćę¤ē“¢ēµęćļ¼ä»¶ć®ćØćå?ē?ē¶č”ćććć©ć?[true/false]ćęå®ćć¾ć?åęå¤:false[ē¶č”ćć]) 104 * display ćTAGćć?ć¼ćøć®ēµęć蔨示ćććć©ć?ćęå®ćć¾ć?åęå¤:true) 105 * mainTrans ćTAGć?é常使ć?¾ćć)ćæć°ć§å¦ē?ććå¦ē?ć”ć¤ć³ćØćŖććć©ć³ć¶ćÆć·ć§ć³å¦ē?ć©ć?ćęå®ćć¾ć?åęå¤:false) 106 * caseKey ćTAGććć®ćæć°čŖä½ćå©ēØćććć©ć?ć®ę”ä»¶ćć¼ćęå®ćć¾ć?åęå¤:null) 107 * caseVal ćTAGććć®ćæć°čŖä½ćå©ēØćććć©ć?ć®ę”ä»¶å¤ćęå®ćć¾ć?åęå¤:null) 108 * caseNN ćTAGćęå®ć?å¤ćć?null/ć¼ćę?å? ć§ćŖć??å?Not Null=NN)ćÆććć®ćæć°ćÆä½æēØććć¾ć?åęå¤:true) 109 * caseNull ćTAGćęå®ć?å¤ćć?null/ć¼ćę?å? ć®å “åć?ććć®ćæć°ćÆä½æēØććć¾ć?åęå¤:true) 110 * separator ćTAGćgroupAddClmsć§ę?å?ćé?ēµććé?ē®åŗå?ę?ćć»ć?ćć¾ć?åęå¤:",") 111 * debug ćTAGććććć°ę??ćå?åćććć©ć?[true/false]ćęå®ćć¾ć?åęå¤:false) 112 * /> 113 * 114 * ā使ēØä¾? 115 * ä¾ļ¼?ć?ć©ć«ć仄å¤ć«åæ?¦ćŖå±ę?ć®ćæę?®ćććµć³ćć« 116 * <og:tableMerge action="UNION" 117 * slaveScope = "request" masterKeys = "AA,BB,CC" 118 * /> 119 * 120 * ć»åŗåå?ćć?ć¹ćæć¼ćØćć«åęå¤ćÆćtableId="DEFAULT" scope="session" ć§ćć? 121 * ć¹ć¬ć¼ćć?ćtableId ć?scope ćććåæ?¦ćććēŗćscope="request" ćęå®ćć¦ć?¾ćć? 122 * ęÆč¼?ćć«ć©ć?ćÆćć?ć¹ćæćć¹ć¬ć¼ćåćć§ććć°ćć?ć¹ćæć®ćæę?®ć§ćć¾ć?¾ććć? 123 * 124 * ä¾ļ¼?ćć¹ćæćć¹ć¬ć¼ććØćć”ć¢ćŖć«ę®ććŖć?ć?« request ć§ä½ę?ćć¾ćć? 125 * <og:tableMerge action="INTERSECT" 126 * masterScope = "request" 127 * slaveScope = "request" 128 * slaveTableId = "SLAVE" 129 * masterKeys = "AA,BB,CC" 130 * /> 131 * 132 * ć»ćć¹ćæćć¹ć¬ć¼ććØćć”ć¢ćŖć«ę®ććŖć?ć?« request ć§ä½ę?ććå “åć?ć? 133 * ć©ć”ććć® TableId ćå¤ććåæ?¦ćććć¾ćć? 134 * åŗåå?ćÆåęå¤ć®ćtableId="DEFAULT" scope="session" ć§ćć? 135 * 136 * @og.rev 3.8.0.9 (2005/10/17) ę°č¦čæ½å? 137 * @og.group ?¤?¢ē»é² 138 * 139 * @version 0.9.0 2000/10/17 140 * @author Kazuhiko Hasegawa 141 * @since JDK5.0, 142 */ 143 public class TableMergeTag extends CommonTagSupport { 144 //* ćć?ććć°ć©ć??VERSIONę?å?ćčØå®ćć¾ćć? {@value} */ 145 private static final String VERSION = "5.7.6.2 (2014/05/16)" ; 146 147 private static final long serialVersionUID = 576220140516L ; 148 149 /** action å¼ę°ć«ęø”ćäŗć?åŗę„ć?ć¢ćÆć·ć§ć³ć³ćć³ć? å Øä½éå?{@value} */ 150 public static final String ACT_UNION_ALL = "UNION_ALL" ; 151 /** action å¼ę°ć«ęø”ćäŗć?åŗę„ć?ć¢ćÆć·ć§ć³ć³ćć³ć? åéå?{@value} */ 152 public static final String ACT_UNION = "UNION" ; 153 /** action å¼ę°ć«ęø”ćäŗć?åŗę„ć?ć¢ćÆć·ć§ć³ć³ćć³ć? ē©éå?{@value} */ 154 public static final String ACT_INTERSECT = "INTERSECT" ; 155 /** action å¼ę°ć«ęø”ćäŗć?åŗę„ć?ć¢ćÆć·ć§ć³ć³ćć³ć? å·®é?{@value} */ 156 public static final String ACT_MINUS = "MINUS" ; 157 /** action å¼ę°ć«ęø”ćäŗć?åŗę„ć?ć¢ćÆć·ć§ć³ć³ćć³ć? å·®å?å?@value} */ 158 public static final String ACT_DIFFERENCE = "DIFFERENCE" ; 159 /** action å¼ę°ć«ęø”ćäŗć?åŗę„ć?ć¢ćÆć·ć§ć³ć³ćć³ć? ååę{@value} */ 160 public static final String ACT_UNION_CLM = "UNION_CLM" ; 161 /** action å¼ę°ć«ęø”ćäŗć?åŗę„ć?ć¢ćÆć·ć§ć³ć³ćć³ć? ååę{@value} */ 162 public static final String ACT_ADD_CLM = "ADD_CLM" ; 163 /** action å¼ę°ć«ęø”ćäŗć?åŗę„ć?ć¢ćÆć·ć§ć³ć³ćć³ć? ć°ć«ć¼ć?{@value} */ 164 public static final String ACT_GROUP = "GROUP" ; 165 /** action å¼ę°ć«ęø”ćäŗć?åŗę„ć?ć¢ćÆć·ć§ć³ć³ćć³ć? ć°ć«ć¼ć?{@value} */ 166 public static final String ACT_UNION_SELROW = "UNION_SELROW" ;// 4.3.2.0 (2008/09/11) 167 168 /** action å¼ę°ć«ęø”ćäŗć?åŗę„ć?ć¢ćÆć·ć§ć³ć³ćć³ć?ćŖć¹ć? */ 169 private static final String[] ACTION_LIST = new String[] { 170 ACT_UNION_ALL , ACT_UNION , ACT_INTERSECT , ACT_MINUS , ACT_DIFFERENCE , ACT_UNION_CLM , ACT_ADD_CLM , ACT_GROUP, ACT_UNION_SELROW }; 171 172 /** command å¼ę°ć«ęø”ćäŗć?åŗę„ć?ć³ćć³ć? ę°č¦?{@value} */ 173 public static final String CMD_NEW = "NEW" ; 174 /** command å¼ę°ć«ęø”ćäŗć?åŗę„ć?ć³ćć³ć? åę¤ē“¢ {@value} */ 175 public static final String CMD_RENEW = "RENEW" ; 176 /** command å¼ę°ć«ęø”ćäŗć?åŗę„ć?ć³ćć³ć?ćŖć¹ć? */ 177 private static final String[] COMMAND_LIST = new String[] { CMD_NEW , CMD_RENEW }; 178 179 private String command = CMD_NEW; 180 181 private String action = null; 182 private String tableId = HybsSystem.TBL_MDL_KEY; // åŗåå?ć® tableId 183 private String scope = "session"; // åŗåå?ć® scope 184 185 private String masterTableId = HybsSystem.TBL_MDL_KEY; // ćć¹ćæć??ćć«ć® tableId 186 private String masterScope = "session"; // ćć¹ćæć??ćć«ć® scope 187 private String slaveTableId = HybsSystem.TBL_MDL_KEY; // ć¹ć¬ć¼ććć¼ćć«ć® tableId 188 private String slaveScope = "request"; // ć¹ć¬ć¼ććć¼ćć«ć® scope 189 private String masterKeys = null; // ćć¹ćæć??ćć«ć®é?å¦ē?č”ćäø»ćć¼ 190 private String slaveKeys = null; // ć¹ć¬ć¼ććć¼ćć«ć®é?å¦ē?č”ćäø»ćć¼(nullę?masterKeys) 191 private String diffKeys = null; // ćć¹ćæć??ćć«ć®DIFFERENCEęć?å·®å?«ć©ć? 192 private String unionClms = null; // UNION_CLMęć«ć¹ć¬ć¼ćććć?ć¹ćæćøčæ½å?ćć«ć©ć? 193 private String modifyClms = null; // DIFFERENCEęć«ć¹ć¬ć¼ćććć?ć¹ćæćøå¤ćę“ę°ććć«ć©ć? 194 private String groupAddClms = null; // 5.1.4.0 (2010/03/01) masterKeysć§é?å¦ē?ććØćć«ćēøéćć¼ćæćCSVé£ēµćć¦ę®ćć«ć©ć? 195 private boolean noSideEffect = false; // ć??ćć«ć¢ć?«ć«åƾććåÆä½ēØ(true:ćŖć?false:ćć) 196 private boolean useDiffData = true; // DIFFERENCEęć«å·®å??ć¹ć¬ć¼ććć¼ćæćčæ½å?ććć©ć? 197 private boolean useCheckOnly = false; // ćć¹ćæć??ćć«ć®éøęč”ć?ć??ćæć®ćæć対豔ć«å¦ē?č”ććć©ć? 198 private boolean display = true; 199 private boolean isMainTrans = true; // 5.1.6.0 (2010/05/01) DBLastSqlć®å¦ē??č¦ē“ć? 200 private String separator = ","; // 5.3.1.0 (2011/01/01) groupAddClmnsć§ēµåććéć?åŗå?ę?? 201 private boolean stopZero = false; // 5.7.6.2 (2014/05/16) stopZeroå±ę?čæ½å? 202 203 /** 204 * Taglibć®ēµäŗ?æć°ćč¦ć¤ćć£ććØćć«å¦ē?ć?doEndTag() ć?ćŖć¼ćć?ć©ć¤ććć¾ćć? 205 * 206 * @og.rev 4.3.2.0 (2008/09/11) UNION_SELROWć¢ćÆć·ć§ć³åƾåæ? 207 * @og.rev 4.3.3.0 (2008/10/01) å¦ē?å¾ć?ć??ćć«ä»¶ę°ćåå¾ć§ććććć«ćć 208 * @og.rev 4.3.3.1 (2008/10/08) ć¹ć¬ć¼ćć?nullćć§ć?Æčæ½å? 209 * @og.rev 5.1.6.0 (2010/05/01) DBLastSqlć®å¦ē??ćDBTableModelćę°č¦ä½ę?ćććå?ē?§ć®ćæč”ćć? 210 * @og.rev 5.2.2.0 (2010/11/01) caseKey ćcaseVal å±ę?対åæ? 211 * @og.rev 5.7.6.2 (2014/05/16) stopZeroå±ę?ćDB.COUNT ćć¼ć§ę¤ē“¢ä»¶ę°ććŖćÆćØć¹ćć«ć»ć?ććć? 212 * 213 * @return å¾ē¶å?ē??ę?¤ŗ 214 */ 215 @Override 216 public int doEndTag() { 217 debugPrint(); // 4.0.0 (2005/02/28) 218 // 5.2.2.0 (2010/11/01) caseKey ćcaseVal å±ę?対åæ? 219 if( !useTag() || ! check( command, COMMAND_LIST ) ) { return EVAL_PAGE ; } 220 221 // ę“åę?ćć§ć?Æ?ć¢ćÆć·ć§ć³ćŖć¹ććØć®ååØćć§ć?Æ 222 if( !check( action, ACTION_LIST ) ) { 223 String errMsg = "ę?®ć?ć¢ćÆć·ć§ć³ćÆå®č”ć§ćć¾ćććć¢ćÆć·ć§ć³ćØć©ć¼" 224 + HybsSystem.CR 225 + "action=[" + action + "] " 226 + HybsSystem.CR 227 + "ę?®åÆč½ćŖć¢ćÆć·ć§ć³:" 228 + StringUtil.array2csv( ACTION_LIST ) ; 229 throw new HybsSystemException( errMsg ); 230 } 231 232 // ć¹ć¬ć¼ććć¼ćć«ć®é?å¦ē?č”ćäø»ćć¼(nullę?masterKeys) 233 if( slaveKeys == null ) { slaveKeys = masterKeys; } 234 235 super.setScope( masterScope ); 236 DBTableModel masterTable = (DBTableModel)getObject( masterTableId ); 237 238 // ę“åę?ćć§ć?Æ?ć?ć¹ćæć??ćć«ćÆåæ?? 239 if( masterTable == null ) { 240 String errMsg = "ćć¹ćæć??ćć«ćÆåæ??ć§ćć?" 241 + HybsSystem.CR 242 + "action=[" + action + "] " 243 + "masterTableId=[" + masterTableId + "] " 244 + "masterScope=[" + masterScope + "] " ; 245 throw new HybsSystemException( errMsg ); 246 } 247 if( noSideEffect ) { masterTable = cloneTable( masterTable ); } 248 Map<String,Integer> masterMap = makeKeyMap( masterTable,masterKeys,useCheckOnly ); 249 250 DBTableModel slaveTable = null; 251 Map<String,Integer> slaveMap = null; 252 253 // ę“åę?ćć§ć?Æ?action="GROUP" 㨠"ADD_CLM" 仄å¤ć§ćÆćć¹ć¬ć¼ććć¼ćć«ćÆåæ?? 254 if( ! ACT_GROUP.equalsIgnoreCase( action ) && !ACT_ADD_CLM.equalsIgnoreCase( action ) ) { 255 super.setScope( slaveScope ); 256 slaveTable = (DBTableModel)getObject( slaveTableId ); 257 258 if( slaveTable == null ) { 259 String errMsg = "action=\"" + action + "\" ęć«ćÆćć¹ć¬ć¼ććć¼ćć«ćåæ?¦ć§ćć?" 260 + HybsSystem.CR 261 + "slaveTableId=[" + slaveTableId + "] " 262 + "slaveScope=[" + slaveScope + "] " ; 263 throw new HybsSystemException( errMsg ); 264 } 265 if( noSideEffect ) { slaveTable = cloneTable( slaveTable ); } 266 slaveMap = makeKeyMap( slaveTable,slaveKeys,false ); // ć¹ć¬ć¼ćć?useCheckOnlyē”é¢äæ? 267 268 // ćć?å “åć?ćć¹ćæćØć¹ć¬ć¼ććåäø?”ć¢ćŖäøć?ć??ćć«(ē©ē?ć«åć)ć§ćŖć?ŗć? 269 if( slaveTable == masterTable ) { 270 String errMsg = "ćć¹ćæćØć¹ć¬ć¼ććåäø?”ć¢ćŖć«ćŖć£ć¦ć?¾ćć?" 271 + "éåøøćę¤ē“¢ēµę㯠TableId 㨠Scope ćå„ć?«ę?®ćć¾ćć?" 272 + HybsSystem.CR 273 + "action=[" + action + "] " 274 + "masterTableId=[" + masterTableId + "] " 275 + "slaveTableId=[" + slaveTableId + "] " 276 + "masterScope=[" + masterScope + "] " 277 + "slaveScope=[" + slaveScope + "] " ; 278 throw new HybsSystemException( errMsg ); 279 } 280 } 281 282 super.setScope( scope ); 283 useMainTrans( isMainTrans ); // 5.1.6.0 (2010/05/01) DBLastSqlć®å¦ē??č¦ē“ć? 284 startQueryTransaction( tableId ); // 3.6.0.8 (2004/11/19) 285 286 // čØå®å?ć®ę“åę?ćć§ć?Æ 287 // ę“åę?ćć§ć?Æ?action="UNION_ALL" 㨠"GROUP"㨠"ADD_CLM"㨠"UNION_CLM" 仄å¤ć§ćÆćmasterKeys ćåæ?? 288 if( ! ACT_UNION_ALL.equalsIgnoreCase( action ) 289 && !ACT_UNION_SELROW.equalsIgnoreCase( action ) // 4.3.2.0 (2008/09/11) 290 && !ACT_GROUP.equalsIgnoreCase( action ) 291 && !ACT_ADD_CLM.equalsIgnoreCase( action ) 292 && !ACT_UNION_CLM.equalsIgnoreCase( action ) 293 && masterKeys == null ) { 294 String errMsg = "action=\"" + action + "\" ęć«ćÆćmasterKeys ćåæ??ć§ćć?" 295 + HybsSystem.CR 296 + "masterKeys=[" + masterKeys + "] "; 297 throw new HybsSystemException( errMsg ); 298 } 299 300 // čØå®å?ć®ę“åę?ćć§ć?Æ 301 // ę“åę?ćć§ć?Æ?action="DIFFERENCE" ć§ćÆćdiffKeys ćåæ?? 302 if( ACT_DIFFERENCE.equalsIgnoreCase( action ) && diffKeys == null ) { 303 String errMsg = "action=\"" + action + "\" ęć«ćÆćdiffKeys ćåæ??ć§ćć?" 304 + HybsSystem.CR 305 + "diffKeys=[" + diffKeys + "] "; 306 throw new HybsSystemException( errMsg ); 307 } 308 309 // čØå®å?ć®ę“åę?ćć§ć?Æ 310 // ę“åę?ćć§ć?Æ?å?åę?(UNION_CLM) 㨠ć°ć«ć¼ć?GROUP) 㨠åčæ½å?ADD_CLM) 仄å¤ć§ćÆććć¼ćć«ć«ć©ć?°ćåćć§ććåæ?¦ćććć? 311 if( ! ACT_UNION_CLM.equalsIgnoreCase( action ) 312 && !ACT_GROUP.equalsIgnoreCase( action ) 313 && !ACT_ADD_CLM.equalsIgnoreCase( action ) ) { 314 int mClmSize = masterTable.getColumnCount(); 315 int sClmSize = slaveTable.getColumnCount(); 316 317 if( mClmSize != sClmSize ) { 318 String errMsg = "action=\"" + action + "\" ęć«ćÆććć¼ćć«ć«ć©ć?°ćē°ćŖć£ć¦ćÆć?ć¾ććć? 319 + HybsSystem.CR 320 + "Master=" + mClmSize + " ,[" 321 + StringUtil.array2csv( masterTable.getNames() ) + "]" 322 + HybsSystem.CR 323 + "Slave =" + sClmSize + " ,[" 324 + StringUtil.array2csv( slaveTable.getNames() ) + "]"; 325 throw new HybsSystemException( errMsg ); 326 } 327 } 328 329 StringBuilder buf = null; 330 if( display ) { 331 buf = new StringBuilder(); 332 buf.append( action ).append( "(" ); 333 buf.append( " M[" ).append( masterTable.getRowCount() ).append( "]" ); 334 if( slaveTable != null ) { 335 buf.append( ",S[" ).append( slaveTable.getRowCount() ).append( "]" ); 336 } 337 } 338 339 // 4.3.3.0 (2008/10/01) 340 setRequestAttribute( "DB.MASTER_COUNT" , String.valueOf( masterTable.getRowCount() ) ); 341 // 4.3.3.1 (2008/10/08) nullćć§ć?Æ 342 if( slaveTable != null ) { 343 setRequestAttribute( "DB.SLAVE_COUNT", String.valueOf( slaveTable.getRowCount() ) ); 344 } 345 346 DBTableModel table = null; 347 if( ACT_UNION_ALL.equalsIgnoreCase( action ) ) { // å Øä½éå? 348 table = makeUnionAll( masterTable,slaveTable ); 349 } 350 else if( ACT_UNION_SELROW.equalsIgnoreCase( action ) ) { // 4.3.2.0 (2008/09/11) å Øä½éå?slave蔨ćmaster蔨ć®ćć§ć?Æč”ććčæ½å? 351 table = makeUnionSelrow( masterTable,slaveTable ); 352 } 353 else if( ACT_UNION.equalsIgnoreCase( action ) ) { // åéå? 354 table = makeUnion( masterTable,masterMap,slaveTable,slaveMap ); 355 } 356 else if( ACT_INTERSECT.equalsIgnoreCase( action ) ) { // ē©éå? 357 table = makeIntersect( masterTable,masterMap,slaveMap ); 358 } 359 else if( ACT_MINUS.equalsIgnoreCase( action ) ) { // å·®é? 360 table = makeMinus( masterTable,masterMap,slaveMap ); 361 } 362 else if( ACT_DIFFERENCE.equalsIgnoreCase( action ) ) { // å·®å?å? 363 table = makeDifference( masterTable,masterMap,slaveTable,slaveMap ); 364 } 365 else if( ACT_UNION_CLM.equalsIgnoreCase( action ) ) { // ååę? 366 if( unionClms == null ) { 367 String errMsg = "action=\"UNION_CLM\" ęć«ćÆćunionClms ćåæ??ć§ćć?" ; 368 throw new HybsSystemException( errMsg ); 369 } 370 371 table = makeUnionClm( masterTable,slaveKeys,slaveTable,slaveMap ); 372 } 373 else if( ACT_ADD_CLM.equalsIgnoreCase( action ) ) { // åčæ½å? 374 if( unionClms == null ) { 375 String errMsg = "action=\"ADD_CLM\" ęć«ćÆćunionClms ćåæ??ć§ćć?" ; 376 throw new HybsSystemException( errMsg ); 377 } 378 379 table = makeAddClm( masterTable ); 380 } 381 else if( ACT_GROUP.equalsIgnoreCase( action ) ) { // ć°ć«ć¼ć? 382 table = makeGroup( masterTable ); 383 } 384 385 if( table != null ) { 386 // 3.6.0.8 (2004/11/19) ćć©ć³ć¶ćÆć·ć§ć³ćć§ć?Æćč”ćć¾ćć? 387 super.setScope( scope ); 388 if( ! commitTableObject( tableId, table ) ) { 389 return SKIP_PAGE ; 390 } 391 } 392 393 // 5.7.6.2 (2014/05/16) ćć?ćøććēµęć® DBTableModel ć®ć??ćæä»¶ę° 394 int rowCnt = table.getRowCount(); 395 396 if( display ) { 397 // buf.append( " ) = [" ).append( table.getRowCount() ).append( "]" ); 398 buf.append( " ) = [" ).append( rowCnt ).append( "]" ); 399 jspPrint( buf.toString() ); 400 } 401 402 // 5.7.6.2 (2014/05/16) ę¤ē“¢ēµęć®ä»¶ę°ćć?"DB.COUNT" ćć¼ć§ćŖćÆćØć¹ćć«ć»ć?ććć? 403 setRequestAttribute( "DB.COUNT" , String.valueOf( rowCnt ) ); 404 405 // 5.7.6.2 (2014/05/16) ä»¶ę°?ä»¶ć㤠stopZero = true 406 if( rowCnt == 0 && stopZero ) { return SKIP_PAGE; } 407 408 // 4.3.4.4 (2009/01/01) 409 // setRequestAttribute( "DB.COUNT" , ( table == null ? 0 :String.valueOf( table.getRowCount() ) ) ); 410 411 return EVAL_PAGE ; // ćć?ćøć®ę®ććč©ä¾”ććć? 412 } 413 414 /** 415 * ćæć°ćŖććŖććøć§ćÆćććŖćŖć¼ć¹ćć¾ćć? 416 * ćć£ć?·ć„ććć¦åå©ēØćććć?ć§ććć£ć¼ć«ćć?åęčØå®ćč”ćć¾ćć? 417 * 418 * @og.rev 5.1.4.0 (2010/03/01) groupAddClms čæ½å? 419 * @og.rev 5.1.6.0 (2010/05/01) DBLastSqlć®å¦ē??ćDBTableModelćę°č¦ä½ę?ćććå?ē?§ć®ćæč”ćć? 420 * @og.rev 5.3.1.0 (2011/01/01) separatorčæ½å? 421 * @og.rev 5.7.6.2 (2014/05/16) stopZeroå±ę?čæ½å? 422 */ 423 @Override 424 protected void release2() { 425 super.release2(); 426 command = CMD_NEW; 427 action = null; 428 tableId = HybsSystem.TBL_MDL_KEY; // åŗåå?ć® tableId 429 scope = "session"; // åŗåå?ć® scope 430 masterTableId = HybsSystem.TBL_MDL_KEY; // ćć¹ćæć??ćć«ć® tableId 431 masterScope = "session"; // ćć¹ćæć??ćć«ć® scope 432 slaveTableId = HybsSystem.TBL_MDL_KEY; // ć¹ć¬ć¼ććć¼ćć«ć® tableId 433 slaveScope = "request"; // ć¹ć¬ć¼ććć¼ćć«ć® scope 434 masterKeys = null; // ćć¹ćæć??ćć«ć®é?å¦ē?č”ćäø»ćć¼ 435 slaveKeys = null; // ć¹ć¬ć¼ććć¼ćć«ć®é?å¦ē?č”ćäø»ćć¼(nullę?masterKeys) 436 diffKeys = null; // ćć¹ćæć??ćć«ć®DIFFERENCEęć?å·®å?«ć©ć? 437 unionClms = null; // ć¹ć¬ć¼ćććć?ć¹ćæćøčæ½å?ćć«ć©ć? 438 modifyClms = null; // ć¹ć¬ć¼ćććć?ć¹ćæćøå¤ćę“ę°ććć«ć©ć? 439 groupAddClms = null; // 5.1.4.0 (2010/03/01) masterKeysć§é?å¦ē?ććØćć«ćēøéćć¼ćæćCSVé£ēµćć¦ę®ćć«ć©ć? 440 noSideEffect = false; // ć??ćć«ć¢ć?«ć«åƾććåÆä½ēØ(true:ćŖć?false:ćć) 441 useDiffData = true; // DIFFERENCEęć«å·®å??ć¹ć¬ć¼ććć¼ćæćčæ½å?ććć©ć? 442 useCheckOnly = false; // ćć¹ćæć??ćć«ć®éøęč”ć?ć??ćæć®ćæć対豔ć«å¦ē?č”ććć©ć? 443 display = true; 444 stopZero = false; // 5.7.6.2 (2014/05/16) stopZeroå±ę?čæ½å? 445 isMainTrans = true; // 5.1.6.0 (2010/05/01) DBLastSqlć®å¦ē??č¦ē“ć? 446 separator = ","; 447 } 448 449 /** 450 * ę?®ć?ć??ćć«ć®ę?®ć?ć«ć©ć?CSV)ćććč”ēŖå·ćć?ć??åćć¾ćć? 451 * ćŖćć?å¼ę°ć®ć??ćć«ć«ć¤ć?¦ćÆćäø»ćć¼ć«ććć°ć«ć¼ćå?ē?č”ććć¾ćć?(åÆä½ēØćć) 452 * 453 * @og.rev 4.3.2.0 (2008/09/11) ćć¹ćæćć¼ęŖę?®ęćÆä½ćććŖć? 454 * @og.rev 5.1.4.0 (2010/03/01) groupAddClms čæ½å? 455 * @og.rev 5.3.1.0 (2011/01/01) groupAddClms ć® separatorę?®åƾåæ? 456 * @og.rev 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 457 * 458 * @param table ćććä½ę?å ??ć??ćæć??ćć«(åÆä½ēØćć) 459 * @param keys ćććä½ę?ć®äø»ćć¼(CSVå½¢å¼? 460 * @param useCheckOnly ćć§ć?Æč”ć?ćæć対豔ć«ćććć©ć? 461 * 462 * @return ćććåćććäø»ćć¼ćØč”ēŖå· 463 */ 464 private Map<String,Integer> makeKeyMap( final DBTableModel table, final String keys, final boolean useCheckOnly ) { 465 466 // ć«ć©ć?ćć«ć©ć?Ŗå·ć«å¤ęćć¾ćć? 467 int[] clmNo = makeColumnNo( table,keys ); 468 int clmSize = clmNo.length; 469 if( clmSize == 0 ) { // ćć¹ćæćć¼ęŖę?®ęć«ćÆå Øć«ć©ć?使ēØćć¾ćć? 470 return null; // 4.3.2.0 (2008/09/11) 471 } 472 473 // groupAddClms ćć«ć©ć?Ŗå·ć«å¤ęćć¾ćć? 474 int[] grpClmNo = makeColumnNo( table,groupAddClms ); 475 int grpClmSize = grpClmNo.length; 476 477 Map<String,Integer> tempMap = new LinkedHashMap<String,Integer>(); 478 479 // 注ęļ¼GROUPåć?éēØć§ ć??ćć«ä»¶ę°ćåē?«å¤åćć¾ćć? 480 StringBuilder buf ; 481 for( int row=0; row<table.getRowCount(); row++ ) { 482 if( useCheckOnly && table.getModifyType( row ).length() == 0 ) { 483 continue; 484 } 485 486 buf = new StringBuilder(); 487 for( int i=0; i<clmSize; i++ ) { 488 buf.append( table.getValue( row,clmNo[i] ) ).append( "|" ); 489 } 490 // äø»ćć¼é£ēµęåå? 491 String key = buf.toString().toUpperCase(Locale.JAPAN); // 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 492 if( tempMap.containsKey( key ) ) { 493 // 5.1.4.0 (2010/03/01) groupAddClms čæ½å? 494 int orgRow = tempMap.get( key ).intValue() ; // čæ½å?øćæć®č”ēŖå·ćåå¾? 495 for( int i=0; i<grpClmSize; i++ ) { 496 int clm = grpClmNo[i]; 497 String val1 = table.getValue( orgRow,clm ) ; // ę¢åć?č”ć?ć«ć©ć??ć??ćæ 498 String val2 = table.getValue( row,clm ) ; // åé¤ććč”ć?ć«ć©ć??ć??ćæ 499 // 5.3.1.0 (2011/01/01) 500 table.setValueAt( val1 + separator + val2,orgRow,clm ); // CSV é£ēµć?ć??ćæćę»ćć? 501 } 502 table.removeValue( row ); 503 row-- ; 504 } 505 else { // ć¾ć??ęŖē»é²ć®å “å? 506 tempMap.put( key,Integer.valueOf( row ) ); 507 } 508 } 509 510 return tempMap; 511 } 512 513 /** 514 * ę?®ć?ćć¹ćæ,ć¹ć¬ć¼ććć¼ćć«ć使ēØćć¦ å Øä½éå?å¦ē?å®č”ćć¾ćć? 515 * 516 * @param masterTbl ćć¹ćæć¼ć??ćć«ć¢ć?« 517 * @param slaveTbl ć¹ć¬ć¼ććć¼ćć«ć¢ć?« 518 * 519 * @return å¦ē?µęć®ć??ćć«ć¢ć?« 520 */ 521 private DBTableModel makeUnionAll( final DBTableModel masterTbl,final DBTableModel slaveTbl ) { 522 DBTableModel table = masterTbl; 523 524 for( int row=0; row<slaveTbl.getRowCount(); row++ ) { 525 String[] vals = slaveTbl.getValues( row ); 526 table.addColumnValues( vals ); 527 } 528 529 return table; 530 } 531 532 /** 533 * ę?®ć?ćć¹ćæ,ć¹ć¬ć¼ććć¼ćć«ć使ēØćć¦ å Øä½éå?å¦ē?å®č”ćć¾ćć? 534 * ć¹ć¬ć¼ć蔨ćÆćć?ć¹ćæč”Øć®ćć§ć?Æćććč”ćčµ·ē¹ćØćć¦ē»é²ććć¾ćć? 535 * ćć§ć?Æććć¦ć?Ŗć??åć?ćć¹ć¬ć¼ć蔨ćÆå é?ććčæ½å?ćć¾ćć? 536 * 537 * @og.rev 4.3.2.0 (2008/09/11) ę°č¦ä½ę? 538 * 539 * @param masterTbl ćć¹ćæć¼ć??ćć«ć¢ć?« 540 * @param slaveTbl ć¹ć¬ć¼ććć¼ćć«ć¢ć?« 541 * 542 * @return å¦ē?µęć®ć??ćć«ć¢ć?« 543 */ 544 private DBTableModel makeUnionSelrow( final DBTableModel masterTbl,final DBTableModel slaveTbl ) { 545 DBTableModel table = masterTbl; 546 547 int insRowNo = ( getParameterRows().length > 0 ) ? getParameterRows()[0] + 1 : 0 ; 548 for( int row=0; row<slaveTbl.getRowCount(); row++ ) { 549 String[] vals = slaveTbl.getValues( row ); 550 table.addValues( vals, insRowNo + row, false ); 551 } 552 553 return table; 554 } 555 556 /** 557 * ę?®ć?ćć¹ćæ,ć¹ć¬ć¼ććć¼ćć«ć使ēØć㦠åéå?å¦ē?å®č”ćć¾ćć? 558 * 559 * @og.rev 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 560 * 561 * @param masterTbl ćć¹ćæć¼ć??ćć«ć¢ć?« 562 * @param masterMap ćć¹ćæć¼ć??ćć«ć®äø»ćć¼ććć? 563 * @param slaveTbl ć¹ć¬ć¼ććć¼ćć«ć¢ć?« 564 * @param slaveMap ć¹ć¬ć¼ććć¼ćć«ć®äø»ćć¼ććć? 565 * 566 * @return å¦ē?µęć®ć??ćć«ć¢ć?« 567 */ 568 private DBTableModel makeUnion( final DBTableModel masterTbl,final Map<String,Integer> masterMap, 569 final DBTableModel slaveTbl,final Map<String,Integer> slaveMap ) { 570 DBTableModel table = masterTbl; 571 572 @SuppressWarnings("rawtypes") 573 Map.Entry[] entry = slaveMap.entrySet().toArray( new Map.Entry[slaveMap.size()] ); 574 575 int size = entry.length; 576 for( int i=0; i<size; i++ ) { 577 String key = (String)entry[i].getKey(); 578 if( key != null ) { key = key.toUpperCase(Locale.JAPAN); } // 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 579 if( ! masterMap.containsKey( key ) ) { // ćć¹ćæć«ć¹ć¬ć¼ććć¼ćæćååØććŖć? 580 int row = ((Integer)entry[i].getValue()).intValue(); 581 String[] vals = slaveTbl.getValues( row ); 582 table.addColumnValues( vals ); 583 } 584 } 585 return table; 586 } 587 588 /** 589 * ę?®ć?ćć¹ćæ,ć¹ć¬ć¼ććć¼ćć«ć使ēØć㦠ē©éå?å¦ē?å®č”ćć¾ćć? 590 * 591 * @og.rev 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 592 * 593 * @param masterTbl ćć¹ćæć¼ć??ćć«ć¢ć?« 594 * @param masterMap ćć¹ćæć¼ć??ćć«ć®äø»ćć¼ććć? 595 * @param slaveMap ć¹ć¬ć¼ććć¼ćć«ć®äø»ćć¼ććć? 596 * 597 * @return å¦ē?µęć®ć??ćć«ć¢ć?« 598 */ 599 private DBTableModel makeIntersect( final DBTableModel masterTbl,final Map<String,Integer> masterMap, final Map<String,Integer> slaveMap ) { 600 DBTableModel table = masterTbl; 601 602 @SuppressWarnings("rawtypes") 603 Map.Entry[] entry = masterMap.entrySet().toArray( new Map.Entry[masterMap.size()] ); 604 605 int size = entry.length; 606 for( int i=0; i<size; i++ ) { 607 String key = (String)entry[i].getKey(); 608 if( key != null ) { key = key.toUpperCase(Locale.JAPAN); } // 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 609 if( ! slaveMap.containsKey( key ) ) { // ć¹ć¬ć¼ćć«ćć¹ćæćååØććŖć? 610 int row = ((Integer)entry[i].getValue()).intValue(); 611 table.rowDelete( row ); // č«ēåé¤ 612 } 613 } 614 615 // č”ēŖå·ćå¤ćććŖć?ć?«é??åé¤ćć¾ćć? 616 for( int row=table.getRowCount()-1; row>=0; row-- ) { 617 if( DBTableModel.DELETE_TYPE.equalsIgnoreCase( table.getModifyType( row ) ) ) { // 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 618 table.removeValue( row ); 619 } 620 } 621 622 return table; 623 } 624 625 /** 626 * ę?®ć?ćć¹ćæ,ć¹ć¬ć¼ććć¼ćć«ć使ēØć㦠差é? å¦ē?å®č”ćć¾ćć? 627 * 628 * @og.rev 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 629 * 630 * @param masterTbl ćć¹ćæć¼ć??ćć«ć¢ć?« 631 * @param masterMap ćć¹ćæć¼ć??ćć«ć®äø»ćć¼ććć? 632 * @param slaveMap ć¹ć¬ć¼ććć¼ćć«ć®äø»ćć¼ććć? 633 * 634 * @return å¦ē?µęć®ć??ćć«ć¢ć?« 635 */ 636 private DBTableModel makeMinus( final DBTableModel masterTbl,final Map<String,Integer> masterMap, 637 final Map<String,Integer> slaveMap ) { 638 DBTableModel table = masterTbl; 639 640 @SuppressWarnings("rawtypes") 641 Map.Entry[] entry = masterMap.entrySet().toArray( new Map.Entry[masterMap.size()] ); 642 643 int size = entry.length; 644 for( int i=0; i<size; i++ ) { 645 String key = (String)entry[i].getKey(); 646 if( key != null ) { key = key.toUpperCase(Locale.JAPAN); } // 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 647 if( slaveMap.containsKey( key ) ) { // ć¹ć¬ć¼ćć«ćć¹ćæćååØćć 648 int row = ((Integer)entry[i].getValue()).intValue(); 649 table.rowDelete( row ); // č«ēåé¤ 650 } 651 } 652 653 // č”ēŖå·ćå¤ćććŖć?ć?«é??åé¤ćć¾ćć? 654 for( int row=table.getRowCount()-1; row>=0; row-- ) { 655 if( DBTableModel.DELETE_TYPE.equalsIgnoreCase( table.getModifyType( row ) ) ) { // 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 656 table.removeValue( row ); 657 } 658 } 659 660 return table; 661 } 662 663 /** 664 * ę?®ć?ćć¹ćæ,ć¹ć¬ć¼ććć¼ćć«ć使ēØć㦠差å?å?å¦ē?å®č”ćć¾ćć? 665 * 666 * @og.rev 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 667 * 668 * @param masterTbl ćć¹ćæć¼ć??ćć«ć¢ć?« 669 * @param masterMap ćć¹ćæć¼ć??ćć«ć®äø»ćć¼ććć? 670 * @param slaveTbl ć¹ć¬ć¼ććć¼ćć«ć¢ć?« 671 * @param slaveMap ć¹ć¬ć¼ććć¼ćć«ć®äø»ćć¼ććć? 672 * 673 * @return å¦ē?µęć®ć??ćć«ć¢ć?« 674 */ 675 private DBTableModel makeDifference( final DBTableModel masterTbl,final Map<String,Integer> masterMap, 676 final DBTableModel slaveTbl ,final Map<String,Integer> slaveMap ) { 677 DBTableModel table = masterTbl; 678 679 // ć??ćć«ć®å·®å?±ę?ć®ć«ć©ć?Ŗå·ćę±ćć¾ćć?(ćć¹ćæćć¹ć¬ć¼ćå?é? 680 int[] diffClmNo = makeColumnNo( table,diffKeys ); 681 int diffClmSize = diffClmNo.length; 682 683 // ć¹ć¬ć¼ćććć?ć¹ćæćøå¤ć®åć»ć?ćč”ćć«ć©ć?Ŗå·ćę±ćć¾ćć?(ćć¹ćæćć¹ć¬ć¼ćå?é? 684 int[] modClmNo = makeColumnNo( table,modifyClms ); 685 int modClmSize = modClmNo.length; 686 687 int clmSize = table.getColumnCount(); 688 DBTableModel newTable = DBTableModelUtil.newDBTable(); 689 newTable.init( clmSize ); 690 691 // ć??ćć«ć®å Øć«ć©ć?ę°ćć«ä½ę?ććć??ćć«ć«ć³ćć?ćć¾ćć? 692 for( int i=0; i<clmSize; i++ ) { 693 newTable.setDBColumn( i,table.getDBColumn( i ) ); 694 } 695 696 // ć¹ć¬ć¼ćć?å é?ć«ć©ć?ćWRITABLE ćć©ć? 697 boolean writeFlag = "WRITABLE".equalsIgnoreCase( slaveTbl.getColumnName(0) ); 698 699 @SuppressWarnings("rawtypes") 700 Map.Entry[] entry = masterMap.entrySet().toArray( new Map.Entry[masterMap.size()] ); 701 702 int size = entry.length; 703 for( int i=0; i<size; i++ ) { 704 String key = (String)entry[i].getKey(); 705 if( key != null ) { key = key.toUpperCase(Locale.JAPAN); } // 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 706 if( slaveMap.containsKey( key ) ) { // ć¹ć¬ć¼ćć«ćć¹ćæćååØćć 707 int mrow = ((Integer)entry[i].getValue()).intValue(); 708 int srow = slaveMap.get( key ).intValue(); 709 boolean unmatched = false; 710 for( int j=0; j<diffClmSize; j++ ) { 711 String mval = table.getValue( mrow,diffClmNo[j] ); 712 String sval = slaveTbl.getValue( srow,diffClmNo[j] ); 713 if( mval != null && !mval.equalsIgnoreCase( sval ) ) { unmatched = true; break; } // 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 714 } 715 716 if( unmatched ) { // å±ę?ę??ćē°ćŖćå?åć?ćæå¦ē? 717 // ć??ćæć®ć³ćć? 718 String[] mvals = new String[clmSize]; 719 System.arraycopy( table.getValues( mrow ),0,mvals,0 ,clmSize ); 720 721 // ć¹ć¬ć¼ćć?å¤ćć?ć¹ćæć®å¤ć«ć»ć?ććć? 722 for( int j=0; j<modClmSize; j++ ) { 723 String val = slaveTbl.getValue( srow,modClmNo[j] ); 724 mvals[modClmNo[j]] = val; 725 } 726 newTable.addColumnValues( mvals ); 727 728 if( useDiffData ) { 729 // ć??ćæć®ć³ćć? 730 String[] svals = new String[clmSize]; 731 System.arraycopy( slaveTbl.getValues( srow ),0,svals,0 ,clmSize ); 732 if( writeFlag ) { svals[0] = "0"; } // ęøćč¾¼ćæäøčØ±åÆ 733 for( int j=0; j<diffClmSize; j++ ) { 734 int dclmNo = diffClmNo[j]; 735 String mval = mvals[dclmNo]; 736 String sval = svals[dclmNo]; 737 if( mval != null && !mval.equalsIgnoreCase( sval ) ) { // 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 738 svals[dclmNo] = "<span class=\"unmatched\">" + sval + "</span>" ; 739 } 740 } 741 newTable.addColumnValues( svals ); 742 // newTable.setRowWritable( newTable.getRowCount()-1,false ); // ęøćč¾¼ćæäøčØ±åÆ 743 } 744 } 745 } 746 } 747 return newTable; 748 } 749 750 /** 751 * ę?®ć?ćć¹ćæ,ć¹ć¬ć¼ććć¼ćć«ć使ēØć㦠ååę?å¦ē?å®č”ćć¾ćć? 752 * 753 * ćć§ć«ćć?ć¹ćæ ć«ć«ć©ć?ååØćć¦ć?å “åć?ćå?ć®ęøćęććć? 754 * ć«ć©ć?ååØććŖććć°ćć«ć©ć?čæ½å?ć¾ćć? 755 * ćć¹ćæćØć¹ć¬ć¼ćć?ć??ćæēŖåćęć®ćć¼ćÆćslaveKeys ć«ćŖćć¾ćć? 756 * ćććÆćmasterMap ć使ēØććŖć?ćØćęå³ćć¾ćć?(masterKeys ę?®ć«ććGROUPåć? 757 * č”ćć¾ćć?masterKeys ćęå®ććŖć??åć?ććµćć©ć¤ćŗćŖćć§å¦ē?ć¾ćć?) 758 * å ·ä½ēć«ćÆćć?ć¹ćæć??ćć«ć®č¤?°ć®č”ć«åƾćć¦ćć¹ć¬ć¼ććć¼ćæć®å¤ćčØå®? 759 * ćććåÆč½ę§ćććććØćęå³ćć¾ćć? 760 * 761 * @og.rev 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 762 * 763 * @param masterTbl ćć¹ćæć¼ć??ćć«ć¢ć?« 764 * @param slaveKeys ć¹ć¬ć¼ććć¼ 765 * @param slaveTbl ć¹ć¬ć¼ććć¼ćć«ć¢ć?« 766 * @param slaveMap ć¹ć¬ć¼ććć¼ćć«ć®äø»ćć¼ććć? 767 * 768 * @return å¦ē?µęć®ć??ćć«ć¢ć?« 769 */ 770 private DBTableModel makeUnionClm( final DBTableModel masterTbl ,final String slaveKeys , 771 final DBTableModel slaveTbl ,final Map<String,Integer> slaveMap ) { 772 773 DBTableModel table = makeAddClm( masterTbl ); 774 775 // ć«ć©ć?ćć«ć©ć?Ŗå·ć«å¤ęćć¾ćć? 776 int[] keyClmNo = makeColumnNo( table,slaveKeys ); 777 778 int[] mClmNo = makeColumnNo( table ,unionClms ); 779 int[] sClmNo = makeColumnNo( slaveTbl,unionClms ); 780 int addSize = mClmNo.length; // unionClms ć®åę°ćŖć®ć§ćć?ć¹ćæćć¹ć¬ć¼ćć?åäø? 781 782 // ēŖåććč”ććć?ć?ććć«ć©ć?«ć¤ć?¦ćå?ćć»ć?ćē“ćć¾ćć? 783 for( int row=0; row<table.getRowCount(); row++ ) { 784 String[] mvals = table.getValues( row ); 785 StringBuilder buf = new StringBuilder(); 786 for( int i=0; i<keyClmNo.length; i++ ) { 787 buf.append( mvals[keyClmNo[i]] ).append( "|" ); 788 } 789 // äø»ćć¼é£ēµęåå? 790 String key = buf.toString().toUpperCase(Locale.JAPAN); // 5.5.8.5 (2012/11/27) 大ę?ć?å°ęåćåŗå„ććŖć?? 791 if( slaveMap.containsKey( key ) ) { // ć¹ć¬ć¼ćć«ćć¹ćæć«åƾåæćććć¼ćæćååØćć 792 int slvRow = slaveMap.get( key ).intValue(); 793 String[] svals = slaveTbl.getValues( slvRow ); // ć¹ć¬ć¼ćć?č”ēŖå· 794 for( int j=0; j<addSize; j++ ) { 795 mvals[mClmNo[j]] = svals[sClmNo[j]]; 796 } 797 table.setValues( mvals,row ); 798 } 799 } 800 table.resetModify(); 801 802 return table; 803 } 804 805 /** 806 * ę?®ć?ćć¹ćæć??ćć«ć« åčæ½å?å¦ē?å®č”ćć¾ćć? 807 * 808 * ćć§ć«ćć?ć¹ćæ ć«ć«ć©ć?ååØćć¦ć?å “åć?ćå?ć®ęøćęććć? 809 * ć«ć©ć?ååØććŖććć°ćć«ć©ć?čæ½å?ć¾ćć? 810 * 811 * @param masterTbl ćć¹ćæć¼ć??ćć«ć¢ć?« 812 * 813 * @return å¦ē?µęć®ć??ćć«ć¢ć?« 814 */ 815 private DBTableModel makeAddClm( final DBTableModel masterTbl ) { 816 String[] addClms = StringUtil.csv2Array( unionClms ); 817 int addClmSize = addClms.length; 818 boolean[] useAdd = new boolean[addClmSize]; 819 int addSize = 0; 820 for( int i=0; i<addClmSize; i++ ) { 821 if( masterTbl.getColumnNo( addClms[i],false ) < 0 ) { // ååØććŖććć° -1 822 useAdd[i] = true; 823 addSize++ ; 824 } 825 else { 826 useAdd[i] = false; // ćć¹ćæć«ååØććć°ćčæ½å?øč¦? 827 } 828 } 829 830 int mstrClmSize = masterTbl.getColumnCount(); 831 int clmSize = mstrClmSize + addSize; 832 833 DBTableModel table = DBTableModelUtil.newDBTable(); 834 table.init( clmSize ); 835 int clmNo = 0; 836 // ćć¹ćæć??ćć«ć®å Øć«ć©ć?ę°ćć«ä½ę?ććć??ćć«ć«ć³ćć?ćć¾ćć? 837 for( int i=0; i<mstrClmSize; i++ ) { 838 table.setDBColumn( clmNo++,masterTbl.getDBColumn( i ) ); 839 } 840 // čæ½å?ćć«ć©ć?ę°ćć«ä½ę?ććć??ćć«ć«čæ½å?ć¾ćć? 841 String[] addClmVal = new String[addSize]; // čæ½å??ć®ćæ 842 int addCnt = 0; 843 for( int i=0; i<addClmSize; i++ ) { 844 if( useAdd[i] ) { 845 DBColumn column = getDBColumn( addClms[i] ); 846 addClmVal[addCnt++] = nval( column.getDefault(),"" ); 847 table.setDBColumn( clmNo++,column ); 848 } 849 } 850 // äø?¦ććć¹ć¦ć®ćć¹ćæć??ćæćę°ć??ćć«ć«ć³ćć?ćć¾ćć? 851 for( int row=0; row<masterTbl.getRowCount(); row++ ) { 852 String[] vals = new String[clmSize]; 853 System.arraycopy( masterTbl.getValues( row ),0,vals,0 ,mstrClmSize ); // ćć¹ćæć??ćæć®ć³ćć? 854 System.arraycopy( addClmVal,0,vals,mstrClmSize ,addSize ); // čæ½å??ę??ć®åęå¤ 855 table.addColumnValues( vals ); 856 } 857 858 return table; 859 } 860 861 /** 862 * ę?®ć?ćć¹ćæć??ćć«ć使ēØć㦠ć°ć«ć¼ć?å¦ē?å®č”ćć¾ćć? 863 * 864 * @param masterTbl ćć¹ćæć¼ć??ćć«ć¢ć?« 865 * 866 * @return å¦ē?µęć®ć??ćć«ć¢ć?« 867 */ 868 private DBTableModel makeGroup( final DBTableModel masterTbl ) { 869 DBTableModel table = masterTbl; 870 871 return table; 872 } 873 874 /** 875 * ę?®ć?ć??ćć«ćØåćć??ćć«ćå„ćŖććøć§ćÆććØćć¦ä½ę?ćć¾ćć? 876 * 877 * @param tbl ć³ćć?å ?ć¼ćć«ć¢ć?« 878 * 879 * @return ć³ćć?ćććę°ć??ćć«ć¢ć?« 880 */ 881 private DBTableModel cloneTable( final DBTableModel tbl ) { 882 int clmSize = tbl.getColumnCount(); 883 884 DBTableModel table = DBTableModelUtil.newDBTable(); 885 table.init( clmSize ); 886 887 // ć??ćć«ć®å Øć«ć©ć?ę°ćć«ä½ę?ććć??ćć«ć«ć³ćć?ćć¾ćć? 888 for( int i=0; i<clmSize; i++ ) { 889 table.setDBColumn( i,tbl.getDBColumn( i ) ); 890 } 891 // ćć¹ć¦ć®ć??ćæćę°ć??ćć«ć«ć³ćć?ćć¾ćć? 892 for( int row=0; row<tbl.getRowCount(); row++ ) { 893 String[] vals = new String[clmSize]; 894 System.arraycopy( tbl.getValues( row ),0,vals,0 ,clmSize ); // ć??ćæć®ć³ćć? 895 table.addColumnValues( vals ); 896 } 897 return table; 898 } 899 900 /** 901 * ę?®ć?ć??ćć«ćććć«ć©ć??åć«åƾåæććć«ć©ć?Ŗå·é å?ćä½ę?ćć¾ćć? 902 * 903 * ć«ć©ć?ć®CSVć??ćæć?ę?®ćććŖć??å?clmcsv == null)ćÆć?·ćļ¼ć?é å?ćčæćć¾ćć? 904 * 905 * @param table ć??ćć«ć¢ć?« 906 * @param clmcsv ć«ć©ć?ć®CSVć??ćæ 907 * 908 * @return ć«ć©ć?ć«åƾåæććć?åēŖå·é å?(ćŖććć°ć?·ćļ¼é?å? 909 */ 910 private int[] makeColumnNo( final DBTableModel table,final String clmcsv ) { 911 912 // ćć¹ćæć??ćć«ć®å·®å?±ę?ć®ć«ć©ć?Ŗå·ćę±ćć¾ćć? 913 String[] clms = StringUtil.csv2Array( clmcsv ); 914 int[] clmNo = new int[clms.length]; 915 916 // ć«ć©ć?ćć«ć©ć?Ŗå·ć«å¤ęćć¾ćć? 917 for( int i=0; i<clms.length; i++ ) { 918 clmNo[i] = table.getColumnNo( clms[i] ); 919 } 920 921 return clmNo; 922 } 923 924 /** 925 * ćTAGćć³ćć³ć?NEW,RENEW)ćć»ć?ćć¾ć?åęå¤:NEW)ć? 926 * 927 * @og.tag 928 * ć³ćć³ćć?,HTMLćć(get/post)ę?®ććć¾ćć?ć§,CMD_xxx ć§čØå®ććć 929 * ćć£ć¼ć«ćå®ę°å¤ć®ć?„ćććć?ę?®ć§ćć¾ćć? 930 * åęå¤ćÆ NEW ć§ćć? 931 * 932 * @param cmd ć³ćć³ć?public static final 宣čØ?ćć¦ć?ę?å?) 933 * @see <a href="../../../../constant-values.html#org.opengion.hayabusa.taglib.TableMergeTag.CMD_NEW">ć³ćć³ćå®ę°</a> 934 */ 935 public void setCommand( final String cmd ) { 936 String cmd2 = getRequestParameter( cmd ); 937 if( cmd2 != null && cmd2.length() > 0 ) { command = cmd2.toUpperCase(Locale.JAPAN); } 938 } 939 940 /** 941 * ćTAGćć¢ćÆć·ć§ć³ćęå®ćć¾ć?UNION_ALL|UNION|INTERSECT|MINUS|DIFFERENCE|UNION_CLM|ADD_CLM|GROUP|UNION_SELROW)ć? 942 * 943 * @og.tag 944 * ę?®ć§ććć¢ćÆć·ć§ć³ćÆćå?ä½éå?UNION_ALL)ćå?ä½éå?ęæå „ä½ē½®ę?®?(UNION_SELROW)ćåé?(UNION) 945 * ćē©éå?INTERSECT)ćå·®é?(MINUS)ćå·®å?å?DIFFERENCE)ćå?åę?(UNION_CLM)ćå?čæ½å?ADD_CLM)ć?ć°ć«ć¼ć?GROUP)ć§ćć? 946 * ååęćØć°ć«ć¼ć仄å¤ć?å¦ē?§ćÆćć«ć©ć??ćØć«ć©ć?°ćÆåę°ć§ćŖććć°ćŖćć¾ććć? 947 * primaryKeys ć?unionClms ćŖć©ć®ę?®ć?ćć¼åć?ćć?ć¹ćæć??ćć«ć«ååØććåæ?¦ćććć¾ćć? 948 * ćć¹ćæć??ćć«ćØåćć«ć©ć?Ŗå·ć§ć¹ć¬ć¼ććć¼ćć«ććć??ćæćčŖćæåŗćć¾ćć? 949 * (ć«ć©ć?ć?±ę?ćÆćē°ćŖć£ć¦ććć¾ć?¾ćććć?ćć¹ćæć??ćć«ć«ęŗę ćć¾ćć?) 950 * ć¾ćć?åē¬(ćć¹ćæć??ćć«ć®ćæ)ć§ćåé?ćØåēć?ćć°ć«ć¼ć?GROUP)ć使ēØćććØćęå®ć? 951 * ć«ć©ć?§ć®ć¦ćć?ćÆåćč”ćććØćåÆč½ć«ćŖćć¾ćć?ć°ć«ć¼ćå?ē?§ćÆćå?č”åŖå ćØćć? 952 * ?åē®ć«ē¾ććę??ćåé¤ććććØć«ćŖćć¾ćć?ć°ć«ć¼ć?ćęå®ćććå “åć?ć? 953 * ć¹ć¬ć¼ććć¼ćć«ćÆē”č¦ććć¾ćć?ć?ćć?å¦ē?«ććć¦ćć?é?å¦ē?č”ćäø»ćć¼ć§ 954 * äø?¦ć°ć«ć¼ćåććć¾ćć?å Øä½éå?UNION_ALL)ć§å¦ē?ćå?åć§ćć?äø»ćć¼ćć¦ćć?ćÆć§ 955 * ćŖć??åć?ćć?ć¹ćæć¼ćć¹ć¬ć¼ćć?å?ć¼ćć«ć§äø?¦ć°ć«ć¼ćåćććå¾ć§ćć?ć¼ćøććć¾ćć? 956 * (ćć?ćøå¾ć«ćÆćåäø?ø»ćć¼ćęć¤č”ć?ååØćć¾ćć?) 957 * å Øä½éå?UNION_ALL)ć®å “åć?ćæćmergeKeys ćęå®ććåæ?¦ć?ććć¾ććććć®å “åć?ć? 958 * ćć¼ćŖćć?ćććć?ć¹ćæć¼ćØć¹ć¬ć¼ćć?ć??ćć«ćåć«åę?ććć?ć«ćŖćć¾ćć? 959 * 960 * <table border="1" frame="box" rules="all" > 961 * <caption>ć¢ćÆć·ć§ć³ć®čŖ¬ę?/caption> 962 * <tr><th>action </th><th>åē§° </th><th>å¦ē?¦č¦? </th><th>??/th><th>??/th><th>??/th><th>??/th><tr> 963 * <tr><td>UNION_ALL </td><td>å Øä½éå?/td><td>ćć¹ćæćØć¹ć¬ć¼ććåę? 964 * <tr><td>UNION_SELROW</td><td>å Øä½éå?/td><td>ćć¹ćæćØć¹ć¬ć¼ććåę?(ćć¹ćæč”Øć®ćć§ć?Æč”ćčµ·ē¹ć«čæ½å?/td><td>ā?/td><td>ć?/td><td>ć?/td><td>ć?/td><tr> 965 * <tr><td>UNION </td><td>åéå? </td><td>ćć¹ćæćØć¹ć¬ć¼ćć?ć¦ćć?ćÆéØć®ćæåę? </td><td>ā?/td><td>ā?/td><td>ć?/td><td>ć?/td><tr> 966 * <tr><td>INTERSECT </td><td>ē©éå? </td><td>ćć¹ćæćØć¹ć¬ć¼ćć?ć¦ćć?ćÆéØćäø??ćććć¹ćæć®ćæéøę?</td><td>ā?/td><td>ā?/td><td>ć?/td><td>ć?/td><tr> 967 * <tr><td>MINUS </td><td>å·®é? </td><td>ćć¹ćæććć¹ć¬ć¼ćć«ååØććć¦ćć?ćÆéØćåé¤ććę®ć </td><td>ā?/td><td>ā?/td><td>ć?/td><td>ć?/td><tr> 968 * <tr><td>DIFFERENCE </td><td>å·®å?å?/td><td>ć¦ćć?ćÆéØćäø??ćć?å·®å?«ć©ć?ē°ćŖćć?ć¹ćæć®ćæéøę?</td><td>ā?/td><td>ā?/td><td>ć?/td><td>ā?/td><tr> 969 * <tr><td>UNION_CLM </td><td>ååę? </td><td>ćć¹ćæćØćć¼äø??ććć¹ć¬ć¼ćć?ć«ć©ć? å ±ćčæ½å? </td><td>ā?/td><td>ā?/td><td>ā?/td><td>ć?/td><tr> 970 * <tr><td>ADD_CLM </td><td>åčæ½å? </td><td>UNION_CLMćØć®éććÆćć«ć©ć??ćæčæ½å?ćććØć§ćć? </td><td>ć?/td><td>ć?/td><td>ā?/td><td>ć?/td><tr> 971 * <tr><td>GROUP </td><td>ć°ć«ć¼ć?/td><td>ćć¹ćæć®ć¦ćć?ćÆéØå? </td><td>ć?/td><td>ć?/td><td>ć?/td><td>ć?/td><tr> 972 * </table> 973 * 974 * ā»?ć?ć¹ćæć??ćć«ćŖććøć§ćÆćć?ćåøøć«åæ?? 975 * ?ļ¼ć¹ć¬ć¼ććć¼ćć«ćŖććøć§ćÆćåæ?? 976 * ?ļ¼masterKeys å±ę?åæ?? 977 * ?ļ¼unionClms å±ę?åæ??(ć¹ć¬ć¼ććć¼ćć«ć®ć«ć©ć?ć¾ćć?čæ½å?ćć«ć©ć?) 978 * ?ļ¼diffKeys å±ę?åæ??(DIFFERENCEęć?å·®å?«ć©ć?)ćmodifyClms å±ę?使ēØåÆč½ 979 * 980 * @param action ć¢ćÆć·ć§ć³(UNION_ALL|UNION|INTERSECT|MINUS|DIFFERENCE|UNION_CLM|ADD_CLM|GROUP|UNION_SELROW) 981 */ 982 public void setAction( final String action ) { 983 this.action = nval( getRequestParameter( action ),this.action ); 984 } 985 986 /** 987 * ćTAGćå?åå?ć®tableIdćęå®ćć¾ć? 988 * (åęå¤:HybsSystem#TBL_MDL_KEY[={@og.value HybsSystem#TBL_MDL_KEY}])ć? 989 * 990 * @og.tag 991 * é?å¦ē?µęć® DBTableModel ćć”ć¢ćŖć«ć»ć?ććå “åć?ćć¼(tableId)ćęå®ćć¾ćć? 992 * (åęå¤:HybsSystem#TBL_MDL_KEY[={@og.value HybsSystem#TBL_MDL_KEY}])ć? 993 * 994 * @param tableId åŗåå?ć®tableId 995 * @see org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY 996 */ 997 public void setTableId( final String tableId ) { 998 this.tableId = nval( getRequestParameter( tableId ),this.tableId ); 999 } 1000 1001 /** 1002 * ćTAGćå?åå?ć®scopećęå®ćć¾ć?åęå¤:session)ć? 1003 * 1004 * @og.tag 1005 * é?å¦ē?µęć® DBTableModel ćć”ć¢ćŖć«ć»ć?ććå “åć?ć¹ć³ć¼ććę?®ćć¾ćć? 1006 * ććć§ćÆćć?ć¹ćæć?¹ć¬ć¼ćć?ć¹ć³ć¼ćčØå®ćåæ?¦ćŖēŗćsuperćÆć©ć¹ć®ć”ć½ć?ć? 1007 * ćŖć¼ćć?ć©ć¤ććć¦ćć?ćŖććøć§ćÆćå?ć§ćć¼ććć¦ć?¾ćć? 1008 * åęå¤ćÆćsession ć§ćć? 1009 * 1010 * @param scope åŗåå?ć®scope 1011 */ 1012 @Override 1013 public void setScope( final String scope ) { 1014 this.scope = nval( getRequestParameter( scope ),this.scope ); 1015 } 1016 1017 /** 1018 * ćTAGćć?ć¹ćæć??ćć«ć®tableIdćęå®ćć¾ć? 1019 * (åęå¤:HybsSystem#TBL_MDL_KEY[={@og.value HybsSystem#TBL_MDL_KEY}])ć? 1020 * 1021 * @og.tag 1022 * é?å¦ē??ćć¹ćæćØćŖć?DBTableModel ćć”ć¢ćŖććåćåŗćå?åć?ćć¼(tableId)ćęå®ćć¾ćć? 1023 * (åęå¤:HybsSystem#TBL_MDL_KEY[={@og.value HybsSystem#TBL_MDL_KEY}])ć? 1024 * 1025 * @param masterTableId ćć¹ćæć??ćć«ć®tableId 1026 * @see org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY 1027 */ 1028 public void setMasterTableId( final String masterTableId ) { 1029 this.masterTableId = nval( getRequestParameter( masterTableId ),this.masterTableId ); 1030 } 1031 1032 /** 1033 * ćTAGćć?ć¹ćæć??ćć«ć®scopećęå®ćć¾ć?åęå¤:session)ć? 1034 * 1035 * @og.tag 1036 * é?å¦ē??ćć¹ćæćØćŖć?DBTableModel ćć”ć¢ćŖććåćåŗćå?åć?ć¹ć³ć¼ććę?®ćć¾ćć? 1037 * åęå¤ćÆćsession ć§ćć? 1038 * 1039 * @param masterScope ćć¹ćæć??ćć«ć®scope 1040 */ 1041 public void setMasterScope( final String masterScope ) { 1042 this.masterScope = nval( getRequestParameter( masterScope ),this.masterScope ); 1043 } 1044 1045 /** 1046 * ćTAGćć?ć¹ćæć??ćć«ć®é?å¦ē?č”ćäø»ćć¼ćęå®ćć¾ćć? 1047 * 1048 * @og.tag 1049 * é?å¦ē?č”ćå “åć?ćć«ć©ć?ćć?ć«ć³ćåŗå?ę??CSVå½¢å¼?ć§ę?®ćć¾ćć? 1050 * ćć?ćć¼ć®ēµ?æåćććå ?«ć?åå?ē??ēŖåććč”ćć¾ćć? 1051 * ćŖćć?ć¢ćÆć·ć§ć³ćć°ć«ć¼ć?GROUP)仄å¤ć?å¦ē?§ćÆćć?ć¹ćæćØć¹ć¬ć¼ćć?ć«ć©ć?°ćØ 1052 * äø¦ć³é ??ćåćć§ćŖććć°ćŖćć¾ćććć«ć©ć?ćÆćåć?„ć?§ććć¾ć?¾ććć? 1053 * ć¢ćÆć·ć§ć³ćå?ä½éå?UNION_ALL)仄å¤ć?å “åć?ćåæ??å±ę?ć«ćŖćć¾ćć? 1054 * 1055 * @param masterKeys ćć¹ćæć??ćć«ć®äø»ćć¼ćCSVå½¢å¼ć§ę?®? 1056 */ 1057 public void setMasterKeys( final String masterKeys ) { 1058 this.masterKeys = nval( getRequestParameter( masterKeys ),this.masterKeys ); 1059 } 1060 1061 /** 1062 * ćTAGćć¹ć¬ć¼ććć¼ćć«ć®é?å¦ē?č”ćäø»ćć¼ćęå®ćć¾ćć? 1063 * 1064 * @og.tag 1065 * é?å¦ē?č”ćå “åć?ćć«ć©ć?ćć?ć«ć³ćåŗå?ę??CSVå½¢å¼?ć§ę?®ćć¾ćć? 1066 * ćć?ćć¼ć®ēµ?æåćććå ?«ć?åå?ē??ēŖåććč”ćć¾ćć? 1067 * ćŖćć?ć¢ćÆć·ć§ć³ćć°ć«ć¼ć?GROUP)仄å¤ć?å¦ē?§ćÆćć?ć¹ćæćØć¹ć¬ć¼ćć?ć«ć©ć?°ćØ 1068 * äø¦ć³é ??ćåćć§ćŖććć°ćŖćć¾ćććć«ć©ć?ćÆćåć?„ć?§ććć¾ć?¾ććć? 1069 * null ć®å “åć?ćmasterKeys ćØåććØćć¾ćć? 1070 * 1071 * @param slaveKeys ć¹ć¬ć¼ććć¼ćć«ć®äø»ćć¼ćCSVå½¢å¼ć§ę?®? 1072 */ 1073 public void setSlaveKeys( final String slaveKeys ) { 1074 this.slaveKeys = nval( getRequestParameter( slaveKeys ),this.slaveKeys ); 1075 } 1076 1077 /** 1078 * ćTAGćć?ć¹ćæć??ćć«ć®DIFFERENCEęć?å·®å?«ć©ć?ć?CSVå½¢å¼?ę?®ćć¾ćć? 1079 * 1080 * @og.tag 1081 * ć¢ćÆć·ć§ć³ćå·®å??ē?DIFFERENCE)ć®å “åć«ćå·®å?ć§ć?Æćč”ćć«ć©ć?ćć? 1082 * ć«ć³ćåŗå?ę??CSVå½¢å¼?ć§ę?®ćć¾ćć? 1083 * å·®å??ē?ØćÆćmasterKeys ć§ę?®ććććć¼ć§ćÆćć?ć¹ćæćć¹ć¬ć¼ććØćć«ååØć? 1084 * ćć¤ććć®ćć¼(diffKeys)ć§ę?®ććććć¼ć®å¤ćē°ćŖćć?ć¹ćæć¬ć³ć¼ćć 1085 * ęćåŗćć¾ćć? 1086 * ć¤ć¾ćć?äø»ćć¼ćÆååØćć?å±ę?ćē°ćŖćę å ±ć®ćććÆć¢ć??ć«ćŖćć¾ćć?ć§ć? 1087 * ć??ćæę“ę°(UPDATE)対豔ćč¦ć¤ććå “åć«ä½æēØć§ćć¾ćć? 1088 * ć¢ćÆć·ć§ć³ćå·®å??ē?DIFFERENCE)ć®å “åć?ćåæ??å±ę?ć«ćŖćć¾ćć? 1089 * 1090 * @param diffKeys ćć¹ćæć??ćć«ć®å·®å?«ć©ć?ćCSVå½¢å¼ć§ę?®? 1091 * @see #setMasterKeys( String ) 1092 */ 1093 public void setDiffKeys( final String diffKeys ) { 1094 this.diffKeys = nval( getRequestParameter( diffKeys ),this.diffKeys ); 1095 } 1096 1097 /** 1098 * ćTAGćć¹ć¬ć¼ććć¼ćć«ć®tableIdćęå®ćć¾ć? 1099 * (åęå¤:HybsSystem#TBL_MDL_KEY[={@og.value HybsSystem#TBL_MDL_KEY}])ć? 1100 * 1101 * @og.tag 1102 * é?å¦ē??ć¹ć¬ć¼ććØćŖć?DBTableModel ćć”ć¢ćŖććåćåŗćå?åć?ćć¼(tableId)ćęå®ćć¾ćć? 1103 * ćŖćć?ć¢ćÆć·ć§ć³ćć°ć«ć¼ć?GROUP)ć®å “åć?ćć¹ć¬ć¼ććć¼ćć«ćÆä½æēØććć¾ććć? 1104 * (åęå¤:HybsSystem#TBL_MDL_KEY[={@og.value HybsSystem#TBL_MDL_KEY}])ć? 1105 * 1106 * @param slaveTableId ć¹ć¬ć¼ććć¼ćć«ć®tableId 1107 * @see org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY 1108 */ 1109 public void setSlaveTableId( final String slaveTableId ) { 1110 this.slaveTableId = nval( getRequestParameter( slaveTableId ),this.slaveTableId ); 1111 } 1112 1113 /** 1114 * ćTAGćć¹ć¬ć¼ććć¼ćć«ć®scopećęå®ćć¾ć?åęå¤:session)ć? 1115 * 1116 * @og.tag 1117 * é?å¦ē??ć¹ć¬ć¼ććØćŖć?DBTableModel ćć”ć¢ćŖććåćåŗćå?åć?ć¹ć³ć¼ććę?®ćć¾ćć? 1118 * ćŖćć?ć¢ćÆć·ć§ć³ćć°ć«ć¼ć?GROUP)ć®å “åć?ćć¹ć¬ć¼ććć¼ćć«ćÆä½æēØććć¾ććć? 1119 * åęå¤ćÆćsession ć§ćć? 1120 * 1121 * @param slaveScope ć¹ć¬ć¼ććć¼ćć«ć®scope 1122 */ 1123 public void setSlaveScope( final String slaveScope ) { 1124 this.slaveScope = nval( getRequestParameter( slaveScope ),this.slaveScope ); 1125 } 1126 1127 /** 1128 * ćTAGćć¹ć¬ć¼ćććć?ć¹ćæćøčæ½å?ćć«ć©ć?ćCSVå½¢å¼ć§ę?®ćć¾ćć? 1129 * 1130 * @og.tag 1131 * ć¢ćÆć·ć§ć³ćå?åę?(UNION_CLM)ć¾ćć?åčæ½å?ADD_CLM)ć®å “åć«ä½æēØććć¾ćć? 1132 * ååę?UNION_CLM)ćÆćć?ć¹ćæćØć¹ć¬ć¼ćć?äø»ćć¼ć«åƾćć¦ćććć§ę?®ć?ć¹ć¬ć¼ćć? 1133 * ć«ć©ć??åććć?ć¹ćæć®åć«čæ½å?ć¾ćć?äø»ćć¼ćć?ć?ććŖć?”ć«é¢ćć¦ćÆć? 1134 * ć«ć©ć??åęå¤ćé©ēØććććć¼ćæćä½ę?ćć¾ćć? 1135 * åčæ½å?ADD_CLM)ćÆćć?ć¹ćæć??ćć«ć«ę?®ć?ć«ć©ć?čæ½å?ćć ćć§ćć?ć¹ć¬ć¼ććć¼ćć«ćÆ 1136 * åē?ćć¾ććććć£ć¦ćäø»ćć¼ćęå®äøč¦ć§ćć? 1137 * 1138 * @param unionClms ååęććć«ć©ć?ćCSVå½¢å¼ć§ę?®? 1139 */ 1140 public void setUnionClms( final String unionClms ) { 1141 this.unionClms = nval( getRequestParameter( unionClms ),this.unionClms ); 1142 } 1143 1144 /** 1145 * ćTAGćć¹ć¬ć¼ćććć?ć¹ćæćøå¤ćę“ę°ććć«ć©ć?ćCSVå½¢å¼ć§ę?®ćć¾ćć? 1146 * 1147 * @og.tag 1148 * ć¢ćÆć·ć§ć³ćå·®å??ē?DIFFERENCE)ć®å “åć«ćēµęć«ćć¹ćæć??ćć«ćęćå?ććć¾ććć? 1149 * ę“ę°ććå “åć«ćć¹ć¬ć¼ćē¹ęć?ć¦ćć?ćÆćć¼(ä¾ļ¼UNIQ)ćēØć?¦ę“ę°ććå “åć? 1150 * ę?®ć?ć«ć©ć??ćÆćć¹ć¬ć¼ćć?å¤ć«ć»ć?ćć¦ććććå “åćććć¾ćć? 1151 * ććć§ćÆćęå®ć?ć«ć©ć?«ć¤ć?¦ćå?ć?ć¹ć¬ć¼ćććć?ć¹ćæćøć»ć?ćć¾ćć? 1152 * ćŖćć?å¤ć®ę“ę°ć«ć¤ć?¦ćÆćć?ć¹ćæćØć¹ć¬ć¼ććåäø?ć¼ćØć?å¶ē“?ććć¾ćć? 1153 * 1154 * @param modifyClms å¤ćę“ę°ććć«ć©ć?ćCSVå½¢å¼ć§ę?®? 1155 */ 1156 public void setModifyClms( final String modifyClms ) { 1157 this.modifyClms = nval( getRequestParameter( modifyClms ),this.modifyClms ); 1158 } 1159 1160 /** 1161 * ćTAGćéåå?ē?ććØćć«ćēøéćć¼ćæćCSVé£ēµćć¦ę®ćć«ć©ć?ćCSVå½¢å¼ć§ę?®ćć¾ćć? 1162 * 1163 * @og.tag 1164 * masterKeysć§é?å¦ē?ććØćć«ć??åøøćęåć«č¦ć¤ćć£ćč”ćć¼ćæć®ćæę®ćć¾ććć? 1165 * ććć«ę?®ććć«ć©ć?«ć¤ć?¦ćÆćēŗēé?åŗ¦ćč?å??čŗ«ć®ę??ć«ćCSVå½¢å¼ć§é£ēµć㦠1166 * ć?ć¾ćć? 1167 * ćć?ęä½ć«ćććę¬ę„åé¤ćććę å ±ćć??č”ć?CSVå½¢å¼ć§åå¾ć§ććå¹ęćå¾ććć¾ćć? 1168 * ćććÆćvalue ćæć°ć® action="APPEND" ćć?DBTableModel ć«åƾćć¦å®ę½ćććććŖęćć§ćć? 1169 * 1170 * @og.rev 5.1.4.0 (2010/03/01) ę°č¦čæ½å? 1171 * 1172 * @param groupAddClms ēøéćć¼ćæćCSVé£ēµćć¦ę®ćć«ć©ć?ćCSVå½¢å¼ć§ę?®? 1173 */ 1174 public void setGroupAddClms( final String groupAddClms ) { 1175 this.groupAddClms = nval( getRequestParameter( groupAddClms ),this.groupAddClms ); 1176 } 1177 1178 /** 1179 * ćTAGććć¼ćć«ć¢ć?«ć«åƾććåÆä½ēØć®ęē”[true:ćŖć?false:ćć]ćęå®ćć¾ć?åęå¤:false:ćć)ć? 1180 * 1181 * @og.tag 1182 * ćć¹ć¦ć®å¦ē?§ćDBTableModel ć«åƾćć¦ćć¦ćć?ćÆåćć°ć«ć¼ćåćŖć©ć®é?å¦ē? 1183 * č”ćéēØć§ćć?ć¹ćæć??ćć«ć«åƾćć¦ē“ę„å¦ē?č”ććØćåÆä½ēØćēŗēćć¾ćć? 1184 * åę§ć«ćć¹ć¬ć¼ććć¼ćć«ć«ććć¦ćć?äø?¦ćć¼åć§ć°ć«ć¼ćåćććććć?åÆä½ēØć? 1185 * ēŗēćć¾ćć?ćććÆćē”é§?Ŗć”ć¢ćŖé åć®ē¢ŗäæćØććć¼ćć«(ćć¹ćæćć¹ć¬ć¼ććØć?ć® 1186 * ć³ćć?å¦ē?éć?ēÆ?“?«ćŖćć¾ćć?åęå¤ć®čØå®ćåÆä½ēØćććē¶ę ć«ćŖć£ć¦ć?¾ćć? 1187 * ćØćććć?é½åć«ćć£ć¦ćÆćč²ć?Ŗ action ćé?ē¶ćć¦č”ćććå “åćŖć©ćęÆåć? 1188 * ć??ćæćć?ć¹ćę¤ē“¢ćććććć”ć¢ćŖäøć§ć³ćć?ććć»ć?é½åćććć±ć¼ć¹ć§ćÆć? 1189 * åÆä½ēØćå?ćŖć?ć?«ćnoSideEffect="true" ć«čØå®ćć¾ćć? 1190 * ćć ćć?ćć¹ćæćć¹ć¬ć¼ććØććć¼ćć«ćć³ćć?ćč”ććēµęć®ć??ćć«ć擾ēććēŗć? 1191 * éåøøć?¼ć¤ć®é å(ćć¹ćæćØēµęćÆåćć??ćć«ć«ęøććć?ć§čÆć?ćć??ć¤ć®é åć? 1192 * ä½ę?ććć¾ćć? 1193 * åęå¤ćÆćåÆä½ēØććć?noSideEffect="false")ć§ćć? 1194 * 1195 * @param noSideEffect ć??ćć«ć¢ć?«ć«åƾććåÆä½ēØ [true:ćŖć?false:ćć] 1196 */ 1197 public void setNoSideEffect( final String noSideEffect ) { 1198 this.noSideEffect = nval( getRequestParameter( noSideEffect ),this.noSideEffect ); 1199 } 1200 1201 /** 1202 * ćTAGćå·®å??ć¹ć¬ć¼ććć¼ćæćēµęć??ćć«ć«čæ½å?ććć©ć?ćęå®ćć¾ć?åęå¤:true)ć? 1203 * 1204 * @og.tag 1205 * ć¢ćÆć·ć§ć³ćå·®å??ē?DIFFERENCE)ć®å “åć«ćēµęć«ćć¹ćæć??ćć«ćęćå?ććć¾ććć? 1206 * å·®å?Æ¾č±”ć®ć¹ć¬ć¼ććć¼ćæćØęÆč¼?ććå “åćććć¾ćć? 1207 * ćć?ćć©ć°ć?true ć«ć»ć?ćććØćęøč¾¼ćæē¦ę¢å±ę?ćä»ććē¶ę ć§ćć¹ć¬ć¼ććć¼ćæć? 1208 * ēµęć??ćć«ć«čæ½å?ćć¾ćć? 1209 * ćŖćć?ćć?å¦ē?§ćÆć??åøøćØē°ćŖćć?ćć¹ćæć??ćć«ć«ćÆć°ć«ć¼ćåć®åÆä½ēØćÆēŗēćć¾ććć? 1210 * ēµęć??ćć«ćÆę°č¦ć«ä½ę?ćććå?é č”ć«åæ? WRITABLE ć«ć©ć?ä»å ććć¾ćć? 1211 * åęå¤ćÆćtrue?čæ½å?ć?ć§ćć? 1212 * 1213 * @param flag ć¹ć¬ć¼ććć¼ćæćēµęć??ćć«ć«čæ½å?ććć©ć?(åęå¤:true) 1214 */ 1215 public void setUseDiffData( final String flag ) { 1216 useDiffData = nval( getRequestParameter( flag ),useDiffData ); 1217 } 1218 1219 /** 1220 * ćTAGćć?ć¹ćæć??ćć«ć®éøęč”ć?ć??ćæć®ćæć対豔ć«å¦ē?č”ććć©ć?ćęå®ćć¾ć?åęå¤:false)ć? 1221 * 1222 * @og.tag 1223 * å¦ē?Æ¾č±”ć®ćć¹ćæć??ćć«ć«ć¤ć?¦ć?øęč”ćę?®ćććå “åć«ć?øęč”ć?ćæćå?ē?Æ¾č±”ć« 1224 * ćććć?å Øä»¶ć対豔ć«ććććę?®ćć¾ćć? 1225 * ē©éåćå·®å?åćŖć©éåøøćÆćå?ä»¶ć対豔ć«ććććØć«ćŖćć¾ćććå?åę?ć??čæ½å?Ŗć©ć? 1226 * ćć¹ćæć??ćć«ć«åƾćć¦ć®ćæä½ēØćåć¼ćå?ē?§ćÆć?øęč”ć?ćæć対豔ć«å¦ē?č”ćäŗć 1227 * č?ććć¾ćć?ćć?å “åć?åęć°ć«ć¼ćåćØåćć§ć対豔ćØććč”ćéøęč”ć?ćæć«ćŖćć¾ćć? 1228 * åęå¤ćÆćfalse?å?件対豔 ć§ćć? 1229 * 1230 * @param flag ćć¹ćæć??ćć«ć®éøęč”ć?ć??ćæć®ćæć対豔ć«å¦ē?č”ććć©ć?(åęå¤:false) 1231 */ 1232 public void setUseCheckOnly( final String flag ) { 1233 useCheckOnly = nval( getRequestParameter( flag ),useCheckOnly ); 1234 } 1235 1236 /** 1237 * ćTAGćć?ć¼ćøć®ēµęć蔨示ćććć©ć?ćęå®ćć¾ć?åęå¤:true)ć? 1238 * 1239 * @og.tag 1240 * true ć§ćć?ć¼ćøēµęć蔨示ćć¾ćć? false ć§ćÆćä½ć蔨示ćć¾ćć(åęå¤:true) 1241 * ćć¹ćæć??ćć«ć®ä»¶ę°ćÆć??åøøććć¼ć§ć°ć«ć¼ćåćććććć?å „åä»¶ę°ćØē°ćŖćć¾ćć? 1242 * åę§ć«ćć¹ć¬ć¼ćä»¶ę°ćē°ćŖćć¾ćć?ēµęć®ä»¶ę°ćÆćå?ē?µęćē¾å®ēćć©ć?ć® 1243 * å¤ęć«ä½æēØććć¾ćć? 1244 * åęå¤ćÆćtrue?蔨示ćć ć§ćć? 1245 * 1246 * @param flag ę„ē¶ć?ēµęć蔨示ćććć©ć?(åęå¤:false) 1247 */ 1248 public void setDisplay( final String flag ) { 1249 display = nval( getRequestParameter( flag ),display ); 1250 } 1251 1252 /** 1253 * ćTAGćę¤ē“¢ēµęćļ¼ä»¶ć®ćØćå?ē?ē¶č”ćććć©ć?[true/false]ćęå®ćć¾ć?åęå¤:false[ē¶č”ćć])ć? 1254 * 1255 * @og.tag 1256 * åęå¤ćÆćfalse(ē¶č”ćć?ć§ćć? 1257 * 1258 * @og.rev 5.7.6.2 (2014/05/16) ę°č¦čæ½å? 1259 * 1260 * @param cmd ę¤ē“¢ēµęćļ¼ä»¶ć®ćØćć?[true:å¦ē?äøę¢ćć/false:ē¶č”ćć] 1261 */ 1262 public void setStopZero( final String cmd ) { 1263 stopZero = nval( getRequestParameter( cmd ),stopZero ); 1264 } 1265 1266 /** 1267 * ćTAGć?é常使ć?¾ćć)ćæć°ć§å¦ē?ććå¦ē?ć”ć¤ć³ćØćŖććć©ć³ć¶ćÆć·ć§ć³å¦ē?ć©ć?ćęå®ćć¾ć?åęå¤:false)ć? 1268 * 1269 * @og.tag 1270 * ćć?å¤ćÆććć”ć¤ć«ć?¦ć³ćć¼ćå?ē?«å½±éæćć¾ćć?ćć?å¤ćtrueć«ę?®ćććęć«commitćććDBTableModelć? 1271 * ćć”ć¤ć«ć?¦ć³ćć¼ćć?対豔ć®č”Øć«ćŖćć¾ćć? 1272 * 1273 * ćć?ćć©ć”ć¼ćæć¼ćÆć??åøøćåćæć°ć«ććå®č£?ćć?ć¦ć¼ć¶ć¼ćęå®ććåæ?¦ć?ććć¾ććć? 1274 * ä½?ć?ć¤ć®JSPå?§DBTableModelćč¤?°ēę?ćććå?åć«ćåć«å¦ē?ćDBTableModelć«ć¤ć?¦ćć”ć¤ć«ć?¦ć³ćć¼ćććććć 1275 * å “åć?ćå¾ćć§DBTableModelćēęćććæć°ć§ćę?示ē?«ćć?å¤ćfalseć«ę?®ććććØć§ććć”ć¤ć«ć?¦ć³ćć¼ćå?ē??対豔ćć 1276 * é¤å¤ććććØćć§ćć¾ćć? 1277 * 1278 * @og.rev 5.1.6.0 (2010/05/01) ę°č¦ä½ę? 1279 * 1280 * @param flag ć”ć¤ć³ćć©ć³ć¶ćÆć·ć§ć³ćć©ć? 1281 */ 1282 public void setMainTrans( final String flag ) { 1283 isMainTrans = nval( getRequestParameter( flag ),isMainTrans ); 1284 } 1285 1286 /** 1287 * ćTAGćgroupAddClmsć§ę?å?ćé?ēµććé?ē®åŗå?ę?ćć»ć?ćć¾ć?åęå¤:",")ć? 1288 * 1289 * @og.tag 1290 * groupAddClmsć§ę?å?ćé?ēµććé?ē®åŗå?ę?ćć»ć?ćć¾ć?åęå¤:",")ć? 1291 * åęå¤ćÆć?," ć«čØå®ććć¦ć?¾ćć? 1292 * 1293 * @og.rev 5.3.1.0 (2011/01/01) 1294 * 1295 * @param sepa é ?®åŗå?ę??åęå¤:",") 1296 */ 1297 public void setSeparator( final String sepa ) { 1298 separator = nval( getRequestParameter( sepa ),separator ); 1299 } 1300 1301 /** 1302 * ćć?ćŖććøć§ćÆćć?ę?å?蔨ē¾ćčæćć¾ćć? 1303 * åŗę¬ē?«ć?ć?°ē®ē?«ä½æēØćć¾ćć? 1304 * 1305 * @return ćć?ćÆć©ć¹ć®ę?å?č”Øē¾ 1306 */ 1307 @Override 1308 public String toString() { 1309 return org.opengion.fukurou.util.ToString.title( this.getClass().getName() ) 1310 .println( "VERSION" ,VERSION ) 1311 .println( "action" ,action ) 1312 .println( "tableId" ,tableId ) 1313 .println( "scope" ,scope ) 1314 .println( "masterTableId" ,masterTableId ) 1315 .println( "masterScope" ,masterScope ) 1316 .println( "slaveTableId" ,slaveTableId ) 1317 .println( "slaveScope" ,slaveScope ) 1318 .println( "masterKeys" ,masterKeys ) 1319 .println( "diffKeys" ,diffKeys ) 1320 .println( "unionClms" ,unionClms ) 1321 .println( "modifyClms" ,modifyClms ) 1322 .println( "noSideEffect" ,noSideEffect ) 1323 .println( "useDiffData" ,useDiffData ) 1324 .println( "useCheckOnly" ,useCheckOnly ) 1325 .println( "display" ,display ) 1326 .println( "ACTION_LIST" ,ACTION_LIST ) 1327 .println( "Other..." ,getAttributes().getAttribute() ) 1328 .fixForm().toString() ; 1329 } 1330 }