protected InputStream getCSVInputStream() throws Exception { String url = dataSetDef.getFileURL(); if (!StringUtils.isBlank(url)) { return new URL(url).openStream(); } String path = dataSetDef.getFilePath(); if (!StringUtils.isBlank(path)) { File f = new File(path); if (f.exists()) { return new FileInputStream(f); } } if (csvStorage != null) { InputStream is = csvStorage.getCSVInputStream(dataSetDef); if (is != null) { return is; } } throw new IllegalArgumentException("CSV content not found: " + dataSetDef); }
@Override public void setValue(final CSVDataSetDef value) { this.value = value; if (value != null && value.getFileURL() != null) { useFileURL(); } else { useFilePath(); } }
@Override public void setValue(final CSVDataSetDef value) { this.value = value; if (value != null && value.getFileURL() != null) { useFileURL(); } else { useFilePath(); } }
@Test public void testSetValueUsingFilePath() { final CSVDataSetDef dataSetDef = mock(CSVDataSetDef.class); when(dataSetDef.getUUID()).thenReturn("uuid1"); when(dataSetDef.getName()).thenReturn("name1"); when(dataSetDef.getProvider()).thenReturn(DataSetProviderType.CSV); when(dataSetDef.getFileURL()).thenReturn(null); when(dataSetDef.getFilePath()).thenReturn("filePath"); presenter.setValue(dataSetDef); assertEquals(true, presenter.isUsingFilePath()); verify(view, times(0)).init(presenter); verify(view, times(0)).initWidgets(any(ValueBoxEditor.View.class), any(IsWidget.class),any(ValueBoxEditor.View.class), any(ValueBoxEditor.View.class), any(ValueBoxEditor.View.class), any(ValueBoxEditor.View.class), any(ValueBoxEditor.View.class)); verify(view, times(1)).showFilePathInput(); verify(view, times(0)).showFileURLInput(); }
@Test public void testSetValueUsingFileUrl() { final CSVDataSetDef dataSetDef = mock(CSVDataSetDef.class); when(dataSetDef.getUUID()).thenReturn("uuid1"); when(dataSetDef.getName()).thenReturn("name1"); when(dataSetDef.getProvider()).thenReturn(DataSetProviderType.CSV); when(dataSetDef.getFileURL()).thenReturn("fileUrl"); when(dataSetDef.getFilePath()).thenReturn(null); presenter.setValue(dataSetDef); assertEquals(false, presenter.isUsingFilePath()); verify(view, times(0)).init(presenter); verify(view, times(0)).initWidgets(any(ValueBoxEditor.View.class), any(IsWidget.class),any(ValueBoxEditor.View.class), any(ValueBoxEditor.View.class), any(ValueBoxEditor.View.class), any(ValueBoxEditor.View.class), any(ValueBoxEditor.View.class)); verify(view, times(1)).showFileURLInput(); verify(view, times(0)).showFilePathInput(); }
@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; }
assertNull(def.getFileURL()); assertEquals(def.getDatePattern(), "MM-dd-yyyy"); assertEquals(def.getNumberPattern(), "#,###.##");
assertNull(def.getFileURL()); assertEquals(def.getDatePattern(), "MM-dd-yyyy"); assertEquals(def.getNumberPattern(), "#,###.##");