diff --git a/CHANGELOG.md b/CHANGELOG.md index 32fd5e2e4..4bea78cc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,17 +2,23 @@ **Highlights** - `nflow-explorer` - - Sortable workflow definitions and instance search result table + - Sortable workflow definitions, workflow instance search result and executors tables - Persist workflow instance query parameters to URL + - Support wildcard characters when searching workflow instances by business key or external id **Details** - `nflow-jetty` - Dependency updates: - jetty 9.4.38.v20210224 - `nflow-explorer` + - Added missing `executing` status to workflow instance search criteria + - Included child workflows when auto-refreshing workflow instance actions table + - Added more child workflow details to workflow instance actions - Dependency updates: - urijs 1.19.6 - is-svg 4.3.1 +- `nflow-engine` + - Support SQL wildcards in workflow instance queries by business key or external id ## 7.2.4 (2021-02-25) diff --git a/nflow-engine/src/main/java/io/nflow/engine/internal/dao/WorkflowInstanceDao.java b/nflow-engine/src/main/java/io/nflow/engine/internal/dao/WorkflowInstanceDao.java index cf63c78d9..d9f487144 100644 --- a/nflow-engine/src/main/java/io/nflow/engine/internal/dao/WorkflowInstanceDao.java +++ b/nflow-engine/src/main/java/io/nflow/engine/internal/dao/WorkflowInstanceDao.java @@ -659,11 +659,11 @@ public Stream queryWorkflowInstancesAsStream(QueryWorkflowInst params.addValue("statuses", convertedStatuses); } if (query.businessKey != null) { - conditions.add("business_key = :business_key"); + conditions.add("business_key like :business_key"); params.addValue("business_key", query.businessKey); } if (query.externalId != null) { - conditions.add("external_id = :external_id"); + conditions.add("external_id like :external_id"); params.addValue("external_id", query.externalId); } conditions.add("executor_group = :executor_group"); diff --git a/nflow-explorer/src/app/components/constants.js b/nflow-explorer/src/app/components/constants.js index 65e0d76a6..3ea056c47 100644 --- a/nflow-explorer/src/app/components/constants.js +++ b/nflow-explorer/src/app/components/constants.js @@ -15,6 +15,7 @@ CREATED: 'created', IN_PROGRESS: 'inProgress', FINISHED: 'finished', - MANUAL: 'manual' + MANUAL: 'manual', + EXECUTING: 'executing' }); })(); diff --git a/nflow-explorer/src/app/executors/executorTable.html b/nflow-explorer/src/app/executors/executorTable.html index d3d232115..b849d52ef 100644 --- a/nflow-explorer/src/app/executors/executorTable.html +++ b/nflow-explorer/src/app/executors/executorTable.html @@ -1,30 +1,30 @@

Workflow executors

- +
- - - - - - - - - - + + + + + + + + + + - - - - - - - - - - + + + + + + + + + +
IdHostProcess IDExecutor groupStartedStoppedActivity heartbeatHeartbeat expires
IdHostProcess IDExecutor groupStartedStoppedActivity heartbeatHeartbeat expires
{{executor.id}}{{executor.host}}{{executor.pid}}{{executor.executorGroup}}{{executor.started | fromNow}}{{executor.stopped | fromNow}}{{executor.active | fromNow}}{{executor.expires | fromNow}}
{{executor.id}}{{executor.host}}{{executor.pid}}{{executor.executorGroup}}{{executor.started | fromNow}}{{executor.stopped | fromNow}}{{executor.active | fromNow}}{{executor.expires | fromNow}}
diff --git a/nflow-explorer/src/app/search/searchForm.html b/nflow-explorer/src/app/search/searchForm.html index 06fa2cd14..dddfdf693 100644 --- a/nflow-explorer/src/app/search/searchForm.html +++ b/nflow-explorer/src/app/search/searchForm.html @@ -22,11 +22,11 @@
-
+
-
+
diff --git a/nflow-explorer/src/app/search/searchForm.js b/nflow-explorer/src/app/search/searchForm.js index ca78631c1..f2e37e09c 100644 --- a/nflow-explorer/src/app/search/searchForm.js +++ b/nflow-explorer/src/app/search/searchForm.js @@ -30,6 +30,7 @@ self.search = navigateSearch; self.executeSearch = executeSearch; self.onTypeChange = CriteriaModel.onDefinitionChange; + self.wildCardTooltip = 'Use % to replace many characters and _ to replace a single character'; initialize(); diff --git a/nflow-explorer/src/app/workflow/tabs/actionHistory.html b/nflow-explorer/src/app/workflow/tabs/actionHistory.html index 2459eb915..13cdb3e81 100644 --- a/nflow-explorer/src/app/workflow/tabs/actionHistory.html +++ b/nflow-explorer/src/app/workflow/tabs/actionHistory.html @@ -28,7 +28,12 @@
Child workflows
diff --git a/nflow-explorer/src/app/workflow/workflow.js b/nflow-explorer/src/app/workflow/workflow.js index def67d526..d017b6009 100644 --- a/nflow-explorer/src/app/workflow/workflow.js +++ b/nflow-explorer/src/app/workflow/workflow.js @@ -19,7 +19,10 @@ function reloadWorkflow(workflowId) { console.log('Fetching workflow id ' + workflowId); WorkflowService.get(workflowId).then(function(workflow) { - self.workflow = workflow; + WorkflowService.query({parentWorkflowId: workflow.id}).then(function(childWorkflows) { + self.workflow = workflow; + self.childWorkflows = childWorkflows; + }); }); } self.poller = $interval(function() { reloadWorkflow(self.workflow.id); }, diff --git a/nflow-explorer/test/spec/search/searchForm.js b/nflow-explorer/test/spec/search/searchForm.js index 66259f739..63f292eed 100644 --- a/nflow-explorer/test/spec/search/searchForm.js +++ b/nflow-explorer/test/spec/search/searchForm.js @@ -40,7 +40,7 @@ describe('Directive: searchForm', function () { }); it('sets instance statuses into view model', function () { - expect(getCtrl(WorkflowService).instanceStatuses).toEqual([ 'created', 'inProgress', 'finished', 'manual' ]); + expect(getCtrl(WorkflowService).instanceStatuses).toEqual([ 'created', 'inProgress', 'finished', 'manual', 'executing' ]); }); it('with empty criteria does not trigger search', function () {