public Collection<TestableMRP> read(InputStream in) throws Exception { ArrayList<TestableMRP> tests = new ArrayList<TestableMRP>(); // reader = new CsvListReader(new InputStreamReader(in), CsvPreference.STANDARD_PREFERENCE); String[] header = reader.getCSVHeader(true); System.out.println("HEADER: " + MRPUtil.toString(header)); // List<String> line; int last_lineNo = -1; boolean isPlanningLine = true; TestableMRP mrpTest = null; try { while ((line = reader.read()) != null) { if (last_lineNo == -1 || last_lineNo + 1 < reader.getLineNumber()) { isPlanningLine = true; if (mrpTest != null) { tests.add(mrpTest); } mrpTest = new TestableMRP(); } if (isPlanningLine) { readProductPlanning(mrpTest, header, line); isPlanningLine = false; } else { readMRPLine(mrpTest, header, line); } // last_lineNo = reader.getLineNumber(); } } catch (Exception e) { throw new RuntimeException( "Error on line " + reader.getLineNumber() + ": " + e.getLocalizedMessage(), e); } if (mrpTest != null) { tests.add(mrpTest); } // return tests; }