Program: 74571
Project: 74571
Buggy source:
/** 
 * @throws OLAPException
 * @throws BirtException 
 */
public void testCursorModel6() throws OLAPException, BirtException {
  ICubeQueryDefinition cqd=new CubeQueryDefinition(CubeUtility.cubeName);
  cqd.createMeasure("String_Node_Str");
  IEdgeDefinition columnEdge=cqd.createEdge(ICubeQueryDefinition.ROW_EDGE);
  IDimensionDefinition dim=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition dimHier=dim.createHierarchy("String_Node_Str");
  dimHier.createLevel("String_Node_Str");
  IEdgeDefinition rowEdge=cqd.createEdge(ICubeQueryDefinition.COLUMN_EDGE);
  IDimensionDefinition geographyDim=rowEdge.createDimension("String_Node_Str");
  IHierarchyDefinition geographyHier=geographyDim.createHierarchy("String_Node_Str");
  geographyHier.createLevel("String_Node_Str");
  IDimensionDefinition geographyDim3=rowEdge.createDimension("String_Node_Str");
  IHierarchyDefinition geographyHier3=geographyDim3.createHierarchy("String_Node_Str");
  geographyHier3.createLevel("String_Node_Str");
  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");
  IBinding columnGrandTotal=new Binding("String_Node_Str");
  columnGrandTotal.setAggrFunction(IBuildInAggregation.TOTAL_AVE_FUNC);
  columnGrandTotal.setExpression(new ScriptExpression("String_Node_Str"));
  columnGrandTotal.addAggregateOn("String_Node_Str");
  columnGrandTotal.addAggregateOn("String_Node_Str");
  IBinding totalGrandTotal=new Binding("String_Node_Str");
  totalGrandTotal.setAggrFunction(IBuildInAggregation.TOTAL_COUNTDISTINCT_FUNC);
  totalGrandTotal.setExpression(new ScriptExpression("String_Node_Str"));
  cqd.addBinding(rowGrandTotal);
  cqd.addBinding(columnGrandTotal);
  cqd.addBinding(totalGrandTotal);
  BirtCubeView cubeView=new BirtCubeView(new CubeQueryExecutor(cqd,de.getSession(),this.scope,de.getContext()));
  CubeCursor dataCursor=cubeView.getCubeCursor();
  List columnEdgeBindingNames=new ArrayList();
  columnEdgeBindingNames.add("String_Node_Str");
  columnEdgeBindingNames.add("String_Node_Str");
  List rowEdgeBindingNames=new ArrayList();
  rowEdgeBindingNames.add("String_Node_Str");
  List measureBindingNames=new ArrayList();
  measureBindingNames.add("String_Node_Str");
  List rowGrandTotalNames=new ArrayList();
  rowGrandTotalNames.add("String_Node_Str");
  try {
    testOut.print(creator.printCubeAlongEdge(dataCursor,columnEdgeBindingNames,rowEdgeBindingNames,measureBindingNames,rowGrandTotalNames,"String_Node_Str","String_Node_Str",null));
    this.checkOutputFile();
  }
 catch (  Exception e) {
    fail("String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * @throws OLAPException
 * @throws BirtException 
 */
public void testCursorModel6() throws OLAPException, BirtException {
  ICubeQueryDefinition cqd=new CubeQueryDefinition(CubeUtility.cubeName);
  cqd.createMeasure("String_Node_Str");
  IEdgeDefinition columnEdge=cqd.createEdge(ICubeQueryDefinition.ROW_EDGE);
  IDimensionDefinition dim=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition dimHier=dim.createHierarchy("String_Node_Str");
  dimHier.createLevel("String_Node_Str");
  IEdgeDefinition rowEdge=cqd.createEdge(ICubeQueryDefinition.COLUMN_EDGE);
  IDimensionDefinition geographyDim=rowEdge.createDimension("String_Node_Str");
  IHierarchyDefinition geographyHier=geographyDim.createHierarchy("String_Node_Str");
  geographyHier.createLevel("String_Node_Str");
  IDimensionDefinition geographyDim3=rowEdge.createDimension("String_Node_Str");
  IHierarchyDefinition geographyHier3=geographyDim3.createHierarchy("String_Node_Str");
  geographyHier3.createLevel("String_Node_Str");
  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");
  IBinding columnGrandTotal=new Binding("String_Node_Str");
  columnGrandTotal.setAggrFunction(IBuildInAggregation.TOTAL_AVE_FUNC);
  columnGrandTotal.setExpression(new ScriptExpression("String_Node_Str"));
  columnGrandTotal.addAggregateOn("String_Node_Str");
  columnGrandTotal.addAggregateOn("String_Node_Str");
  IBinding totalGrandTotal=new Binding("String_Node_Str");
  totalGrandTotal.setAggrFunction(IBuildInAggregation.TOTAL_COUNTDISTINCT_FUNC);
  totalGrandTotal.setExpression(new ScriptExpression("String_Node_Str"));
  cqd.addBinding(rowGrandTotal);
  cqd.addBinding(columnGrandTotal);
  cqd.addBinding(totalGrandTotal);
  BirtCubeView cubeView=new BirtCubeView(new CubeQueryExecutor(cqd,de.getSession(),this.scope,de.getContext()));
  CubeCursor dataCursor=cubeView.getCubeCursor(new StopSign());
  List columnEdgeBindingNames=new ArrayList();
  columnEdgeBindingNames.add("String_Node_Str");
  columnEdgeBindingNames.add("String_Node_Str");
  List rowEdgeBindingNames=new ArrayList();
  rowEdgeBindingNames.add("String_Node_Str");
  List measureBindingNames=new ArrayList();
  measureBindingNames.add("String_Node_Str");
  List rowGrandTotalNames=new ArrayList();
  rowGrandTotalNames.add("String_Node_Str");
  try {
    testOut.print(creator.printCubeAlongEdge(dataCursor,columnEdgeBindingNames,rowEdgeBindingNames,measureBindingNames,rowGrandTotalNames,"String_Node_Str","String_Node_Str",null));
    this.checkOutputFile();
  }
 catch (  Exception e) {
    fail("String_Node_Str");
  }
}