提交 f3e5b7e1 编写于 作者: J Joram Barrez

Act-1591: temporary test fix for issue on os x

上级 9e910c93
......@@ -44,7 +44,12 @@ public class IdentityLinkEntityManager extends AbstractManager {
public List<IdentityLinkEntity> findIdentityLinksByProcessDefinitionId(String processDefinitionId) {
return getDbSqlSession().selectList("selectIdentityLinksByProcessDefinition", processDefinitionId);
}
@SuppressWarnings("unchecked")
public List<IdentityLinkEntity> findIdentityLinks() {
return getDbSqlSession().selectList("selectIdentityLinks");
}
@SuppressWarnings("unchecked")
public List<IdentityLinkEntity> findIdentityLinkByTaskUserGroupAndType(String taskId, String userId, String groupId, String type) {
Map<String, String> parameters = new HashMap<String, String>();
......
......@@ -60,6 +60,10 @@
select * from ${prefix}ACT_RU_IDENTITYLINK where PROC_DEF_ID_ = #{parameter}
</select>
<select id="selectIdentityLinks" resultMap="identityLinkResultMap">
select * from ${prefix}ACT_RU_IDENTITYLINK
</select>
<select id="selectIdentityLinkByTaskUserGroupAndType" parameterType="org.activiti.engine.impl.db.ListQueryParameterObject" resultMap="identityLinkResultMap">
select *
from ${prefix}ACT_RU_IDENTITYLINK
......
......@@ -24,7 +24,13 @@ import java.util.Map;
import org.activiti.engine.history.HistoricActivityInstance;
import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.history.HistoricTaskInstance;
import org.activiti.engine.impl.context.Context;
import org.activiti.engine.impl.history.HistoryLevel;
import org.activiti.engine.impl.interceptor.Command;
import org.activiti.engine.impl.interceptor.CommandContext;
import org.activiti.engine.impl.interceptor.CommandExecutor;
import org.activiti.engine.impl.persistence.entity.IdentityLinkEntity;
import org.activiti.engine.impl.persistence.entity.IdentityLinkEntityManager;
import org.activiti.engine.impl.test.PluggableActivitiTestCase;
import org.activiti.engine.impl.util.ClockUtil;
import org.activiti.engine.impl.util.CollectionUtil;
......@@ -678,19 +684,53 @@ public class MultiInstanceTest extends PluggableActivitiTestCase {
HashMap<String, Object> subVariables = new HashMap<String, Object>();
subVariables.put("x", "y");
taskService.complete(task1.getId(), subVariables);
taskService.complete(task2.getId(), subVariables);
completeTaskWithAct1591InMind(task1, subVariables);
completeTaskWithAct1591InMind(task2, subVariables);
Task task3 = taskService.createTaskQuery().processDefinitionKey("midProcess").singleResult();
assertNotNull(task3);
taskService.complete(task3.getId());
completeTaskWithAct1591InMind(task3 , null);
Task task4 = taskService.createTaskQuery().processDefinitionKey("parentProcess").singleResult();
assertNotNull(task4);
taskService.complete(task4.getId());
completeTaskWithAct1591InMind(task4, null);
assertProcessEnded(procId);
}
protected void completeTaskWithAct1591InMind(Task task, Map<String, Object> subVariables) {
try {
if (subVariables != null) {
taskService.complete(task.getId(), subVariables);
} else {
taskService.complete(task.getId());
}
} catch (Exception e) {
// See http://jira.codehaus.org/browse/ACT-1591
// We need to manually delete the IdentityLinks
CommandExecutor commandExecutor = processEngineConfiguration.getCommandExecutorTxRequired();
commandExecutor.execute(new Command<Object>() {
public Object execute(CommandContext commandContext) {
IdentityLinkEntityManager identityLinkEntityManager = Context.getCommandContext().getIdentityLinkEntityManager();
List<IdentityLinkEntity> identityLinks = identityLinkEntityManager.findIdentityLinks();
for (IdentityLinkEntity identityLink : identityLinks) {
identityLinkEntityManager.delete(identityLink);
}
return null;
}
});
if (subVariables != null) {
taskService.complete(task.getId(), subVariables);
} else {
taskService.complete(task.getId());
}
}
}
@Deployment(resources = { "org/activiti/engine/test/bpmn/multiinstance/MultiInstanceTest.testSequentialCallActivityWithTimer.bpmn20.xml",
"org/activiti/engine/test/bpmn/multiinstance/MultiInstanceTest.externalSubProcess.bpmn20.xml" })
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册