Program: 56947
Project: 56947
Buggy source:
/** 
 * Encode the javascript code
 * @throws IOException
 */
private void encodeJS(FacesContext fc,ResponseWriter rw,DateTimePicker dtp,String divPrefix) throws IOException {
  String clientId=dtp.getClientId();
  String mode=dtp.getMode();
  Object v=dtp.getSubmittedValue();
  if (v == null) {
    v=dtp.getValue();
  }
  if (dtp.isShowButtonPanel()) {
    dtp.setShowClearButton(true);
    dtp.setShowCloseButton(true);
    dtp.setShowTodayButton(true);
  }
  Locale sloc=BsfUtils.selectLocale(fc.getViewRoot().getLocale(),dtp.getLocale(),dtp);
  String format=BsfUtils.selectDateTimeFormat(sloc,dtp.getFormat(),dtp.isShowDate(),dtp.isShowTime());
  String displayFormat="String_Node_Str" + (dtp.getFormat() == null ? LocaleUtils.javaToMomentFormat(format) : format) + "String_Node_Str";
  String inlineDisplayDate="String_Node_Str" + (dtp.getFormat() == null ? getDateAsString(fc,dtp,v,format,sloc) : getDateAsString(fc,dtp,v,LocaleUtils.momentToJavaFormat(format),sloc)) + "String_Node_Str";
  boolean openOnClick=!"String_Node_Str".equals(mode) && !"String_Node_Str".equals(mode);
  String fullSelector="String_Node_Str" + BsfUtils.escapeJQuerySpecialCharsInSelector(divPrefix + clientId);
  String defaultDate=BsfUtils.isStringValued(dtp.getInitialDate()) ? dtp.getInitialDate().contains("String_Node_Str") ? dtp.getInitialDate() : "String_Node_Str" + dtp.getInitialDate() + "String_Node_Str" : "String_Node_Str";
  String minDate=BsfUtils.isStringValued(dtp.getMinDate()) ? dtp.getMinDate().contains("String_Node_Str") ? dtp.getMinDate() : "String_Node_Str" + dtp.getMinDate() + "String_Node_Str" : "String_Node_Str";
  String maxDate=BsfUtils.isStringValued(dtp.getMaxDate()) ? dtp.getMinDate().contains("String_Node_Str") ? dtp.getMaxDate() : "String_Node_Str" + dtp.getMaxDate() + "String_Node_Str" : "String_Node_Str";
  rw.startElement("String_Node_Str",dtp);
  rw.writeText("String_Node_Str" + "String_Node_Str" + fullSelector + "String_Node_Str"+ "String_Node_Str"+ (dtp.isAllowInputToggle() || openOnClick ? "String_Node_Str" : "String_Node_Str")+ (dtp.isCollapse() ? "String_Node_Str" + dtp.isCollapse() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getDayViewHeaderFormat()) ? "String_Node_Str" + dtp.getDayViewHeaderFormat() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getDisabledDates()) ? "String_Node_Str" + dtp.getDisabledDates() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getDisableTimeInterval()) ? "String_Node_Str" + dtp.getDisableTimeInterval() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getEnabledDates()) ? "String_Node_Str" + dtp.getDisableTimeInterval() + "String_Node_Str" : "String_Node_Str")+ (dtp.isFocusOnShow() ? "String_Node_Str" + dtp.isFocusOnShow() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getInitialDate()) ? "String_Node_Str" + defaultDate + "String_Node_Str" : "String_Node_Str")+ (dtp.isKeepInvalid() ? "String_Node_Str" + dtp.isKeepInvalid() + "String_Node_Str" : "String_Node_Str")+ (dtp.isKeepOpen() ? "String_Node_Str" + dtp.isKeepOpen() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(minDate) ? "String_Node_Str" + minDate + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(maxDate) ? "String_Node_Str" + maxDate + "String_Node_Str" : "String_Node_Str")+ (dtp.isShowWeek() ? "String_Node_Str" + dtp.isShowWeek() + "String_Node_Str" : "String_Node_Str")+ (dtp.isShowClearButton() ? "String_Node_Str" + dtp.isShowClearButton() + "String_Node_Str" : "String_Node_Str")+ (dtp.isShowCloseButton() ? "String_Node_Str" + dtp.isShowCloseButton() + "String_Node_Str" : "String_Node_Str")+ (dtp.isShowTodayButton() ? "String_Node_Str" + dtp.isShowTodayButton() + "String_Node_Str" : "String_Node_Str")+ (dtp.isSideBySide() || "String_Node_Str".equals(mode) ? "String_Node_Str" : "String_Node_Str")+ (dtp.getTimeStepping() > 0 ? "String_Node_Str" + dtp.getTimeStepping() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getToolbarPlacement()) ? "String_Node_Str" + dtp.getToolbarPlacement() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getViewMode()) ? "String_Node_Str" + dtp.getViewMode() + "String_Node_Str" : "String_Node_Str")+ (dtp.isUseCurrent() ? "String_Node_Str" + dtp.isUseCurrent() + "String_Node_Str" : "String_Node_Str")+ (dtp.isUseStrict() ? "String_Node_Str" + dtp.isUseStrict() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getWidgetParent()) ? "String_Node_Str" + BsfUtils.resolveSearchExpressions(dtp.getWidgetParent()) + "String_Node_Str" : "String_Node_Str")+ ("String_Node_Str".equals(mode) ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ inlineDisplayDate+ "String_Node_Str"+ displayFormat+ "String_Node_Str"+ "String_Node_Str"+ sloc.getLanguage()+ "String_Node_Str"+ "String_Node_Str"+ displayFormat+ "String_Node_Str"+ "String_Node_Str",null);
  if ("String_Node_Str".equals(mode)) {
    rw.writeText("String_Node_Str" + fullSelector + "String_Node_Str"+ "String_Node_Str"+ BsfUtils.escapeJQuerySpecialCharsInSelector(clientId + "String_Node_Str")+ "String_Node_Str"+ displayFormat+ "String_Node_Str"+ "String_Node_Str",null);
  }
  if (dtp.isDisabled() && !"String_Node_Str".equals(mode)) {
    rw.writeText("String_Node_Str" + fullSelector + "String_Node_Str",null);
  }
  rw.endElement("String_Node_Str");
  new AJAXRenderer().generateBootsFacesAJAXAndJavaScriptForJQuery(fc,dtp,rw,fullSelector,null);
}

Fixed version (ground truth):
/** 
 * Encode the javascript code
 * @throws IOException
 */
private void encodeJS(FacesContext fc,ResponseWriter rw,DateTimePicker dtp,String divPrefix) throws IOException {
  String clientId=dtp.getClientId();
  String fieldId=dtp.getFieldId();
  if (null == fieldId) {
    fieldId=clientId + "String_Node_Str";
  }
 else   if (fieldId.equals(dtp.getId())) {
    throw new FacesException("String_Node_Str");
  }
  String mode=dtp.getMode();
  Object v=dtp.getSubmittedValue();
  if (v == null) {
    v=dtp.getValue();
  }
  if (dtp.isShowButtonPanel()) {
    dtp.setShowClearButton(true);
    dtp.setShowCloseButton(true);
    dtp.setShowTodayButton(true);
  }
  Locale sloc=BsfUtils.selectLocale(fc.getViewRoot().getLocale(),dtp.getLocale(),dtp);
  String format=BsfUtils.selectDateTimeFormat(sloc,dtp.getFormat(),dtp.isShowDate(),dtp.isShowTime());
  String displayFormat="String_Node_Str" + (dtp.getFormat() == null ? LocaleUtils.javaToMomentFormat(format) : format) + "String_Node_Str";
  String inlineDisplayDate="String_Node_Str" + (dtp.getFormat() == null ? getDateAsString(fc,dtp,v,format,sloc) : getDateAsString(fc,dtp,v,LocaleUtils.momentToJavaFormat(format),sloc)) + "String_Node_Str";
  boolean openOnClick=!"String_Node_Str".equals(mode) && !"String_Node_Str".equals(mode);
  String fullSelector="String_Node_Str" + BsfUtils.escapeJQuerySpecialCharsInSelector(fieldId);
  String defaultDate=BsfUtils.isStringValued(dtp.getInitialDate()) ? dtp.getInitialDate().contains("String_Node_Str") ? dtp.getInitialDate() : "String_Node_Str" + dtp.getInitialDate() + "String_Node_Str" : "String_Node_Str";
  String minDate=BsfUtils.isStringValued(dtp.getMinDate()) ? dtp.getMinDate().contains("String_Node_Str") ? dtp.getMinDate() : "String_Node_Str" + dtp.getMinDate() + "String_Node_Str" : "String_Node_Str";
  String maxDate=BsfUtils.isStringValued(dtp.getMaxDate()) ? dtp.getMinDate().contains("String_Node_Str") ? dtp.getMaxDate() : "String_Node_Str" + dtp.getMaxDate() + "String_Node_Str" : "String_Node_Str";
  rw.startElement("String_Node_Str",dtp);
  rw.writeText("String_Node_Str" + "String_Node_Str" + fullSelector + "String_Node_Str"+ "String_Node_Str"+ (dtp.isAllowInputToggle() || openOnClick ? "String_Node_Str" : "String_Node_Str")+ (dtp.isCollapse() ? "String_Node_Str" + dtp.isCollapse() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getDayViewHeaderFormat()) ? "String_Node_Str" + dtp.getDayViewHeaderFormat() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getDisabledDates()) ? "String_Node_Str" + dtp.getDisabledDates() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getDisableTimeInterval()) ? "String_Node_Str" + dtp.getDisableTimeInterval() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getEnabledDates()) ? "String_Node_Str" + dtp.getDisableTimeInterval() + "String_Node_Str" : "String_Node_Str")+ (dtp.isFocusOnShow() ? "String_Node_Str" + dtp.isFocusOnShow() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getInitialDate()) ? "String_Node_Str" + defaultDate + "String_Node_Str" : "String_Node_Str")+ (dtp.isKeepInvalid() ? "String_Node_Str" + dtp.isKeepInvalid() + "String_Node_Str" : "String_Node_Str")+ (dtp.isKeepOpen() ? "String_Node_Str" + dtp.isKeepOpen() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(minDate) ? "String_Node_Str" + minDate + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(maxDate) ? "String_Node_Str" + maxDate + "String_Node_Str" : "String_Node_Str")+ (dtp.isShowWeek() ? "String_Node_Str" + dtp.isShowWeek() + "String_Node_Str" : "String_Node_Str")+ (dtp.isShowClearButton() ? "String_Node_Str" + dtp.isShowClearButton() + "String_Node_Str" : "String_Node_Str")+ (dtp.isShowCloseButton() ? "String_Node_Str" + dtp.isShowCloseButton() + "String_Node_Str" : "String_Node_Str")+ (dtp.isShowTodayButton() ? "String_Node_Str" + dtp.isShowTodayButton() + "String_Node_Str" : "String_Node_Str")+ (dtp.isSideBySide() || "String_Node_Str".equals(mode) ? "String_Node_Str" : "String_Node_Str")+ (dtp.getTimeStepping() > 0 ? "String_Node_Str" + dtp.getTimeStepping() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getToolbarPlacement()) ? "String_Node_Str" + dtp.getToolbarPlacement() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getViewMode()) ? "String_Node_Str" + dtp.getViewMode() + "String_Node_Str" : "String_Node_Str")+ (dtp.isUseCurrent() ? "String_Node_Str" + dtp.isUseCurrent() + "String_Node_Str" : "String_Node_Str")+ (dtp.isUseStrict() ? "String_Node_Str" + dtp.isUseStrict() + "String_Node_Str" : "String_Node_Str")+ (BsfUtils.isStringValued(dtp.getWidgetParent()) ? "String_Node_Str" + BsfUtils.resolveSearchExpressions(dtp.getWidgetParent()) + "String_Node_Str" : "String_Node_Str")+ ("String_Node_Str".equals(mode) ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ inlineDisplayDate+ "String_Node_Str"+ displayFormat+ "String_Node_Str"+ "String_Node_Str"+ sloc.getLanguage()+ "String_Node_Str"+ "String_Node_Str"+ displayFormat+ "String_Node_Str"+ "String_Node_Str",null);
  if ("String_Node_Str".equals(mode)) {
    rw.writeText("String_Node_Str" + fullSelector + "String_Node_Str"+ "String_Node_Str"+ BsfUtils.escapeJQuerySpecialCharsInSelector(fieldId)+ "String_Node_Str"+ displayFormat+ "String_Node_Str"+ "String_Node_Str",null);
  }
  rw.endElement("String_Node_Str");
  new AJAXRenderer().generateBootsFacesAJAXAndJavaScriptForJQuery(fc,dtp,rw,fullSelector,null);
}