Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
开发团队
Flowable Engine
提交
7c3f0e0e
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,发现更多精彩内容 >>
提交
7c3f0e0e
编写于
12月 05, 2013
作者:
T
Tijs Rademakers
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
model improvements
上级
57034fa4
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
36 addition
and
52 deletion
+36
-52
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/BaseBpmnXMLConverter.java
...ava/org/activiti/bpmn/converter/BaseBpmnXMLConverter.java
+29
-13
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/BoundaryEventXMLConverter.java
...rg/activiti/bpmn/converter/BoundaryEventXMLConverter.java
+1
-1
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/CatchEventXMLConverter.java
...a/org/activiti/bpmn/converter/CatchEventXMLConverter.java
+1
-1
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/EndEventXMLConverter.java
...ava/org/activiti/bpmn/converter/EndEventXMLConverter.java
+1
-1
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/StartEventXMLConverter.java
...a/org/activiti/bpmn/converter/StartEventXMLConverter.java
+1
-1
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/ThrowEventXMLConverter.java
...a/org/activiti/bpmn/converter/ThrowEventXMLConverter.java
+1
-1
modules/activiti-bpmn-model/src/main/java/org/activiti/bpmn/model/FlowNode.java
...model/src/main/java/org/activiti/bpmn/model/FlowNode.java
+0
-14
modules/activiti-bpmn-model/src/main/java/org/activiti/bpmn/model/Process.java
...-model/src/main/java/org/activiti/bpmn/model/Process.java
+2
-20
未找到文件。
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/BaseBpmnXMLConverter.java
浏览文件 @
7c3f0e0e
...
...
@@ -30,6 +30,7 @@ import org.activiti.bpmn.model.Artifact;
import
org.activiti.bpmn.model.BaseElement
;
import
org.activiti.bpmn.model.BpmnModel
;
import
org.activiti.bpmn.model.ErrorEventDefinition
;
import
org.activiti.bpmn.model.Event
;
import
org.activiti.bpmn.model.EventDefinition
;
import
org.activiti.bpmn.model.ExtensionAttribute
;
import
org.activiti.bpmn.model.ExtensionElement
;
...
...
@@ -39,10 +40,12 @@ import org.activiti.bpmn.model.FormValue;
import
org.activiti.bpmn.model.Gateway
;
import
org.activiti.bpmn.model.MessageEventDefinition
;
import
org.activiti.bpmn.model.Process
;
import
org.activiti.bpmn.model.SequenceFlow
;
import
org.activiti.bpmn.model.SignalEventDefinition
;
import
org.activiti.bpmn.model.StartEvent
;
import
org.activiti.bpmn.model.SubProcess
;
import
org.activiti.bpmn.model.TerminateEventDefinition
;
import
org.activiti.bpmn.model.ThrowEvent
;
import
org.activiti.bpmn.model.TimerEventDefinition
;
import
org.activiti.bpmn.model.UserTask
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -151,12 +154,22 @@ public abstract class BaseBpmnXMLConverter implements BpmnXMLConstants {
if
(
activity
.
isNotExclusive
())
{
writeQualifiedAttribute
(
ATTRIBUTE_ACTIVITY_EXCLUSIVE
,
ATTRIBUTE_VALUE_FALSE
,
xtw
);
}
writeDefaultAttribute
(
ATTRIBUTE_DEFAULT
,
activity
.
getDefaultFlow
(),
xtw
);
if
(
StringUtils
.
isNotEmpty
(
activity
.
getDefaultFlow
()))
{
FlowElement
defaultFlowElement
=
model
.
getFlowElement
(
activity
.
getDefaultFlow
());
if
(
defaultFlowElement
!=
null
&&
defaultFlowElement
instanceof
SequenceFlow
)
{
writeDefaultAttribute
(
ATTRIBUTE_DEFAULT
,
activity
.
getDefaultFlow
(),
xtw
);
}
}
}
if
(
baseElement
instanceof
Gateway
)
{
final
Gateway
gateway
=
(
Gateway
)
baseElement
;
writeDefaultAttribute
(
ATTRIBUTE_DEFAULT
,
gateway
.
getDefaultFlow
(),
xtw
);
if
(
StringUtils
.
isNotEmpty
(
gateway
.
getDefaultFlow
()))
{
FlowElement
defaultFlowElement
=
model
.
getFlowElement
(
gateway
.
getDefaultFlow
());
if
(
defaultFlowElement
!=
null
&&
defaultFlowElement
instanceof
SequenceFlow
)
{
writeDefaultAttribute
(
ATTRIBUTE_DEFAULT
,
gateway
.
getDefaultFlow
(),
xtw
);
}
}
}
writeAdditionalAttributes
(
baseElement
,
xtw
);
...
...
@@ -342,23 +355,23 @@ public abstract class BaseBpmnXMLConverter implements BpmnXMLConstants {
return
ActivitiListenerExport
.
writeListeners
(
element
,
didWriteExtensionStartElement
,
xtw
);
}
protected
void
writeEventDefinitions
(
List
<
EventDefinition
>
eventDefinitions
,
XMLStreamWriter
xtw
)
throws
Exception
{
protected
void
writeEventDefinitions
(
Event
parentEvent
,
List
<
EventDefinition
>
eventDefinitions
,
XMLStreamWriter
xtw
)
throws
Exception
{
for
(
EventDefinition
eventDefinition
:
eventDefinitions
)
{
if
(
eventDefinition
instanceof
TimerEventDefinition
)
{
writeTimerDefinition
((
TimerEventDefinition
)
eventDefinition
,
xtw
);
writeTimerDefinition
(
parentEvent
,
(
TimerEventDefinition
)
eventDefinition
,
xtw
);
}
else
if
(
eventDefinition
instanceof
SignalEventDefinition
)
{
writeSignalDefinition
((
SignalEventDefinition
)
eventDefinition
,
xtw
);
writeSignalDefinition
(
parentEvent
,
(
SignalEventDefinition
)
eventDefinition
,
xtw
);
}
else
if
(
eventDefinition
instanceof
MessageEventDefinition
)
{
writeMessageDefinition
((
MessageEventDefinition
)
eventDefinition
,
xtw
);
writeMessageDefinition
(
parentEvent
,
(
MessageEventDefinition
)
eventDefinition
,
xtw
);
}
else
if
(
eventDefinition
instanceof
ErrorEventDefinition
)
{
writeErrorDefinition
((
ErrorEventDefinition
)
eventDefinition
,
xtw
);
writeErrorDefinition
(
parentEvent
,
(
ErrorEventDefinition
)
eventDefinition
,
xtw
);
}
else
if
(
eventDefinition
instanceof
TerminateEventDefinition
)
{
writeTerminateDefinition
((
TerminateEventDefinition
)
eventDefinition
,
xtw
);
writeTerminateDefinition
(
parentEvent
,
(
TerminateEventDefinition
)
eventDefinition
,
xtw
);
}
}
}
protected
void
writeTimerDefinition
(
TimerEventDefinition
timerDefinition
,
XMLStreamWriter
xtw
)
throws
Exception
{
protected
void
writeTimerDefinition
(
Event
parentEvent
,
TimerEventDefinition
timerDefinition
,
XMLStreamWriter
xtw
)
throws
Exception
{
xtw
.
writeStartElement
(
ELEMENT_EVENT_TIMERDEFINITION
);
boolean
didWriteExtensionStartElement
=
BpmnXMLUtil
.
writeExtensionElements
(
timerDefinition
,
false
,
xtw
);
if
(
didWriteExtensionStartElement
)
{
...
...
@@ -383,9 +396,12 @@ public abstract class BaseBpmnXMLConverter implements BpmnXMLConstants {
xtw
.
writeEndElement
();
}
protected
void
writeSignalDefinition
(
SignalEventDefinition
signalDefinition
,
XMLStreamWriter
xtw
)
throws
Exception
{
protected
void
writeSignalDefinition
(
Event
parentEvent
,
SignalEventDefinition
signalDefinition
,
XMLStreamWriter
xtw
)
throws
Exception
{
xtw
.
writeStartElement
(
ELEMENT_EVENT_SIGNALDEFINITION
);
writeDefaultAttribute
(
ATTRIBUTE_SIGNAL_REF
,
signalDefinition
.
getSignalRef
(),
xtw
);
if
(
parentEvent
instanceof
ThrowEvent
&&
signalDefinition
.
isAsync
())
{
BpmnXMLUtil
.
writeQualifiedAttribute
(
ATTRIBUTE_ACTIVITY_ASYNCHRONOUS
,
"true"
,
xtw
);
}
boolean
didWriteExtensionStartElement
=
BpmnXMLUtil
.
writeExtensionElements
(
signalDefinition
,
false
,
xtw
);
if
(
didWriteExtensionStartElement
)
{
xtw
.
writeEndElement
();
...
...
@@ -393,7 +409,7 @@ public abstract class BaseBpmnXMLConverter implements BpmnXMLConstants {
xtw
.
writeEndElement
();
}
protected
void
writeMessageDefinition
(
MessageEventDefinition
messageDefinition
,
XMLStreamWriter
xtw
)
throws
Exception
{
protected
void
writeMessageDefinition
(
Event
parentEvent
,
MessageEventDefinition
messageDefinition
,
XMLStreamWriter
xtw
)
throws
Exception
{
xtw
.
writeStartElement
(
ELEMENT_EVENT_MESSAGEDEFINITION
);
String
messageRef
=
messageDefinition
.
getMessageRef
();
...
...
@@ -420,7 +436,7 @@ public abstract class BaseBpmnXMLConverter implements BpmnXMLConstants {
xtw
.
writeEndElement
();
}
protected
void
writeErrorDefinition
(
ErrorEventDefinition
errorDefinition
,
XMLStreamWriter
xtw
)
throws
Exception
{
protected
void
writeErrorDefinition
(
E
vent
parentEvent
,
E
rrorEventDefinition
errorDefinition
,
XMLStreamWriter
xtw
)
throws
Exception
{
xtw
.
writeStartElement
(
ELEMENT_EVENT_ERRORDEFINITION
);
writeDefaultAttribute
(
ATTRIBUTE_ERROR_REF
,
errorDefinition
.
getErrorCode
(),
xtw
);
boolean
didWriteExtensionStartElement
=
BpmnXMLUtil
.
writeExtensionElements
(
errorDefinition
,
false
,
xtw
);
...
...
@@ -430,7 +446,7 @@ public abstract class BaseBpmnXMLConverter implements BpmnXMLConstants {
xtw
.
writeEndElement
();
}
protected
void
writeTerminateDefinition
(
TerminateEventDefinition
terminateDefinition
,
XMLStreamWriter
xtw
)
throws
Exception
{
protected
void
writeTerminateDefinition
(
Event
parentEvent
,
TerminateEventDefinition
terminateDefinition
,
XMLStreamWriter
xtw
)
throws
Exception
{
xtw
.
writeStartElement
(
ELEMENT_EVENT_TERMINATEDEFINITION
);
boolean
didWriteExtensionStartElement
=
BpmnXMLUtil
.
writeExtensionElements
(
terminateDefinition
,
false
,
xtw
);
if
(
didWriteExtensionStartElement
)
{
...
...
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/BoundaryEventXMLConverter.java
浏览文件 @
7c3f0e0e
...
...
@@ -88,6 +88,6 @@ public class BoundaryEventXMLConverter extends BaseBpmnXMLConverter {
@Override
protected
void
writeAdditionalChildElements
(
BaseElement
element
,
XMLStreamWriter
xtw
)
throws
Exception
{
BoundaryEvent
boundaryEvent
=
(
BoundaryEvent
)
element
;
writeEventDefinitions
(
boundaryEvent
.
getEventDefinitions
(),
xtw
);
writeEventDefinitions
(
boundaryEvent
,
boundaryEvent
.
getEventDefinitions
(),
xtw
);
}
}
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/CatchEventXMLConverter.java
浏览文件 @
7c3f0e0e
...
...
@@ -57,6 +57,6 @@ public class CatchEventXMLConverter extends BaseBpmnXMLConverter {
@Override
protected
void
writeAdditionalChildElements
(
BaseElement
element
,
XMLStreamWriter
xtw
)
throws
Exception
{
IntermediateCatchEvent
catchEvent
=
(
IntermediateCatchEvent
)
element
;
writeEventDefinitions
(
catchEvent
.
getEventDefinitions
(),
xtw
);
writeEventDefinitions
(
catchEvent
,
catchEvent
.
getEventDefinitions
(),
xtw
);
}
}
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/EndEventXMLConverter.java
浏览文件 @
7c3f0e0e
...
...
@@ -56,6 +56,6 @@ public class EndEventXMLConverter extends BaseBpmnXMLConverter {
@Override
protected
void
writeAdditionalChildElements
(
BaseElement
element
,
XMLStreamWriter
xtw
)
throws
Exception
{
EndEvent
endEvent
=
(
EndEvent
)
element
;
writeEventDefinitions
(
endEvent
.
getEventDefinitions
(),
xtw
);
writeEventDefinitions
(
endEvent
,
endEvent
.
getEventDefinitions
(),
xtw
);
}
}
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/StartEventXMLConverter.java
浏览文件 @
7c3f0e0e
...
...
@@ -81,7 +81,7 @@ public class StartEventXMLConverter extends BaseBpmnXMLConverter {
@Override
protected
void
writeAdditionalChildElements
(
BaseElement
element
,
XMLStreamWriter
xtw
)
throws
Exception
{
StartEvent
startEvent
=
(
StartEvent
)
element
;
writeEventDefinitions
(
startEvent
.
getEventDefinitions
(),
xtw
);
writeEventDefinitions
(
startEvent
,
startEvent
.
getEventDefinitions
(),
xtw
);
}
public
void
addFormType
(
String
formType
)
{
...
...
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/ThrowEventXMLConverter.java
浏览文件 @
7c3f0e0e
...
...
@@ -56,6 +56,6 @@ public class ThrowEventXMLConverter extends BaseBpmnXMLConverter {
@Override
protected
void
writeAdditionalChildElements
(
BaseElement
element
,
XMLStreamWriter
xtw
)
throws
Exception
{
ThrowEvent
throwEvent
=
(
ThrowEvent
)
element
;
writeEventDefinitions
(
throwEvent
.
getEventDefinitions
(),
xtw
);
writeEventDefinitions
(
throwEvent
,
throwEvent
.
getEventDefinitions
(),
xtw
);
}
}
modules/activiti-bpmn-model/src/main/java/org/activiti/bpmn/model/FlowNode.java
浏览文件 @
7c3f0e0e
...
...
@@ -41,19 +41,5 @@ public abstract class FlowNode extends FlowElement {
public
void
setValues
(
FlowNode
otherNode
)
{
super
.
setValues
(
otherNode
);
incomingFlows
=
new
ArrayList
<
SequenceFlow
>();
if
(
otherNode
.
getIncomingFlows
()
!=
null
&&
otherNode
.
getIncomingFlows
().
size
()
>
0
)
{
for
(
SequenceFlow
flow
:
otherNode
.
getIncomingFlows
())
{
incomingFlows
.
add
(
flow
.
clone
());
}
}
outgoingFlows
=
new
ArrayList
<
SequenceFlow
>();
if
(
otherNode
.
getOutgoingFlows
()
!=
null
&&
otherNode
.
getOutgoingFlows
().
size
()
>
0
)
{
for
(
SequenceFlow
flow
:
otherNode
.
getOutgoingFlows
())
{
outgoingFlows
.
add
(
flow
.
clone
());
}
}
}
}
modules/activiti-bpmn-model/src/main/java/org/activiti/bpmn/model/Process.java
浏览文件 @
7c3f0e0e
...
...
@@ -14,9 +14,7 @@ package org.activiti.bpmn.model;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author Tijs Rademakers
...
...
@@ -30,7 +28,6 @@ public class Process extends BaseElement implements FlowElementsContainer, HasEx
protected
List
<
ActivitiListener
>
executionListeners
=
new
ArrayList
<
ActivitiListener
>();
protected
List
<
Lane
>
lanes
=
new
ArrayList
<
Lane
>();
protected
List
<
FlowElement
>
flowElementList
=
new
ArrayList
<
FlowElement
>();
protected
Map
<
String
,
FlowElement
>
flowElementMap
=
new
HashMap
<
String
,
FlowElement
>();
// The flow elements are twice stored. The map is used for performance when retrieving by id
protected
List
<
Artifact
>
artifactList
=
new
ArrayList
<
Artifact
>();
protected
List
<
String
>
candidateStarterUsers
=
new
ArrayList
<
String
>();
protected
List
<
String
>
candidateStarterGroups
=
new
ArrayList
<
String
>();
...
...
@@ -85,15 +82,7 @@ public class Process extends BaseElement implements FlowElementsContainer, HasEx
}
public
FlowElement
getFlowElement
(
String
flowElementId
)
{
FlowElement
flowElement
=
flowElementMap
.
get
(
flowElementId
);
// It could be the id has changed after insertion into the map,
// So if it is not found, we loop through the list
if
(
flowElement
==
null
)
{
flowElement
=
findFlowElementInList
(
flowElementId
);
}
return
flowElement
;
return
findFlowElementInList
(
flowElementId
);
}
protected
FlowElement
findFlowElementInList
(
String
flowElementId
)
{
...
...
@@ -111,19 +100,12 @@ public class Process extends BaseElement implements FlowElementsContainer, HasEx
public
void
addFlowElement
(
FlowElement
element
)
{
flowElementList
.
add
(
element
);
flowElementMap
.
put
(
element
.
getId
(),
element
);
}
public
void
removeFlowElement
(
String
elementId
)
{
FlowElement
element
=
flowElementMap
.
get
(
elementId
);
if
(
element
==
null
)
{
element
=
findFlowElementInList
(
elementId
);
}
FlowElement
element
=
findFlowElementInList
(
elementId
);
if
(
element
!=
null
)
{
flowElementList
.
remove
(
element
);
flowElementMap
.
remove
(
elementId
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录