Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
开发团队
Flowable Engine
提交
199df359
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,发现更多精彩内容 >>
提交
199df359
编写于
10月 08, 2013
作者:
T
tijsrademakers
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'ACT-1732' of
https://github.com/xuhuisheng/Activiti
上级
76ce60a0
99f87ba5
变更
7
显示空白变更内容
内联
并排
Showing
7 changed file
with
103 addition
and
1 deletion
+103
-1
modules/activiti-engine/src/main/java/org/activiti/engine/delegate/DelegateExecution.java
.../java/org/activiti/engine/delegate/DelegateExecution.java
+6
-0
modules/activiti-engine/src/main/java/org/activiti/engine/impl/history/HistoryManager.java
...java/org/activiti/engine/impl/history/HistoryManager.java
+9
-0
modules/activiti-engine/src/main/java/org/activiti/engine/impl/persistence/entity/ExecutionEntity.java
...iviti/engine/impl/persistence/entity/ExecutionEntity.java
+9
-0
modules/activiti-engine/src/main/java/org/activiti/engine/impl/pvm/runtime/ExecutionImpl.java
...a/org/activiti/engine/impl/pvm/runtime/ExecutionImpl.java
+4
-0
modules/activiti-engine/src/test/java/org/activiti/engine/test/api/runtime/ProcessInstanceUpdateBusinessKeyTest.java
...est/api/runtime/ProcessInstanceUpdateBusinessKeyTest.java
+45
-0
modules/activiti-engine/src/test/resources/org/activiti/engine/test/api/runtime/ProcessInstanceUpdateBusinessKeyTest.testProcessInstanceUpdateBusinessKey.bpmn20.xml
...ssKeyTest.testProcessInstanceUpdateBusinessKey.bpmn20.xml
+28
-0
modules/activiti-explorer/src/main/java/org/activiti/explorer/ui/process/MyProcessInstancesListQuery.java
...viti/explorer/ui/process/MyProcessInstancesListQuery.java
+2
-1
未找到文件。
modules/activiti-engine/src/main/java/org/activiti/engine/delegate/DelegateExecution.java
浏览文件 @
199df359
...
...
@@ -72,4 +72,10 @@ public interface DelegateExecution extends VariableScope {
* All Activiti services can be accessed through this interface.
*/
EngineServices
getEngineServices
();
/**
* Update process business key if not null.
* Returns null if not updated
*/
String
updateProcessBusinessKey
(
String
bzKey
);
}
modules/activiti-engine/src/main/java/org/activiti/engine/impl/history/HistoryManager.java
浏览文件 @
199df359
...
...
@@ -659,4 +659,13 @@ public class HistoryManager extends AbstractManager {
getHistoricIdentityLinkEntityManager
().
deleteHistoricIdentityLink
(
id
);
}
}
public
void
updateProcessBusinessKeyInHistory
(
ExecutionEntity
processInstance
)
{
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"updateProcessBusinessKeyInHistory : {}"
,
processInstance
.
getId
());
}
HistoricProcessInstanceEntity
historicProcessInstance
=
getDbSqlSession
().
selectById
(
HistoricProcessInstanceEntity
.
class
,
processInstance
.
getId
());
historicProcessInstance
.
setBusinessKey
(
processInstance
.
getProcessBusinessKey
());
getDbSqlSession
().
update
(
historicProcessInstance
);
}
}
modules/activiti-engine/src/main/java/org/activiti/engine/impl/persistence/entity/ExecutionEntity.java
浏览文件 @
199df359
...
...
@@ -1398,4 +1398,13 @@ public class ExecutionEntity extends VariableScopeImpl implements ActivityExecut
public
void
setQueryVariables
(
List
<
VariableInstanceEntity
>
queryVariables
)
{
this
.
queryVariables
=
queryVariables
;
}
public
String
updateProcessBusinessKey
(
String
bzKey
)
{
if
(
isProcessInstanceType
()
&&
businessKey
==
null
&&
bzKey
!=
null
)
{
setBusinessKey
(
bzKey
);
Context
.
getCommandContext
().
getHistoryManager
().
updateProcessBusinessKeyInHistory
(
this
);
return
bzKey
;
}
return
null
;
}
}
modules/activiti-engine/src/main/java/org/activiti/engine/impl/pvm/runtime/ExecutionImpl.java
浏览文件 @
199df359
...
...
@@ -869,4 +869,8 @@ public class ExecutionImpl implements
public
void
disposeStartingExecution
()
{
startingExecution
=
null
;
}
public
String
updateProcessBusinessKey
(
String
bzKey
)
{
return
getProcessInstance
().
updateProcessBusinessKey
(
bzKey
);
}
}
modules/activiti-engine/src/test/java/org/activiti/engine/test/api/runtime/ProcessInstanceUpdateBusinessKeyTest.java
0 → 100644
浏览文件 @
199df359
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.activiti.engine.test.api.runtime
;
import
org.activiti.engine.delegate.DelegateExecution
;
import
org.activiti.engine.delegate.ExecutionListener
;
import
org.activiti.engine.history.HistoricProcessInstance
;
import
org.activiti.engine.impl.test.PluggableActivitiTestCase
;
import
org.activiti.engine.repository.ProcessDefinition
;
import
org.activiti.engine.runtime.ProcessInstance
;
import
org.activiti.engine.test.Deployment
;
public
class
ProcessInstanceUpdateBusinessKeyTest
extends
PluggableActivitiTestCase
{
@Deployment
public
void
testProcessInstanceUpdateBusinessKey
()
{
ProcessDefinition
processDefinition
=
repositoryService
.
createProcessDefinitionQuery
().
singleResult
();
runtimeService
.
startProcessInstanceByKey
(
processDefinition
.
getKey
());
ProcessInstance
processInstance
=
runtimeService
.
createProcessInstanceQuery
().
singleResult
();
assertEquals
(
"bzKey"
,
processInstance
.
getBusinessKey
());
HistoricProcessInstance
historicProcessInstance
=
historyService
.
createHistoricProcessInstanceQuery
().
singleResult
();
assertEquals
(
"bzKey"
,
historicProcessInstance
.
getBusinessKey
());
}
public
static
class
UpdateBusinessKeyExecutionListener
implements
ExecutionListener
{
public
void
notify
(
DelegateExecution
delegateExecution
)
{
delegateExecution
.
updateProcessBusinessKey
(
"bzKey"
);
}
}
}
modules/activiti-engine/src/test/resources/org/activiti/engine/test/api/runtime/ProcessInstanceUpdateBusinessKeyTest.testProcessInstanceUpdateBusinessKey.bpmn20.xml
0 → 100644
浏览文件 @
199df359
<?xml version="1.0" encoding="UTF-8"?>
<definitions
id=
"taskListenerExample"
xmlns=
"http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:activiti=
"http://activiti.org/bpmn"
targetNamespace=
"Examples"
>
<process
id=
"ProcessInstanceUpdateBusinessKeyTest.testProcessInstanceUpdateBusinessKey"
name=
"Update business key Example"
>
<extensionElements>
<activiti:executionListener
event=
"start"
class=
"org.activiti.engine.test.api.runtime.ProcessInstanceUpdateBusinessKeyTest$UpdateBusinessKeyExecutionListener"
/>
</extensionElements>
<startEvent
id=
"theStart"
/>
<sequenceFlow
id=
"flow1"
sourceRef=
"theStart"
targetRef=
"task1"
/>
<userTask
id=
"task1"
activiti:assignee=
"kermit"
/>
<sequenceFlow
id=
"flow2"
sourceRef=
"task1"
targetRef=
"task2"
/>
<userTask
id=
"task2"
/>
<sequenceFlow
id=
"flow3"
sourceRef=
"task2"
targetRef=
"theEnd"
/>
<endEvent
id=
"theEnd"
/>
</process>
</definitions>
modules/activiti-explorer/src/main/java/org/activiti/explorer/ui/process/MyProcessInstancesListQuery.java
浏览文件 @
199df359
...
...
@@ -76,7 +76,8 @@ public class MyProcessInstancesListQuery extends AbstractLazyLoadingQuery {
ProcessDefinition
processDefinition
=
getProcessDefinition
(
processInstance
.
getProcessDefinitionId
());
String
itemName
=
getProcessDisplayName
(
processDefinition
)
+
" ("
+
processInstance
.
getId
()
+
")"
;
String
itemName
=
getProcessDisplayName
(
processDefinition
)
+
" ("
+
processInstance
.
getId
()
+
")"
+
(
processInstance
.
getBusinessKey
()
!=
null
?
processInstance
.
getBusinessKey
()
:
""
);
item
.
addItemProperty
(
"name"
,
new
ObjectProperty
<
String
>(
itemName
,
String
.
class
));
return
item
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录