protected Table _createTable(SQLDataSetDef def) { if (StringUtils.isBlank(def.getDbSchema())) return SQLFactory.table(def.getDbTable()); else return SQLFactory.table(def.getDbSchema(), def.getDbTable()); }
@Override public void setValue(final SQLDataSetDef value) { if (value != null && value.getDbTable() != null) { onSelectTable(); } else { onSelectQuery(); } }
protected Table _createTable(SQLDataSetDef def) { if (StringUtils.isBlank(def.getDbSchema())) return SQLFactory.table(def.getDbTable()); else return SQLFactory.table(def.getDbSchema(), def.getDbTable()); }
@Override public void setValue(final SQLDataSetDef value) { if (value != null && value.getDbTable() != null) { onSelectTable(); } else { onSelectQuery(); } }
@Test public void testSetValueUsingQuery() { final SQLDataSetDef dataSetDef = mock(SQLDataSetDef.class); when(dataSetDef.getUUID()).thenReturn("uuid1"); when(dataSetDef.getName()).thenReturn("name1"); when(dataSetDef.getProvider()).thenReturn(DataSetProviderType.SQL); when(dataSetDef.getDbTable()).thenReturn(null); when(dataSetDef.getDbSQL()).thenReturn("query1"); presenter.setValue(dataSetDef); assertEquals(true, presenter.isUsingQuery()); verify(view, times(1)).query(); verify(view, times(0)).init(presenter); verify(view, times(0)).initWidgets(any(DropDownEditor.View.class), any(ValueBoxEditor.View.class), any(ValueBoxEditor.View.class) ,any(ValueBoxEditor.View.class)); verify(dataSource, times(0)).addHelpContent(anyString(), anyString(), any(Placement.class)); verify(dbSchema, times(0)).addHelpContent(anyString(), anyString(), any(Placement.class)); verify(dbTable, times(0)).addHelpContent(anyString(), anyString(), any(Placement.class)); verify(dbSQL, times(0)).addHelpContent(anyString(), anyString(), any(Placement.class)); verify(view, times(0)).table(); }
@Test public void testSetValueUsingTable() { final SQLDataSetDef dataSetDef = mock(SQLDataSetDef.class); when(dataSetDef.getUUID()).thenReturn("uuid1"); when(dataSetDef.getName()).thenReturn("name1"); when(dataSetDef.getProvider()).thenReturn(DataSetProviderType.SQL); when(dataSetDef.getDbTable()).thenReturn("table1"); when(dataSetDef.getDbSQL()).thenReturn(null); presenter.setValue(dataSetDef); assertEquals(false, presenter.isUsingQuery()); verify(view, times(1)).table(); verify(view, times(0)).init(presenter); verify(view, times(0)).initWidgets(any(DropDownEditor.View.class), any(ValueBoxEditor.View.class), any(ValueBoxEditor.View.class) ,any(ValueBoxEditor.View.class)); verify(dataSource, times(0)).addHelpContent(anyString(), anyString(), any(Placement.class)); verify(dbSchema, times(0)).addHelpContent(anyString(), anyString(), any(Placement.class)); verify(dbTable, times(0)).addHelpContent(anyString(), anyString(), any(Placement.class)); verify(dbSQL, times(0)).addHelpContent(anyString(), anyString(), any(Placement.class)); verify(view, times(0)).query(); }
@Override public void toJson(SQLDataSetDef dataSetDef, JsonObject json) { // Data source. json.put(DATA_SOURCE, dataSetDef.getDataSource()); // Schema. json.put(DB_SCHEMA, dataSetDef.getDbSchema()); // Table. if (dataSetDef.getDbTable() != null) { json.put(DB_TABLE, dataSetDef.getDbTable()); } // Query. if (dataSetDef.getDbSQL() != null) { json.put(DB_SQL, dataSetDef.getDbSQL()); } // All columns flag. json.put(ALL_COLUMNS, dataSetDef.isAllColumnsEnabled()); } }
@Override public void toJson(SQLDataSetDef dataSetDef, JsonObject json) { // Data source. json.put(DATA_SOURCE, dataSetDef.getDataSource()); // Schema. json.put(DB_SCHEMA, dataSetDef.getDbSchema()); // Table. if (dataSetDef.getDbTable() != null) { json.put(DB_TABLE, dataSetDef.getDbTable()); } // Query. if (dataSetDef.getDbSQL() != null) { json.put(DB_SQL, dataSetDef.getDbSQL()); } // All columns flag. json.put(ALL_COLUMNS, dataSetDef.isAllColumnsEnabled()); } }
@Override public DataSetDef clone() { SQLDataSetDef def = new SQLDataSetDef(); clone(def); def.setDataSource(getDataSource()); def.setDbSchema(getDbSchema()); def.setDbTable(getDbTable()); def.setDbSQL(getDbSQL()); return def; }
@Override public DataSetDef clone() { SQLDataSetDef def = new SQLDataSetDef(); clone(def); def.setDataSource(getDataSource()); def.setDbSchema(getDbSchema()); def.setDbTable(getDbTable()); def.setDbSQL(getDbSQL()); return def; }
throw new IllegalArgumentException("Missing data source in SQL data set definition: " + sqlDef); if (StringUtils.isBlank(sqlDef.getDbSQL()) && StringUtils.isBlank(sqlDef.getDbTable())) { throw new IllegalArgumentException("Missing DB table or SQL in the data set definition: " + sqlDef);
throw new IllegalArgumentException("Missing data source in SQL data set definition: " + sqlDef); if (StringUtils.isBlank(sqlDef.getDbSQL()) && StringUtils.isBlank(sqlDef.getDbTable())) { throw new IllegalArgumentException("Missing DB table or SQL in the data set definition: " + sqlDef);
private void verifyDataSetDef(DataSetDef dataSetDef) { assertEquals(DATASOURCE_UUID + SEPARATOR + SCHEMA + SEPARATOR + TABLE, dataSetDef.getUUID()); assertEquals(SCHEMA + "." + TABLE, dataSetDef.getName()); assertEquals(DATASOURCE_UUID, ((SQLDataSetDef) dataSetDef).getDataSource()); assertEquals(SCHEMA, ((SQLDataSetDef) dataSetDef).getDbSchema()); assertEquals(TABLE, ((SQLDataSetDef) dataSetDef).getDbTable()); }