Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
开发团队
Flowable Engine
提交
b319ef50
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,发现更多精彩内容 >>
提交
b319ef50
编写于
6月 13, 2013
作者:
T
tijsrademakers
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Finished form service REST API unit tests
上级
a0e581da
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
71 addition
and
5 deletion
+71
-5
modules/activiti-rest/src/main/java/org/activiti/rest/api/RestResponseFactory.java
.../main/java/org/activiti/rest/api/RestResponseFactory.java
+1
-0
modules/activiti-rest/src/main/java/org/activiti/rest/api/form/FormDataResource.java
...ain/java/org/activiti/rest/api/form/FormDataResource.java
+10
-4
modules/activiti-rest/src/main/java/org/activiti/rest/api/runtime/process/ProcessInstanceResponse.java
...iti/rest/api/runtime/process/ProcessInstanceResponse.java
+9
-0
modules/activiti-rest/src/test/java/org/activiti/rest/api/form/FormDataResourceTest.java
...java/org/activiti/rest/api/form/FormDataResourceTest.java
+51
-1
未找到文件。
modules/activiti-rest/src/main/java/org/activiti/rest/api/RestResponseFactory.java
浏览文件 @
b319ef50
...
...
@@ -409,6 +409,7 @@ public class RestResponseFactory {
result
.
setActivityId
(
processInstance
.
getActivityId
());
result
.
setBusinessKey
(
processInstance
.
getBusinessKey
());
result
.
setId
(
processInstance
.
getId
());
result
.
setProcessDefinitionId
(
processInstance
.
getProcessDefinitionId
());
result
.
setProcessDefinitionUrl
(
securedResource
.
createFullResourceUrl
(
RestUrls
.
URL_PROCESS_DEFINITION
,
processInstance
.
getProcessDefinitionId
()));
result
.
setSuspended
(
processInstance
.
isSuspended
());
result
.
setUrl
(
securedResource
.
createFullResourceUrl
(
RestUrls
.
URL_PROCESS_INSTANCE
,
processInstance
.
getId
()));
...
...
modules/activiti-rest/src/main/java/org/activiti/rest/api/form/FormDataResource.java
浏览文件 @
b319ef50
...
...
@@ -19,8 +19,10 @@ import java.util.Map;
import
org.activiti.engine.ActivitiIllegalArgumentException
;
import
org.activiti.engine.ActivitiObjectNotFoundException
;
import
org.activiti.engine.form.FormData
;
import
org.activiti.engine.runtime.ProcessInstance
;
import
org.activiti.rest.api.ActivitiUtil
;
import
org.activiti.rest.api.SecuredResource
;
import
org.activiti.rest.api.runtime.process.ProcessInstanceResponse
;
import
org.activiti.rest.application.ActivitiRestServicesApplication
;
import
org.restlet.data.Form
;
import
org.restlet.data.Status
;
...
...
@@ -70,9 +72,9 @@ public class FormDataResource extends SecuredResource {
}
@Post
public
void
submitForm
(
SubmitFormRequest
submitRequest
)
{
public
ProcessInstanceResponse
submitForm
(
SubmitFormRequest
submitRequest
)
{
if
(!
authenticate
())
{
return
;
return
null
;
}
if
(
submitRequest
==
null
)
{
...
...
@@ -93,12 +95,16 @@ public class FormDataResource extends SecuredResource {
if
(
submitRequest
.
getTaskId
()
!=
null
)
{
ActivitiUtil
.
getFormService
().
submitTaskFormData
(
submitRequest
.
getTaskId
(),
propertyMap
);
return
null
;
}
else
{
ProcessInstance
processInstance
=
null
;
if
(
submitRequest
.
getBusinessKey
()
!=
null
)
{
ActivitiUtil
.
getFormService
().
submitStartFormData
(
submitRequest
.
getProcessDefinitionId
(),
submitRequest
.
getBusinessKey
(),
propertyMap
);
processInstance
=
ActivitiUtil
.
getFormService
().
submitStartFormData
(
submitRequest
.
getProcessDefinitionId
(),
submitRequest
.
getBusinessKey
(),
propertyMap
);
}
else
{
ActivitiUtil
.
getFormService
().
submitStartFormData
(
submitRequest
.
getProcessDefinitionId
(),
propertyMap
);
processInstance
=
ActivitiUtil
.
getFormService
().
submitStartFormData
(
submitRequest
.
getProcessDefinitionId
(),
propertyMap
);
}
return
getApplication
(
ActivitiRestServicesApplication
.
class
).
getRestResponseFactory
()
.
createProcessInstanceResponse
(
this
,
processInstance
);
}
}
}
modules/activiti-rest/src/main/java/org/activiti/rest/api/runtime/process/ProcessInstanceResponse.java
浏览文件 @
b319ef50
...
...
@@ -21,6 +21,7 @@ public class ProcessInstanceResponse {
protected
String
url
;
protected
String
businessKey
;
protected
boolean
suspended
;
protected
String
processDefinitionId
;
protected
String
processDefinitionUrl
;
protected
String
activityId
;
...
...
@@ -56,6 +57,14 @@ public class ProcessInstanceResponse {
this
.
suspended
=
suspended
;
}
public
String
getProcessDefinitionId
()
{
return
processDefinitionId
;
}
public
void
setProcessDefinitionId
(
String
processDefinitionId
)
{
this
.
processDefinitionId
=
processDefinitionId
;
}
public
String
getProcessDefinitionUrl
()
{
return
processDefinitionUrl
;
}
...
...
modules/activiti-rest/src/test/java/org/activiti/rest/api/form/FormDataResourceTest.java
浏览文件 @
b319ef50
...
...
@@ -203,7 +203,8 @@ public class FormDataResourceTest extends BaseRestTestCase {
variableMap
.
put
(
"address"
,
address
);
ProcessInstance
processInstance
=
runtimeService
.
startProcessInstanceByKey
(
"oneTaskProcess"
,
variableMap
);
String
processInstanceId
=
processInstance
.
getId
();
Task
task
=
taskService
.
createTaskQuery
().
processInstanceId
(
processInstance
.
getId
()).
singleResult
();
String
processDefinitionId
=
processInstance
.
getProcessDefinitionId
();
Task
task
=
taskService
.
createTaskQuery
().
processInstanceId
(
processInstanceId
).
singleResult
();
ClientResource
client
=
getAuthenticatedClient
(
RestUrls
.
createRelativeResourceUrl
(
RestUrls
.
URL_FORM_DATA
));
ObjectNode
requestNode
=
objectMapper
.
createObjectNode
();
...
...
@@ -240,5 +241,54 @@ public class FormDataResourceTest extends BaseRestTestCase {
assertEquals
(
"123"
,
historyMap
.
get
(
"room"
).
getValue
());
assertEquals
(
processInstanceId
,
historyMap
.
get
(
"room"
).
getProcessInstanceId
());
processInstance
=
runtimeService
.
startProcessInstanceByKey
(
"oneTaskProcess"
,
variableMap
);
processInstanceId
=
processInstance
.
getId
();
task
=
taskService
.
createTaskQuery
().
processInstanceId
(
processInstanceId
).
singleResult
();
requestNode
.
put
(
"taskId"
,
task
.
getId
());
propNode
=
objectMapper
.
createObjectNode
();
propNode
.
put
(
"id"
,
"direction"
);
propNode
.
put
(
"value"
,
"nowhere"
);
propertyArray
.
add
(
propNode
);
try
{
client
.
post
(
requestNode
);
}
catch
(
Exception
e
)
{
// expected
assertEquals
(
Status
.
CLIENT_ERROR_BAD_REQUEST
,
client
.
getResponse
().
getStatus
());
}
propNode
.
put
(
"value"
,
"up"
);
client
.
post
(
requestNode
);
assertEquals
(
Status
.
SUCCESS_OK
,
client
.
getResponse
().
getStatus
());
task
=
taskService
.
createTaskQuery
().
processInstanceId
(
processInstanceId
).
singleResult
();
assertNull
(
task
);
processInstance
=
runtimeService
.
createProcessInstanceQuery
().
processInstanceId
(
processInstanceId
).
singleResult
();
assertNull
(
processInstance
);
variables
=
historyService
.
createHistoricVariableInstanceQuery
().
processInstanceId
(
processInstanceId
).
list
();
historyMap
.
clear
();
for
(
HistoricVariableInstance
historicVariableInstance
:
variables
)
{
historyMap
.
put
(
historicVariableInstance
.
getVariableName
(),
historicVariableInstance
);
}
assertEquals
(
"123"
,
historyMap
.
get
(
"room"
).
getValue
());
assertEquals
(
processInstanceId
,
historyMap
.
get
(
"room"
).
getProcessInstanceId
());
assertEquals
(
"up"
,
historyMap
.
get
(
"direction"
).
getValue
());
requestNode
=
objectMapper
.
createObjectNode
();
requestNode
.
put
(
"processDefinitionId"
,
processDefinitionId
);
propertyArray
=
objectMapper
.
createArrayNode
();
requestNode
.
put
(
"properties"
,
propertyArray
);
propNode
=
objectMapper
.
createObjectNode
();
propNode
.
put
(
"id"
,
"number"
);
propNode
.
put
(
"value"
,
123
);
propertyArray
.
add
(
propNode
);
Representation
response
=
client
.
post
(
requestNode
);
assertEquals
(
Status
.
SUCCESS_OK
,
client
.
getResponse
().
getStatus
());
JsonNode
responseNode
=
objectMapper
.
readTree
(
response
.
getStream
());
assertNotNull
(
responseNode
.
get
(
"id"
).
asText
());
assertEquals
(
processDefinitionId
,
responseNode
.
get
(
"processDefinitionId"
).
asText
());
task
=
taskService
.
createTaskQuery
().
processInstanceId
(
responseNode
.
get
(
"id"
).
asText
()).
singleResult
();
assertNotNull
(
task
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录