Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
开发团队
Flowable Engine
提交
ad20ce3a
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,发现更多精彩内容 >>
提交
ad20ce3a
编写于
2月 02, 2012
作者:
B
bernd.ruecker
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ACT-1086: Add "businessKey" query capabilities to TaskQuery and ExecutionQuery
上级
dc74ff4d
变更
7
显示空白变更内容
内联
并排
Showing
7 changed file
with
51 addition
and
4 deletion
+51
-4
modules/activiti-engine/src/main/java/org/activiti/engine/impl/ExecutionQueryImpl.java
...ain/java/org/activiti/engine/impl/ExecutionQueryImpl.java
+10
-1
modules/activiti-engine/src/main/java/org/activiti/engine/impl/TaskQueryImpl.java
...src/main/java/org/activiti/engine/impl/TaskQueryImpl.java
+11
-0
modules/activiti-engine/src/main/java/org/activiti/engine/runtime/ExecutionQuery.java
...main/java/org/activiti/engine/runtime/ExecutionQuery.java
+3
-0
modules/activiti-engine/src/main/java/org/activiti/engine/task/TaskQuery.java
...ine/src/main/java/org/activiti/engine/task/TaskQuery.java
+3
-0
modules/activiti-engine/src/main/resources/org/activiti/db/mapping/entity/Task.xml
...rc/main/resources/org/activiti/db/mapping/entity/Task.xml
+7
-1
modules/activiti-engine/src/test/java/org/activiti/engine/test/api/runtime/ExecutionQueryTest.java
.../activiti/engine/test/api/runtime/ExecutionQueryTest.java
+7
-1
modules/activiti-engine/src/test/java/org/activiti/engine/test/api/task/TaskQueryTest.java
...java/org/activiti/engine/test/api/task/TaskQueryTest.java
+10
-1
未找到文件。
modules/activiti-engine/src/main/java/org/activiti/engine/impl/ExecutionQueryImpl.java
浏览文件 @
ad20ce3a
...
...
@@ -41,6 +41,7 @@ public class ExecutionQueryImpl extends ExecutionVariableQueryImpl<ExecutionQuer
protected
String
superProcessInstanceId
;
protected
String
subProcessInstanceId
;
protected
SuspensionState
suspensionState
;
private
String
businessKey
;
public
ExecutionQueryImpl
()
{
}
...
...
@@ -81,6 +82,14 @@ public class ExecutionQueryImpl extends ExecutionVariableQueryImpl<ExecutionQuer
return
this
;
}
public
ExecutionQuery
processInstanceBusinessKey
(
String
businessKey
)
{
if
(
businessKey
==
null
)
{
throw
new
ActivitiException
(
"Business key is null"
);
}
this
.
businessKey
=
businessKey
;
return
this
;
}
public
ExecutionQueryImpl
executionId
(
String
executionId
)
{
if
(
executionId
==
null
)
{
throw
new
ActivitiException
(
"Execution id is null"
);
...
...
@@ -152,7 +161,7 @@ public class ExecutionQueryImpl extends ExecutionVariableQueryImpl<ExecutionQuer
return
null
;
}
public
String
getBusinessKey
()
{
return
null
;
return
businessKey
;
}
public
String
getExecutionId
()
{
return
executionId
;
...
...
modules/activiti-engine/src/main/java/org/activiti/engine/impl/TaskQueryImpl.java
浏览文件 @
ad20ce3a
...
...
@@ -58,6 +58,7 @@ public class TaskQueryImpl extends AbstractQuery<TaskQuery, Task> implements Tas
protected
String
processDefinitionKey
;
protected
String
processDefinitionId
;
protected
String
processDefinitionName
;
protected
String
processInstanceBusinessKey
;
protected
List
<
TaskQueryVariableValue
>
variables
=
new
ArrayList
<
TaskQueryVariableValue
>();
protected
Date
dueDate
;
protected
Date
dueBefore
;
...
...
@@ -216,6 +217,11 @@ public class TaskQueryImpl extends AbstractQuery<TaskQuery, Task> implements Tas
return
this
;
}
public
TaskQueryImpl
processInstanceBusinessKey
(
String
processInstanceBusinessKey
)
{
this
.
processInstanceBusinessKey
=
processInstanceBusinessKey
;
return
this
;
}
public
TaskQueryImpl
executionId
(
String
executionId
)
{
this
.
executionId
=
executionId
;
return
this
;
...
...
@@ -437,4 +443,9 @@ public class TaskQueryImpl extends AbstractQuery<TaskQuery, Task> implements Tas
public
String
getProcessDefinitionName
()
{
return
processDefinitionName
;
}
public
String
getProcessInstanceBusinessKey
()
{
return
processInstanceBusinessKey
;
}
}
modules/activiti-engine/src/main/java/org/activiti/engine/runtime/ExecutionQuery.java
浏览文件 @
ad20ce3a
...
...
@@ -35,6 +35,9 @@ public interface ExecutionQuery extends Query<ExecutionQuery, Execution>{
/** Only select executions which have the given process instance id. **/
ExecutionQuery
processInstanceId
(
String
processInstanceId
);
/** Only executions with the given business key */
ExecutionQuery
processInstanceBusinessKey
(
String
processInstanceBusinessKey
);
/** Only select executions with the given id. **/
ExecutionQuery
executionId
(
String
executionId
);
...
...
modules/activiti-engine/src/main/java/org/activiti/engine/task/TaskQuery.java
浏览文件 @
ad20ce3a
...
...
@@ -85,6 +85,9 @@ public interface TaskQuery extends Query<TaskQuery, Task>{
/** Only select tasks for the given process instance id. */
TaskQuery
processInstanceId
(
String
processInstanceId
);
/** Only select tasks foe the given business key */
TaskQuery
processInstanceBusinessKey
(
String
processInstanceBusinessKey
);
/** Only select tasks for the given execution. */
TaskQuery
executionId
(
String
executionId
);
...
...
modules/activiti-engine/src/main/resources/org/activiti/db/mapping/entity/Task.xml
浏览文件 @
ad20ce3a
...
...
@@ -138,6 +138,9 @@
<if
test=
"processDefinitionKey != null || processDefinitionName != null"
>
inner join ACT_RE_PROCDEF D on T.PROC_DEF_ID_ = D.ID_
</if>
<if
test=
"processInstanceBusinessKey != null"
>
inner join ACT_RU_EXECUTION E on T.PROC_INST_ID_ = E.ID_
</if>
<where>
<if
test=
"taskId != null"
>
T.ID_ = #{taskId}
...
...
@@ -175,6 +178,9 @@
<if
test=
"processInstanceId != null"
>
and T.PROC_INST_ID_ = #{processInstanceId}
</if>
<if
test=
"processInstanceBusinessKey != null"
>
and E.BUSINESS_KEY_ = #{processInstanceBusinessKey}
</if>
<if
test=
"executionId != null"
>
and T.EXECUTION_ID_ = #{executionId}
</if>
...
...
modules/activiti-engine/src/test/java/org/activiti/engine/test/api/runtime/ExecutionQueryTest.java
浏览文件 @
ad20ce3a
...
...
@@ -68,7 +68,7 @@ public class ExecutionQueryTest extends PluggableActivitiTestCase {
sequentialProcessInstanceIds
=
new
ArrayList
<
String
>();
for
(
int
i
=
0
;
i
<
4
;
i
++)
{
concurrentProcessInstanceIds
.
add
(
runtimeService
.
startProcessInstanceByKey
(
CONCURRENT_PROCESS_KEY
).
getId
());
concurrentProcessInstanceIds
.
add
(
runtimeService
.
startProcessInstanceByKey
(
CONCURRENT_PROCESS_KEY
,
"BUSINESS-KEY-"
+
i
).
getId
());
}
sequentialProcessInstanceIds
.
add
(
runtimeService
.
startProcessInstanceByKey
(
SEQUENTIAL_PROCESS_KEY
).
getId
());
}
...
...
@@ -172,6 +172,12 @@ public class ExecutionQueryTest extends PluggableActivitiTestCase {
}
}
public
void
testQueryByBusinessKey
()
{
assertEquals
(
1
,
runtimeService
.
createExecutionQuery
().
processDefinitionKey
(
CONCURRENT_PROCESS_KEY
).
processInstanceBusinessKey
(
"BUSINESS-KEY-1"
).
list
().
size
());
assertEquals
(
1
,
runtimeService
.
createExecutionQuery
().
processDefinitionKey
(
CONCURRENT_PROCESS_KEY
).
processInstanceBusinessKey
(
"BUSINESS-KEY-2"
).
list
().
size
());
assertEquals
(
0
,
runtimeService
.
createExecutionQuery
().
processDefinitionKey
(
CONCURRENT_PROCESS_KEY
).
processInstanceBusinessKey
(
"NON-EXISTING"
).
list
().
size
());
}
@Deployment
(
resources
={
"org/activiti/engine/test/api/oneTaskProcess.bpmn20.xml"
})
public
void
testQueryStringVariable
()
{
...
...
modules/activiti-engine/src/test/java/org/activiti/engine/test/api/task/TaskQueryTest.java
浏览文件 @
ad20ce3a
...
...
@@ -578,6 +578,15 @@ public class TaskQueryTest extends PluggableActivitiTestCase {
assertEquals
(
0
,
taskService
.
createTaskQuery
().
processDefinitionName
(
"unexisting"
).
count
());
}
@Deployment
(
resources
={
"org/activiti/engine/test/api/task/TaskQueryTest.testProcessDefinition.bpmn20.xml"
})
public
void
testProcessInstanceBusinessKey
()
throws
Exception
{
ProcessInstance
processInstance
=
runtimeService
.
startProcessInstanceByKey
(
"oneTaskProcess"
,
"BUSINESS-KEY-1"
);
assertEquals
(
1
,
taskService
.
createTaskQuery
().
processDefinitionName
(
"The One Task Process"
).
processInstanceBusinessKey
(
"BUSINESS-KEY-1"
).
list
().
size
());
assertEquals
(
1
,
taskService
.
createTaskQuery
().
processInstanceBusinessKey
(
"BUSINESS-KEY-1"
).
list
().
size
());
assertEquals
(
0
,
taskService
.
createTaskQuery
().
processInstanceBusinessKey
(
"NON-EXISTING"
).
count
());
}
@Deployment
(
resources
={
"org/activiti/engine/test/api/task/TaskQueryTest.testProcessDefinition.bpmn20.xml"
})
public
void
testTaskDueDate
()
throws
Exception
{
ProcessInstance
processInstance
=
runtimeService
.
startProcessInstanceByKey
(
"oneTaskProcess"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录