1 19 package org.openbravo.erpCommon.ad_actionButton; 20 21 import java.util.regex.*; 22 import java.io.*; 23 import javax.servlet.*; 24 import org.openbravo.base.MultipartRequest; 25 import org.openbravo.data.*; 26 import org.openbravo.base.VariablesBase; 27 28 import org.openbravo.database.ConnectionProvider; 30 31 public class TestLine extends MultipartRequest implements FieldProvider { 32 public String comando; 33 public String arg1; 34 public String arg2; 35 public String arg3; 36 37 public Pattern pattern; 38 public Matcher matcher; 39 public String currentWindow; 40 public String currentFrame; 41 public String currentTab; 42 public boolean generatedWindow = false; 43 public boolean generatedWindowPopup = false; 44 45 public ConnectionProvider conn; 46 47 public TestLine(VariablesBase _vars, String _filename, boolean _firstLineHeads, String _currentWindow, String _currentFrame, boolean _generatedWindow, ConnectionProvider _conn) throws IOException { 48 super(); 49 this.currentWindow = _currentWindow; 50 this.currentFrame = _currentFrame; 51 this.generatedWindow= _generatedWindow; 52 this.conn=_conn; 53 init(_vars, _filename, _firstLineHeads, "C", null); 54 readSubmittedFile(); 55 } 56 57 public TestLine(String _currentWindow, String _currentFrame, boolean _generatedWindow, ConnectionProvider _conn) { 58 this.currentWindow = _currentWindow; 59 this.currentFrame = _currentFrame; 60 this.generatedWindow= _generatedWindow; 61 this.conn=_conn; 62 } 63 64 public String getField(String fieldName) { 65 if (fieldName.equalsIgnoreCase("comando")) 66 return comando; 67 else if (fieldName.equalsIgnoreCase("arg1")) 68 return arg1; 69 else if (fieldName.equalsIgnoreCase("arg2")) 70 return arg2; 71 else if (fieldName.equalsIgnoreCase("arg3")) 72 return arg3; 73 else { 74 return null; 75 } 76 } 77 78 79 public FieldProvider lineFixedSize(String linea) { 80 return null; 81 } 82 83 public FieldProvider lineSeparatorFormated(String linea) { 84 if (linea.length() < 1) return null; 85 TestLine TestLine = new TestLine(currentWindow, currentFrame, generatedWindow,conn); 86 if (linea.substring(0,2).equals("//")) return TestLine; 87 88 pattern = Pattern.compile("setAlertWindow\\( \".+?\",[0-9]{1,2}\\)"); 90 matcher = pattern.matcher(""); 91 matcher.reset(linea); 92 if (matcher.find()) { 93 TestLine.comando = "800127"; 94 return TestLine; 95 } 96 97 pattern = Pattern.compile("setText\\(\"(.+?)\",\"(.+?)\",[0-9]{1,2}\\)"); 99 matcher = pattern.matcher(""); 100 matcher.reset(linea); 101 if (matcher.find()) { 102 if (generatedWindow) { 103 if (matcher.group(1).equals("user")||matcher.group(1).equals("password")) TestLine.comando = "800152"; 105 else if(isCheckTextField(currentTab, argErase(matcher.group(1)))) TestLine.comando = "800108"; 106 else TestLine.comando = "800156"; 107 } else TestLine.comando = "800152"; 108 TestLine.arg1 = matcher.group(1); 110 TestLine.arg2 = matcher.group(2); 111 if (TestLine.arg2.equals("_QE_BLANK")) TestLine.comando=""; 113 return TestLine; 114 } 115 116 pattern = Pattern.compile("selectItem\\(\"report(.+?)_S\",\"(.+?)\",[0-9]{1,2}\\)"); 118 matcher = pattern.matcher(""); 119 matcher.reset(linea); 120 if (matcher.find()) { 121 TestLine.comando = "800111"; 122 TestLine.arg1 = matcher.group(1); 123 TestLine.arg2 = matcher.group(2); 124 return TestLine; 125 } 126 pattern = Pattern.compile("selectItem\\(\"(.+?)\",\"(.+?)\",[0-9]{1,2}\\)"); 128 matcher = pattern.matcher(""); 129 matcher.reset(linea); 130 if (matcher.find()) { 131 TestLine.comando = "800154"; 132 TestLine.arg1 = matcher.group(1); 133 TestLine.arg2 = matcher.group(2); 134 return TestLine; 135 } 136 pattern = Pattern.compile("clickImage\\(\"(http.+?)\",[0-9]{1,2}\\)"); 138 matcher = pattern.matcher(""); 139 matcher.reset(linea); 140 if (matcher.find()) { 141 TestLine.comando = "800153"; 142 TestLine.arg1 = matcher.group(1); 143 return TestLine; 144 } 145 pattern = Pattern.compile("clickImage\\(\"(command.+?)\",[0-9]{1,2}\\)"); 147 matcher = pattern.matcher(""); 148 matcher.reset(linea); 149 if (matcher.find()) { 150 TestLine.comando = "800155"; 151 TestLine.arg1 = matcher.group(1); 152 return TestLine; 153 } 154 pattern = Pattern.compile("clickImage\\(\"(button.+?)\",[0-9]{1,2}\\)"); 156 matcher = pattern.matcher(""); 157 matcher.reset(linea); 158 if (matcher.find()) { 159 TestLine.comando = "800140"; 160 TestLine.arg1 = matcher.group(1); 161 return TestLine; 162 } 163 pattern = Pattern.compile("clickImage\\(\"openbravoLogo\",[0-9]{1,2}\\)"); 165 matcher = pattern.matcher(""); 166 matcher.reset(linea); 167 if (matcher.find()) { 168 TestLine.comando = "800139"; 169 return TestLine; 170 } 171 pattern = Pattern.compile("clickElement\\(\"tabtitle(.+?)\",[0-9]{1,2}\\)"); 173 matcher = pattern.matcher(""); 174 matcher.reset(linea); 175 if (matcher.find()) { 176 TestLine.comando = "800148"; 177 TestLine.arg1 = matcher.group(1); 178 currentTab = matcher.group(1); 179 return TestLine; 180 } 181 pattern = Pattern.compile("clickElement\\(\"(.+?)\",[0-9]{1,2}\\)"); 183 matcher = pattern.matcher(""); 184 matcher.reset(linea); 185 if (matcher.find()) { 186 TestLine.comando = "800128"; 187 TestLine.arg1 = matcher.group(1); 188 TestLine.arg2 = matcher.group(1); 189 return TestLine; 190 } 191 pattern = Pattern.compile("clickLink\\(\"childwindow(.+?)\",[0-9]{1,2}\\)"); 194 matcher = pattern.matcher(""); 195 matcher.reset(linea); 196 if (matcher.find()) { 197 TestLine.comando = "800141"; 198 TestLine.arg1 = "ad_menu-" + matcher.group(1); 199 generatedWindow=checkIsGenerated("window",matcher.group(1)); 200 if (generatedWindow) { 201 try {currentTab = TestLineData.setTabId(conn, matcher.group(1));} 202 catch (ServletException ex) {ex.printStackTrace();} 203 } else currentTab = ""; 204 return TestLine; 205 } 206 pattern = Pattern.compile("clickLink\\(\"childprocess(.+?)\",[0-9]{1,2}\\)"); 208 matcher = pattern.matcher(""); 209 matcher.reset(linea); 210 if (matcher.find()) { 211 TestLine.comando = "800142"; 212 TestLine.arg1 = "ad_menu-" + matcher.group(1); 213 generatedWindow=checkIsGenerated("process",matcher.group(1)); 214 if (generatedWindow) { 215 try {currentTab = TestLineData.setTabId(conn, matcher.group(1));} 216 catch (ServletException ex) {ex.printStackTrace();} 217 } else currentTab=""; 218 return TestLine; 219 } 220 pattern = Pattern.compile("clickLink\\(\"childreport(.+?)\",[0-9]{1,2}\\)"); 222 matcher = pattern.matcher(""); 223 matcher.reset(linea); 224 if (matcher.find()) { 225 TestLine.comando = "800144"; 226 TestLine.arg1 = "ad_menu-" + matcher.group(1); 227 generatedWindow= false; 228 currentTab=""; 229 return TestLine; 230 } 231 pattern = Pattern.compile("clickLink\\(\"childform(.+?)\",[0-9]{1,2}\\)"); 233 matcher = pattern.matcher(""); 234 matcher.reset(linea); 235 if (matcher.find()) { 236 TestLine.comando = "800145"; 237 TestLine.arg1 = "ad_menu-" + matcher.group(1); 238 generatedWindow= false; 239 currentTab=""; 240 return TestLine; 241 } 242 pattern = Pattern.compile("clickLink\\(\"childwf(.+?)\",[0-9]{1,2}\\)"); 244 matcher = pattern.matcher(""); 245 matcher.reset(linea); 246 if (matcher.find()) { 247 TestLine.comando = "800160"; 248 TestLine.arg1 = "ad_menu-" + matcher.group(1); 249 generatedWindow= true; 250 try {currentTab = TestLineData.setTabId(conn, matcher.group(1));} 251 catch (ServletException ex) {ex.printStackTrace();} 252 return TestLine; 253 } 254 pattern = Pattern.compile("clickLink\\(\"childtask(.+?)\",[0-9]{1,2}\\)"); 256 matcher = pattern.matcher(""); 257 matcher.reset(linea); 258 if (matcher.find()) { 259 TestLine.comando = "800161"; 260 TestLine.arg1 = "ad_menu-" + matcher.group(1); 261 generatedWindow= true; 262 return TestLine; 263 } 264 pattern = Pattern.compile("clickLink\\(\"folderHref(.+?)\",[0-9]{1,2}\\)"); 266 matcher = pattern.matcher(""); 267 matcher.reset(linea); 268 if (matcher.find()) { 269 TestLine.comando = "800147"; 270 TestLine.arg1 = "ad_menu-" + matcher.group(1); 271 return TestLine; 272 } 273 pattern = Pattern.compile("clickLink\\(\"tabname(.+?)\",[0-9]{1,2}\\)"); 275 matcher = pattern.matcher(""); 276 matcher.reset(linea); 277 if (matcher.find()) { 278 TestLine.comando = "800150"; 279 TestLine.arg1 = "ad_tab-" + matcher.group(1); 280 generatedWindow=checkIsGenerated("windowtab",matcher.group(1)); 281 currentTab = matcher.group(1); 282 return TestLine; 283 } 284 pattern = Pattern.compile("clickButton\\(\"Button\",[0-9]{1,2}\\)"); 286 matcher = pattern.matcher(""); 287 matcher.reset(linea); 288 if (matcher.find()) { 289 return TestLine; 290 } 291 pattern = Pattern.compile("clickButton\\(\"(inp.+?)_?([0-9]{1,2})?\",[0-9]{1,2}\\)"); 293 matcher = pattern.matcher(""); 294 matcher.reset(linea); 295 if (matcher.find()) { 296 TestLine.comando = "800119"; 297 TestLine.arg1 = matcher.group(1); 298 TestLine.arg2 = "0"; 299 return TestLine; 300 } 301 pattern = Pattern.compile("clickButton\\(\"param(.+?)_M_?([0-9]{1,2})?\",[0-9]{1,2}\\)"); 303 matcher = pattern.matcher(""); 304 matcher.reset(linea); 305 if (matcher.find()) { 306 TestLine.comando = "800159"; 307 TestLine.arg1 = matcher.group(1); 308 return TestLine; 309 } 310 pattern = Pattern.compile("clickButton\\(\"(.+?)_?([0-9]{1,2})?\",[0-9]{1,2}\\)"); 312 matcher = pattern.matcher(""); 313 matcher.reset(linea); 314 if (matcher.find()) { 315 TestLine.comando = "800117"; 316 TestLine.arg1 = matcher.group(1); 317 return TestLine; 318 } 319 320 pattern = Pattern.compile("clickLink\\(\"(.+?)\",[0-9]{1,2}\\)"); 322 matcher = pattern.matcher(""); 323 matcher.reset(linea); 324 if (matcher.find()) { 325 TestLine.comando = "800146"; 326 TestLine.arg1 = matcher.group(1); 327 return TestLine; 328 } 329 pattern = Pattern.compile("showContextMenu\\(\"(.+?)\",[0-9]{1,2}\\)"); 331 matcher = pattern.matcher(""); 332 matcher.reset(linea); 333 if (matcher.find()) { 334 TestLine.comando = "800114"; 335 TestLine.arg1 = matcher.group(1); 336 return TestLine; 337 } 338 pattern = Pattern.compile("setWindow\\(\\s\"(.+?)_([A-Z]+)_?([0-9]{1,2})?\",[0-9]{1,2}\\)"); matcher = pattern.matcher(""); 341 matcher.reset(linea); 342 if (matcher.find()) { 343 int compWindow = matcher.group(1).compareTo(currentWindow); 344 if (compWindow!=0){ 345 TestLine.arg1 = matcher.group(1); 346 TestLine.arg2 = "false"; 347 TestLine.comando = "800116"; 348 if (!currentWindow.equals("Aplicación de gestión") && matcher.group(1).equals("Aplicación de gestión")) generatedWindow=generatedWindowPopup; 349 else if (currentWindow.equals("Aplicación de gestión") && !matcher.group(1).equals("Aplicación de gestión")) { 350 generatedWindowPopup = generatedWindow; 351 generatedWindow = false; 352 } 353 currentWindow=matcher.group(1); 354 355 } 356 return TestLine; 357 } 358 pattern = Pattern.compile("setWindow\\(\\s\"(.+?)_([\\w]+?)_?([0-9]{1,2})?\",[0-9]{1,2}\\)"); 361 matcher = pattern.matcher(""); 362 matcher.reset(linea); 363 if (matcher.find()) { 364 int compWindow = matcher.group(1).compareTo(currentWindow); 365 int compFrame = matcher.group(2).compareTo(currentFrame); 366 if (!currentWindow.equals("Aplicación de gestión") && matcher.group(1).equals("Aplicación de gestión")) generatedWindow=generatedWindowPopup; 367 else if (currentWindow.equals("Aplicación de gestión") && !matcher.group(1).equals("Aplicación de gestión")) { 368 generatedWindowPopup = generatedWindow; 369 generatedWindow = false; 370 } 371 372 if (compWindow!=0){ 373 TestLine.arg1 = matcher.group(1); 374 TestLine.arg2 = matcher.group(2); 375 TestLine.comando = "800149"; 376 currentWindow=matcher.group(1); 377 currentFrame=matcher.group(2); 378 } else if (compFrame!=0){ 379 TestLine.arg1 = matcher.group(2); 380 TestLine.comando = "800107"; 381 currentFrame=matcher.group(2); 382 } 383 return TestLine; 384 } 385 386 return TestLine; 395 } 396 397 public boolean checkIsGenerated (String element,String generatedId) { 399 TestLineData[] comprobar=null; 400 if(element.equals("window")){ 402 try {comprobar = TestLineData.selectWindow(conn, generatedId);} 403 catch (ServletException ex) {ex.printStackTrace();} 404 if(comprobar.length==1){ 405 return true; 406 } 407 if(comprobar.length==0){ 408 return false; 409 } 410 } 411 412 if(element.equals("process")){ 414 try {comprobar = TestLineData.selectProcess(conn, generatedId);} 415 catch (ServletException ex) {ex.printStackTrace();} 416 if(comprobar.length==1){ 417 return true; 418 } 419 if(comprobar.length==0){ 420 return false; 421 } 422 } 423 424 if(element.equals("windowtab")){ 426 try {comprobar = TestLineData.selectWindowTab(conn, generatedId);} 427 catch (ServletException ex) {ex.printStackTrace();} 428 if(comprobar.length==1){ 429 return true; 430 } 431 if(comprobar.length==0){ 432 return false; 433 } 434 } 435 return false; 436 } 437 public boolean isCheckTextField (String tab,String column) { 439 String comprobar=""; 441 try {comprobar = TestLineData.checkFieldOrArea(conn, tab, column);} 443 catch (ServletException ex) {ex.printStackTrace();} 444 if(Integer.valueOf(comprobar).intValue() <=110){ 445 return true; 446 } else { 447 return false; 449 } 450 451 } 453 public boolean isCheck (String tab,String column) { 455 String comprobar=""; 457 try {comprobar = TestLineData.checkButtonOrCheck(conn, tab, column);} 459 catch (ServletException ex) {ex.printStackTrace();} 460 if(comprobar.equals("20")){ 461 return true; 462 } 463 464 return false; 465 } 466 467 public boolean isButton (String tab,String column) { 469 String comprobar=""; 471 try {comprobar = TestLineData.checkButtonOrCheck(conn, tab, column);} 473 catch (ServletException ex) {ex.printStackTrace();} 474 if(comprobar.equals("28")){ 475 return true; 476 } 477 478 return false; 479 } 480 481 private String argErase(String arg) { 482 if (arg.endsWith("_D")) arg = arg.substring(0, arg.lastIndexOf("_")); 483 else if (arg.endsWith("_BTN")) arg = arg.substring(0, arg.lastIndexOf("_")); 484 485 return arg; 486 } 487 488 } 489 | Popular Tags |