Program: 76168
Project: 76168
Buggy source:
/** 
 * Handle output Radio Button type parameter
 * @throws Exception
 */
protected void __handleRadioButton() throws Exception {
  Collection selectionList=BirtReportServiceFactory.getReportService().getParameterSelectionList(viewer.getReportDesignHandle(),this.options,param.getName());
  if (selectionList == null || selectionList.size() <= 0)   return;
  JspWriter writer=pageContext.getOut();
  String encParamId=ParameterAccessor.htmlEncode(param.getId());
  String encParamName=ParameterAccessor.htmlEncode(param.getName());
  String displayTextId=encParamId + "String_Node_Str";
  String displayTextName=ParameterAccessor.PREFIX_DISPLAY_TEXT + encParamName;
  String nullValueId=encParamId + "String_Node_Str";
  String radioNullValueId=encParamId + "String_Node_Str";
  String radioName=encParamId + "String_Node_Str";
  String valueId=encParamId + "String_Node_Str";
  boolean isChecked=false;
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + encParamId + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + valueId + "String_Node_Str");
  writer.write("String_Node_Str" + displayTextId + "String_Node_Str");
  writer.write("String_Node_Str" + nullValueId + "String_Node_Str");
  writer.write("String_Node_Str" + radioNullValueId + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + encParamName + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + encParamName + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + displayTextName + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  String onClick="String_Node_Str" + encParamId + "String_Node_Str";
  int index=0;
  for (Iterator iter=selectionList.iterator(); iter.hasNext(); ) {
    ParameterSelectionChoice selectionItem=(ParameterSelectionChoice)iter.next();
    Object value=selectionItem.getValue();
    try {
      value=DataUtil.convert(value,paramDef.getDataType());
    }
 catch (    Exception e) {
      value=null;
    }
    String displayValue=DataUtil.getDisplayValue(value);
    if (displayValue == null)     continue;
    String label=selectionItem.getLabel();
    if (label == null || label.length() <= 0)     label=ParameterValidationUtil.getDisplayValue(null,this.pattern,value,this.locale);
    label=label != null ? ParameterAccessor.htmlEncode(label) : "String_Node_Str";
    String ctlId=encParamId + "String_Node_Str" + index;
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + radioName + "String_Node_Str");
    writer.write("String_Node_Str" + ctlId + "String_Node_Str");
    __handleGeneralDefinition();
    writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(displayValue) + "String_Node_Str");
    writer.write("String_Node_Str" + onClick + "String_Node_Str");
    if (displayValue.equalsIgnoreCase(DataUtil.getDisplayValue(param.getValue()))) {
      isChecked=true;
      writer.write("String_Node_Str");
      if (param.getDisplayText() == null) {
        this.displayTextString=label;
      }
 else {
        label=param.getDisplayText();
      }
    }
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + (ctlId + "String_Node_Str") + "String_Node_Str");
    writer.write("String_Node_Str" + label + "String_Node_Str");
    writer.write("String_Node_Str" + ctlId + "String_Node_Str");
    writer.write(label);
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    index++;
  }
  if (!paramDef.isRequired()) {
    boolean isNullValue=param.getValue() == null;
    writer.write("String_Node_Str" + ParameterAccessor.PARAM_ISNULL + "String_Node_Str"+ nullValueId+ "String_Node_Str");
    if (isNullValue)     writer.write("String_Node_Str" + encParamName + "String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + radioNullValueId + "String_Node_Str");
    writer.write("String_Node_Str" + radioName + "String_Node_Str");
    writer.write("String_Node_Str" + onClick + "String_Node_Str");
    if (isNullValue)     writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + (radioNullValueId + "String_Node_Str") + "String_Node_Str");
    writer.write("String_Node_Str" + ITagConstants.NULL_VALUE + "String_Node_Str");
    writer.write("String_Node_Str" + radioNullValueId + "String_Node_Str");
    writer.write(ITagConstants.NULL_VALUE);
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
  }
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + displayTextId + "String_Node_Str");
  if (isChecked) {
    writer.write("String_Node_Str" + displayTextName + "String_Node_Str");
    writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(this.displayTextString) + "String_Node_Str");
  }
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + valueId + "String_Node_Str");
  if (isChecked) {
    writer.write("String_Node_Str" + encParamName + "String_Node_Str");
    writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(this.valueString) + "String_Node_Str");
  }
  writer.write("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Handle output Radio Button type parameter
 * @throws Exception
 */
protected void __handleRadioButton() throws Exception {
  Collection selectionList=BirtReportServiceFactory.getReportService().getParameterSelectionList(viewer.getReportDesignHandle(),this.options,param.getName());
  if (selectionList == null || selectionList.size() <= 0)   return;
  JspWriter writer=pageContext.getOut();
  String encParamId=ParameterAccessor.htmlEncode(param.getId());
  String encParamName=ParameterAccessor.htmlEncode(param.getName());
  String displayTextId=encParamId + "String_Node_Str";
  String displayTextName=ParameterAccessor.PREFIX_DISPLAY_TEXT + encParamName;
  String nullValueId=encParamId + "String_Node_Str";
  String radioNullValueId=encParamId + "String_Node_Str";
  String radioName=encParamId + "String_Node_Str";
  String valueId=encParamId + "String_Node_Str";
  boolean isChecked=false;
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + encParamId + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + valueId + "String_Node_Str");
  writer.write("String_Node_Str" + displayTextId + "String_Node_Str");
  writer.write("String_Node_Str" + nullValueId + "String_Node_Str");
  writer.write("String_Node_Str" + radioNullValueId + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + ParameterAccessor.PARAM_ISNULL + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + encParamName + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + displayTextName + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  String onClick="String_Node_Str" + encParamId + "String_Node_Str";
  int index=0;
  for (Iterator iter=selectionList.iterator(); iter.hasNext(); ) {
    ParameterSelectionChoice selectionItem=(ParameterSelectionChoice)iter.next();
    Object value=selectionItem.getValue();
    try {
      value=DataUtil.convert(value,paramDef.getDataType());
    }
 catch (    Exception e) {
      value=null;
    }
    String displayValue=DataUtil.getDisplayValue(value);
    if (displayValue == null)     continue;
    String label=selectionItem.getLabel();
    if (label == null || label.length() <= 0)     label=ParameterValidationUtil.getDisplayValue(null,this.pattern,value,this.locale);
    label=label != null ? ParameterAccessor.htmlEncode(label) : "String_Node_Str";
    String ctlId=encParamId + "String_Node_Str" + index;
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + radioName + "String_Node_Str");
    writer.write("String_Node_Str" + ctlId + "String_Node_Str");
    __handleGeneralDefinition();
    writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(displayValue) + "String_Node_Str");
    writer.write("String_Node_Str" + onClick + "String_Node_Str");
    if (displayValue.equalsIgnoreCase(DataUtil.getDisplayValue(param.getValue()))) {
      isChecked=true;
      writer.write("String_Node_Str");
      if (param.getDisplayText() == null) {
        this.displayTextString=label;
      }
 else {
        label=param.getDisplayText();
      }
    }
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + (ctlId + "String_Node_Str") + "String_Node_Str");
    writer.write("String_Node_Str" + label + "String_Node_Str");
    writer.write("String_Node_Str" + ctlId + "String_Node_Str");
    writer.write(label);
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    index++;
  }
  if (!paramDef.isRequired()) {
    boolean isNullValue=param.getValue() == null;
    writer.write("String_Node_Str" + encParamName + "String_Node_Str"+ nullValueId+ "String_Node_Str");
    if (isNullValue)     writer.write("String_Node_Str" + ParameterAccessor.PARAM_ISNULL + "String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + radioNullValueId + "String_Node_Str");
    writer.write("String_Node_Str" + radioName + "String_Node_Str");
    writer.write("String_Node_Str" + onClick + "String_Node_Str");
    if (isNullValue)     writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + (radioNullValueId + "String_Node_Str") + "String_Node_Str");
    writer.write("String_Node_Str" + ITagConstants.NULL_VALUE + "String_Node_Str");
    writer.write("String_Node_Str" + radioNullValueId + "String_Node_Str");
    writer.write(ITagConstants.NULL_VALUE);
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
  }
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + displayTextId + "String_Node_Str");
  if (isChecked) {
    writer.write("String_Node_Str" + displayTextName + "String_Node_Str");
    writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(this.displayTextString) + "String_Node_Str");
  }
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + valueId + "String_Node_Str");
  if (isChecked) {
    writer.write("String_Node_Str" + encParamName + "String_Node_Str");
    writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(this.valueString) + "String_Node_Str");
  }
  writer.write("String_Node_Str");
}