Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
开发团队
Flowable Engine
提交
99bab432
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,发现更多精彩内容 >>
提交
99bab432
编写于
7月 24, 2013
作者:
Y
yocki
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Process execution listeners was lost when deploying from model
上级
1bf01250
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
43 addition
and
1 deletion
+43
-1
modules/activiti-json-converter/src/main/java/org/activiti/editor/language/json/converter/BpmnJsonConverter.java
...iti/editor/language/json/converter/BpmnJsonConverter.java
+43
-1
未找到文件。
modules/activiti-json-converter/src/main/java/org/activiti/editor/language/json/converter/BpmnJsonConverter.java
浏览文件 @
99bab432
...
...
@@ -18,6 +18,8 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.Map
;
import
org.activiti.bpmn.model.ActivitiListener
;
import
math.geom2d.Point2D
;
import
math.geom2d.conic.Circle2D
;
import
math.geom2d.line.Line2D
;
...
...
@@ -30,6 +32,7 @@ import org.activiti.bpmn.model.BpmnModel;
import
org.activiti.bpmn.model.FlowElement
;
import
org.activiti.bpmn.model.FlowNode
;
import
org.activiti.bpmn.model.GraphicInfo
;
import
org.activiti.bpmn.model.ImplementationType
;
import
org.activiti.bpmn.model.Lane
;
import
org.activiti.bpmn.model.Pool
;
import
org.activiti.bpmn.model.Process
;
...
...
@@ -315,6 +318,11 @@ public class BpmnJsonConverter implements EditorJsonConstants, StencilConstants,
process
.
setDocumentation
(
processDocumentationNode
.
asText
());
}
JsonNode
processExecutionListenerNode
=
modelNode
.
get
(
EDITOR_SHAPE_PROPERTIES
).
get
(
PROPERTY_EXECUTION_LISTENERS
);
if
(
processExecutionListenerNode
!=
null
&&
StringUtils
.
isNotEmpty
(
processExecutionListenerNode
.
asText
())){
process
.
setExecutionListeners
(
convertJsonToListeners
(
processExecutionListenerNode
));
}
processJsonElements
(
shapesArrayNode
,
modelNode
,
process
,
shapeMap
);
}
...
...
@@ -372,6 +380,40 @@ public class BpmnJsonConverter implements EditorJsonConstants, StencilConstants,
}
}
private
List
<
ActivitiListener
>
convertJsonToListeners
(
JsonNode
listenersNode
)
{
List
<
ActivitiListener
>
executionListeners
=
new
ArrayList
<
ActivitiListener
>();
try
{
listenersNode
=
objectMapper
.
readTree
(
listenersNode
.
asText
());
}
catch
(
Exception
e
)
{
LOGGER
.
info
(
"Listeners node can not be read"
,
e
);
}
JsonNode
itemsArrayNode
=
listenersNode
.
get
(
EDITOR_PROPERTIES_GENERAL_ITEMS
);
if
(
itemsArrayNode
!=
null
)
{
for
(
JsonNode
itemNode
:
itemsArrayNode
)
{
JsonNode
typeNode
=
itemNode
.
get
(
PROPERTY_EXECUTION_LISTENER_EVENT
);
if
(
typeNode
!=
null
&&
StringUtils
.
isNotEmpty
(
typeNode
.
asText
()))
{
ActivitiListener
listener
=
new
ActivitiListener
();
listener
.
setEvent
(
typeNode
.
asText
());
if
(
StringUtils
.
isNotEmpty
(
itemNode
.
get
(
PROPERTY_EXECUTION_LISTENER_CLASS
).
asText
()))
{
listener
.
setImplementationType
(
ImplementationType
.
IMPLEMENTATION_TYPE_CLASS
);
listener
.
setImplementation
(
itemNode
.
get
(
PROPERTY_EXECUTION_LISTENER_CLASS
).
asText
());
}
else
if
(
StringUtils
.
isNotEmpty
(
itemNode
.
get
(
PROPERTY_EXECUTION_LISTENER_EXPRESSION
).
asText
()))
{
listener
.
setImplementationType
(
ImplementationType
.
IMPLEMENTATION_TYPE_EXPRESSION
);
listener
.
setImplementation
(
itemNode
.
get
(
PROPERTY_EXECUTION_LISTENER_EXPRESSION
).
asText
());
}
else
if
(
StringUtils
.
isNotEmpty
(
itemNode
.
get
(
PROPERTY_EXECUTION_LISTENER_DELEGATEEXPRESSION
).
asText
()))
{
listener
.
setImplementationType
(
ImplementationType
.
IMPLEMENTATION_TYPE_DELEGATEEXPRESSION
);
listener
.
setImplementation
(
itemNode
.
get
(
PROPERTY_EXECUTION_LISTENER_DELEGATEEXPRESSION
).
asText
());
}
executionListeners
.
add
(
listener
);
}
}
}
return
executionListeners
;
}
private
void
fillSubShapes
(
Map
<
String
,
SubProcess
>
subShapesMap
,
SubProcess
subProcess
)
{
for
(
FlowElement
flowElement
:
subProcess
.
getFlowElements
())
{
if
(
flowElement
instanceof
SubProcess
)
{
...
...
@@ -428,7 +470,7 @@ public class BpmnJsonConverter implements EditorJsonConstants, StencilConstants,
}
}
}
private
Activity
retrieveAttachedRefObject
(
String
attachedToRefId
,
Collection
<
FlowElement
>
flowElementList
)
{
for
(
FlowElement
flowElement
:
flowElementList
)
{
if
(
attachedToRefId
.
equals
(
flowElement
.
getId
()))
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录