View Javadoc
1 2 /* 3 LoaderGenerator - tool for generated xml, sql and doml file needed for Octopus. 4 5 6 Copyright (C) 2003 Together 7 8 This library is free software; you can redistribute it and/or 9 modify it under the terms of the GNU Lesser General Public 10 License as published by the Free Software Foundation; either 11 version 2.1 of the License, or (at your option) any later version. 12 13 This library is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 Lesser General Public License for more details. 17 18 You should have received a copy of the GNU Lesser General Public 19 License along with this library; if not, write to the Free Software 20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 */ 22 23 package org.webdocwf.util.loader; 24 25 import java.util.*; 26 import java.sql.*; 27 import org.webdocwf.util.loader.logging.*; 28 29 /*** 30 * 31 * QueryWhereSet class creates the where condition in sql statement 32 * @author Radoslav Dutina 33 * @version 1.0 34 */ 35 public class QueryWhereSet { 36 37 private String strQueryWhere=" where "; 38 private Vector vecColumnNames=null; 39 private Vector vecColumnTypes=null; 40 private String tableName=null; 41 private String tableID=null; 42 private Vector indexDummyValue=new Vector(); 43 private Vector indexDummyRelationValue=new Vector(); 44 private Vector indexDummyConstantValue=new Vector(); 45 private Vector indexDummyVariableValue=new Vector(); 46 private Vector indexDummyTransformationValue=new Vector(); 47 /*** 48 * Construct object of QueryWhereSet class with associated parameters 49 * @param vecColumnNames is vector which contain column names 50 * @param vecColumnTypes is vector which contain column types 51 * @param tableName is the current table name 52 * @param tableID is ID of current table 53 */ 54 public QueryWhereSet(Vector vecColumnNames,Vector vecColumnTypes, 55 String tableName, String tableID ) { 56 this.vecColumnNames=vecColumnNames; 57 this.vecColumnTypes=vecColumnTypes; 58 this.tableName=tableName; 59 this.tableID=tableID; 60 } 61 62 /*** 63 * This method read the value of vecTempKeyColumns and sets the parameter strQueryWhere 64 * @param vecTempKeyColumns is the value of parameter 65 * @param configReaderTarget is ConfigReader object for target database 66 */ 67 public void getKeyColumns(Vector vecTempKeyColumns,ConfigReader configReaderTarget) throws LoaderException{ 68 69 for (int k = 0; k < vecTempKeyColumns.size(); k++) { 70 if (vecColumnNames.size() != 0) { 71 for (int l = 0; l < vecColumnNames.size(); l++) { 72 if (vecTempKeyColumns.get(k).toString().equalsIgnoreCase(vecColumnNames.get(l).toString())) { 73 // int counter=l; 74 strQueryWhere += vecColumnNames.get(l).toString(); 75 //ZK change this from CheckType to configReaderTarget 76 try { 77 if (!configReaderTarget.isNumber(vecColumnTypes.get(l).toString())) { 78 strQueryWhere += " = '" + "dummyValue" 79 + "' and "; 80 indexDummyValue.add(String.valueOf(l)); 81 }else { 82 strQueryWhere += " = " + "dummyValue" 83 + " and "; 84 indexDummyValue.add(String.valueOf(l)); 85 } 86 } catch (LoaderException e) { 87 LoaderException le = new LoaderException("Exception:Type not present in conf file for target database, add it into conf file.",(Throwable)e); 88 throw le; 89 } 90 } 91 } 92 } 93 } 94 } 95 /*** 96 * This method read the value of vecTempKeyTransformation and sets the parameter strQueryWhere 97 * @param transformationTargetColumns is Vector with target columns in for this transformation 98 * @param vecTempKeyTransformation is Vector with key columns 99 * @param transformationColumnTypes is Vector with target with column types 100 * @param configReaderTarget is ConfigReader object for target database 101 */ 102 //ZK added this method for Transformations 103 public void getTransformationKeyColumns(Vector transformationTargetColumns, Vector vecTempKeyTransformation, 104 Vector transformationColumnTypes, ConfigReader configReaderTarget) throws LoaderException{ 105 106 for (int k = 0; k < vecTempKeyTransformation.size(); k++) { 107 if (transformationTargetColumns.size() != 0) { 108 for (int l = 0; l < transformationTargetColumns.size(); l++) { 109 if (vecTempKeyTransformation.get(k).toString().equalsIgnoreCase(transformationTargetColumns.get(l).toString())) { 110 strQueryWhere += transformationTargetColumns.get(l).toString(); 111 //ZK change this 7.5.2004 from CheckType to configReaderTarget 112 try { 113 if (!configReaderTarget.isNumber(transformationColumnTypes.get(l).toString())) { 114 strQueryWhere += " = '" + "dummyTransformationValue" 115 + "' and "; 116 indexDummyTransformationValue.add(String.valueOf(l)); 117 }else { 118 strQueryWhere += " = " + "dummyTransformationValue" 119 + " and "; 120 indexDummyTransformationValue.add(String.valueOf(l)); 121 } 122 } catch (LoaderException e) { 123 LoaderException le = new LoaderException("Exception:Type not present in conf file for target database, add it into conf file.",(Throwable)e); 124 throw le; 125 } 126 } 127 } 128 } 129 } 130 } 131 /*** 132 * This method read the input parameters and sets the parameter strQueryWhere 133 * @param vecRelationKeyColumns is input parameter 134 * @param iRelationColumns is input parameter 135 * @param vecRelationColumnTargetTableName is input parameter 136 * @param vecRelationColumnTargetTableID is input parameter 137 * @param vecRelationColumnTargetColumnName is input parameter 138 * @param vecRelationKeyTypes is input parameter 139 * @param configReaderTarget is input parameter 140 */ 141 public void getRelationKeyColumns(Vector vecRelationKeyColumns,int iRelationColumns, 142 Vector vecRelationColumnTargetTableName,Vector vecRelationColumnTargetTableID, 143 Vector vecRelationColumnTargetColumnName,Vector vecRelationKeyTypes, 144 ConfigReader configReaderTarget) throws LoaderException{ 145 146 for (int k = 0; k < vecRelationKeyColumns.size(); k++) { 147 int counter=0; 148 int iNumRelation = -1; 149 for (int p = 0; p < iRelationColumns; p++) { 150 if (vecRelationColumnTargetTableName.get(p).toString().equalsIgnoreCase( 151 tableName) 152 && vecRelationColumnTargetTableID.get(p).toString().equalsIgnoreCase( 153 tableID) 154 && vecRelationColumnTargetColumnName.get(p).toString().equalsIgnoreCase( 155 vecRelationKeyColumns.get(k).toString())) { 156 iNumRelation = p; 157 counter=p; 158 } 159 } 160 strQueryWhere += vecRelationKeyColumns.get(k).toString(); 161 //ZK change this 7.5.2004 from CheckType to configReaderTarget 162 //TODO ZK change 11.6.2004 from vecRelationKeyColumns to vecRelationKeyTypes 163 164 try { 165 if (configReaderTarget.isNumber(vecRelationKeyTypes.get(k).toString())){ 166 strQueryWhere += " = " + "dummyRelationValue " 167 +" and "; 168 indexDummyRelationValue.add(String.valueOf(counter)); 169 }else{ 170 strQueryWhere += " = '" + "dummyRelationValue" 171 +"' and "; 172 indexDummyRelationValue.add(String.valueOf(counter)); 173 } 174 } catch (LoaderException e) { 175 LoaderException le = new LoaderException("Exception:Type not present in conf file for target database, add it into conf file.",(Throwable)e); 176 throw le; 177 } 178 } 179 } 180 181 /*** 182 * This method read the input parameters and sets the parameter strQueryWhere 183 * @param vecTempConstantColumns is input parameter 184 * @param vecTempConstantMode is input parameter 185 * @param vecTempConstantType is input parameter 186 * @param configReaderTarget is input parameter 187 */ 188 public void getConstantKeyColumns(Vector vecTempConstantColumns, Vector vecTempConstantMode, 189 Vector vecTempConstantType, ConfigReader configReaderTarget) throws LoaderException{ 190 191 int counter=0; 192 for (int k = 0; k < vecTempConstantColumns.size(); k++) { 193 counter=k; 194 if (vecTempConstantMode.get(k).toString().equalsIgnoreCase("Key")) { 195 strQueryWhere += vecTempConstantColumns.get(k).toString(); 196 //ZK change this 7.5.2004 from CheckType to configReaderTarget 197 try { 198 if (configReaderTarget.isNumber(vecTempConstantType.get(k).toString())){ 199 strQueryWhere += " = "+ "dummyConstantValue" 200 + " and "; 201 indexDummyConstantValue.add(String.valueOf(counter)); 202 203 }else{ 204 strQueryWhere += " = '"+ "dummyConstantValue" 205 +"' and "; 206 indexDummyConstantValue.add(String.valueOf(counter)); 207 208 } 209 } catch (LoaderException e) { 210 LoaderException le = new LoaderException("Exception:Type not present in conf file for target database, add it into conf file.",(Throwable)e); 211 throw le; 212 } 213 } 214 } 215 } 216 217 /*** 218 ** This method read the input parameters and sets the parameter strQueryWhere 219 * @param vecVariableColumnTargetTableName is input parameter 220 * @param vecVariableColumnTargetTableID is input parameter 221 * @param vecVariableColumnValueMode is input parameter 222 * @param vecVariableName is input parameter 223 * @param vecVariableColumnName is input parameter 224 * @param vecVariableColumnTargetColumnName is input parameter 225 * @param vecVariableColumnTypes is input parameter 226 * @param logger is input parameter 227 * @param configReader is input parameter 228 * @throws LoaderException 229 */ 230 public void getVariableKeyColumns(Vector vecVariableColumnTargetTableName, 231 Vector vecVariableColumnTargetTableID, Vector vecVariableColumnValueMode, 232 Vector vecVariableName, Vector vecVariableColumnName, 233 Vector vecVariableColumnTargetColumnName, 234 Vector vecVariableColumnTypes, Logger logger, 235 ConfigReader configReader) throws LoaderException{ 236 237 int counter=0; 238 for (int i = 0; i < vecVariableColumnTargetTableName.size(); i++) { 239 if (vecVariableColumnTargetTableName.get(i).toString().equalsIgnoreCase( 240 tableName) 241 && vecVariableColumnTargetTableID.get(i).toString().equalsIgnoreCase( 242 tableID) 243 && vecVariableColumnValueMode.get(i).toString().equalsIgnoreCase("Key")) { 244 int iPositionInVector = vecVariableName.indexOf(vecVariableColumnName.get(i).toString()); 245 if (iPositionInVector != -1) { 246 counter=iPositionInVector; 247 strQueryWhere += vecVariableColumnTargetColumnName.get(i).toString(); 248 //ZK change this 7.5.2004 from CheckType to configReaderTarget 249 if (!configReader.isNumber(vecVariableColumnTypes.get(i).toString())){ 250 strQueryWhere += "= '" + "dummyVariableValue" 251 +"' and "; 252 indexDummyVariableValue.add(String.valueOf(counter)); 253 }else{ 254 strQueryWhere += " = "+ "dummyVariableValue" 255 + " and "; 256 indexDummyVariableValue.add(String.valueOf(counter)); 257 258 } 259 }else { 260 logger.write("normal", "\tError: Cannot find value for variable column :" 261 + vecVariableColumnName.get(i).toString()); 262 LoaderException le = new LoaderException("Exception: ", 263 (Throwable)(new Exception("Error: Cannot find value for variable column :"))); 264 throw le; 265 } 266 } 267 } 268 } 269 270 271 272 273 /*** 274 * This method read the value of strQueryWhere parameter 275 * @return value of parameter 276 */ 277 public String getQueryWhere(){ 278 return strQueryWhere; 279 } 280 281 /*** 282 * This method read the value of indexDummyValue parameter 283 * @return value of parameter 284 */ 285 public Vector getIndexDummyValue(){ 286 return indexDummyValue; 287 } 288 289 /*** 290 * This method read the value of indexDummyTransformationValue parameter 291 * @return value of parameter 292 */ 293 //ZK added this for transformations 294 public Vector getTransformationKeyColumns(){ 295 return indexDummyTransformationValue; 296 } 297 /*** 298 * This method read the value of indexDummyRelationValue parameter 299 * @return value of parameter 300 */ 301 public Vector getIndexDummyRelationValue(){ 302 return indexDummyRelationValue; 303 } 304 305 /*** 306 * This method read the value of indexDummyConstantValue parameter 307 * @return value of parameter 308 */ 309 public Vector getIndexDummyConstantValue(){ 310 return indexDummyConstantValue; 311 } 312 313 /*** 314 * This method read the value of indexDummyVariableValue parameter 315 * @return value of parameter 316 */ 317 public Vector getIndexDummyVariableValue(){ 318 return indexDummyVariableValue; 319 } 320 321 322 }

This page was automatically generated by Maven