Program: 74566
Project: 74566
Buggy source:
/** 
 * without row edge
 * @throws OLAPException
 * @throws BirtException 
 */
public void testCursorModel2() throws OLAPException, BirtException {
  ICubeQueryDefinition cqd=new CubeQueryDefinition(CubeUtility.cubeName);
  cqd.createMeasure("String_Node_Str");
  IEdgeDefinition columnEdge=cqd.createEdge(ICubeQueryDefinition.COLUMN_EDGE);
  IDimensionDefinition dim1=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition hier1=dim1.createHierarchy("String_Node_Str");
  hier1.createLevel("String_Node_Str");
  IDimensionDefinition dim2=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition hier2=dim2.createHierarchy("String_Node_Str");
  hier2.createLevel("String_Node_Str");
  IDimensionDefinition dim3=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition hier3=dim3.createHierarchy("String_Node_Str");
  hier3.createLevel("String_Node_Str");
  IDimensionDefinition dim4=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition hier4=dim4.createHierarchy("String_Node_Str");
  hier4.createLevel("String_Node_Str");
  BirtCubeView cubeView=new BirtCubeView(new CubeQueryExecutor(cqd,de.getSession(),this.scope,de.getContext()));
  CubeCursor dataCursor=cubeView.getCubeCursor();
  EdgeCursor columnCursor=cubeView.getColumnEdgeView().getEdgeCursor();
  DimensionCursor countryCursor=(DimensionCursor)columnCursor.getDimensionCursor().get(0);
  DimensionCursor cityCursor=(DimensionCursor)columnCursor.getDimensionCursor().get(1);
  DimensionCursor streetCursor=(DimensionCursor)columnCursor.getDimensionCursor().get(2);
  DimensionCursor timeCursor=(DimensionCursor)columnCursor.getDimensionCursor().get(3);
  testOut.print(creator.printCubeAlongDimension(dataCursor,countryCursor,cityCursor,streetCursor,timeCursor,null,null));
  try {
    this.checkOutputFile();
  }
 catch (  Exception e) {
    fail("String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * without row edge
 * @throws OLAPException
 * @throws BirtException 
 */
public void testCursorModel2() throws OLAPException, BirtException {
  ICubeQueryDefinition cqd=new CubeQueryDefinition(CubeUtility.cubeName);
  cqd.createMeasure("String_Node_Str");
  IEdgeDefinition columnEdge=cqd.createEdge(ICubeQueryDefinition.COLUMN_EDGE);
  IDimensionDefinition dim1=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition hier1=dim1.createHierarchy("String_Node_Str");
  hier1.createLevel("String_Node_Str");
  IDimensionDefinition dim2=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition hier2=dim2.createHierarchy("String_Node_Str");
  hier2.createLevel("String_Node_Str");
  IDimensionDefinition dim3=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition hier3=dim3.createHierarchy("String_Node_Str");
  hier3.createLevel("String_Node_Str");
  IDimensionDefinition dim4=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition hier4=dim4.createHierarchy("String_Node_Str");
  hier4.createLevel("String_Node_Str");
  BirtCubeView cubeView=new BirtCubeView(new CubeQueryExecutor(cqd,de.getSession(),this.scope,de.getContext()));
  CubeCursor dataCursor=cubeView.getCubeCursor(new StopSign());
  EdgeCursor columnCursor=cubeView.getColumnEdgeView().getEdgeCursor();
  DimensionCursor countryCursor=(DimensionCursor)columnCursor.getDimensionCursor().get(0);
  DimensionCursor cityCursor=(DimensionCursor)columnCursor.getDimensionCursor().get(1);
  DimensionCursor streetCursor=(DimensionCursor)columnCursor.getDimensionCursor().get(2);
  DimensionCursor timeCursor=(DimensionCursor)columnCursor.getDimensionCursor().get(3);
  testOut.print(creator.printCubeAlongDimension(dataCursor,countryCursor,cityCursor,streetCursor,timeCursor,null,null));
  try {
    this.checkOutputFile();
  }
 catch (  Exception e) {
    fail("String_Node_Str");
  }
}