Program: 68437
Project: 68437
Buggy source:
/** 
 * test populate data along dimension cursor
 * @throws DataException 
 * @throws OLAPException 
 */
public void testCursorModel4() throws DataException, OLAPException {
  ICubeQueryDefinition cqd=creator.createQueryDefinition();
  IBinding rowGrandTotal=new Binding("String_Node_Str");
  rowGrandTotal.setAggrFunction(IBuildInAggregation.TOTAL_SUM_FUNC);
  rowGrandTotal.setExpression(new ScriptExpression("String_Node_Str"));
  rowGrandTotal.addAggregateOn("String_Node_Str");
  rowGrandTotal.addAggregateOn("String_Node_Str");
  IBinding columnGrandTotal=new Binding("String_Node_Str");
  columnGrandTotal.setAggrFunction(IBuildInAggregation.TOTAL_SUM_FUNC);
  columnGrandTotal.setExpression(new ScriptExpression("String_Node_Str"));
  columnGrandTotal.addAggregateOn("String_Node_Str");
  columnGrandTotal.addAggregateOn("String_Node_Str");
  columnGrandTotal.addAggregateOn("String_Node_Str");
  columnGrandTotal.addAggregateOn("String_Node_Str");
  cqd.addBinding(rowGrandTotal);
  cqd.addBinding(columnGrandTotal);
  BirtCubeView cubeView=new BirtCubeView(new CubeQueryExecutor(null,cqd,de.getSession(),this.scope,de.getContext()));
  CubeCursor dataCursor=cubeView.getCubeCursor(new StopSign(),cube);
  List columnEdgeBindingNames=new ArrayList();
  columnEdgeBindingNames.add("String_Node_Str");
  columnEdgeBindingNames.add("String_Node_Str");
  columnEdgeBindingNames.add("String_Node_Str");
  columnEdgeBindingNames.add("String_Node_Str");
  List rowEdgeBindingNames=new ArrayList();
  rowEdgeBindingNames.add("String_Node_Str");
  rowEdgeBindingNames.add("String_Node_Str");
  List measureBindingNames=new ArrayList();
  measureBindingNames.add("String_Node_Str");
  List dimCursorOnColumn=cubeView.getColumnEdgeView().getEdgeCursor().getDimensionCursor();
  List dimCursorOnRow=cubeView.getRowEdgeView().getEdgeCursor().getDimensionCursor();
  testOut.print(creator.printCubeAlongDimension(dataCursor,(DimensionCursor)dimCursorOnColumn.get(0),(DimensionCursor)dimCursorOnColumn.get(1),(DimensionCursor)dimCursorOnColumn.get(2),(DimensionCursor)dimCursorOnColumn.get(3),(DimensionCursor)dimCursorOnRow.get(0),(DimensionCursor)dimCursorOnRow.get(1)));
  try {
    this.checkOutputFile();
  }
 catch (  Exception e) {
    fail("String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * test populate data along dimension cursor
 * @throws DataException 
 * @throws OLAPException 
 */
public void testCursorModel4() throws DataException, OLAPException {
  ICubeQueryDefinition cqd=creator.createQueryDefinition();
  IBinding rowGrandTotal=new Binding("String_Node_Str");
  rowGrandTotal.setAggrFunction(IBuildInAggregation.TOTAL_SUM_FUNC);
  rowGrandTotal.setExpression(new ScriptExpression("String_Node_Str"));
  rowGrandTotal.addAggregateOn("String_Node_Str");
  rowGrandTotal.addAggregateOn("String_Node_Str");
  IBinding columnGrandTotal=new Binding("String_Node_Str");
  columnGrandTotal.setAggrFunction(IBuildInAggregation.TOTAL_SUM_FUNC);
  columnGrandTotal.setExpression(new ScriptExpression("String_Node_Str"));
  columnGrandTotal.addAggregateOn("String_Node_Str");
  columnGrandTotal.addAggregateOn("String_Node_Str");
  columnGrandTotal.addAggregateOn("String_Node_Str");
  columnGrandTotal.addAggregateOn("String_Node_Str");
  cqd.addBinding(rowGrandTotal);
  cqd.addBinding(columnGrandTotal);
  BirtCubeView cubeView=new BirtCubeView(new CubeQueryExecutor(null,cqd,de.getSession(),this.scope,de.getContext()));
  CubeCursor dataCursor=cubeView.getCubeCursor(new StopSign(),cube,false);
  List columnEdgeBindingNames=new ArrayList();
  columnEdgeBindingNames.add("String_Node_Str");
  columnEdgeBindingNames.add("String_Node_Str");
  columnEdgeBindingNames.add("String_Node_Str");
  columnEdgeBindingNames.add("String_Node_Str");
  List rowEdgeBindingNames=new ArrayList();
  rowEdgeBindingNames.add("String_Node_Str");
  rowEdgeBindingNames.add("String_Node_Str");
  List measureBindingNames=new ArrayList();
  measureBindingNames.add("String_Node_Str");
  List dimCursorOnColumn=cubeView.getColumnEdgeView().getEdgeCursor().getDimensionCursor();
  List dimCursorOnRow=cubeView.getRowEdgeView().getEdgeCursor().getDimensionCursor();
  testOut.print(creator.printCubeAlongDimension(dataCursor,(DimensionCursor)dimCursorOnColumn.get(0),(DimensionCursor)dimCursorOnColumn.get(1),(DimensionCursor)dimCursorOnColumn.get(2),(DimensionCursor)dimCursorOnColumn.get(3),(DimensionCursor)dimCursorOnRow.get(0),(DimensionCursor)dimCursorOnRow.get(1)));
  try {
    this.checkOutputFile();
  }
 catch (  Exception e) {
    fail("String_Node_Str");
  }
}