try { BufferedReader br = new BufferedReader(new InputStreamReader(is)); CSVReader csvReader = new CSVReader(br, dataSetDef.getSeparatorChar(), dataSetDef.getQuoteChar(), dataSetDef.getEscapeChar());
@Test public void testParseCSVJson() throws Exception { URL fileURL = Thread.currentThread().getContextClassLoader().getResource("expenseReports.dset"); String json = IOUtils.toString(fileURL, StandardCharsets.UTF_8); DataSetDef def = jsonMarshaller.fromJson(json); assertThat(def.getProvider()).isEqualTo(DataSetProviderType.CSV); assertThat(def.isPublic()).isEqualTo(true); assertThat(def.isPushEnabled()).isEqualTo(true); assertThat(def.getPushMaxSize()).isEqualTo(1024); CSVDataSetDef csvDef = (CSVDataSetDef) def; assertThat(csvDef.getSeparatorChar()).isEqualTo(';'); assertThat(csvDef.getEscapeChar()).isEqualTo('\\'); assertThat(csvDef.getQuoteChar()).isEqualTo('\"'); assertThat(csvDef.getDatePattern()).isEqualTo("MM-dd-yyyy"); assertThat(csvDef.getNumberPattern()).isEqualTo("#,###.##"); assertThat(csvDef.getPattern("date")).isEqualTo("MM-dd-yyyy"); assertThat(csvDef.getPattern("amount")).isEqualTo("#,###.##"); assertThat(csvDef.getColumnById("id").getColumnType()).isEqualTo(ColumnType.LABEL); assertThat(csvDef.getColumnById("amount").getColumnType()).isEqualTo(ColumnType.NUMBER); assertThat(csvDef.getColumnById("date").getColumnType()).isEqualTo(ColumnType.DATE); } }
@Override public void toJson(CSVDataSetDef dataSetDef, JsonObject json) { // File. if (dataSetDef.getFilePath() != null) { json.put(FILEPATH, dataSetDef.getFilePath()); } if (dataSetDef.getFileURL() != null) { json.put(FILEURL, dataSetDef.getFileURL()); } // Separator. json.put(SEPARATORCHAR, String.valueOf(dataSetDef.getSeparatorChar())); // Quote. json.put(QUOTECHAR, String.valueOf(dataSetDef.getQuoteChar())); // Escape. json.put(ESCAPECHAR, String.valueOf(dataSetDef.getEscapeChar())); // Date pattern. json.put(DATEPATTERN, dataSetDef.getDatePattern()); // Number pattern. json.put(NUMBERPATTERN, dataSetDef.getNumberPattern()); // All columns flag. json.put(ALL_COLUMNS, dataSetDef.isAllColumnsEnabled()); } }
@Override public void toJson(CSVDataSetDef dataSetDef, JsonObject json) { // File. if (dataSetDef.getFilePath() != null) { json.put(FILEPATH, dataSetDef.getFilePath()); } if (dataSetDef.getFileURL() != null) { json.put(FILEURL, dataSetDef.getFileURL()); } // Separator. json.put(SEPARATORCHAR, String.valueOf(dataSetDef.getSeparatorChar())); // Quote. json.put(QUOTECHAR, String.valueOf(dataSetDef.getQuoteChar())); // Escape. json.put(ESCAPECHAR, String.valueOf(dataSetDef.getEscapeChar())); // Date pattern. json.put(DATEPATTERN, dataSetDef.getDatePattern()); // Number pattern. json.put(NUMBERPATTERN, dataSetDef.getNumberPattern()); // All columns flag. json.put(ALL_COLUMNS, dataSetDef.isAllColumnsEnabled()); } }
@Override public DataSetDef clone() { CSVDataSetDef def = new CSVDataSetDef(); clone(def); def.setFilePath(getFilePath()); def.setFileURL(getFileURL()); def.setSeparatorChar(getSeparatorChar()); def.setQuoteChar(getQuoteChar()); def.setEscapeChar(getEscapeChar()); def.setDatePattern(getDatePattern()); def.setNumberPattern(getNumberPattern()); return def; }
@Override public DataSetDef clone() { CSVDataSetDef def = new CSVDataSetDef(); clone(def); def.setFilePath(getFilePath()); def.setFileURL(getFileURL()); def.setSeparatorChar(getSeparatorChar()); def.setQuoteChar(getQuoteChar()); def.setEscapeChar(getEscapeChar()); def.setDatePattern(getDatePattern()); def.setNumberPattern(getNumberPattern()); return def; }
@Test public void testParseCSVJson() throws Exception { URL fileURL = Thread.currentThread().getContextClassLoader().getResource("expenseReports.dset"); String json = IOUtils.toString(fileURL); DataSetDef def = jsonMarshaller.fromJson(json); assertThat(def.getProvider()).isEqualTo(DataSetProviderType.CSV); assertThat(def.isPublic()).isEqualTo(true); assertThat(def.isPushEnabled()).isEqualTo(true); assertThat(def.getPushMaxSize()).isEqualTo(1024); CSVDataSetDef csvDef = (CSVDataSetDef) def; assertThat(csvDef.getSeparatorChar()).isEqualTo(';'); assertThat(csvDef.getEscapeChar()).isEqualTo('\\'); assertThat(csvDef.getQuoteChar()).isEqualTo('\"'); assertThat(csvDef.getDatePattern()).isEqualTo("MM-dd-yyyy"); assertThat(csvDef.getNumberPattern()).isEqualTo("#,###.##"); assertThat(csvDef.getPattern("date")).isEqualTo("MM-dd-yyyy"); assertThat(csvDef.getPattern("amount")).isEqualTo("#,###.##"); assertThat(csvDef.getColumnById("id").getColumnType()).isEqualTo(ColumnType.LABEL); assertThat(csvDef.getColumnById("amount").getColumnType()).isEqualTo(ColumnType.NUMBER); assertThat(csvDef.getColumnById("date").getColumnType()).isEqualTo(ColumnType.DATE); } }