提交 970fed72 编写于 作者: M martin.grofcik

ACT-1479 fix

ACT-1749 Impossible to remove identity-links from create-listener
http://jira.codehaus.org/browse/ACT-1749
上级 7d116f82
......@@ -298,7 +298,7 @@ public class TaskEntity extends VariableScopeImpl implements Task, DelegateTask,
List<IdentityLinkEntity> removedIdentityLinkEntities = new ArrayList<IdentityLinkEntity>();
for (IdentityLinkEntity identityLinkEntity : this.getIdentityLinks()) {
if (IdentityLinkType.CANDIDATE.equals(identityLinkEntity.getType())) {
if ((userId != null && identityLinkEntity.getUserId().equals(userId))
if ((userId != null && userId.equals(identityLinkEntity.getUserId()))
|| (groupId != null && identityLinkEntity.getGroupId().equals(groupId))) {
Context
.getCommandContext()
......
......@@ -213,5 +213,32 @@ public class TaskIdentityLinksTest extends PluggableActivitiTestCase {
assertEquals("user", identityLink.getUserId());
}
@Deployment(resources = "org/activiti/engine/test/api/task/IdentityLinksProcess.bpmn20.xml")
public void testEmptyCandidateUserLink() {
runtimeService.startProcessInstanceByKey("IdentityLinksProcess");
String taskId = taskService
.createTaskQuery()
.singleResult()
.getId();
taskService.addCandidateGroup(taskId, "muppets");
taskService.deleteCandidateUser(taskId, "kermit");
List<IdentityLink> identityLinks = taskService.getIdentityLinksForTask(taskId);
assertNotNull(identityLinks);
assertEquals( 1, identityLinks.size());
IdentityLink identityLink = identityLinks.get(0);
assertEquals("muppets", identityLink.getGroupId());
assertEquals(null, identityLink.getUserId());
assertEquals(IdentityLinkType.CANDIDATE, identityLink.getType());
assertEquals(taskId, identityLink.getTaskId());
taskService.deleteCandidateGroup(taskId, "muppets");
assertEquals(0, taskService.getIdentityLinksForTask(taskId).size());
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册