private void doSetOriginalColumnType(final String cId, final DataColumnDefEditor editor) { final int _index = getAvailableColumnIndex(cId); final DataColumnDef originalCol = acceptableColumns.get(_index); if (originalCol != null) { editor.setOriginalColumnType(originalCol.getColumnType()); } }
private void doSetOriginalColumnType(final String cId, final DataColumnDefEditor editor) { final int _index = getAvailableColumnIndex(cId); final DataColumnDef originalCol = acceptableColumns.get(_index); if (originalCol != null) { editor.setOriginalColumnType(originalCol.getColumnType()); } }
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; }
@Override public DataSetMetadata getDataSetMetadata(DataSetDef def) throws Exception { List<String> columnNames = new ArrayList<>(); List<ColumnType> columnTypes = new ArrayList<>(); List<DataColumnDef> columns = def.getColumns(); for (DataColumnDef column : columns) { columnNames.add(column.getId()); columnTypes.add(column.getColumnType()); } return new DataSetMetadataImpl(def, def.getUUID(), -1, def.getColumns().size(), columnNames, columnTypes, -1); }
private List<DataColumnDef> buildAcceptableValues() { final DataColumnDef col1 = mock(DataColumnDef.class); when(col1.getId()).thenReturn("col1"); when(col1.getColumnType()).thenReturn(ColumnType.LABEL); final List<DataColumnDef> acceptableValues = new ArrayList<DataColumnDef>(); acceptableValues.add(col1); return acceptableValues; }
protected ColumnType getGroupFunctionColumnType(final DataSetDef def, final ColumnGroup columnGroup, final GroupFunction groupFunction) { ColumnType type = def.getColumnById(groupFunction.getColumnId()).getColumnType(); if(type != ColumnType.DATE || columnGroup == null || groupFunction == null){ return type; } else { return columnGroup.getSourceId().equals(groupFunction.getSourceId()) ? ColumnType.LABEL : type; } } }
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; } } }
@Test public void testSetValue() { final DataColumnDef col1 = mock(DataColumnDef.class); when(col1.getId()).thenReturn("col1"); when(col1.getColumnType()).thenReturn(ColumnType.LABEL); presenter.setValue(col1); verify(columnType, times(1)).setEntries(any(Collection.class)); verify(columnType, times(0)).isEditMode(anyBoolean()); verify(columnType, times(1)).setHelpContent(anyString(), anyString(), any(Placement.class)); verify(columnType, times(0)).setImageSize(anyString(), anyString()); }
protected JsonArray toJsonObject(final Collection<DataColumnDef> columnList, final DataSetDef dataSetDef) throws JsonException { JsonArray result = null; if (columnList != null && !columnList.isEmpty()) { result = Json.createArray(); int idx = 0; for (final DataColumnDef column : columnList) { final String id = column.getId(); final ColumnType type = column.getColumnType(); final JsonObject columnObject = Json.createObject(); columnObject.put(COLUMN_ID, id); columnObject.put(COLUMN_TYPE, type.name().toLowerCase()); String pattern = dataSetDef.getPattern(id); if (pattern != null && pattern.trim().length() > 0) { columnObject.put(COLUMN_PATTERN, pattern); } result.set(idx++, columnObject); } } return result; }
protected JsonArray toJsonObject(final Collection<DataColumnDef> columnList, final DataSetDef dataSetDef) throws JsonException { JsonArray result = null; if (columnList != null && !columnList.isEmpty()) { result = Json.createArray(); int idx = 0; for (final DataColumnDef column : columnList) { final String id = column.getId(); final ColumnType type = column.getColumnType(); final JsonObject columnObject = Json.createObject(); columnObject.put(COLUMN_ID, id); columnObject.put(COLUMN_TYPE, type.name().toLowerCase()); String pattern = dataSetDef.getPattern(id); if (pattern != null && pattern.trim().length() > 0) { columnObject.put(COLUMN_PATTERN, pattern); } result.set(idx++, columnObject); } } return result; }
@Override public void setValue(final DataColumnDef value) { final ColumnType ct = originalColumnType != null ? originalColumnType : (value != null ? value.getColumnType() : null); String columnTypeDescr = getColumnTypeDescription(ct); final Collection<ImageListEditor<ColumnType>.Entry> acceptableEntries = getAcceptableEntries(ct); columnType.setEntries(acceptableEntries); columnType.setHelpContent(DataSetEditorConstants.INSTANCE.attributeColumnType(), columnTypeDescr, Placement.RIGHT); }
@Override public void setValue(final DataColumnDef value) { final ColumnType ct = originalColumnType != null ? originalColumnType : (value != null ? value.getColumnType() : null); String columnTypeDescr = getColumnTypeDescription(ct); final Collection<ImageListEditor<ColumnType>.Entry> acceptableEntries = getAcceptableEntries(ct); columnType.setEntries(acceptableEntries); columnType.setHelpContent(DataSetEditorConstants.INSTANCE.attributeColumnType(), columnTypeDescr, Placement.RIGHT); }
/** * Column editor editMode set to true, as more than one column present in the dset definition, so it can be selected/unselected. */ @Test public void testOnValueUnRestricted() { final String value = "col1"; presenter.restrictedColumns.add("col1"); final DataColumnDef col2 = mock(DataColumnDef.class); when(col2.getId()).thenReturn("col2"); when(col2.getColumnType()).thenReturn(ColumnType.LABEL); presenter.listEditor.getList().add(col2); presenter.onValueUnRestricted(value); assertTrue(presenter.restrictedColumns.isEmpty()); verify(dataColumnDefEditor, times(1)).isEditMode(true); verify(view, times(1)).insert(anyInt(), any(DataColumnDefEditor.View.class), anyBoolean(), anyBoolean(), anyString()); verify(view, times(1)).remove(anyInt()); verify(view, times(0)).init(presenter); verify(view, times(0)).clear(); }
/** * Column editor created with editMode set to true, as more than one column present in the dset definition. First column enabled too, as it was disabled as was the unique one before this creation. */ @Test public void testDataColumnDefEditorSource_CreateMultiple() { final DataColumnDef col2 = mock(DataColumnDef.class); when(col2.getId()).thenReturn("col2"); when(col2.getColumnType()).thenReturn(ColumnType.LABEL); presenter.acceptableColumns.add(col2); presenter.listEditor.getList().add(col2); presenter.restrictedColumns.clear(); ColumnListEditor.DataColumnDefEditorSource source = presenter.createDataColumnDefEditorSource(); org.dashbuilder.dataset.client.editor.DataColumnDefEditor e = source.create(0); verify(dataColumnDefEditor, times(2)).isEditMode(true); verify(dataColumnDefEditor, times(1)).setOriginalColumnType(any(ColumnType.class)); verify(dataColumnDefEditor, times(1)).setProviderType(any(DataSetProviderType.class)); verify(view, times(2)).insert(anyInt(), any(DataColumnDefEditor.View.class), anyBoolean(), anyBoolean(), anyString()); verify(view, times(2)).remove(anyInt()); verify(view, times(0)).init(presenter); verify(view, times(0)).clear(); }
@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); } }
/** * See https://issues.jboss.org/browse/DASHBUILDE-79 */ @Test public void testDataColumnDefEditorSource_Create_DASHBUILDE79_A() { final DataColumnDef col2 = mock(DataColumnDef.class); when(col2.getId()).thenReturn("col2"); when(col2.getColumnType()).thenReturn(ColumnType.LABEL); presenter.acceptableColumns.add(col2); presenter.listEditor.getList().add(col2); presenter.listEditor.getEditors().clear(); presenter.restrictedColumns.clear(); ColumnListEditor.DataColumnDefEditorSource source = presenter.createDataColumnDefEditorSource(); org.dashbuilder.dataset.client.editor.DataColumnDefEditor e = source.create(0); verify(dataColumnDefEditor, times(1)).isEditMode(true); verify(dataColumnDefEditor, times(1)).setOriginalColumnType(any(ColumnType.class)); verify(dataColumnDefEditor, times(1)).setProviderType(any(DataSetProviderType.class)); verify(view, times(1)).insert(anyInt(), any(DataColumnDefEditor.View.class), anyBoolean(), anyBoolean(), anyString()); verify(view, times(1)).remove(anyInt()); verify(view, times(0)).init(presenter); verify(view, times(0)).clear(); }
@Test public void testColumns() throws Exception { String json = getFileAsString(EXPENSES_DEF_PATH); DataSetDef def = jsonMarshaller.fromJson(json); assertEquals(def.getColumns().size(), 6); DataColumnDef column1 = def.getColumnById("EXPENSES_ID"); DataColumnDef column2 = def.getColumnById("DEPARTMENT"); DataColumnDef column3 = def.getColumnById("AMOUNT"); DataColumnDef column4 = def.getColumnById("CREATION_DATE"); DataColumnDef column5 = def.getColumnById("EMPLOYEE"); DataColumnDef column6 = def.getColumnById("CITY"); assertNotNull(column1); assertNotNull(column2); assertNotNull(column3); assertNotNull(column4); assertNotNull(column5); assertNotNull(column6); assertEquals(column1.getColumnType(), ColumnType.NUMBER); assertEquals(column2.getColumnType(), ColumnType.LABEL); assertEquals(column3.getColumnType(), ColumnType.NUMBER); assertEquals(column4.getColumnType(), ColumnType.DATE); assertEquals(column5.getColumnType(), ColumnType.LABEL); assertEquals(column6.getColumnType(), ColumnType.LABEL); }
@Test public void testColumns() throws Exception { String json = getFileAsString(EXPENSES_DEF_PATH); DataSetDef def = jsonMarshaller.fromJson(json); assertEquals(def.getColumns().size(), 6); DataColumnDef column1 = def.getColumnById("EXPENSES_ID"); DataColumnDef column2 = def.getColumnById("DEPARTMENT"); DataColumnDef column3 = def.getColumnById("AMOUNT"); DataColumnDef column4 = def.getColumnById("CREATION_DATE"); DataColumnDef column5 = def.getColumnById("EMPLOYEE"); DataColumnDef column6 = def.getColumnById("CITY"); assertNotNull(column1); assertNotNull(column2); assertNotNull(column3); assertNotNull(column4); assertNotNull(column5); assertNotNull(column6); assertEquals(column1.getColumnType(), ColumnType.NUMBER); assertEquals(column2.getColumnType(), ColumnType.LABEL); assertEquals(column3.getColumnType(), ColumnType.NUMBER); assertEquals(column4.getColumnType(), ColumnType.DATE); assertEquals(column5.getColumnType(), ColumnType.LABEL); assertEquals(column6.getColumnType(), ColumnType.LABEL); }
@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); } }