protected boolean isColumnIncluded(String columnId) { if (dataSetDef.isAllColumnsEnabled()) return true; if (dataSetDef.getColumns() == null) return false; return dataSetDef.getColumnById(columnId) != null; }
protected ColumnType calculateType(String columnId, String value) { DataColumnDef column = dataSetDef.getColumnById(columnId); if (column != null) return column.getColumnType(); try { DateFormat dateFormat = getDateFormat(columnId); dateFormat.parse(value); return ColumnType.DATE; } catch (Exception e) { DecimalFormat numberParser = getNumberFormat(columnId); if (canBeParsedAsNumber(numberParser, value)) { return ColumnType.NUMBER; } else { return ColumnType.LABEL; } } }
public String getPattern(String columnId) { String p = super.getPattern(columnId); if (p != null) return p; DataColumnDef c = getColumnById(columnId); if (c == null) return null; if (c.getColumnType().equals(ColumnType.NUMBER)) return numberPattern; if (c.getColumnType().equals(ColumnType.DATE)) return datePattern; return null; }
public String getPattern(String columnId) { String p = super.getPattern(columnId); if (p != null) return p; DataColumnDef c = getColumnById(columnId); if (c == null) return null; if (c.getColumnType().equals(ColumnType.NUMBER)) return numberPattern; if (c.getColumnType().equals(ColumnType.DATE)) return datePattern; return null; }
@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); } }
assertEquals(def.getColumns().size(), 5); DataColumnDef column1 = def.getColumnById("office"); DataColumnDef column2 = def.getColumnById("department"); DataColumnDef column3 = def.getColumnById("employee"); DataColumnDef column4 = def.getColumnById("amount"); DataColumnDef column5 = def.getColumnById("date"); assertNotNull(column1); assertNotNull(column2);
assertEquals(def.getColumns().size(), 5); DataColumnDef column1 = def.getColumnById("office"); DataColumnDef column2 = def.getColumnById("department"); DataColumnDef column3 = def.getColumnById("employee"); DataColumnDef column4 = def.getColumnById("amount"); DataColumnDef column5 = def.getColumnById("date"); assertNotNull(column1); assertNotNull(column2);
@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); } }