Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
开发团队
Flowable Engine
提交
b32e9ed8
F
Flowable Engine
项目概览
开发团队
/
Flowable Engine
通知
9
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Flowable Engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b32e9ed8
编写于
10月 11, 2017
作者:
J
Joram Barrez
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix callback id/type not propagated to historic process instance when using cmmn process task
上级
6a8b80a1
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
37 addition
and
12 deletion
+37
-12
modules/flowable-cmmn-api/src/main/java/org/flowable/cmmn/engine/PlanItemInstanceCallbackType.java
...rg/flowable/cmmn/engine/PlanItemInstanceCallbackType.java
+1
-1
modules/flowable-cmmn-engine-configurator/src/test/java/org/flowable/cmmn/test/ProcessTaskTest.java
...src/test/java/org/flowable/cmmn/test/ProcessTaskTest.java
+18
-0
modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/HistoricProcessInstanceEntityImpl.java
...persistence/entity/HistoricProcessInstanceEntityImpl.java
+2
-0
modules/flowable-engine/src/main/java/org/flowable/engine/impl/util/ProcessInstanceHelper.java
.../org/flowable/engine/impl/util/ProcessInstanceHelper.java
+9
-8
modules/flowable-engine/src/main/resources/org/flowable/db/mapping/entity/HistoricProcessInstance.xml
...rg/flowable/db/mapping/entity/HistoricProcessInstance.xml
+7
-3
未找到文件。
modules/flowable-cmmn-api/src/main/java/org/flowable/cmmn/engine/PlanItemInstanceCallbackType.java
浏览文件 @
b32e9ed8
...
...
@@ -17,7 +17,7 @@ package org.flowable.cmmn.engine;
*/
public
interface
PlanItemInstanceCallbackType
{
String
CHILD_CASE
=
"cmmn-1.1-child-case"
;
String
CHILD_CASE
=
"cmmn-1.1-
to-cmmn-1.1-
child-case"
;
String
CHILD_PROCESS
=
"cmmn-1.1-to-bpmn-2.0-child-process"
;
...
...
modules/flowable-cmmn-engine-configurator/src/test/java/org/flowable/cmmn/test/ProcessTaskTest.java
浏览文件 @
b32e9ed8
...
...
@@ -20,11 +20,15 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.Map
;
import
org.flowable.cmmn.engine.PlanItemInstanceCallbackType
;
import
org.flowable.cmmn.engine.history.HistoricMilestoneInstance
;
import
org.flowable.cmmn.engine.runtime.CaseInstance
;
import
org.flowable.cmmn.engine.runtime.PlanItemInstance
;
import
org.flowable.cmmn.engine.runtime.PlanItemInstanceState
;
import
org.flowable.cmmn.engine.test.CmmnDeployment
;
import
org.flowable.engine.common.impl.history.HistoryLevel
;
import
org.flowable.engine.history.HistoricProcessInstance
;
import
org.flowable.engine.runtime.ProcessInstance
;
import
org.flowable.task.service.Task
;
import
org.junit.Before
;
import
org.junit.Test
;
...
...
@@ -76,8 +80,22 @@ public class ProcessTaskTest extends AbstractProcessEngineIntegrationTest {
.
list
();
assertEquals
(
1
,
planItemInstances
.
size
());
assertEquals
(
"The Process"
,
planItemInstances
.
get
(
0
).
getName
());
assertNotNull
(
planItemInstances
.
get
(
0
).
getReferenceId
());
assertEquals
(
PlanItemInstanceCallbackType
.
CHILD_PROCESS
,
planItemInstances
.
get
(
0
).
getReferenceType
());
assertEquals
(
0
,
cmmnHistoryService
.
createHistoricMilestoneInstanceQuery
().
count
());
ProcessInstance
processInstance
=
processEngine
.
getRuntimeService
().
createProcessInstanceQuery
().
singleResult
();
assertNotNull
(
processInstance
);
assertNotNull
(
processInstance
.
getCallbackId
());
assertNotNull
(
processInstance
.
getCallbackType
());
if
(
processEngine
.
getProcessEngineConfiguration
().
getHistoryLevel
().
isAtLeast
(
HistoryLevel
.
ACTIVITY
))
{
HistoricProcessInstance
historicProcessInstance
=
processEngine
.
getHistoryService
().
createHistoricProcessInstanceQuery
()
.
processInstanceId
(
processInstance
.
getId
()).
singleResult
();
assertEquals
(
processInstance
.
getCallbackId
(),
historicProcessInstance
.
getCallbackId
());
assertEquals
(
processInstance
.
getCallbackType
(),
historicProcessInstance
.
getCallbackType
());
}
// Completing task will trigger completion of process task plan item
processEngine
.
getTaskService
().
complete
(
task
.
getId
());
...
...
modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/HistoricProcessInstanceEntityImpl.java
浏览文件 @
b32e9ed8
...
...
@@ -93,6 +93,8 @@ public class HistoricProcessInstanceEntityImpl extends HistoricScopeInstanceEnti
persistentState
.
put
(
"processDefinitionName"
,
processDefinitionName
);
persistentState
.
put
(
"processDefinitionVersion"
,
processDefinitionVersion
);
persistentState
.
put
(
"deploymentId"
,
deploymentId
);
persistentState
.
put
(
"callbackId"
,
callbackId
);
persistentState
.
put
(
"callbackType"
,
callbackType
);
return
persistentState
;
}
...
...
modules/flowable-engine/src/main/java/org/flowable/engine/impl/util/ProcessInstanceHelper.java
浏览文件 @
b32e9ed8
...
...
@@ -229,6 +229,15 @@ public class ProcessInstanceHelper {
initiatorVariableName
,
initialFlowElement
.
getId
());
processInstance
.
setName
(
processInstanceName
);
// Callbacks
if
(
callbackId
!=
null
)
{
processInstance
.
setCallbackId
(
callbackId
);
}
if
(
callbackType
!=
null
)
{
processInstance
.
setCallbackType
(
callbackType
);
}
CommandContextUtil
.
getHistoryManager
(
commandContext
).
recordProcessInstanceStart
(
processInstance
);
...
...
@@ -252,14 +261,6 @@ public class ProcessInstanceHelper {
}
}
// Callbacks
if
(
callbackId
!=
null
)
{
processInstance
.
setCallbackId
(
callbackId
);
}
if
(
callbackType
!=
null
)
{
processInstance
.
setCallbackType
(
callbackType
);
}
// Fire events
if
(
eventDispatcherEnabled
)
{
CommandContextUtil
.
getProcessEngineConfiguration
().
getEventDispatcher
()
...
...
modules/flowable-engine/src/main/resources/org/flowable/db/mapping/entity/HistoricProcessInstance.xml
浏览文件 @
b32e9ed8
...
...
@@ -176,13 +176,13 @@
DELETE_REASON_ = #{deleteReason, jdbcType=VARCHAR},
</if>
<if
test=
"originalPersistentState.name != name"
>
NAME_ = #{name, jdbcType=VARCHAR}
NAME_ = #{name, jdbcType=VARCHAR}
,
</if>
<if
test=
"originalPersistentState.callbackId != callbackId"
>
CALLBACK_ID_ = #{callbackId, jdbcType=VARCHAR}
CALLBACK_ID_ = #{callbackId, jdbcType=VARCHAR}
,
</if>
<if
test=
"originalPersistentState.callbackType != callbackType"
>
CALLBACK_
ID
_ = #{callbackType, jdbcType=VARCHAR}
CALLBACK_
TYPE
_ = #{callbackType, jdbcType=VARCHAR}
</if>
</set>
where ID_ = #{id}
...
...
@@ -224,6 +224,8 @@
<result
property=
"deleteReason"
column=
"DELETE_REASON_"
jdbcType=
"VARCHAR"
/>
<result
property=
"tenantId"
column=
"TENANT_ID_"
jdbcType=
"VARCHAR"
/>
<result
property=
"name"
column=
"NAME_"
jdbcType=
"VARCHAR"
/>
<result
property=
"callbackId"
column=
"CALLBACK_ID_"
jdbcType=
"VARCHAR"
/>
<result
property=
"callbackType"
column=
"CALLBACK_TYPE_"
jdbcType=
"VARCHAR"
/>
</resultMap>
<resultMap
id=
"historicProcessInstanceAndVariablesResultMap"
type=
"org.flowable.engine.impl.persistence.entity.HistoricProcessInstanceEntityImpl"
>
...
...
@@ -246,6 +248,8 @@
<result
property=
"deleteReason"
column=
"DELETE_REASON_"
jdbcType=
"VARCHAR"
/>
<result
property=
"tenantId"
column=
"TENANT_ID_"
jdbcType=
"VARCHAR"
/>
<result
property=
"name"
column=
"NAME_"
jdbcType=
"VARCHAR"
/>
<result
property=
"callbackId"
column=
"CALLBACK_ID_"
jdbcType=
"VARCHAR"
/>
<result
property=
"callbackType"
column=
"CALLBACK_TYPE_"
jdbcType=
"VARCHAR"
/>
<collection
property=
"queryVariables"
column=
"EXECUTION_ID_"
javaType=
"ArrayList"
ofType=
"org.flowable.variable.service.impl.persistence.entity.HistoricVariableInstanceEntityImpl"
>
<id
property=
"id"
column=
"VAR_ID_"
/>
<result
property=
"name"
column=
"VAR_NAME_"
javaType=
"String"
jdbcType=
"VARCHAR"
/>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录