Program: 64932
Project: 64932
Buggy source:
/** 
 * Supports the misc setting expression methods.
 * @throws Exception
 */
public void testBoundColumnWriterExpression() throws Exception {
  createDesign();
  DataItemHandle data=designHandle.getElementFactory().newDataItem("String_Node_Str");
  designHandle.getBody().add(data);
  Action action=new Action();
  data.setAction(action);
  ActionHandle actionHandle=data.getActionHandle();
  actionHandle.setLinkType(DesignChoiceConstants.ACTION_LINK_TYPE_BOOKMARK_LINK);
  actionHandle.setTargetBookmark("String_Node_Str");
  TableHandle table=designHandle.getElementFactory().newTableItem("String_Node_Str",2);
  ImageHandle image=designHandle.getElementFactory().newImage("String_Node_Str");
  image.setBookmark("String_Node_Str");
  image.setValueExpression("String_Node_Str");
  table.getCell(TableHandle.HEADER_SLOT,-1,1,1).getContent().add(image);
  TableHandle nestedTable=designHandle.getElementFactory().newTableItem("String_Node_Str",2);
  ParamBinding paramBinding=new ParamBinding();
  paramBinding.setParamName("String_Node_Str");
  paramBinding.setExpression("String_Node_Str");
  nestedTable.getPropertyHandle(TableHandle.PARAM_BINDINGS_PROP).addItem(paramBinding);
  ColumnHandle column=(ColumnHandle)nestedTable.getColumns().get(0);
  HideRule hideRule=new HideRule();
  hideRule.setExpression("String_Node_Str");
  hideRule.setFormat(DesignChoiceConstants.FORMAT_TYPE_REPORTLET);
  column.getPropertyHandle(ColumnHandle.VISIBILITY_PROP).addItem(hideRule);
  table.getCell(TableHandle.DETAIL_SLOT,-1,1,2).getContent().add(nestedTable);
  designHandle.getBody().add(table);
  TextDataHandle textData=designHandle.getElementFactory().newTextData("String_Node_Str");
  textData.setValueExpr("String_Node_Str");
  GridHandle grid=designHandle.getElementFactory().newGridItem("String_Node_Str",2,2);
  grid.getCell(2,2).getContent().add(textData);
  table.getCell(TableHandle.FOOTER_SLOT,-1,1,1).getContent().add(grid);
  table.getCell(TableHandle.FOOTER_SLOT,-1,1,1).setOnCreate("String_Node_Str");
  ListHandle list=designHandle.getElementFactory().newList("String_Node_Str");
  FilterCondition filter=new FilterCondition();
  filter.setExpr("String_Node_Str");
  filter.setValue1("String_Node_Str");
  filter.setValue2("String_Node_Str");
  list.getPropertyHandle(ListHandle.FILTER_PROP).addItem(filter);
  SortKey sort=new SortKey();
  sort.setKey("String_Node_Str");
  list.getPropertyHandle(ListHandle.SORT_PROP).addItem(sort);
  designHandle.getBody().add(list);
  ScalarParameterHandle param=designHandle.getElementFactory().newScalarParameter("String_Node_Str");
  param.setValueExpr("String_Node_Str");
  param.setLabelExpr("String_Node_Str");
  designHandle.getParameters().add(param);
  param=designHandle.getElementFactory().newScalarParameter("String_Node_Str");
  param.setValueExpr("String_Node_Str");
  param.setLabelExpr("String_Node_Str");
  designHandle.getParameters().add(param);
  textData=designHandle.getElementFactory().newTextData("String_Node_Str");
  designHandle.getBody().add(textData);
  ComputedColumn boundColumn=new ComputedColumn();
  boundColumn.setName("String_Node_Str");
  boundColumn.setExpression("String_Node_Str");
  textData.addColumnBinding(boundColumn,true);
  textData.setValueExpr("String_Node_Str");
  save();
  assertTrue(compareFile("String_Node_Str"));
}

Fixed version (ground truth):
/** 
 * Supports the misc setting expression methods.
 * @throws Exception
 */
public void testBoundColumnWriterExpression() throws Exception {
  createDesign();
  DataItemHandle data=designHandle.getElementFactory().newDataItem("String_Node_Str");
  designHandle.getBody().add(data);
  Action action=new Action();
  data.setAction(action);
  ActionHandle actionHandle=data.getActionHandle();
  actionHandle.setLinkType(DesignChoiceConstants.ACTION_LINK_TYPE_BOOKMARK_LINK);
  actionHandle.setTargetBookmark("String_Node_Str");
  TableHandle table=designHandle.getElementFactory().newTableItem("String_Node_Str",2);
  ImageHandle image=designHandle.getElementFactory().newImage("String_Node_Str");
  image.setBookmark("String_Node_Str");
  image.setValueExpression("String_Node_Str");
  table.getCell(TableHandle.HEADER_SLOT,-1,1,1).getContent().add(image);
  TableHandle nestedTable=designHandle.getElementFactory().newTableItem("String_Node_Str",2);
  ParamBinding paramBinding=new ParamBinding();
  paramBinding.setParamName("String_Node_Str");
  paramBinding.setExpression("String_Node_Str");
  nestedTable.getPropertyHandle(TableHandle.PARAM_BINDINGS_PROP).addItem(paramBinding);
  ColumnHandle column=(ColumnHandle)nestedTable.getColumns().get(0);
  HideRule hideRule=new HideRule();
  hideRule.setExpression("String_Node_Str");
  hideRule.setFormat(DesignChoiceConstants.FORMAT_TYPE_REPORTLET);
  column.getPropertyHandle(ColumnHandle.VISIBILITY_PROP).addItem(hideRule);
  table.getCell(TableHandle.DETAIL_SLOT,-1,1,2).getContent().add(nestedTable);
  designHandle.getBody().add(table);
  TextDataHandle textData=designHandle.getElementFactory().newTextData("String_Node_Str");
  textData.setValueExpr("String_Node_Str");
  GridHandle grid=designHandle.getElementFactory().newGridItem("String_Node_Str",2,2);
  grid.getCell(2,2).getContent().add(textData);
  table.getCell(TableHandle.FOOTER_SLOT,-1,1,1).getContent().add(grid);
  table.getCell(TableHandle.FOOTER_SLOT,-1,1,1).setOnCreate("String_Node_Str");
  ListHandle list=designHandle.getElementFactory().newList("String_Node_Str");
  FilterCondition filter=new FilterCondition();
  filter.setExpr("String_Node_Str");
  filter.setValue1("String_Node_Str");
  filter.setValue2("String_Node_Str");
  list.getPropertyHandle(ListHandle.FILTER_PROP).addItem(filter);
  SortKey sort=new SortKey();
  sort.setKey("String_Node_Str");
  list.getPropertyHandle(ListHandle.SORT_PROP).addItem(sort);
  designHandle.getBody().add(list);
  ScalarParameterHandle param=designHandle.getElementFactory().newScalarParameter("String_Node_Str");
  param.setValueExpr("String_Node_Str");
  param.setLabelExpr("String_Node_Str");
  designHandle.getParameters().add(param);
  param=designHandle.getElementFactory().newScalarParameter("String_Node_Str");
  param.setValueExpr("String_Node_Str");
  param.setLabelExpr("String_Node_Str");
  designHandle.getParameters().add(param);
  textData=designHandle.getElementFactory().newTextData("String_Node_Str");
  designHandle.getBody().add(textData);
  ComputedColumn boundColumn=new ComputedColumn();
  boundColumn.setName("String_Node_Str");
  boundColumn.setExpression("String_Node_Str");
  textData.addColumnBinding(boundColumn,true);
  textData.setValueExpr("String_Node_Str");
  save();
  assertTrue(compareDesignModel("String_Node_Str",new String[]{"String_Node_Str"}));
}