Skip to content

Commit

Permalink
Merge pull request Activiti#1057 from jtulley/process-instance-id-in-…
Browse files Browse the repository at this point in the history
…rest

add processInstanceIdIn capability to taskQuery rest calls
  • Loading branch information
vasiledirla authored Oct 27, 2016
2 parents ff88f2a + 5c0c385 commit 4ba00ac
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,9 @@ protected DataResponse getTasksFromQueryRequest(TaskQueryRequest request,
if (request.getProcessInstanceId() != null) {
taskQuery.processInstanceId(request.getProcessInstanceId());
}
if (request.getProcessInstanceIdIn() != null) {
taskQuery.processInstanceIdIn(request.getProcessInstanceIdIn());
}
if (request.getProcessInstanceBusinessKey() != null) {
taskQuery.processInstanceBusinessKey(request.getProcessInstanceBusinessKey());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
package org.activiti.rest.service.api.runtime.task;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;

Expand Down Expand Up @@ -139,7 +140,13 @@ public DataResponse getTasks(@RequestParam Map<String, String> requestParams, Ht
if (requestParams.containsKey("processInstanceId")) {
request.setProcessInstanceId(requestParams.get("processInstanceId"));
}


if (requestParams.containsKey("processInstanceIdIn")) {
String[] processInstanceIds = requestParams.get("processInstanceIdIn").split(",");
List<String> ids = Arrays.asList(processInstanceIds);
request.setProcessInstanceIdIn(ids);
}

if (requestParams.containsKey("processInstanceBusinessKey")) {
request.setProcessInstanceBusinessKey(requestParams.get("processInstanceBusinessKey"));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ public class TaskQueryRequest extends PaginateRequest {
private String processInstanceId;
private String processInstanceBusinessKey;
private String processInstanceBusinessKeyLike;
private List<String> processInstanceIdIn;
private String processDefinitionId;
private String processDefinitionKey;
private String processDefinitionName;
Expand Down Expand Up @@ -219,7 +220,15 @@ public String getProcessInstanceId() {
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}


public List<String> getProcessInstanceIdIn() {
return processInstanceIdIn;
}

public void setProcessInstanceIdIn(List<String> processInstanceIdIn) {
this.processInstanceIdIn = processInstanceIdIn;
}

public String getProcessInstanceBusinessKey() {
return processInstanceBusinessKey;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,11 @@ public void testGetTasks() throws Exception {
// Process instance filtering
url = RestUrls.createRelativeResourceUrl(RestUrls.URL_TASK_COLLECTION) + "?processInstanceId=" + processInstance.getId();
assertResultsPresentInDataResponse(url, processTask.getId());


// Process instance id in list filtering
url = RestUrls.createRelativeResourceUrl(RestUrls.URL_TASK_COLLECTION) + "?processInstanceIdIn=" + adhocTask.getId() + "," + processInstance.getId();
assertResultsPresentInDataResponse(url, processTask.getId());

// Execution filtering
url = RestUrls.createRelativeResourceUrl(RestUrls.URL_TASK_COLLECTION) + "?executionId=" + processInstance.getId();
assertResultsPresentInDataResponse(url, processTask.getId());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,15 @@ public void testQueryTasks() throws Exception {
requestNode.put("processInstanceId", processInstance.getId());
assertResultsPresentInPostDataResponse(url, requestNode, processTask.getId());

// Process instance id in filtering
requestNode.removeAll();

arrayNode = requestNode.arrayNode();
arrayNode.add(processInstance.getId());

requestNode.put("processInstanceIdIn", arrayNode);
assertResultsPresentInPostDataResponse(url, requestNode, processTask.getId());

// Execution filtering
requestNode.removeAll();
requestNode.put("executionId", processInstance.getId());
Expand Down

0 comments on commit 4ba00ac

Please sign in to comment.