diff --git a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/v1/converter/ListWorkflowInstanceConverter.java b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/v1/converter/ListWorkflowInstanceConverter.java index de44ea7d6..8f5eafec2 100644 --- a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/v1/converter/ListWorkflowInstanceConverter.java +++ b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/v1/converter/ListWorkflowInstanceConverter.java @@ -18,6 +18,7 @@ public ListWorkflowInstanceResponse convert(WorkflowInstance instance, QueryWork resp.id = instance.id; resp.type = instance.type; resp.businessKey = instance.businessKey; + resp.externalId = instance.externalId; resp.state = instance.state; resp.stateText = instance.stateText; resp.nextActivation = instance.nextActivation; diff --git a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/v1/msg/ListWorkflowInstanceResponse.java b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/v1/msg/ListWorkflowInstanceResponse.java index e277ed232..e18783760 100644 --- a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/v1/msg/ListWorkflowInstanceResponse.java +++ b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/v1/msg/ListWorkflowInstanceResponse.java @@ -22,6 +22,9 @@ public class ListWorkflowInstanceResponse { @ApiModelProperty(value = "Main business key or identifier for the started workflow instance", required=false) public String businessKey; + @ApiModelProperty(value = "Unique external identifier under workflow type. Generated by nflow if not given.", required=true) + public String externalId; + @ApiModelProperty(value = "State of the workflow instance", required=true) public String state; diff --git a/nflow-rest-api/src/test/java/com/nitorcreations/nflow/rest/v1/converter/ListWorkflowInstanceConverterTest.java b/nflow-rest-api/src/test/java/com/nitorcreations/nflow/rest/v1/converter/ListWorkflowInstanceConverterTest.java index 18c842db5..b205206de 100644 --- a/nflow-rest-api/src/test/java/com/nitorcreations/nflow/rest/v1/converter/ListWorkflowInstanceConverterTest.java +++ b/nflow-rest-api/src/test/java/com/nitorcreations/nflow/rest/v1/converter/ListWorkflowInstanceConverterTest.java @@ -17,7 +17,6 @@ import com.nitorcreations.nflow.engine.workflow.instance.QueryWorkflowInstances; import com.nitorcreations.nflow.engine.workflow.instance.WorkflowInstance; import com.nitorcreations.nflow.engine.workflow.instance.WorkflowInstanceAction; -import com.nitorcreations.nflow.rest.v1.converter.ListWorkflowInstanceConverter; import com.nitorcreations.nflow.rest.v1.msg.Action; import com.nitorcreations.nflow.rest.v1.msg.ListWorkflowInstanceResponse; @@ -36,12 +35,14 @@ public void convertWithActionsWorks() { WorkflowInstanceAction a = new WorkflowInstanceAction.Builder().setState("oState").setStateText("oState desc"). setRetryNo(1).setExecutionStart(now().minusDays(1)).setExecutionEnd(now().plusDays(1)).build(); WorkflowInstance i = new WorkflowInstance.Builder().setId(1).setType("dummy").setBusinessKey("businessKey"). - setState("cState").setStateText("cState desc").setNextActivation(now()).setActions(Arrays.asList(a)).build(); + setExternalId("externalId").setState("cState").setStateText("cState desc").setNextActivation(now()). + setActions(Arrays.asList(a)).build(); ListWorkflowInstanceResponse resp = converter.convert(i, new QueryWorkflowInstances.Builder().setIncludeActions(true).build()); assertThat(resp.id, is(i.id)); assertThat(resp.type, is(i.type)); assertThat(resp.businessKey, is(i.businessKey)); + assertThat(resp.externalId, is(i.externalId)); assertThat(resp.state, is(i.state)); assertThat(resp.stateText, is(i.stateText)); assertThat(resp.nextActivation, is(i.nextActivation)); @@ -54,12 +55,14 @@ public void convertWithoutActionsWorks() { WorkflowInstanceAction a = new WorkflowInstanceAction.Builder().setState("oState").setStateText("oState desc"). setRetryNo(1).setExecutionStart(now().minusDays(1)).setExecutionEnd(now().plusDays(1)).build(); WorkflowInstance i = new WorkflowInstance.Builder().setId(1).setType("dummy").setBusinessKey("businessKey"). - setState("cState").setStateText("cState desc").setNextActivation(now()).setActions(Arrays.asList(a)).build(); + setExternalId("externalId").setState("cState").setStateText("cState desc").setNextActivation(now()) + .setActions(Arrays.asList(a)).build(); ListWorkflowInstanceResponse resp = converter.convert(i, new QueryWorkflowInstances.Builder().build()); assertThat(resp.id, is(i.id)); assertThat(resp.type, is(i.type)); assertThat(resp.businessKey, is(i.businessKey)); + assertThat(resp.externalId, is(i.externalId)); assertThat(resp.state, is(i.state)); assertThat(resp.stateText, is(i.stateText)); assertThat(resp.nextActivation, is(i.nextActivation));