private Cursor writeHeaderForFields(SXSSFSheet sheet, Cursor start, TestUnitsResults test, List<List<FieldDescriptor>> nonEmptyFields) { TreeSet<WriteTask> tasks = new TreeSet<>(); int rowNum = start.getRowNum(); int colNum = start.getColNum(); tasks.add(new WriteTask(new Cursor(rowNum, colNum++), "ID", styles.header)); TestSuite testSuite = test.getTestSuite(); ParameterWithValueDeclaration[] params = testSuite.getTest(0).getExecutionParams(); for (int i = 0; i < params.length; i++) { ParameterWithValueDeclaration param = params[i]; boolean hasPK = isHasPK(param); List<FieldDescriptor> fields = nonEmptyFields.get(i); if (fields == null || fields.isEmpty()) { tasks.add(new WriteTask(new Cursor(rowNum, colNum++), param.getName(), styles.header)); continue; } String prefix = param.getName() + "."; if (hasPK) { tasks.add(new WriteTask(new Cursor(rowNum, colNum++), prefix + "_PK_", styles.header)); } colNum = addHeaderTasks(tasks, new Cursor(rowNum, colNum), fields, prefix); } return performWrite(sheet, start, tasks, getLastColumn(test, nonEmptyFields)); }
Cursor cursor = performWrite(sheet, new Cursor(rowNum, FIRST_COLUMN), tasks, lastColNum);