@Test public void noOrderByPresentInDefinitionsSQLTest() { dataSetsBootstrap.registerDataSetDefinitions(); ArgumentCaptor<DataSetDef> argument = ArgumentCaptor.forClass(DataSetDef.class); verify(dataSetDefRegistryMock, times(4)).registerDataSetDef(argument.capture()); List<DataSetDef> dsList = argument.getAllValues(); assertNull(((SQLDataSetDef) dsList.get(0)).getDbSQL()); assertFalse(((SQLDataSetDef) dsList.get(1)).getDbSQL().contains("order by")); assertFalse(((SQLDataSetDef) dsList.get(2)).getDbSQL().contains("order by")); assertFalse(((SQLDataSetDef) dsList.get(3)).getDbSQL().contains("order by")); }
@Test public void columnAliasNotPresentInHumanTaskWithUserDataSet() { dataSetsBootstrap.registerDataSetDefinitions(); ArgumentCaptor<DataSetDef> argument = ArgumentCaptor.forClass(DataSetDef.class); verify(dataSetDefRegistryMock, times(4)).registerDataSetDef(argument.capture()); List<DataSetDef> dsList = argument.getAllValues(); String strSQL = ((SQLDataSetDef) dsList.get(1)).getDbSQL(); String[] columnsStr = strSQL.substring(strSQL.indexOf("select") + 6, strSQL.indexOf("from")).split(","); for (String columnStr : columnsStr) { final String[] split = columnStr.trim().split(" "); assertEquals(1, split.length); } }
@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()); } }
protected List<Column> _getColumns(SQLDataSetDef def, Connection conn) throws Exception { Dialect dialect = JDBCUtils.dialect(conn); if (!StringUtils.isBlank(def.getDbSQL())) { Select query = SQLFactory.select(conn).from(def.getDbSQL()).limit(1); return JDBCUtils.getColumns(logSQL(query).fetch(), dialect.getExcludedColumns()); } else { Select query = SQLFactory.select(conn).from(_createTable(def)).limit(1); return JDBCUtils.getColumns(logSQL(query).fetch(), dialect.getExcludedColumns()); } }
protected List<Column> _getColumns(SQLDataSetDef def, Connection conn) throws Exception { Dialect dialect = JDBCUtils.dialect(conn); if (!StringUtils.isBlank(def.getDbSQL())) { Select query = SQLFactory.select(conn).from(def.getDbSQL()).limit(1); return JDBCUtils.getColumns(logSQL(query).fetch(), dialect.getExcludedColumns()); } else { Select query = SQLFactory.select(conn).from(_createTable(def)).limit(1); return JDBCUtils.getColumns(logSQL(query).fetch(), dialect.getExcludedColumns()); } }
@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; }
@Test public void testHumanTasksWithUserDataSet() { QueryDefinition qd = QueryDefinition.builder().name(HUMAN_TASKS_WITH_USER_DATASET).expression("SELECT *").source("source").target("target").build(); dataSetsBootstrap.registerDataSetDefinitions(new QueryDefinitionLoaded(qd)); ArgumentCaptor<SQLDataSetDef> argument = ArgumentCaptor.forClass(SQLDataSetDef.class); verify(dataSetDefRegistry).registerDataSetDef(argument.capture()); SQLDataSetDef dataSetDef = argument.getValue(); assertEquals(HUMAN_TASKS_WITH_USER_DATASET, dataSetDef.getUUID()); assertEquals("target-" + HUMAN_TASKS_WITH_USER_DATASET, dataSetDef.getName()); assertEquals(KieServerDataSetProvider.TYPE, dataSetDef.getProvider()); assertEquals("SELECT *", dataSetDef.getDbSQL()); assertEquals(21, dataSetDef.getColumns().size()); }
@Test public void testHumanTasksDataSet() { QueryDefinition qd = QueryDefinition.builder().name(DATASET_HUMAN_TASKS).expression("SELECT *").source("source").target("target").build(); dataSetsBootstrap.registerDataSetDefinitions(new QueryDefinitionLoaded(qd)); ArgumentCaptor<SQLDataSetDef> argument = ArgumentCaptor.forClass(SQLDataSetDef.class); verify(dataSetRegistry).registerDataSetDef(argument.capture()); SQLDataSetDef dataSetDef = argument.getValue(); assertEquals(DATASET_HUMAN_TASKS, dataSetDef.getUUID()); assertEquals("target-" + DATASET_HUMAN_TASKS, dataSetDef.getName()); assertEquals(KieServerDataSetProvider.TYPE, dataSetDef.getProvider()); assertEquals("SELECT *", dataSetDef.getDbSQL()); assertEquals(11, dataSetDef.getColumns().size()); } }
@Test public void testErrorListDataSet() { QueryDefinition qd = QueryDefinition.builder().name(EXECUTION_ERROR_LIST_DATASET).expression("SELECT *").source("source").target("target").build(); dataSetsBootstrap.registerDataSetDefinitions(new QueryDefinitionLoaded(qd)); ArgumentCaptor<SQLDataSetDef> argument = ArgumentCaptor.forClass(SQLDataSetDef.class); verify(dataSetDefRegistry).registerDataSetDef(argument.capture()); SQLDataSetDef dataSetDef = argument.getValue(); assertEquals(EXECUTION_ERROR_LIST_DATASET, dataSetDef.getUUID()); assertEquals("target-" + EXECUTION_ERROR_LIST_DATASET, dataSetDef.getName()); assertEquals(KieServerDataSetProvider.TYPE, dataSetDef.getProvider()); assertEquals("SELECT *", dataSetDef.getDbSQL()); assertEquals(13, dataSetDef.getColumns().size()); } }
@Test public void testProcessInstanceWithVariablesDataSet() { QueryDefinition qd = QueryDefinition.builder().name(PROCESS_INSTANCE_WITH_VARIABLES_DATASET).expression("SELECT *").source("source").target("target").build(); dataSetsBootstrap.registerDataSetDefinitions(new QueryDefinitionLoaded(qd)); ArgumentCaptor<SQLDataSetDef> argument = ArgumentCaptor.forClass(SQLDataSetDef.class); verify(dataSetRegistry).registerDataSetDef(argument.capture()); SQLDataSetDef dataSetDef = argument.getValue(); assertEquals(PROCESS_INSTANCE_WITH_VARIABLES_DATASET, dataSetDef.getUUID()); assertEquals("target-" + PROCESS_INSTANCE_WITH_VARIABLES_DATASET, dataSetDef.getName()); assertEquals(KieServerDataSetProvider.TYPE, dataSetDef.getProvider()); assertEquals("SELECT *", dataSetDef.getDbSQL()); assertEquals(5, dataSetDef.getColumns().size()); }
@Test public void testHumanTasksDataSet() { QueryDefinition qd = QueryDefinition.builder().name(HUMAN_TASKS_DATASET).expression("SELECT *").source("source").target("target").build(); dataSetsBootstrap.registerDataSetDefinitions(new QueryDefinitionLoaded(qd)); ArgumentCaptor<SQLDataSetDef> argument = ArgumentCaptor.forClass(SQLDataSetDef.class); verify(dataSetDefRegistry).registerDataSetDef(argument.capture()); SQLDataSetDef dataSetDef = argument.getValue(); assertEquals(HUMAN_TASKS_DATASET, dataSetDef.getUUID()); assertEquals("target-" + HUMAN_TASKS_DATASET, dataSetDef.getName()); assertEquals(KieServerDataSetProvider.TYPE, dataSetDef.getProvider()); assertEquals("SELECT *", dataSetDef.getDbSQL()); assertEquals(19, dataSetDef.getColumns().size()); }
@Test public void testHumanTasksWithUserDataSet() { QueryDefinition qd = QueryDefinition.builder().name(HUMAN_TASKS_WITH_USER_DATASET).expression("SELECT *").source("source").target("target").build(); dataSetsBootstrap.registerDataSetDefinitions(new QueryDefinitionLoaded(qd)); ArgumentCaptor<SQLDataSetDef> argument = ArgumentCaptor.forClass(SQLDataSetDef.class); verify(dataSetDefRegistry).registerDataSetDef(argument.capture()); SQLDataSetDef dataSetDef = argument.getValue(); assertEquals(HUMAN_TASKS_WITH_USER_DATASET, dataSetDef.getUUID()); assertEquals("target-" + HUMAN_TASKS_WITH_USER_DATASET, dataSetDef.getName()); assertEquals(KieServerDataSetProvider.TYPE, dataSetDef.getProvider()); assertEquals("SELECT *", dataSetDef.getDbSQL()); assertEquals(21, dataSetDef.getColumns().size()); }
@Test public void testProcessInstancesDataSet() { QueryDefinition qd = QueryDefinition.builder().name(DATASET_PROCESS_INSTANCES).expression("SELECT *").source("source").target("target").build(); dataSetsBootstrap.registerDataSetDefinitions(new QueryDefinitionLoaded(qd)); ArgumentCaptor<SQLDataSetDef> argument = ArgumentCaptor.forClass(SQLDataSetDef.class); verify(dataSetRegistry).registerDataSetDef(argument.capture()); SQLDataSetDef dataSetDef = argument.getValue(); assertEquals(DATASET_PROCESS_INSTANCES, dataSetDef.getUUID()); assertEquals("target-" + DATASET_PROCESS_INSTANCES, dataSetDef.getName()); assertEquals(KieServerDataSetProvider.TYPE, dataSetDef.getProvider()); assertEquals("SELECT *", dataSetDef.getDbSQL()); assertEquals(10, dataSetDef.getColumns().size()); }
@Test public void testHumanTasksDataSet() { QueryDefinition qd = QueryDefinition.builder().name(HUMAN_TASKS_DATASET).expression("SELECT *").source("source").target("target").build(); dataSetsBootstrap.registerDataSetDefinitions(new QueryDefinitionLoaded(qd)); ArgumentCaptor<SQLDataSetDef> argument = ArgumentCaptor.forClass(SQLDataSetDef.class); verify(dataSetDefRegistry).registerDataSetDef(argument.capture()); SQLDataSetDef dataSetDef = argument.getValue(); assertEquals(HUMAN_TASKS_DATASET, dataSetDef.getUUID()); assertEquals("target-" + HUMAN_TASKS_DATASET, dataSetDef.getName()); assertEquals(KieServerDataSetProvider.TYPE, dataSetDef.getProvider()); assertEquals("SELECT *", dataSetDef.getDbSQL()); assertEquals(19, dataSetDef.getColumns().size()); }
@Test public void testHumanTasksWithAdminDataSet() { QueryDefinition qd = QueryDefinition.builder().name(HUMAN_TASKS_WITH_ADMIN_DATASET).expression("SELECT *").source("source").target("target").build(); dataSetsBootstrap.registerDataSetDefinitions(new QueryDefinitionLoaded(qd)); ArgumentCaptor<SQLDataSetDef> argument = ArgumentCaptor.forClass(SQLDataSetDef.class); verify(dataSetDefRegistry).registerDataSetDef(argument.capture()); SQLDataSetDef dataSetDef = argument.getValue(); assertEquals(HUMAN_TASKS_WITH_ADMIN_DATASET, dataSetDef.getUUID()); assertEquals("target-" + HUMAN_TASKS_WITH_ADMIN_DATASET, dataSetDef.getName()); assertEquals(KieServerDataSetProvider.TYPE, dataSetDef.getProvider()); assertEquals("SELECT *", dataSetDef.getDbSQL()); assertEquals(21, dataSetDef.getColumns().size()); }
@Test public void testRequestListDataSet() { QueryDefinition qd = QueryDefinition.builder().name(REQUEST_LIST_DATASET).expression("SELECT *").source("source").target("target").build(); dataSetsBootstrap.registerDataSetDefinitions(new QueryDefinitionLoaded(qd)); ArgumentCaptor<SQLDataSetDef> argument = ArgumentCaptor.forClass(SQLDataSetDef.class); verify(dataSetDefRegistry).registerDataSetDef(argument.capture()); SQLDataSetDef dataSetDef = argument.getValue(); assertEquals(REQUEST_LIST_DATASET, dataSetDef.getUUID()); assertEquals("target-" + REQUEST_LIST_DATASET, dataSetDef.getName()); assertEquals(KieServerDataSetProvider.TYPE, dataSetDef.getProvider()); assertEquals("SELECT *", dataSetDef.getDbSQL()); assertEquals(12, dataSetDef.getColumns().size()); }