public int load(Group group) throws IOException { int amount = 0; BufferedReader reader = new BufferedReader(new FileReader("src//football.dat")); RowReader loader = new RowReader(); boolean firstLine = true; String line; String[] params; while ((line = reader.readLine()) != null) { if (firstLine) { firstLine = false; continue; } if ((params = loader.getParameters(line)) == null) { continue; } group.add( new FootballClub( params[1], // Team column Integer.parseInt(params[6]), // F column Integer.parseInt(params[7]) // A column )); amount++; } return amount; }
@Test public void writeLine_singleLine() throws Exception { String aLine = "LSM7|9606" + NEW_LINE; final ColumnBasedDocumentDefinition documentDefinition = buildGeneListDefinition(); RowReader reader = new DefaultRowReader(documentDefinition); final List<Row> rows = reader.read(new ByteArrayInputStream(aLine.getBytes())); Assert.assertNotNull(rows); Assert.assertEquals(1, rows.size()); Row row = rows.get(0); RowWriter writer = new DefaultRowWriter(documentDefinition); final String outputLine = writer.writeLine(row); Assert.assertEquals(aLine, outputLine); }
@Test public void write_multipleLine() throws Exception { String aLine = "LSM7|9606" + NEW_LINE + "LSM2|9606" + NEW_LINE + "BRCA2|10032"; final ColumnBasedDocumentDefinition documentDefinition = buildGeneListDefinition(); RowReader reader = new DefaultRowReader(documentDefinition); final List<Row> rows = reader.read(new ByteArrayInputStream(aLine.getBytes())); Assert.assertNotNull(rows); Assert.assertEquals(3, rows.size()); RowWriter writer = new DefaultRowWriter(documentDefinition); final StringWriter sw = new StringWriter(); writer.write(sw, rows); final String[] lines = StringUtils.split(sw.getBuffer().toString(), NEW_LINE); Assert.assertNotNull(lines); Assert.assertEquals(3, lines.length); Assert.assertEquals("LSM7|9606", lines[0]); Assert.assertEquals("LSM2|9606", lines[1]); Assert.assertEquals("BRCA2|10032", lines[2]); }
@Test public void readAndWrite() throws IOException { // First read... Reader reader = new StringReader( "alpha;beta;gamma\n" + "\"row 1, cell 1\";\"row 1, cell 2\";\"row 1, cell 3\"\n" + "\"row 2, cell 1\";\"row 2, cell 2\";\"row 2, cell 3\"\n"); RowReader lineReader = new RowReaderImpl(reader); List<Row> rows = lineReader.readRows(); // ... then write StringWriter writer = new StringWriter(); RowWriter rowWriter = new RowWriterImpl(writer); rowWriter.writeHeader(rows.get(0).getHeader()); rowWriter.writeRows(rows); writer.close(); assertEquals( "\"alpha\";\"beta\";\"gamma\"\r" + "\"row 1, cell 1\";\"row 1, cell 2\";\"row 1, cell 3\"\r" + "\"row 2, cell 1\";\"row 2, cell 2\";\"row 2, cell 3\"\r", writer.getBuffer().toString()); }
public void setPostProcessor(DataRowPostProcessor postProcessor) { for (RowReader<?> reader : readers) { reader.setPostProcessor(postProcessor); } }