2 * ================================================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ================================================================================
20 /* ===========================================================================================
21 * This class is part of <I>RAPTOR (Rapid Application Programming Tool for OLAP Reporting)</I>
22 * Raptor : This tool is used to generate different kinds of reports with lot of utilities
23 * ===========================================================================================
25 * -------------------------------------------------------------------------------------------
26 * FormField.java - This class is used to generate all types of form field.
27 * -------------------------------------------------------------------------------------------
29 * Created By : Stan Pishamanov
30 * Modified & Maintained By : Sundar Ramalingam
34 * 18-Aug-2009 : Version 8.5 (Sundar); Populating predefined formfields bug has been resolved.
35 * 13-Aug-2009 : Version 8.5 (RS); Form field chaining is supported even for hidden variables.
36 * 13-Aug-2009 : Version 8.5 (RS); Nothing changed just comment.
37 * 10-Aug-2009 : Version 9.0 (RS); required logic is added for Multiple Dropdown.
38 * 06-Aug-2009 : Version 9.0 (RS); B getAjaxHtml is added for converting form field chain from Iframe to AJAX.
39 * 08-Jun-2009 : Version 8.3 (RS); Hidden formfields now is displayed even when the sql is not provided.
42 package org.openecomp.portalsdk.analytics.model.runtime;
44 import java.io.Serializable;
45 import java.io.UnsupportedEncodingException;
46 import java.text.SimpleDateFormat;
48 import java.util.Map.Entry;
49 import java.util.regex.Matcher;
50 import java.util.regex.Pattern;
52 import javax.swing.text.html.HTMLDocument.HTMLReader.HiddenAction;
54 import org.openecomp.portalsdk.analytics.error.RaptorException;
55 import org.openecomp.portalsdk.analytics.error.RaptorRuntimeException;
56 import org.openecomp.portalsdk.analytics.error.UserDefinedException;
57 import org.openecomp.portalsdk.analytics.model.base.*;
58 import org.openecomp.portalsdk.analytics.system.*;
59 import org.openecomp.portalsdk.analytics.util.*;
60 import org.openecomp.portalsdk.analytics.xmlobj.*;
62 public class FormField extends org.openecomp.portalsdk.analytics.RaptorObject implements Serializable {
63 private static final String HTML_FORM = "formd";
65 private String fieldName = null;
67 private String fieldDisplayName = null;
69 private String fieldType = FFT_TEXT_W_POPUP;
71 private String validationType = VT_NONE;
73 private boolean required = false;
75 public boolean hasPredefinedList = false;
77 private String defaultValue = null;
79 private Calendar rangeStartDate = null;
81 private Calendar rangeEndDate = null;
83 private String rangeStartDateSQL = null;
85 private String rangeEndDateSQL = null;
87 private String fieldDefaultSQL = null;
89 private String multiSelectListSize = null;
91 private String helpText = null;
93 private IdNameList lookupList = null;
95 private String dbInfo = null;
97 private String userId = null;
99 private boolean visible = true;
101 private String dependsOn = null;
103 private boolean triggerOtherFormFields = false;
105 private boolean triggerThisFormfield = false;
108 public static final String FFT_TEXT_W_POPUP = "TEXT_WITH_POPUP";
110 public static final String FFT_TEXT = "TEXT";
112 public static final String FFT_TEXTAREA = "TEXTAREA";
114 public static final String FFT_COMBO_BOX = "COMBO_BOX";
116 public static final String FFT_LIST_BOX = "LIST_BOX";
118 public static final String FFT_RADIO_BTN = "RADIO_BTN";
120 public static final String FFT_CHECK_BOX = "CHECK_BOX";
122 public static final String FFT_LIST_MULTI = "LIST_MULTI_SELECT";
124 public static final String FFT_HIDDEN = "HIDDEN";
126 public static final String FFT_BLANK = "BLANK";
129 public static final String VT_NONE = "NONE";
131 public static final String VT_DATE = "DATE";
133 public static final String VT_TIMESTAMP_HR = "TIMESTAMP_HR";
135 public static final String VT_TIMESTAMP_MIN = "TIMESTAMP_MIN";
137 public static final String VT_TIMESTAMP_SEC = "TIMESTAMP_SEC";
139 public static final String VT_INT = "INTEGER";
141 public static final String VT_INT_POSITIVE = "POSITIVE_INTEGER";
143 public static final String VT_INT_NON_NEGATIVE = "NON_NEGATIVE_INTEGER";
145 public static final String VT_FLOAT = "FLOAT";
147 public static final String VT_FLOAT_POSITIVE = "POSITIVE_FLOAT";
149 public static final String VT_FLOAT_NON_NEGATIVE = "NON_NEGATIVE_FLOAT";
151 private FormField(String fieldName, String fieldDisplayName, String fieldType,
152 String validationType, boolean required, String defaultValue, String helpText, boolean visible, String dependsOn, Calendar rangeStartDate, Calendar rangeEndDate,
153 String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize ) {
155 this (fieldName,fieldDisplayName,fieldType,validationType,required,defaultValue,helpText, dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize);
159 private FormField(String fieldName, String fieldDisplayName, String fieldType,
160 String validationType, boolean required, String defaultValue, String helpText, String dependsOn, Calendar rangeStartDate, Calendar rangeEndDate,
161 String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize ) {
163 setFieldName(fieldName);
164 setFieldDisplayName(fieldDisplayName);
165 setFieldType(nvl(fieldType, FFT_TEXT));
166 setValidationType(validationType);
167 setRequired(required);
168 setDefaultValue(defaultValue);
169 setHelpText(helpText);
170 setDependsOn(dependsOn);
171 setRangeStartDate(rangeStartDate);
172 setRangeEndDate(rangeEndDate);
173 setRangeStartDateSQL(rangeStartDateSQL);
174 setRangeEndDateSQL(rangeEndDateSQL);
175 setMultiSelectListSize(multiSelectListSize);
177 public FormField(String fieldName, String fieldDisplayName, String fieldType,
178 String validationType, boolean required, String defaultValue, String helpText,
179 List predefinedValues, boolean visible, String dependsOn, Calendar rangeStartDate, Calendar rangeEndDate,
180 String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize) {
181 this(fieldName, fieldDisplayName, fieldType, validationType, required, defaultValue,
182 helpText,visible, dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize);
183 if (predefinedValues != null)
184 setPredefinedListLookup(predefinedValues);
187 public FormField(String fieldName, String fieldDisplayName, String fieldType,
188 String validationType, boolean required, String defaultValue, String helpText,
189 String lookupSql, boolean visible, String dependsOn, Calendar rangeStartDate, Calendar rangeEndDate,
190 String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize ) {
191 this(fieldName, fieldDisplayName, fieldType, validationType, required, defaultValue,
192 helpText,visible, dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize);
193 if (defaultValue!=null && defaultValue.length()>10 && defaultValue.substring(0,10).trim().toLowerCase().startsWith("select")) {
194 setFieldDefaultSQL(defaultValue);
197 setLookupList(new IdNameSql(lookupSql,defaultValue));
200 public FormField(String fieldName, String fieldDisplayName, String fieldType,
201 String validationType, boolean required, String defaultValue, String helpText,
202 String dbTableName, String dbIdField, String dbNameField, String dbSortByField, boolean visible, String dependsOn, Calendar rangeStartDate, Calendar rangeEndDate,
203 String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize) {
204 this(fieldName, fieldDisplayName, fieldType, validationType, required, defaultValue,
205 helpText,dbTableName,dbIdField,dbNameField,dbSortByField, dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize);
209 public FormField(String fieldName, String fieldDisplayName, String fieldType,
210 String validationType, boolean required, String defaultValue, String helpText,
211 String dbTableName, String dbIdField, String dbNameField, String dbSortByField, String dependsOn,
212 Calendar rangeStartDate, Calendar rangeEndDate,
213 String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize ) {
214 this(fieldName, fieldDisplayName, fieldType, validationType, required, defaultValue,
215 helpText,dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize);
216 //if(dependsOn !=null){ this.dependsOn = dependsOn; }else { this.dependsOn = ""
217 if (defaultValue!=null && defaultValue.length()>10 && defaultValue.substring(0,10).trim().toLowerCase().startsWith("select")) {
218 setFieldDefaultSQL(defaultValue);
220 if(fieldType.equals(FFT_TEXT))
221 setLookupList(new IdNameLookup(dbTableName, dbIdField, dbNameField, dbSortByField,defaultValue,true));
223 setLookupList(new IdNameLookup(dbTableName, dbIdField, dbNameField, dbSortByField,defaultValue,false));
226 if(fieldType.equals(FFT_TEXT))
227 setLookupList(new IdNameLookup(dbTableName, dbIdField, dbNameField, dbSortByField, true));
229 setLookupList(new IdNameLookup(dbTableName, dbIdField, dbNameField, dbSortByField, false));
232 this.setRangeStartDate(rangeStartDate);
233 this.setRangeEndDate(rangeEndDate);
234 this.setRangeStartDateSQL(rangeStartDateSQL);
235 this.setRangeEndDateSQL(rangeEndDateSQL);
240 private void setPredefinedListLookup(List predefinedValues) {
241 IdNameList lookup = new IdNameList();
242 for (Iterator iter = predefinedValues.iterator(); iter.hasNext();) {
243 String value = (String) iter.next();
244 lookup.addValue(value, value);
246 setHasPredefinedList(true);
247 setLookupList(lookup);
248 } // setPredefinedListLookup
250 public String getFieldName() {
254 public String getFieldDisplayName() {
255 return fieldDisplayName;
258 public String getFieldType() {
262 public String getValidationType() {
263 return validationType;
266 public boolean isRequired() {
270 public String getDefaultValue() {
274 public String getHelpText() {
278 public IdNameList getLookupList() {
282 public void setFieldName(String fieldName) {
283 this.fieldName = fieldName;
286 public void setFieldDisplayName(String fieldDisplayName) {
287 this.fieldDisplayName = fieldDisplayName;
290 public void setFieldType(String fieldType) {
291 this.fieldType = fieldType;
294 public void setValidationType(String validationType) {
295 this.validationType = nvl(validationType, VT_NONE);
298 public void setRequired(boolean required) {
299 this.required = required;
302 public void setDefaultValue(String defaultValue) {
303 this.defaultValue = defaultValue;
306 public void setHelpText(String helpText) {
307 this.helpText = helpText;
310 public void setLookupList(IdNameList lookupList) {
311 this.lookupList = lookupList;
314 public void setDefaultList(IdNameList lookupList) {
315 this.lookupList = lookupList;
318 public String getBaseSQL() {
319 return (lookupList == null) ? null : lookupList.getBaseSQL();
322 public String getBaseWholeSQL() {
323 return (lookupList == null) ? null : lookupList.getBaseWholeSQL();
326 public String getBaseWholeReadonlySQL() {
327 return (lookupList == null) ? null : lookupList.getBaseWholeReadonlySQL();
328 } // getBaseWholeReadonlySQL
330 public String getBaseSQLForPDFExcel() {
331 return (lookupList == null) ? null : lookupList.getBaseSQLForPDFExcel(getFieldType().equals(FFT_LIST_MULTI)||getFieldType().equals(FFT_CHECK_BOX)?true:false);
332 } // getBaseSQLForPDFExcel
334 public String getDisplayNameHtml() {
335 if (nvl(helpText).length() > 0)
336 return "<a title=\"" + helpText + "\">" + fieldDisplayName + "</a>";
338 return fieldDisplayName;
339 } // getDisplayNameHtml
341 /*public String getHtml() throws RaptorRuntimeException {
342 return getHtml("" , null, null, false);
345 public String getHtml(String fieldValue, HashMap formValues, ReportRuntime rr)throws RaptorRuntimeException {
346 return getHtml(fieldValue,formValues, rr, false);
349 public String getHelpLink(String fieldName) {
350 //return "<a href=\"#\" onclick=\"javascript:ShowContent('" + fieldName + "_div')\"><img src=\""+AppUtils.getBaseFolderURL()+"images/quickhelp_dk.gif\" width=\"12\" height=\"12\" alt=\"\" border=\"0\" class=\"qh-element\" /></a>";
351 return ((getHelpText()!=null && getHelpText().length()>0)? "tooltipText=\""+ getHelpText()+"\">": ">");
352 //return ((getHelpText()!=null && getHelpText().length()>0)? "<img src=\"static/fusion/raptor/images/quickhelp_lt.gif\" tooltipText=\""+ getHelpText() + "\"/>": "");
356 public String getCallableAfterChainingJavascript(String fieldName, ReportRuntime rr) {
357 JavascriptItemType javascriptItemType = null;
358 StringBuffer callJavascriptText = new StringBuffer("");
359 if(rr.getJavascriptList()!=null) {
360 for (Iterator iter = rr.getJavascriptList().getJavascriptItem().iterator(); iter.hasNext();) {
361 javascriptItemType = (JavascriptItemType)iter.next();
362 if(javascriptItemType.getFieldId().equals(fieldName)) {
363 if(nvl(javascriptItemType.getCallText()).toLowerCase().startsWith("afterchaining"))
364 callJavascriptText.append(" "+javascriptItemType.getCallText());
368 return callJavascriptText.toString()+" ";
370 public String getCallableJavascript(String fieldName, ReportRuntime rr) {
371 JavascriptItemType javascriptItemType = null;
372 StringBuffer callJavascriptText = new StringBuffer("");
373 if(rr.getJavascriptList()!=null) {
374 for (Iterator iter = rr.getJavascriptList().getJavascriptItem().iterator(); iter.hasNext();) {
375 javascriptItemType = (JavascriptItemType)iter.next();
376 if(javascriptItemType.getFieldId().equals(fieldName)) {
377 if(!nvl(javascriptItemType.getCallText()).toLowerCase().startsWith("afterchaining"))
378 callJavascriptText.append(" "+javascriptItemType.getCallText());
382 return callJavascriptText.toString()+" ";
385 public String getCallableOnChangeJavascript(String fieldName, ReportRuntime rr) {
386 String callText = getCallableJavascript(fieldName, rr);
387 if(callText != null && callText.trim().toLowerCase().indexOf("onchange")>=0) {
388 Pattern re1 = Pattern.compile("\\=(.*?)\\)");
389 Matcher matcher = re1.matcher(callText);
390 while (matcher.find()) {
391 callText = matcher.group();
392 if(callText!=null && callText.startsWith("=\"")) {
393 callText = callText.substring(2);
394 } else if (callText!=null)
395 callText = callText.substring(1);
397 callText = callText.replaceAll("this", "documentForm."+fieldName);
398 } else callText = null;
402 public String getAjaxHtml(String fieldValue, HashMap formValues, ReportRuntime rr, boolean inSchedule) throws RaptorRuntimeException {
403 fieldValue = nvl(fieldValue, defaultValue);
404 String readOnly = "ff_readonly";
406 if(fieldValue !=null && fieldValue.length() > 0)
407 fieldValue = java.net.URLDecoder.decode(fieldValue, "UTF-8");
408 } catch (UnsupportedEncodingException ex) {}
409 catch (IllegalArgumentException ex1){}
410 catch (Exception ex2){}
411 if (fieldType.equals(FFT_COMBO_BOX)) {
412 StringBuffer sb = new StringBuffer();
413 //System.out.println("COMBO BOX " + fieldName);
416 sb.append("obj.options[obj.options.length] = new Option('-->select value<--','');");
418 IdNameList lookup = getLookupList();
420 if(!hasPredefinedList) {
421 //if(dependsOn != null && dependsOn != "") {
422 //if(dependsOn != null && dependsOn != "" ) {
423 IdNameSql lu = (IdNameSql) lookup;
426 /*if(nvl(fieldValue,"").length()<=0)
429 SQL = lu.getBaseSQLForPDFExcel(false);
431 //System.out.println("FORMFIELD 6666667 First" + ((IdNameSql)lookup).getSql());
432 oldSQL = lu.getSql();
433 //SQL = Utils.replaceInString(SQL, "[VALUE]", fieldValue);
434 if(formValues != null) {
435 Set set = formValues.entrySet();
437 for(Iterator iter = set.iterator(); iter.hasNext(); ) {
438 Map.Entry entry = (Entry) iter.next();
439 value = (String) entry.getValue();
442 value = java.net.URLDecoder.decode(Utils.oracleSafe(value), "UTF-8");
443 } catch (UnsupportedEncodingException ex) {
447 if (value!=null && (value.length() <=0 || value.equals("NULL"))) {
449 SQL = Utils.replaceInString(SQL, "'["+entry.getKey()+"]'", value);
450 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
452 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
455 lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
462 lookup.loadUserData(0, "", getDbInfo(), getUserId());
463 } catch (Exception e ){ e.printStackTrace(); //throw new RaptorRuntimeException(e);
468 String selectedValue = "";
470 for (lookup.resetNext(); lookup.hasNext();) {
471 IdNameValue value = lookup.getNext();
472 if(value != null && value.getId() != null && value.getName() != null ) {
473 /*if (count == 0 && required) {
474 selectedValue = value.getId();
476 } else if (nvl(fieldValue).length()>0){
477 if (fieldValue != null && fieldValue.equals(value.getId())){
478 selectedValue = value.getId();
486 selectedValue = value.getId();
490 sb.append("obj.options[obj.options.length] = new Option('" + Utils.singleQuoteEncode(value.getName())+"','"+Utils.singleQuoteEncode(value.getId())+"');");
491 if ((fieldValue != null && fieldValue.equals(value.getId()))){
492 sb.append("obj.options[obj.options.length-1].selected=true;");
493 selectedValue = value.getId();
495 if(value.isReadOnly())
496 sb.append("obj.disabled=true;");
498 sb.append("obj.disabled=false;");
502 if (formValues.containsKey(fieldDisplayName)){
503 formValues.remove(fieldDisplayName);
505 formValues.put(fieldDisplayName, selectedValue);
506 } catch (Exception e) {
507 //throw new RaptorRuntimeException(e);
509 if(!hasPredefinedList) {
510 if(oldSQL != null && !oldSQL.equals("")) {
511 ((IdNameSql)lookup).setSQL(oldSQL);
514 //System.out.println("FORMFIELD 6666667 " + ((IdNameSql)lookup).getSql());
516 return sb.toString();
518 } else if (fieldType.equals(FFT_LIST_MULTI)) {
519 StringBuffer sb = new StringBuffer();
522 fieldValue = '|' + fieldValue + '|';
523 IdNameList lookup = getLookupList();
525 if(!hasPredefinedList) {
526 //if(dependsOn != null && dependsOn != "") {
527 //if(dependsOn != null && dependsOn != "" ) {
528 IdNameSql lu = (IdNameSql) lookup;
531 /*if(nvl(fieldValue,"").length()<=0)
534 SQL = lu.getBaseSQLForPDFExcel(false);
535 SQL = Utils.replaceInString(SQL, "[VALUE]", fieldValue);
537 oldSQL = lu.getSql();
538 if(formValues != null) {
539 Set set = formValues.entrySet();
541 for(Iterator iter = set.iterator(); iter.hasNext(); ) {
542 Map.Entry entry = (Entry) iter.next();
543 value = (String) entry.getValue();
544 if(inSchedule) { //('1347')
546 value = java.net.URLDecoder.decode(value, "UTF-8");
547 } catch (UnsupportedEncodingException ex) {
551 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
553 lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
559 lookup.loadUserData(0, "", getDbInfo(),getUserId());
562 for (lookup.resetNext(); lookup.hasNext();) {
563 IdNameValue value = lookup.getNext();
564 sb.append("obj.options[obj.options.length] = new Option('" + Utils.singleQuoteEncode(value.getName()) +"','"+Utils.singleQuoteEncode(value.getId())+"');");
565 if (fieldValue.indexOf('|' + value.getId() + '|') >= 0)
566 sb.append("obj.options[obj.options.length-1].selected=true;");
567 if(value.isReadOnly())
568 sb.append("obj.disabled=true;");
570 sb.append("obj.disabled=false;");
574 // lookup.clearData();
575 } catch (Exception e) {
576 //throw new RaptorRuntimeException(e);
578 if(!hasPredefinedList) {
579 if(oldSQL != null && !oldSQL.equals("")) {
580 ((IdNameSql)lookup).setSQL(oldSQL);
584 return sb.toString();
587 } else if (fieldType.equals(FFT_TEXT_W_POPUP)) {
588 //System.out.println("TEXT POPUP " + fieldName);
590 IdNameValue idNamevalue = null;
591 String fieldDefValue="";
592 String fieldDefDisplay="";
594 IdNameList lookup = getLookupList();
595 if(dependsOn != null && dependsOn != "" ) {
596 IdNameSql lu = (IdNameSql) lookup;
597 String SQL = getBaseWholeSQL();
598 if(SQL.toLowerCase().indexOf(readOnly) != -1) {
599 SQL = getBaseWholeReadonlySQL();
601 oldSQL = lu.getSql();
602 if(formValues != null) {
603 Set set = formValues.entrySet();
605 for(Iterator iter = set.iterator(); iter.hasNext(); ) {
606 Map.Entry entry = (Entry) iter.next();
607 value = (String) entry.getValue();
610 value = java.net.URLDecoder.decode(Utils.oracleSafe(value), "UTF-8");
611 } catch (UnsupportedEncodingException ex) {
615 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
616 // if(SQL.indexOf("'"+"["+entry.getKey()+"]"+"'")!=-1) {
617 if(SQL.indexOf("'"+"["+entry.getKey()+"]"+"'")!=-1 || SQL.indexOf("'"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"'")!=-1
618 || SQL.indexOf("'%"+"["+entry.getKey()+"]"+"%'")!=-1 || SQL.indexOf("'%"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"%'")!=-1
619 || SQL.indexOf("'_"+"["+entry.getKey()+"]"+"_'")!=-1 || SQL.indexOf("'_"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"_'")!=-1
620 || SQL.indexOf("'%_"+"["+entry.getKey()+"]"+"_%'")!=-1 || SQL.indexOf("'%_"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"_%'")!=-1) {
622 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", nvl(
625 // Added to prevent SQL Injection
626 if(SQL.indexOf("["+entry.getKey()+"]")!=-1) {
628 double vD = Double.parseDouble(value);
629 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", nvl(
631 } catch (NumberFormatException ex) {
632 throw new UserDefinedException("Expected number, Given String for the form field \"" + "["+entry.getKey()+"]"+"\"");
637 if(getFieldDefaultSQL()!=null && (fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.trim().length()<=0))
638 lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
640 lookup = new IdNameSql(-1,SQL,null);
643 //lookupList = lookup;
645 if(getFieldDefaultSQL()!=null && (fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.trim().length()<=0)) {
646 lookup.loadUserData(0, "", getDbInfo(), getUserId());
647 for (lookup.resetNext(); lookup.hasNext();) {
648 idNamevalue = lookup.getNext();
652 fieldDefValue = nvl(idNamevalue.getId());
653 fieldDefDisplay = nvl(idNamevalue.getName());
656 // -2 indicates to run the whole sql for matching value
657 lookup.loadUserData(-2, "", getDbInfo(), getUserId());
659 for (lookup.resetNext(); lookup.hasNext();) {
660 IdNameValue value = lookup.getNext();
661 if(value != null && value.getId() != null && value.getName() != null ) {
662 fieldDefValue = nvl(value.getId());
663 if (fieldValue != null && fieldValue.equals(value.getId())) {
664 fieldDefDisplay = nvl(value.getName());
669 fieldDefDisplay = "";
673 if (fieldDefDisplay == null || fieldDefDisplay.length()<=0) {
674 fieldDefDisplay = nvl(fieldDefValue);
677 if(oldSQL != null && !oldSQL.equals("")) {
678 ((IdNameSql)lookup).setSQL(oldSQL);
681 } catch (Exception e) {
682 //throw new RaptorRuntimeException(e);
689 if(getFieldDefaultSQL()!=null && (fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.length()<=0)) {
690 fieldDefValue = nvl((idNamevalue!=null)?idNamevalue.getId():"");
691 fieldDefDisplay = nvl((idNamevalue!=null)?idNamevalue.getName():"");
693 if(fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.length()<=0) fieldValue="";
694 fieldDefValue = nvl(fieldDefValue);
695 fieldDefDisplay = nvl(fieldDefDisplay);
699 }catch(Exception e) { //throw new RaptorRuntimeException(e);
702 /* return "<input type=text class=\"text\" size=30 maxlength=50 id=\"" + fieldName +"\" name=\"" + fieldName + "\" value=\""
703 + nvl(fieldDefValue) + "\">\n" + "<a href=\"javascript:showArgPopupNew('"
704 + fieldName + "', 'document.formd." + fieldName
705 + "')\"><img border=0 src=\"" + AppUtils.getImgFolderURL()
706 + "shareicon.gif\" " + getHelpLink(fieldName);
708 return "obj.value=\""+Utils.singleQuoteEncode(nvl(fieldDefValue))+"\";";
712 } else if (fieldType.equals(FFT_HIDDEN) || fieldType.equals(FFT_TEXT) || fieldType.equals(FFT_TEXTAREA) ) {
713 StringBuffer sb = new StringBuffer();
716 IdNameList lookup = getLookupList();
717 //if(dependsOn != null && dependsOn != "") {
718 //if(dependsOn != null && dependsOn != "" ) {
719 IdNameSql lu = (IdNameSql) lookup;
720 String SQL = lu.getSql();
721 //System.out.println("SQL HIDDEN 1 " + SQL);
722 oldSQL = lu.getSql();
723 if(formValues != null) {
724 Set set = formValues.entrySet();
726 for(Iterator iter = set.iterator(); iter.hasNext(); ) {
727 Map.Entry entry = (Entry) iter.next();
728 value = (String) entry.getValue();
729 if(value == null || value.trim().length()<=0) {
734 value = java.net.URLDecoder.decode(value, "UTF-8");
735 } catch (UnsupportedEncodingException ex) {
739 //System.out.println("HIDDEN " + "["+entry.getKey()+"]" + "-" + value);
740 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
743 lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
745 //System.out.println("SQL HIDDEN 2 " + SQL);
749 if(nvl(fieldValue).length()>0 && (dependsOn == null || dependsOn.length()<=0)) {
750 sb.append((fieldValue!=null)?"obj.value=\""+nvl(fieldValue)+"\";":"");
751 } else if (lookup != null) {
752 lookup.loadUserData(0, "", getDbInfo(), getUserId());
754 for (lookup.resetNext(); lookup.hasNext(); iCnt++) {
755 IdNameValue value = lookup.getNext();
756 //System.out.println("HIDDEN " + value.getId() + " " + value.getName());
757 sb.append((value!=null)?"obj.value=\""+nvl(value.getId())+"\";":"");
758 if(value.isReadOnly())
759 sb.append("obj.disabled=true;");
761 sb.append("obj.disabled=false;");
764 if(lookup.size()<=0) {
765 sb.append("obj.value=\"\"");
769 sb.append((fieldValue!=null)?"obj.value=\""+Utils.singleQuoteEncode(nvl(fieldValue))+"\";":"");
771 if(oldSQL != null && !oldSQL.equals("")) {
772 ((IdNameSql)lookup).setSQL(oldSQL);
774 // lookup.clearData();
775 } catch (Exception e) {
776 //throw new RaptorRuntimeException(e);
779 return sb.toString() ;
780 } else if (fieldType.equals(FFT_LIST_BOX)) {
781 StringBuffer sb = new StringBuffer();
782 //System.out.println("COMBO BOX " + fieldName);
785 sb.append("obj.options[obj.options.length] = new Option('-->select value<--','');");
787 IdNameList lookup = getLookupList();
789 if(!hasPredefinedList) {
790 //if(dependsOn != null && dependsOn != "") {
791 //if(dependsOn != null && dependsOn != "" ) {
792 IdNameSql lu = (IdNameSql) lookup;
795 /*if(nvl(fieldValue,"").length()<=0)
798 SQL = lu.getBaseSQLForPDFExcel(false);
800 //System.out.println("FORMFIELD 6666667 First" + ((IdNameSql)lookup).getSql());
801 oldSQL = lu.getSql();
802 //SQL = Utils.replaceInString(SQL, "[VALUE]", fieldValue);
803 if(formValues != null) {
804 Set set = formValues.entrySet();
806 for(Iterator iter = set.iterator(); iter.hasNext(); ) {
807 Map.Entry entry = (Entry) iter.next();
808 value = (String) entry.getValue();
811 value = java.net.URLDecoder.decode(Utils.oracleSafe(value), "UTF-8");
812 } catch (UnsupportedEncodingException ex) {
816 if (value!=null && (value.length() <=0 || value.equals("NULL"))) {
818 SQL = Utils.replaceInString(SQL, "'["+entry.getKey()+"]'", value);
819 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
821 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
824 lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
831 lookup.loadUserData(0, "", getDbInfo(), getUserId());
832 } catch (Exception e ){ e.printStackTrace(); //throw new RaptorRuntimeException(e);
837 String selectedValue = "";
839 for (lookup.resetNext(); lookup.hasNext();) {
840 IdNameValue value = lookup.getNext();
841 if(value != null && value.getId() != null && value.getName() != null ) {
842 /*if (count == 0 && required) {
843 selectedValue = value.getId();
845 } else if (nvl(fieldValue).length()>0){
846 if (fieldValue != null && fieldValue.equals(value.getId())){
847 selectedValue = value.getId();
855 selectedValue = value.getId();
859 sb.append("obj.options[obj.options.length] = new Option('" + Utils.singleQuoteEncode(value.getName())+"','"+Utils.singleQuoteEncode(value.getId())+"');");
860 if ((fieldValue != null && fieldValue.equals(value.getId()))){
861 sb.append("obj.options[obj.options.length-1].selected=true;");
862 selectedValue = value.getId();
864 if(value.isReadOnly())
865 sb.append("obj.disabled=true;");
867 sb.append("obj.disabled=false;");
871 if (formValues.containsKey(fieldDisplayName)){
872 formValues.remove(fieldDisplayName);
874 formValues.put(fieldDisplayName, selectedValue);
875 } catch (Exception e) {
876 //throw new RaptorRuntimeException(e);
878 if(!hasPredefinedList) {
879 if(oldSQL != null && !oldSQL.equals("")) {
880 ((IdNameSql)lookup).setSQL(oldSQL);
883 //System.out.println("FORMFIELD 6666667 " + ((IdNameSql)lookup).getSql());
885 return sb.toString();
892 public String getHtml(String fieldValue, HashMap formValues, ReportRuntime rr, boolean inSchedule) throws RaptorRuntimeException {
893 fieldValue = nvl(fieldValue, defaultValue);
894 int MILLIS_IN_DAY = 1000 * 60 * 60 * 24;
895 String readOnlyInSql = "ff_readonly";
896 boolean readOnly = false;
898 if(fieldValue !=null && fieldValue.length() > 0)
899 fieldValue = java.net.URLDecoder.decode(fieldValue, "UTF-8");
900 } catch (UnsupportedEncodingException ex) {}
901 catch (IllegalArgumentException ex1){}
902 catch (Exception ex2){}
903 //System.out.println(fieldName + " " + fieldType + " " + fieldValue);
904 if (fieldType.equals(FFT_TEXT_W_POPUP)) {
905 //System.out.println("TEXT POPUP " + fieldName);
907 IdNameValue idNamevalue = null;
908 String fieldDefValue="";
909 String fieldDefDisplay="";
910 IdNameList lookup = null;
912 lookup = getLookupList();
913 if(!hasPredefinedList) {
914 if(dependsOn != null && dependsOn != "" ) {
915 IdNameSql lu = (IdNameSql) lookup;
916 String SQL = getBaseWholeSQL();
917 if(SQL.toLowerCase().indexOf(readOnlyInSql) != -1) {
918 SQL = getBaseWholeReadonlySQL();
920 oldSQL = lu.getSql();
921 if(formValues != null) {
922 Set set = formValues.entrySet();
924 for(Iterator iter = set.iterator(); iter.hasNext(); ) {
925 Map.Entry entry = (Entry) iter.next();
926 value = (String) entry.getValue();
927 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
928 // if(SQL.indexOf("'"+"["+entry.getKey()+"]"+"'")!=-1) {
929 if(SQL.indexOf("'"+"["+entry.getKey()+"]"+"'")!=-1 || SQL.indexOf("'"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"'")!=-1
930 || SQL.indexOf("'%"+"["+entry.getKey()+"]"+"%'")!=-1 || SQL.indexOf("'%"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"%'")!=-1
931 || SQL.indexOf("'_"+"["+entry.getKey()+"]"+"_'")!=-1 || SQL.indexOf("'_"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"_'")!=-1
932 || SQL.indexOf("'%_"+"["+entry.getKey()+"]"+"_%'")!=-1 || SQL.indexOf("'%_"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"_%'")!=-1) {
934 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", nvl(
937 // Added to prevent SQL Injection
938 if(SQL.indexOf("["+entry.getKey()+"]")!=-1) {
940 double vD = Double.parseDouble(value);
941 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", nvl(
943 } catch (NumberFormatException ex) {
944 throw new UserDefinedException("Expected number, Given String for the form field \"" + "["+entry.getKey()+"]"+"\"");
949 if(getFieldDefaultSQL()!=null && (fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.trim().length()<=0))
950 lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
952 lookup = new IdNameSql(-1,SQL,null);
955 //lookupList = lookup;
957 if(getFieldDefaultSQL()!=null && (fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.trim().length()<=0)) {
958 lookup.loadUserData(0, "", getDbInfo(), getUserId());
959 for (lookup.resetNext(); lookup.hasNext();) {
960 idNamevalue = lookup.getNext();
964 fieldDefValue = nvl(idNamevalue.getId());
965 fieldDefDisplay = nvl(idNamevalue.getName());
968 // -2 indicates to run the whole sql for matching value
969 lookup.loadUserData(-2, "", getDbInfo(), getUserId());
970 } catch (Exception e) {
971 //throw new RaptorRuntimeException(e);
975 for (lookup.resetNext(); lookup.hasNext();) {
976 IdNameValue value = lookup.getNext();
977 if(value != null && value.getId() != null && value.getName() != null ) {
978 fieldDefValue = nvl(value.getId());
979 if (fieldValue != null && fieldValue.equals(value.getId())) {
980 fieldDefDisplay = nvl(value.getName());
985 fieldDefDisplay = "";
989 if (fieldDefDisplay == null || fieldDefDisplay.length()<=0) {
990 fieldDefDisplay = nvl(fieldDefValue);
998 if(getFieldDefaultSQL()!=null && (fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.length()<=0)) {
999 fieldDefValue = nvl((idNamevalue!=null)?idNamevalue.getId():"");
1000 fieldDefDisplay = nvl((idNamevalue!=null)?idNamevalue.getName():"");
1002 if(fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.length()<=0) fieldValue="";
1003 fieldDefValue = nvl(fieldDefValue);
1004 fieldDefDisplay = nvl(fieldDefDisplay);
1009 lookup.trimToSize();
1010 for (lookup.resetNext(); lookup.hasNext();) {
1011 IdNameValue value = lookup.getNext();
1012 if(value != null && value.getId() != null && value.getName() != null ) {
1013 fieldDefValue = nvl(value.getId());
1014 if (fieldValue != null && fieldValue.equals(value.getId())) {
1015 fieldDefDisplay = nvl(value.getName());
1020 fieldDefDisplay = "";
1024 if (fieldDefDisplay == null || fieldDefDisplay.length()<=0) {
1025 fieldDefDisplay = nvl(fieldDefValue);
1028 }catch(Exception e) { //throw new RaptorRuntimeException(e);
1031 if(!hasPredefinedList) {
1032 if(oldSQL != null && !oldSQL.equals("")) {
1033 ((IdNameSql)lookup).setSQL(oldSQL);
1038 /* return "<input type=text class=\"text\" size=30 maxlength=50 id=\"" + fieldName +"\" name=\"" + fieldName + "\" value=\""
1039 + nvl(fieldDefValue) + "\">\n" + "<a href=\"javascript:showArgPopupNew('"
1040 + fieldName + "', 'document.formd." + fieldName
1041 + "')\"><img border=0 src=\"" + AppUtils.getImgFolderURL()
1042 + "shareicon.gif\" " + getHelpLink(fieldName);
1044 String progress = "<div id=\""+fieldName+"_content\" style=\"display:none;width:100%;height:100%;align:center;\"> <img src=\""+AppUtils.getImgFolderURL()+"progress.gif\" border=\"0\" alt=\"Loading, please wait...\" /></div> ";
1046 return progress+"<input type=\"text\" class=\"text\" name=\""+getFieldName()+"_display\" readonly=true value=\""+ fieldDefDisplay +"\""+ getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName) + " \n "
1047 +"<input type=\"hidden\" name=\""+getFieldName()+"\" value=\""+nvl(fieldDefValue)+"\"/> \n \n"
1048 + "<a href=\"javascript:showArgPopupNew('"
1049 + fieldName + "', 'document.formd." + fieldName
1050 + "')\"><img border=0 src=\"" + AppUtils.getImgFolderURL()
1051 + "shareicon.gif\" " + getHelpLink(fieldName);
1055 } else if (fieldType.equals(FFT_TEXT)) {
1056 IdNameValue value = null;
1057 String strValue = "";
1058 boolean avail_ReadOnly = false;
1060 IdNameList lookup = getLookupList();
1061 IdNameSql lu = null;
1062 String valueSQL = "";
1064 if(lookup instanceof IdNameSql) {
1065 lu = (IdNameSql) lookup;
1066 if(lu.getSql().length() > 0) {
1067 valueSQL = lu.getSql();
1068 avail_ReadOnly = (valueSQL.toLowerCase().indexOf(readOnlyInSql)!=-1);
1069 //System.out.println("OLD SQL TEXT" + valueSQL);
1070 //oldSQL = lu.getSql();
1071 if(formValues != null) {
1072 Set set = formValues.entrySet();
1074 for(Iterator iter = set.iterator(); iter.hasNext(); ) {
1075 Map.Entry entry = (Entry) iter.next();
1076 value1 = (String) entry.getValue();
1077 if (value1.length() <=0) {
1079 valueSQL = Utils.replaceInString(valueSQL, "'["+entry.getKey()+"]'", value1);
1080 valueSQL = Utils.replaceInString(valueSQL, "["+entry.getKey()+"]", value1);
1082 valueSQL = Utils.replaceInString(valueSQL, "["+entry.getKey()+"]", value1);
1085 // should be value one.
1086 //lookup = new IdNameSql(-1,valueSQL,lu.getDefaultSQL());
1089 //lookupList = lookup;
1090 //System.out.println("8888888 88 " + valueSQL);
1092 if(valueSQL!=null && valueSQL.length()>0) {
1093 DataSet ds = ConnectionUtils.getDataSet(valueSQL.toString(), dbInfo);
1094 strValue = ds.getString(0,1);
1095 if(avail_ReadOnly) readOnly = ds.getString(0, 2).toUpperCase().startsWith("Y")||ds.getString(0, 2).toUpperCase().startsWith("T");;
1097 }catch(Exception e) { //throw new RaptorRuntimeException(e);
1099 String returnString = "";
1100 String timestamp ="", timestamphr = "", timestampmin = "", timestampsec = "";
1102 returnString = "<input type=text class=\"text\" size="+(validationType.equals(VT_DATE)?"10":"30") +" maxlength=50 id=\"" + fieldName +"\" name=\""
1103 + fieldName + "\" id='"+ fieldName + "' "
1104 + (((validationType.equals(VT_DATE)||validationType.equals(VT_TIMESTAMP_HR) ||validationType.equals(VT_TIMESTAMP_MIN) ||validationType.equals(VT_TIMESTAMP_SEC))&& !inSchedule) ? "" : "")
1105 + getCallableJavascript(getFieldName(), rr) + " " + (readOnly?" readonly ":" ") + " value=\"";
1108 /*if(getFieldDefaultSQL()!=null)
1109 returnString += nvl(value.getId());
1111 returnString += fieldValue;
1113 if(fieldValue!=null && fieldValue.length()>0 && (!(fieldValue.toUpperCase().indexOf("SELECT ")!= -1 && fieldValue.toUpperCase().indexOf("FROM")!= -1)) ) {
1114 if(validationType.startsWith("TIMESTAMP")) {
1115 returnString += nvl((fieldValue!=null)?fieldValue.split(" ")[0]:"");
1116 if(fieldValue!=null && fieldValue.length()>0) {
1117 timestamp = (fieldValue.split(" ").length > 1)?fieldValue.split(" ")[1]:"";
1118 String timestampArr[] = timestamp.split(":");
1119 if((timestampArr.length == 1) || (timestampArr.length == 2) || (timestampArr.length == 3))
1120 timestamphr = timestampArr[0];
1121 if((timestampArr.length == 2) || (timestampArr.length == 3))
1122 timestampmin = timestampArr[1];
1123 if(timestampArr.length == 3)
1124 timestampsec = timestampArr[2];
1127 } else returnString += fieldValue;
1129 } else if(getFieldDefaultSQL()!=null) {
1131 if(validationType.startsWith("TIMESTAMP")) {
1132 returnString += nvl((strValue.length()>0)?strValue.split(" ")[0]:"");
1133 if(strValue.length()>0) {
1134 timestamp = (strValue.split(" ").length > 1)?strValue.split(" ")[1]:"";
1135 String timestampArr[] = timestamp.split(":");
1136 if((timestampArr.length == 1) || (timestampArr.length == 2) || (timestampArr.length == 3))
1137 timestamphr = timestampArr[0];
1138 if((timestampArr.length == 2) || (timestampArr.length == 3))
1139 timestampmin = timestampArr[1];
1140 if(timestampArr.length == 3)
1141 timestampsec = timestampArr[2];
1144 } else if (nvl(strValue).length()>0) {
1145 returnString += strValue;
1147 returnString += nvl((value!=null)?value.getId():"");
1148 } else if (nvl(strValue).length()>0) {
1149 returnString += strValue;
1151 returnString += nvl((value!=null)?value.getId():"");
1154 /*returnString += "\">"
1155 + (validationType.equals(VT_DATE) ? "\n\t\t\t<a href=\"#\" onClick=\"window.dateField=document."
1159 + ";calendar=window.open('"
1160 + AppUtils.getRaptorActionURL()
1161 + "popup.calendar','cal','WIDTH=200,HEIGHT=250');return false;\">"
1162 + "\n\t\t\t\t<img src=\""
1163 + AppUtils.getImgFolderURL()
1164 + "calender_icon.gif\" align=absmiddle border=0 width=20 height=20></a>"
1167 SimpleDateFormat dtf = new SimpleDateFormat("MM/dd/yyyy");
1168 String stRangeText = this.getRangeStartDate() == null ? null : dtf.format(this.getRangeStartDate().getTime());
1169 String endRangeText = this.getRangeEndDate() == null ? null : dtf.format(this.getRangeEndDate().getTime());
1170 /////////////////////////
1174 //System.out.println("////////////start range date before Start" + this.getRangeStartDateSQL());
1176 if (this.getRangeStartDateSQL() != null && this.getRangeStartDateSQL().trim().toLowerCase().startsWith("select")){
1177 //System.out.println("////////////start range date Starting");
1178 String SQL = this.getRangeStartDateSQL();
1179 if(formValues != null) {
1180 Set set = formValues.entrySet();
1182 for(Iterator iter = set.iterator(); iter.hasNext(); ) {
1183 Map.Entry entry = (Entry) iter.next();
1184 v = (String) entry.getValue();
1185 //System.out.println("///////// key is " + entry.getKey() + " = " + v);
1186 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", v);
1190 //System.out.println("////////////start range date sql created" + SQL);
1192 DataSet ds = ConnectionUtils.getDataSet(SQL.toString(), dbInfo);
1193 //System.out.println("////////////start range date is : " + ds.get(0));
1194 dtf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
1195 Calendar tStart = Calendar.getInstance();
1196 tStart.setTime(dtf.parse(ds.getString(0,0)));
1197 dtf = new SimpleDateFormat("MM/dd/yyyy");
1198 stRangeText = dtf.format(tStart.getTime().getTime()-MILLIS_IN_DAY);
1200 }catch(Exception e){
1201 System.out.println("Exception////////// : start range date is : " + e);
1205 if (this.getRangeEndDateSQL() != null && this.getRangeEndDateSQL().trim().toLowerCase().startsWith("select")){
1206 //System.out.println("////////////end range date Starting");
1207 String SQL = this.getRangeEndDateSQL();
1208 if(formValues != null) {
1209 Set set = formValues.entrySet();
1211 for(Iterator iter = set.iterator(); iter.hasNext(); ) {
1212 Map.Entry entry = (Entry) iter.next();
1213 v = (String) entry.getValue();
1214 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", v);
1219 DataSet ds = ConnectionUtils.getDataSet(SQL.toString(), dbInfo);
1220 //System.out.println("////////////end range date is : " + ds.get(0));
1221 dtf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
1222 Calendar tStart = Calendar.getInstance();
1223 tStart.setTime(dtf.parse(ds.getString(0,0)));
1224 dtf = new SimpleDateFormat("MM/dd/yyyy");
1225 //endRangeText = dtf.format(tStart.getTime());
1226 endRangeText = dtf.format(tStart.getTime().getTime()+MILLIS_IN_DAY);
1227 }catch(Exception e){
1228 System.out.println("Exception////////// : end range date is : " + e);
1233 //////////////////////
1234 String calendarOnClickMethodCall = "";
1235 String timeStampStr = "";
1236 if (stRangeText == null || endRangeText == null)
1237 calendarOnClickMethodCall = "'oCalendar.select(document." + HTML_FORM + "." + fieldName + ", event,\""+ Globals.getCalendarOutputDateFormat() +"\"); return false;'";
1239 calendarOnClickMethodCall = "'oCalendar=new CalendarPopup(\"calendarDiv\", \"calendarFrame\");oCalendar.setCssPrefix(\"raptor\");oCalendar.addDisabledDates(null, \"" + stRangeText + "\"); oCalendar.addDisabledDates(\"" + endRangeText + "\", null); oCalendar.select(document." + HTML_FORM + "." + fieldName + ", event,\""+ Globals.getCalendarOutputDateFormat() +"\"); return false;'";
1240 returnString += "\" " + getHelpLink(fieldName)
1241 + (validationType.equals(VT_DATE) || validationType.equals(VT_TIMESTAMP_HR) || validationType.equals(VT_TIMESTAMP_MIN) || validationType.equals(VT_TIMESTAMP_SEC)
1242 ? "\n\t\t\t<img src='" + AppUtils.getImgFolderURL()+ "calender_icon.gif' align=absmiddle border=0 width='20' height='20' onClick=" + calendarOnClickMethodCall + " style='cursor:hand'>"
1244 if(validationType.equals(VT_TIMESTAMP_HR) || validationType.equals(VT_TIMESTAMP_MIN) || validationType.equals(VT_TIMESTAMP_SEC) ) {
1245 //Add Hours/Minutes and Seconds.
1246 timeStampStr = " <font class=rtabletext>Hour </font><select id = \""+ fieldName+ "_Hr\" name=\""+ fieldName+ "_Hr\" "+ (readOnly?"disabled":"")+" >";
1250 hour = Integer.parseInt(nvl(rr.getParamValue(fieldName+"_Hr"),"0"));
1252 if(inSchedule) hour = Integer.parseInt(nvl(((String)formValues.get(fieldName+"_Hr")),"0"));
1254 // System.out.println("Hour =" + hour);
1255 } catch (NumberFormatException ex) { hour = 0; }
1257 t_hr = Integer.parseInt(timestamphr);
1258 // System.out.println("THR =" + t_hr);
1259 } catch (NumberFormatException ex) { t_hr = 0;}
1261 if(hour <= 0) hour = t_hr;
1262 // System.out.println("Form Values 887 " + formValues);
1263 /*if (formValues.containsKey(fieldDisplayName+"_Hr")){
1264 formValues.remove(fieldDisplayName+"_Hr");
1265 formValues.put(fieldDisplayName+"_Hr", hour);
1267 formValues.put(fieldDisplayName+"_Hr", hour);
1268 System.out.println("Form Values 887 " + formValues);
1271 //int t_min = Integer.parseInt(timestampmin);
1272 //int t_sec = Integer.parseInt(timestampsec);
1273 for (int i = 0; i < 24; i++) {
1274 if(i==0) timeStampStr += "<option value=\"" + i + "\""+ ((hour==i)?" selected":"") +">00</option>";
1275 else if(i<10) timeStampStr += "<option value=\"" + i + "\""+ ((hour==i)?" selected":"") +">" + "0"+i + "</option>";
1276 else timeStampStr += "<option value=\"" + i + "\""+ ((hour==i)?" selected":"") +">" + i + "</option>";
1279 timeStampStr += "</select>";
1282 if( validationType.equals(VT_TIMESTAMP_MIN) || validationType.equals(VT_TIMESTAMP_SEC) ) {
1286 minutes = Integer.parseInt(nvl(rr.getParamValue(fieldName+"_Min"),"0"));
1288 if(inSchedule) minutes = Integer.parseInt(nvl(((String)formValues.get(fieldName+"_Min")),"0"));
1290 } catch (NumberFormatException ex) {minutes = 0;}
1292 t_min = Integer.parseInt(timestampmin);
1293 } catch (NumberFormatException ex) { t_min = 0;}
1295 if(minutes <= 0) minutes = t_min;
1296 /*if (formValues.containsKey(fieldDisplayName+"_Min")){
1297 formValues.remove(fieldDisplayName+"_Min");
1298 formValues.put(fieldDisplayName+"_Min", minutes);
1300 formValues.put(fieldDisplayName+"_Min", minutes);
1302 timeStampStr += " <font class=rtabletext>Min </font><select id = \""+ fieldName+ "_Min\" name=\""+ fieldName+ "_Min\" "+ (readOnly?"disabled":"")+" >";
1303 for (int i = 0; i < 60; i++) {
1304 if(i==0) timeStampStr += "<option value=\"" + i + "\""+ ((minutes==i)?" selected":"") +">00</option>";
1305 else if(i<10) timeStampStr += "<option value=\"" + i + "\""+ ((minutes==i)?" selected":"") +">" + "0"+i + "</option>";
1306 else timeStampStr += "<option value=\"" + i + "\""+ ((minutes==i)?" selected":"") +">" + i + "</option>";
1308 timeStampStr += "</select>";
1311 if( validationType.equals(VT_TIMESTAMP_SEC) ) {
1315 seconds = Integer.parseInt(nvl(rr.getParamValue(fieldName+"_Sec"),"0"));
1317 if(inSchedule) seconds = Integer.parseInt(nvl(((String)formValues.get(fieldName+"_Sec")),"0"));
1319 } catch (NumberFormatException ex) {seconds = 0;}
1321 t_sec = Integer.parseInt(timestampsec);
1322 } catch (NumberFormatException ex) { t_sec = 0;}
1324 if(seconds <= 0) seconds = t_sec;
1325 /*if (formValues.containsKey(fieldDisplayName+"_Sec")){
1326 formValues.remove(fieldDisplayName+"_Sec");
1327 formValues.put(fieldDisplayName+"_Sec", seconds);
1329 formValues.put(fieldDisplayName+"_Sec", seconds);
1331 timeStampStr += " <font class=rtabletext>Sec </font><select id = \""+ fieldName+ "_Sec\" name=\""+ fieldName+ "_Sec\" "+ (readOnly?"disabled":"")+" >";
1332 for (int i = 0; i < 60; i++) {
1333 if(i==0) timeStampStr += "<option value=\"" + i + "\""+ ((seconds==i)?" selected":"") +">00</option>";
1334 else if(i<10) timeStampStr += "<option value=\"" + i + "\""+ ((seconds==i)?" selected":"") +">" + "0"+i + "</option>";
1335 else timeStampStr += "<option value=\"" + i + "\""+ ((seconds==i)?" selected":"") +">" + i + "</option>";
1337 timeStampStr += "</select>";
1340 returnString += timeStampStr;
1341 String checkboxStr = "";
1342 if(inSchedule && (validationType.equals(VT_DATE) || validationType.equals(VT_TIMESTAMP_HR) || validationType.equals(VT_TIMESTAMP_MIN) || validationType.equals(VT_TIMESTAMP_SEC)) ) {
1343 if(!Globals.isScheduleDateParamAutoIncr()) {
1344 checkboxStr = /*checkboxStr +" "+ */ "<input type=\"checkbox\" name=\""+getFieldName()+"_auto\" value=\"_auto\" checked/>";
1346 checkboxStr = /*checkboxStr +" "+ */"<input type=\"hidden\" name=\""+getFieldName()+"_auto\" value=\"_auto\"/>";
1348 /*if(validationType.equals(VT_TIMESTAMP_HR) || validationType.equals(VT_TIMESTAMP_MIN) || validationType.equals(VT_TIMESTAMP_SEC)) {
1349 checkboxStr = checkboxStr +" "+ "<input type=\"hidden\" name=\""+getFieldName()+"_Hr_auto\" value=\"_auto\"/>";
1351 if(validationType.equals(VT_TIMESTAMP_MIN) || validationType.equals(VT_TIMESTAMP_SEC)) {
1352 checkboxStr = checkboxStr +" "+ "<input type=\"hidden\" name=\""+getFieldName()+"_Min_auto\" value=\"_auto\"/>";
1354 if(validationType.equals(VT_TIMESTAMP_SEC)) {
1355 checkboxStr = checkboxStr +" "+ "<input type=\"hidden\" name=\""+getFieldName()+"_Sec_auto\" value=\"_auto\"/>";
1359 return returnString+checkboxStr;
1361 } else if (fieldType.equals(FFT_TEXTAREA)) {
1363 if(nvl(fieldValue).length()>0) {
1364 fieldValue = Pattern.compile("(^[\r\n])|\\([\\']", Pattern.DOTALL).matcher(fieldValue).replaceAll("");
1365 fieldValue = Pattern.compile("[\\']\\)", Pattern.DOTALL).matcher(fieldValue).replaceAll("");
1366 fieldValue = fieldValue.replaceAll("','",","); // changed from "|"
1367 fieldValue = fieldValue.replaceAll("' , '","\r\n");
1371 return "<textarea rows=4 cols=30 id=\"" + fieldName +"\" name=\"" + fieldName + "\""+ getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName) + nvl(fieldValue)
1375 } else if (fieldType.equals(FFT_COMBO_BOX)) {
1376 StringBuffer sb = new StringBuffer();
1377 //System.out.println("COMBO BOX " + fieldName);
1380 IdNameList lookup = getLookupList();
1382 if(!hasPredefinedList) {
1383 //if(dependsOn != null && dependsOn != "") {
1384 //if(dependsOn != null && dependsOn != "" ) {
1385 IdNameSql lu = (IdNameSql) lookup;
1386 String SQL = lu.getSql();
1387 //System.out.println("FORMFIELD 6666667 First" + ((IdNameSql)lookup).getSql());
1388 oldSQL = lu.getSql();
1389 if(formValues != null) {
1390 Set set = formValues.entrySet();
1392 for(Iterator iter = set.iterator(); iter.hasNext(); ) {
1393 Map.Entry entry = (Entry) iter.next();
1394 value = (String) entry.getValue();
1395 if (value!=null && (value.length() <=0 || value.equals("NULL"))) {
1397 SQL = Utils.replaceInString(SQL, "'["+entry.getKey()+"]'", value);
1398 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
1400 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
1403 lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
1406 lookupList = lookup;
1411 lookup.loadUserData(0, "", getDbInfo(), getUserId());
1412 } catch (Exception e ){ e.printStackTrace(); //throw new RaptorRuntimeException(e);
1415 lookup.trimToSize();
1417 for (lookup.resetNext(); lookup.hasNext();) {
1418 IdNameValue value = lookup.getNext();
1419 readOnly = value.isReadOnly();
1423 String selectedValue = "";
1425 sb.append("<div id=\""+fieldName+"_content\" style=\"display:none;width:100%;height:100%;align:center;\"> <img src=\""+AppUtils.getImgFolderURL()+"progress.gif\" border=\"0\" alt=\"Loading, please wait...\" /></div>");
1426 sb.append("<select id=\"" + fieldName +"\" name=\"");
1427 sb.append(fieldName);
1428 sb.append("\" "+ (readOnly?"disabled":"")+" size=1 " + getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName));
1430 sb.append("<option value=\"\">-->select value<--");
1432 for (lookup.resetNext(); lookup.hasNext();) {
1433 IdNameValue value = lookup.getNext();
1434 if(value != null && value.getId() != null && value.getName() != null ) {
1435 /*if (count == 0 && required) {
1436 selectedValue = value.getId();
1438 } else if (nvl(fieldValue).length()>0){
1439 if (fieldValue != null && fieldValue.equals(value.getId())){
1440 selectedValue = value.getId();
1448 selectedValue = value.getId();
1452 sb.append("<option value=\"");
1453 sb.append(value.getId());
1455 if (nvl(fieldValue).length()>0) {
1456 if (fieldValue.equals(value.getId())) { // || (value.isDefaultValue()))
1457 sb.append("\" selected>");
1458 selectedValue = value.getId();
1463 if(value!=null && value.isDefaultValue()) {
1464 sb.append("\" selected>");
1465 selectedValue = value.getId();
1471 sb.append(value.getName());
1472 sb.append("</option>\n");
1475 if (formValues.containsKey(fieldDisplayName)){
1476 formValues.remove(fieldDisplayName);
1478 formValues.put(fieldDisplayName, selectedValue);
1479 } catch (Exception e) {
1480 //throw new RaptorRuntimeException(e);
1482 if(!hasPredefinedList) {
1483 if(oldSQL != null && !oldSQL.equals("")) {
1484 ((IdNameSql)lookup).setSQL(oldSQL);
1487 //System.out.println("FORMFIELD 6666667 " + ((IdNameSql)lookup).getSql());
1488 if(sb.length()<=0) {
1489 sb.append("<div id=\""+fieldName+"_content\" style=\"display:none;width:100%;height:100%;align:center;\"> <img src=\""+AppUtils.getImgFolderURL()+"progress.gif\" border=\"0\" alt=\"Loading, please wait...\" /></div>");
1490 sb.append("<select id=\"" + fieldName +"\" name=\"");
1491 sb.append(fieldName);
1492 sb.append("\" "+ (readOnly?"disabled":"")+" size=1 " + getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName));
1495 sb.append("</select>");
1497 return sb.toString();
1499 } else if (fieldType.equals(FFT_LIST_BOX)) {
1500 StringBuffer sb = new StringBuffer();
1502 IdNameList lookup = null;
1504 lookup = getLookupList();
1505 String selectedValue = "";
1507 if(!hasPredefinedList) {
1508 //if(dependsOn != null && dependsOn != "") {
1509 //if(dependsOn != null && dependsOn != "" ) {
1510 IdNameSql lu = (IdNameSql) lookup;
1511 String SQL = lu.getSql();
1512 oldSQL = lu.getSql();
1513 if(formValues != null) {
1514 Set set = formValues.entrySet();
1516 for(Iterator iter = set.iterator(); iter.hasNext(); ) {
1517 Map.Entry entry = (Entry) iter.next();
1518 value = (String) entry.getValue();
1519 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
1521 lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
1524 lookupList = lookup;
1527 lookup.loadUserData(0, "", getDbInfo(), getUserId());
1528 } catch (Exception e ){ e.printStackTrace(); //throw new RaptorRuntimeException(e);
1531 lookup.trimToSize();
1533 for (lookup.resetNext(); lookup.hasNext();) {
1534 IdNameValue value = lookup.getNext();
1535 readOnly = value.isReadOnly();
1540 sb.append("<select id=\"" + fieldName +"\" name=\"");
1541 sb.append(fieldName);
1542 sb.append("\" "+ (readOnly?"disabled":"")+" size=4 " + getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName));
1544 sb.append("<option value=\"\">-->select value<--");
1546 for (lookup.resetNext(); lookup.hasNext(); iCnt++) {
1547 IdNameValue value = lookup.getNext();
1548 sb.append("<option value=\"");
1549 sb.append((value!=null)?value.getId():"");
1550 if (nvl(fieldValue).length()>0) {
1551 if (fieldValue.equals((value!=null)?value.getId():"") || (fieldValue.equals("") && required && iCnt == 0)) {
1552 sb.append("\" selected>");
1553 selectedValue = value.getId();
1558 if(value!=null && value.isDefaultValue()) {
1559 sb.append("\" selected>");
1560 selectedValue = value.getId();
1565 if (formValues.containsKey(fieldDisplayName)){
1566 formValues.remove(fieldDisplayName);
1568 formValues.put(fieldDisplayName, selectedValue);
1570 sb.append((value!=null)?value.getName():"");
1571 sb.append("</option>\n");
1574 // lookup.clearData();
1575 } catch (Exception e) {
1576 //throw new RaptorRuntimeException(e);
1579 if(sb.length()<=0) {
1580 sb.append("<select id=\"" + fieldName +"\" name=\"");
1581 sb.append(fieldName);
1582 sb.append("\" "+ (readOnly?"disabled":"")+" size=4 " + getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName));
1585 sb.append("</select>");
1587 if(!hasPredefinedList) {
1588 if(oldSQL != null && !oldSQL.equals("")) {
1589 ((IdNameSql)lookup).setSQL(oldSQL);
1594 return sb.toString();
1597 } else if (fieldType.equals(FFT_HIDDEN)) {
1598 StringBuffer sb = new StringBuffer();
1600 String progress = "<div id=\""+fieldName+"_content\" style=\"display:none;width:100%;height:100%;align:center;\"> <img src=\""+AppUtils.getImgFolderURL()+"progress.gif\" border=\"0\" alt=\"Loading, please wait...\" /></div> ";
1601 sb.append(progress);
1602 sb.append("<input id=\"" + fieldName +"\" name=\"");
1603 sb.append(fieldName);
1604 sb.append("\" type=\"hidden\"");
1605 IdNameList lookup = null;
1608 lookup = getLookupList();
1609 if(lookup != null) {
1610 //if(dependsOn != null && dependsOn != "") {
1611 //if(dependsOn != null && dependsOn != "" ) {
1612 IdNameSql lu = (IdNameSql) lookup;
1613 String SQL = lu.getSql();
1614 //System.out.println("SQL HIDDEN 1 " + SQL);
1615 oldSQL = lu.getSql();
1616 if(formValues != null) {
1617 Set set = formValues.entrySet();
1619 for(Iterator iter = set.iterator(); iter.hasNext(); ) {
1620 Map.Entry entry = (Entry) iter.next();
1621 value = (String) entry.getValue();
1622 //System.out.println("HIDDEN " + "["+entry.getKey()+"]" + "-" + value);
1623 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
1626 lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
1628 //System.out.println("SQL HIDDEN 2 " + SQL);
1630 lookupList = lookup;
1632 if(nvl(fieldValue).length()>0 && (dependsOn == null || dependsOn.length()<=0)) {
1633 sb.append(" value=\"");
1634 sb.append((fieldValue!=null)?fieldValue:"");
1636 } else if (lookup != null) {
1637 lookup.loadUserData(0, "", getDbInfo(), getUserId());
1639 for (lookup.resetNext(); lookup.hasNext(); iCnt++) {
1640 IdNameValue value = lookup.getNext();
1641 //System.out.println("HIDDEN " + value.getId() + " " + value.getName());
1642 sb.append(" value=\"");
1643 sb.append((value!=null)?value.getId():"");
1647 if(lookup.size()<=0) {
1648 sb.append(" value=\"");
1653 sb.append(" value=\"");
1654 sb.append((fieldValue!=null)?fieldValue:"");
1658 sb.append(" value=\"");
1659 sb.append((fieldValue!=null)?fieldValue:"");
1662 if(oldSQL != null && !oldSQL.equals("")) {
1663 ((IdNameSql)lookup).setSQL(oldSQL);
1665 // lookup.clearData();
1666 } catch (Exception e) {
1667 sb.append(" value=\"\"/>");
1668 //throw new RaptorRuntimeException(e);
1671 if(!hasPredefinedList) {
1672 if(oldSQL != null && !oldSQL.equals("")) {
1673 ((IdNameSql)lookup).setSQL(oldSQL);
1677 return sb.toString() ;
1678 } else if (fieldType.equals(FFT_RADIO_BTN)) {
1679 StringBuffer sb = new StringBuffer();
1681 sb.append("<input id=\"" + fieldName +"\" type=radio name=\"");
1682 sb.append(fieldName);
1683 sb.append("\" value=\"\"");
1684 if (fieldValue.length() == 0)
1685 sb.append(" checked");
1686 //sb.append( getCallableJavascript(getFieldName(), rr) );
1687 sb.append(getHelpLink(fieldName)+ " Any<br>\n");
1691 IdNameList lookup = getLookupList();
1692 lookup.loadUserData(0, "", getDbInfo(),getUserId());
1693 String selectedValue = "";
1696 for (lookup.resetNext(); lookup.hasNext(); iCnt++) {
1697 IdNameValue value = lookup.getNext();
1698 sb.append("<input id=\"" + fieldName +"\" type=radio name=\"");
1699 sb.append(fieldName);
1700 sb.append("\" value=\"");
1701 sb.append((value!=null)?value.getId():"");
1702 if (nvl(fieldValue).length()>0) {
1703 if (fieldValue.equals((value!=null)?value.getId():"") || (fieldValue.equals("") && required && iCnt == 0)) {
1704 sb.append("\" checked>");
1705 selectedValue = value.getId();
1710 if(value!=null && value.isDefaultValue()) {
1711 sb.append("\" checked>");
1712 selectedValue = value.getId();
1717 sb.append((value!=null)?value.getName():"");
1718 sb.append("<br>\n");
1720 if (formValues.containsKey(fieldDisplayName)){
1721 formValues.remove(fieldDisplayName);
1723 formValues.put(fieldDisplayName, selectedValue);
1725 // lookup.clearData();
1726 } catch (Exception e) {
1727 throw new RaptorRuntimeException(e);
1730 return sb.toString() ;
1733 } else if (fieldType.equals(FFT_CHECK_BOX)) {
1734 StringBuffer sb = new StringBuffer();
1736 fieldValue = '|' + fieldValue + '|';
1739 String selectedValue = "";
1740 IdNameList lookup = getLookupList();
1741 if(lookup != null) {
1742 lookup.loadUserData(0, "", getDbInfo(), getUserId());
1744 for (lookup.resetNext(); lookup.hasNext();) {
1746 IdNameValue value = lookup.getNext();
1747 sb.append("<input id=\"" + fieldName +"\" type=checkbox name=\"");
1748 sb.append(fieldName);
1749 sb.append("\" value=\"");
1750 sb.append((value!=null)?value.getId():"");
1752 if (!fieldValue.equals("||")) {
1753 if (fieldValue.indexOf('|' + ((value!=null)?value.getId():"") + '|') >= 0) { // || (value.isDefaultValue()))
1754 sb.append("\" checked " + getHelpLink(fieldName));
1755 selectedValue = value.getId();
1758 sb.append("\"" + getHelpLink(fieldName));
1760 if(value!=null && value.isDefaultValue()) {
1761 sb.append("\" checked " + getHelpLink(fieldName));
1762 selectedValue = value.getId();
1764 sb.append("\"" + getHelpLink(fieldName));
1768 if(!(/*(value.getName().equals("Y")||value.getName().equals("N")) && */(!lookup.hasNext()) && count == 1))
1769 sb.append((value!=null)?value.getName():"");
1770 sb.append("<br>\n");
1773 if (formValues.containsKey(fieldDisplayName)){
1774 formValues.remove(fieldDisplayName);
1776 formValues.put(fieldDisplayName, selectedValue);
1779 // lookup.clearData();
1780 } catch (Exception e) {
1781 throw new RaptorRuntimeException(e);
1784 return sb.toString();
1787 } else if (fieldType.equals(FFT_LIST_MULTI)) {
1788 StringBuffer sb = new StringBuffer();
1791 fieldValue = '|' + fieldValue + '|';
1792 IdNameList lookup = getLookupList();
1794 if(!hasPredefinedList) {
1795 //if(dependsOn != null && dependsOn != "") {
1796 //if(dependsOn != null && dependsOn != "" ) {
1797 IdNameSql lu = (IdNameSql) lookup;
1798 String SQL = lu.getSql();
1799 oldSQL = lu.getSql();
1800 if(formValues != null) {
1801 Set set = formValues.entrySet();
1803 for(Iterator iter = set.iterator(); iter.hasNext(); ) {
1804 Map.Entry entry = (Entry) iter.next();
1805 value = (String) entry.getValue();
1806 SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
1808 lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
1811 lookupList = lookup;
1814 lookup.loadUserData(0, "", getDbInfo(),getUserId());
1816 for (lookup.resetNext(); lookup.hasNext();) {
1817 IdNameValue value = lookup.getNext();
1818 readOnly = value.isReadOnly();
1822 sb.append("<div id=\""+fieldName+"_content\" style=\"display:none;width:100%;height:100%;align:center;\"> <img src=\""+AppUtils.getImgFolderURL()+"progress.gif\" border=\"0\" alt=\"Loading, please wait...\" /></div>");
1823 sb.append("<select id=\"" + fieldName +"\" name=\"");
1824 sb.append(fieldName);
1825 sb.append("\" "+ (readOnly?"disabled":"")+" size=\""+ multiSelectListSize +"\" multiple " + getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName));
1827 for (lookup.resetNext(); lookup.hasNext();) {
1828 IdNameValue value = lookup.getNext();
1829 sb.append("<option value=\"");
1830 sb.append((value!=null)?value.getId():"");
1831 if (!fieldValue.equals("||")) {
1832 if (fieldValue.indexOf('|' + ((value!=null)?value.getId():"") + '|') >= 0) // || (value.isDefaultValue()))
1833 sb.append("\" selected>");
1837 if(value!=null && value.isDefaultValue()) {
1838 sb.append("\" selected>");
1843 sb.append((value!=null)?value.getName():"");
1844 sb.append("</option>\n");
1847 // lookup.clearData();
1848 } catch (Exception e) {
1849 //throw new RaptorRuntimeException(e);
1851 if(!hasPredefinedList) {
1852 if(oldSQL != null && !oldSQL.equals("")) {
1853 ((IdNameSql)lookup).setSQL(oldSQL);
1856 if(sb.length()<=0) {
1857 sb.append("<div id=\""+fieldName+"_content\" style=\"display:none;width:100%;height:100%;align:center;\"> <img src=\""+AppUtils.getImgFolderURL()+"progress.gif\" border=\"0\" alt=\"Loading, please wait...\" /></div>");
1858 sb.append("<select id=\"" + fieldName +"\" name=\"");
1859 sb.append(fieldName);
1860 sb.append("\" "+ (readOnly?"disabled":"")+" size=\""+ multiSelectListSize +"\" multiple " + getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName));
1862 sb.append("</select>");
1864 return sb.toString();
1867 } else if (fieldType.equals(FFT_BLANK)) {
1868 StringBuffer sb = new StringBuffer();
1869 sb.append(" ");
1870 return sb.toString();
1872 throw new org.openecomp.portalsdk.analytics.error.RaptorRuntimeException("FormField.getHtml: Unsupported form field type");
1875 public String getValidateJavaScript() {
1876 StringBuffer javaScript = new StringBuffer();
1878 if (fieldType.equals(FFT_TEXT_W_POPUP) || fieldType.equals(FFT_TEXT)
1879 || fieldType.equals(FFT_TEXTAREA)) {
1881 javaScript.append("\n\tif(document.");
1882 javaScript.append(HTML_FORM);
1883 javaScript.append(".");
1884 javaScript.append(fieldName);
1885 javaScript.append(".value==\"\") {\n\t\talert(\"Please enter value for ");
1886 javaScript.append(fieldDisplayName);
1887 javaScript.append("\");\n\t\tdocument.");
1888 javaScript.append(HTML_FORM);
1889 javaScript.append(".");
1890 javaScript.append(fieldName);
1891 javaScript.append(".focus();\n\t\tdocument.");
1892 javaScript.append(HTML_FORM);
1893 javaScript.append(".");
1894 javaScript.append(fieldName);
1895 javaScript.append(".select();\n\t\treturn false;\n\t}\n");
1898 if (!validationType.equals(VT_NONE)) {
1899 javaScript.append("\n\tif(! ");
1900 if (validationType.equals(VT_DATE)||validationType.equals(VT_TIMESTAMP_HR)||validationType.equals(VT_TIMESTAMP_MIN)||validationType.equals(VT_TIMESTAMP_SEC))
1901 javaScript.append("checkDate(");
1902 else if (validationType.equals(VT_INT))
1903 javaScript.append("checkInteger(");
1904 else if (validationType.equals(VT_INT_POSITIVE))
1905 javaScript.append("checkPositiveInteger(");
1906 else if (validationType.equals(VT_INT_NON_NEGATIVE))
1907 javaScript.append("checkNonNegativeInteger(");
1908 else if (validationType.equals(VT_FLOAT))
1909 javaScript.append("checkFloat(");
1910 else if (validationType.equals(VT_FLOAT_POSITIVE))
1911 javaScript.append("checkPositiveFloat(");
1912 else if (validationType.equals(VT_FLOAT_NON_NEGATIVE))
1913 javaScript.append("checkNonNegativeFloat(");
1914 javaScript.append("document.");
1915 javaScript.append(HTML_FORM);
1916 javaScript.append(".");
1917 javaScript.append(fieldName);
1918 javaScript.append(".value");
1919 if (validationType.equals(VT_DATE)||validationType.equals(VT_TIMESTAMP_HR)||validationType.equals(VT_TIMESTAMP_MIN)||validationType.equals(VT_TIMESTAMP_SEC))
1920 javaScript.append(", true");
1921 javaScript.append(")) {\n\t\talert(\"");
1922 javaScript.append(fieldDisplayName);
1923 javaScript.append(" is not a valid ");
1924 if (validationType.equals(VT_DATE)||validationType.equals(VT_TIMESTAMP_HR)||validationType.equals(VT_TIMESTAMP_MIN)||validationType.equals(VT_TIMESTAMP_SEC))
1925 javaScript.append("date formatted "+ Globals.getCalendarOutputDateFormat());
1926 else if (validationType.equals(VT_INT))
1927 javaScript.append("integer");
1928 else if (validationType.equals(VT_INT_POSITIVE))
1929 javaScript.append("integer greater than zero");
1930 else if (validationType.equals(VT_INT_NON_NEGATIVE))
1931 javaScript.append("integer greater than or equal to zero");
1932 else if (validationType.equals(VT_FLOAT))
1933 javaScript.append("number");
1934 else if (validationType.equals(VT_FLOAT_POSITIVE))
1935 javaScript.append("number greater than zero");
1936 else if (validationType.equals(VT_FLOAT_NON_NEGATIVE))
1937 javaScript.append("number greater than or equal to zero");
1938 javaScript.append(".\\nPlease enter a valid value.\");\n\t\tdocument.");
1939 javaScript.append(HTML_FORM);
1940 javaScript.append(".");
1941 javaScript.append(fieldName);
1942 javaScript.append(".focus();\n\t\tdocument.");
1943 javaScript.append(HTML_FORM);
1944 javaScript.append(".");
1945 javaScript.append(fieldName);
1946 javaScript.append(".select();\n\t\treturn false;\n\t}\n");
1949 else if (fieldType.equals(FFT_CHECK_BOX)) {
1951 javaScript.append("\n\tvar isChecked = false;");
1952 javaScript.append("\n\tfor (var i=0; i < document.");
1953 javaScript.append(HTML_FORM);
1954 javaScript.append(".");
1955 javaScript.append(fieldName);
1956 javaScript.append(".length; i++) { ");
1957 javaScript.append("\n\t\tif(document.");
1958 javaScript.append(HTML_FORM);
1959 javaScript.append(".");
1960 javaScript.append(fieldName);
1961 javaScript.append("[i].checked) {");
1962 javaScript.append("\n\t\t\tisChecked = true;");
1963 javaScript.append("\n\t\t\tbreak;");
1964 javaScript.append("\n\t\t}");
1965 javaScript.append("\n\t}");
1966 javaScript.append("\n\tif(!isChecked) {");
1967 javaScript.append("\n\t\talert(\"Please select at least one ");
1968 javaScript.append(fieldDisplayName);
1969 javaScript.append("\");\n\t\treturn false;");
1970 javaScript.append("\n\t}");
1972 } // else if FFT_CHECK_BOX
1973 else if (fieldType.equals(FFT_LIST_MULTI)) {
1975 javaScript.append("\n\tif(document.");
1976 javaScript.append(HTML_FORM);
1977 javaScript.append(".");
1978 javaScript.append(fieldName);
1979 javaScript.append(".selectedIndex == -1) {");
1980 javaScript.append("\n\t\talert(\"Please select at least one ");
1981 javaScript.append(fieldDisplayName);
1982 javaScript.append("\");\n\t\treturn false;");
1983 javaScript.append("\n\t}");
1987 return javaScript.toString();
1988 } // getValidateJavaScript
1990 public void setDbInfo(String dbInfo) {
1991 this.dbInfo = dbInfo;
1994 public String getDbInfo() {
1998 public void setUserId(String userId) {
1999 this.userId = userId;
2002 public String getUserId() {
2007 public String getFieldDefaultSQL() {
2009 return fieldDefaultSQL;
2013 public void setFieldDefaultSQL(String fieldDefaultSQL) {
2015 this.fieldDefaultSQL = fieldDefaultSQL;
2019 public boolean isVisible() {
2025 public void setVisible(boolean visible) {
2027 this.visible = visible;
2030 public String getDependsOn() {
2034 public void setDependsOn(String dependsOn) {
2035 this.dependsOn = dependsOn;
2038 public Calendar getRangeEndDate() {
2039 if(rangeEndDate != null)
2040 rangeEndDate.add(Calendar.DATE, 1);
2041 return rangeEndDate;
2044 public void setRangeEndDate(Calendar rangeEndDate) {
2045 this.rangeEndDate = rangeEndDate;
2048 public Calendar getRangeStartDate() {
2049 if(rangeStartDate != null)
2050 rangeStartDate.add(Calendar.DATE, -1);
2051 return rangeStartDate;
2054 public void setRangeStartDate(Calendar rangeStartDate) {
2055 this.rangeStartDate = rangeStartDate;
2058 public String getRangeEndDateSQL() {
2059 return rangeEndDateSQL;
2062 public void setRangeEndDateSQL(String rangeEndDateSQL) {
2063 this.rangeEndDateSQL = rangeEndDateSQL;
2066 public void setMultiSelectListSize(String multiSelectListSize) {
2067 this.multiSelectListSize = multiSelectListSize;
2070 public String getRangeStartDateSQL() {
2071 return rangeStartDateSQL;
2074 public void setRangeStartDateSQL(String rangeStartDateSQL) {
2075 this.rangeStartDateSQL = rangeStartDateSQL;
2078 public boolean isHasPredefinedList() {
2079 return hasPredefinedList;
2082 public void setHasPredefinedList(boolean hasPredefinedList) {
2083 this.hasPredefinedList = hasPredefinedList;
2086 public boolean isTriggerOtherFormFields() {
2087 return triggerOtherFormFields;
2090 public void setTriggerOtherFormFields(boolean triggerOtherFormFields) {
2091 this.triggerOtherFormFields = triggerOtherFormFields;
2094 public boolean isTriggerThisFormfield() {
2095 return triggerThisFormfield;
2098 public void setTriggerThisFormfield(boolean triggerThisFormfield) {
2099 this.triggerThisFormfield = triggerThisFormfield;