Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
开发团队
Flowable Engine
提交
90c0028a
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,发现更多精彩内容 >>
提交
90c0028a
编写于
4月 27, 2014
作者:
T
Tijs Rademakers
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #235 from mikedias/boundarymessage
ACT-1739: Added support to Message Boundary Events in Modeler
上级
be82b670
0dd4ebbf
变更
10
展开全部
隐藏空白更改
内联
并排
Showing
10 changed file
with
91 addition
and
468 deletion
+91
-468
modules/activiti-json-converter/src/main/java/org/activiti/editor/constants/StencilConstants.java
.../java/org/activiti/editor/constants/StencilConstants.java
+1
-0
modules/activiti-json-converter/src/main/java/org/activiti/editor/language/json/converter/BaseBpmnJsonConverter.java
...editor/language/json/converter/BaseBpmnJsonConverter.java
+19
-1
modules/activiti-json-converter/src/main/java/org/activiti/editor/language/json/converter/BoundaryEventJsonConverter.java
...r/language/json/converter/BoundaryEventJsonConverter.java
+11
-6
modules/activiti-json-converter/src/main/java/org/activiti/editor/language/json/converter/BpmnJsonConverter.java
...iti/editor/language/json/converter/BpmnJsonConverter.java
+2
-4
modules/activiti-json-converter/src/main/java/org/activiti/editor/language/json/converter/util/JsonConverterUtil.java
...ditor/language/json/converter/util/JsonConverterUtil.java
+9
-1
modules/activiti-json-converter/src/test/java/org/activiti/editor/language/AbstractConverterTest.java
...a/org/activiti/editor/language/AbstractConverterTest.java
+15
-0
modules/activiti-json-converter/src/test/java/org/activiti/editor/language/BoundaryEventConverterTest.java
.../activiti/editor/language/BoundaryEventConverterTest.java
+22
-18
modules/activiti-json-converter/src/test/java/org/activiti/editor/language/CatchEventConverterTest.java
...org/activiti/editor/language/CatchEventConverterTest.java
+0
-8
modules/activiti-json-converter/src/test/resources/test.boundaryeventmodel.json
...converter/src/test/resources/test.boundaryeventmodel.json
+1
-430
modules/activiti-webapp-explorer2/src/main/resources/stencilset.json
...iviti-webapp-explorer2/src/main/resources/stencilset.json
+11
-0
未找到文件。
modules/activiti-json-converter/src/main/java/org/activiti/editor/constants/StencilConstants.java
浏览文件 @
90c0028a
...
@@ -51,6 +51,7 @@ public interface StencilConstants {
...
@@ -51,6 +51,7 @@ public interface StencilConstants {
final
String
STENCIL_EVENT_BOUNDARY_TIMER
=
"BoundaryTimerEvent"
;
final
String
STENCIL_EVENT_BOUNDARY_TIMER
=
"BoundaryTimerEvent"
;
final
String
STENCIL_EVENT_BOUNDARY_ERROR
=
"BoundaryErrorEvent"
;
final
String
STENCIL_EVENT_BOUNDARY_ERROR
=
"BoundaryErrorEvent"
;
final
String
STENCIL_EVENT_BOUNDARY_SIGNAL
=
"BoundarySignalEvent"
;
final
String
STENCIL_EVENT_BOUNDARY_SIGNAL
=
"BoundarySignalEvent"
;
final
String
STENCIL_EVENT_BOUNDARY_MESSAGE
=
"BoundaryMessageEvent"
;
final
String
STENCIL_EVENT_CATCH_SIGNAL
=
"CatchSignalEvent"
;
final
String
STENCIL_EVENT_CATCH_SIGNAL
=
"CatchSignalEvent"
;
final
String
STENCIL_EVENT_CATCH_TIMER
=
"CatchTimerEvent"
;
final
String
STENCIL_EVENT_CATCH_TIMER
=
"CatchTimerEvent"
;
...
...
modules/activiti-json-converter/src/main/java/org/activiti/editor/language/json/converter/BaseBpmnJsonConverter.java
浏览文件 @
90c0028a
...
@@ -361,7 +361,21 @@ public abstract class BaseBpmnJsonConverter implements EditorJsonConstants, Sten
...
@@ -361,7 +361,21 @@ public abstract class BaseBpmnJsonConverter implements EditorJsonConstants, Sten
}
else
if
(
eventDefinition
instanceof
MessageEventDefinition
)
{
}
else
if
(
eventDefinition
instanceof
MessageEventDefinition
)
{
MessageEventDefinition
messageDefinition
=
(
MessageEventDefinition
)
eventDefinition
;
MessageEventDefinition
messageDefinition
=
(
MessageEventDefinition
)
eventDefinition
;
if
(
StringUtils
.
isNotEmpty
(
messageDefinition
.
getMessageRef
()))
{
if
(
StringUtils
.
isNotEmpty
(
messageDefinition
.
getMessageRef
()))
{
propertiesNode
.
put
(
PROPERTY_MESSAGEREF
,
messageDefinition
.
getMessageRef
());
String
messageRef
=
messageDefinition
.
getMessageRef
();
// remove the namespace from the message id if set
if
(
messageRef
.
startsWith
(
model
.
getTargetNamespace
()))
{
messageRef
=
messageRef
.
replace
(
model
.
getTargetNamespace
(),
""
);
messageRef
=
messageRef
.
replaceFirst
(
":"
,
""
);
}
else
{
for
(
String
prefix
:
model
.
getNamespaces
().
keySet
())
{
String
namespace
=
model
.
getNamespace
(
prefix
);
if
(
messageRef
.
startsWith
(
namespace
))
{
messageRef
=
messageRef
.
replace
(
model
.
getTargetNamespace
(),
""
);
messageRef
=
prefix
+
messageRef
;
}
}
}
propertiesNode
.
put
(
PROPERTY_MESSAGEREF
,
messageRef
);
}
}
}
else
if
(
eventDefinition
instanceof
SignalEventDefinition
)
{
}
else
if
(
eventDefinition
instanceof
SignalEventDefinition
)
{
...
@@ -650,6 +664,10 @@ public abstract class BaseBpmnJsonConverter implements EditorJsonConstants, Sten
...
@@ -650,6 +664,10 @@ public abstract class BaseBpmnJsonConverter implements EditorJsonConstants, Sten
return
JsonConverterUtil
.
getPropertyValueAsBoolean
(
name
,
objectNode
);
return
JsonConverterUtil
.
getPropertyValueAsBoolean
(
name
,
objectNode
);
}
}
protected
boolean
getPropertyValueAsBoolean
(
String
name
,
JsonNode
objectNode
,
boolean
defaultValue
)
{
return
JsonConverterUtil
.
getPropertyValueAsBoolean
(
name
,
objectNode
,
defaultValue
);
}
protected
List
<
String
>
getPropertyValueAsList
(
String
name
,
JsonNode
objectNode
)
{
protected
List
<
String
>
getPropertyValueAsList
(
String
name
,
JsonNode
objectNode
)
{
return
JsonConverterUtil
.
getPropertyValueAsList
(
name
,
objectNode
);
return
JsonConverterUtil
.
getPropertyValueAsList
(
name
,
objectNode
);
}
}
...
...
modules/activiti-json-converter/src/main/java/org/activiti/editor/language/json/converter/BoundaryEventJsonConverter.java
浏览文件 @
90c0028a
...
@@ -21,6 +21,7 @@ import org.activiti.bpmn.model.ErrorEventDefinition;
...
@@ -21,6 +21,7 @@ import org.activiti.bpmn.model.ErrorEventDefinition;
import
org.activiti.bpmn.model.EventDefinition
;
import
org.activiti.bpmn.model.EventDefinition
;
import
org.activiti.bpmn.model.FlowElement
;
import
org.activiti.bpmn.model.FlowElement
;
import
org.activiti.bpmn.model.GraphicInfo
;
import
org.activiti.bpmn.model.GraphicInfo
;
import
org.activiti.bpmn.model.MessageEventDefinition
;
import
org.activiti.bpmn.model.SignalEventDefinition
;
import
org.activiti.bpmn.model.SignalEventDefinition
;
import
org.codehaus.jackson.JsonNode
;
import
org.codehaus.jackson.JsonNode
;
import
org.codehaus.jackson.node.ArrayNode
;
import
org.codehaus.jackson.node.ArrayNode
;
...
@@ -42,6 +43,7 @@ public class BoundaryEventJsonConverter extends BaseBpmnJsonConverter {
...
@@ -42,6 +43,7 @@ public class BoundaryEventJsonConverter extends BaseBpmnJsonConverter {
convertersToBpmnMap
.
put
(
STENCIL_EVENT_BOUNDARY_TIMER
,
BoundaryEventJsonConverter
.
class
);
convertersToBpmnMap
.
put
(
STENCIL_EVENT_BOUNDARY_TIMER
,
BoundaryEventJsonConverter
.
class
);
convertersToBpmnMap
.
put
(
STENCIL_EVENT_BOUNDARY_ERROR
,
BoundaryEventJsonConverter
.
class
);
convertersToBpmnMap
.
put
(
STENCIL_EVENT_BOUNDARY_ERROR
,
BoundaryEventJsonConverter
.
class
);
convertersToBpmnMap
.
put
(
STENCIL_EVENT_BOUNDARY_SIGNAL
,
BoundaryEventJsonConverter
.
class
);
convertersToBpmnMap
.
put
(
STENCIL_EVENT_BOUNDARY_SIGNAL
,
BoundaryEventJsonConverter
.
class
);
convertersToBpmnMap
.
put
(
STENCIL_EVENT_BOUNDARY_MESSAGE
,
BoundaryEventJsonConverter
.
class
);
}
}
public
static
void
fillBpmnTypes
(
Map
<
Class
<?
extends
BaseElement
>,
Class
<?
extends
BaseBpmnJsonConverter
>>
convertersToJsonMap
)
{
public
static
void
fillBpmnTypes
(
Map
<
Class
<?
extends
BaseElement
>,
Class
<?
extends
BaseBpmnJsonConverter
>>
convertersToJsonMap
)
{
...
@@ -61,6 +63,8 @@ public class BoundaryEventJsonConverter extends BaseBpmnJsonConverter {
...
@@ -61,6 +63,8 @@ public class BoundaryEventJsonConverter extends BaseBpmnJsonConverter {
return
STENCIL_EVENT_BOUNDARY_ERROR
;
return
STENCIL_EVENT_BOUNDARY_ERROR
;
}
else
if
(
eventDefinition
instanceof
SignalEventDefinition
)
{
}
else
if
(
eventDefinition
instanceof
SignalEventDefinition
)
{
return
STENCIL_EVENT_BOUNDARY_SIGNAL
;
return
STENCIL_EVENT_BOUNDARY_SIGNAL
;
}
else
if
(
eventDefinition
instanceof
MessageEventDefinition
)
{
return
STENCIL_EVENT_BOUNDARY_MESSAGE
;
}
else
{
}
else
{
return
STENCIL_EVENT_BOUNDARY_TIMER
;
return
STENCIL_EVENT_BOUNDARY_TIMER
;
}
}
...
@@ -77,26 +81,27 @@ public class BoundaryEventJsonConverter extends BaseBpmnJsonConverter {
...
@@ -77,26 +81,27 @@ public class BoundaryEventJsonConverter extends BaseBpmnJsonConverter {
dockersArrayNode
.
add
(
dockNode
);
dockersArrayNode
.
add
(
dockNode
);
flowElementNode
.
put
(
"dockers"
,
dockersArrayNode
);
flowElementNode
.
put
(
"dockers"
,
dockersArrayNode
);
if
(
boundaryEvent
.
isCancelActivity
()
==
false
)
{
propertiesNode
.
put
(
PROPERTY_CANCEL_ACTIVITY
,
boundaryEvent
.
isCancelActivity
()
?
PROPERTY_VALUE_YES
:
PROPERTY_VALUE_NO
);
propertiesNode
.
put
(
PROPERTY_CANCEL_ACTIVITY
,
PROPERTY_VALUE_NO
);
}
addEventProperties
(
boundaryEvent
,
propertiesNode
);
addEventProperties
(
boundaryEvent
,
propertiesNode
);
}
}
protected
FlowElement
convertJsonToElement
(
JsonNode
elementNode
,
JsonNode
modelNode
,
Map
<
String
,
JsonNode
>
shapeMap
)
{
protected
FlowElement
convertJsonToElement
(
JsonNode
elementNode
,
JsonNode
modelNode
,
Map
<
String
,
JsonNode
>
shapeMap
)
{
BoundaryEvent
boundaryEvent
=
new
BoundaryEvent
();
BoundaryEvent
boundaryEvent
=
new
BoundaryEvent
();
boundaryEvent
.
setAttachedToRefId
(
lookForAttachedRef
(
elementNode
.
get
(
EDITOR_SHAPE_ID
).
asText
(),
modelNode
.
get
(
EDITOR_CHILD_SHAPES
)));
boundaryEvent
.
setCancelActivity
(
getPropertyValueAsBoolean
(
PROPERTY_CANCEL_ACTIVITY
,
elementNode
,
true
));
String
stencilId
=
BpmnJsonConverterUtil
.
getStencilId
(
elementNode
);
String
stencilId
=
BpmnJsonConverterUtil
.
getStencilId
(
elementNode
);
if
(
STENCIL_EVENT_BOUNDARY_TIMER
.
equals
(
stencilId
))
{
if
(
STENCIL_EVENT_BOUNDARY_TIMER
.
equals
(
stencilId
))
{
boundaryEvent
.
setCancelActivity
(
getPropertyValueAsBoolean
(
PROPERTY_CANCEL_ACTIVITY
,
elementNode
));
convertJsonToTimerDefinition
(
elementNode
,
boundaryEvent
);
convertJsonToTimerDefinition
(
elementNode
,
boundaryEvent
);
}
else
if
(
STENCIL_EVENT_BOUNDARY_ERROR
.
equals
(
stencilId
))
{
}
else
if
(
STENCIL_EVENT_BOUNDARY_ERROR
.
equals
(
stencilId
))
{
boundaryEvent
.
setCancelActivity
(
true
);
//always true
convertJsonToErrorDefinition
(
elementNode
,
boundaryEvent
);
convertJsonToErrorDefinition
(
elementNode
,
boundaryEvent
);
}
else
if
(
STENCIL_EVENT_BOUNDARY_SIGNAL
.
equals
(
stencilId
))
{
}
else
if
(
STENCIL_EVENT_BOUNDARY_SIGNAL
.
equals
(
stencilId
))
{
boundaryEvent
.
setCancelActivity
(
getPropertyValueAsBoolean
(
PROPERTY_CANCEL_ACTIVITY
,
elementNode
));
convertJsonToSignalDefinition
(
elementNode
,
boundaryEvent
);
convertJsonToSignalDefinition
(
elementNode
,
boundaryEvent
);
}
else
if
(
STENCIL_EVENT_BOUNDARY_MESSAGE
.
equals
(
stencilId
))
{
convertJsonToMessageDefinition
(
elementNode
,
boundaryEvent
);
}
}
boundaryEvent
.
setAttachedToRefId
(
lookForAttachedRef
(
elementNode
.
get
(
EDITOR_SHAPE_ID
).
asText
(),
modelNode
.
get
(
EDITOR_CHILD_SHAPES
)));
return
boundaryEvent
;
return
boundaryEvent
;
}
}
...
...
modules/activiti-json-converter/src/main/java/org/activiti/editor/language/json/converter/BpmnJsonConverter.java
浏览文件 @
90c0028a
...
@@ -117,6 +117,7 @@ public class BpmnJsonConverter implements EditorJsonConstants, StencilConstants,
...
@@ -117,6 +117,7 @@ public class BpmnJsonConverter implements EditorJsonConstants, StencilConstants,
DI_CIRCLES
.
add
(
STENCIL_EVENT_BOUNDARY_ERROR
);
DI_CIRCLES
.
add
(
STENCIL_EVENT_BOUNDARY_ERROR
);
DI_CIRCLES
.
add
(
STENCIL_EVENT_BOUNDARY_SIGNAL
);
DI_CIRCLES
.
add
(
STENCIL_EVENT_BOUNDARY_SIGNAL
);
DI_CIRCLES
.
add
(
STENCIL_EVENT_BOUNDARY_TIMER
);
DI_CIRCLES
.
add
(
STENCIL_EVENT_BOUNDARY_TIMER
);
DI_CIRCLES
.
add
(
STENCIL_EVENT_BOUNDARY_MESSAGE
);
DI_CIRCLES
.
add
(
STENCIL_EVENT_CATCH_MESSAGE
);
DI_CIRCLES
.
add
(
STENCIL_EVENT_CATCH_MESSAGE
);
DI_CIRCLES
.
add
(
STENCIL_EVENT_CATCH_SIGNAL
);
DI_CIRCLES
.
add
(
STENCIL_EVENT_CATCH_SIGNAL
);
...
@@ -289,10 +290,7 @@ public class BpmnJsonConverter implements EditorJsonConstants, StencilConstants,
...
@@ -289,10 +290,7 @@ public class BpmnJsonConverter implements EditorJsonConstants, StencilConstants,
pool
.
setId
(
BpmnJsonConverterUtil
.
getElementId
(
shapeNode
));
pool
.
setId
(
BpmnJsonConverterUtil
.
getElementId
(
shapeNode
));
pool
.
setName
(
JsonConverterUtil
.
getPropertyValueAsString
(
PROPERTY_NAME
,
shapeNode
));
pool
.
setName
(
JsonConverterUtil
.
getPropertyValueAsString
(
PROPERTY_NAME
,
shapeNode
));
pool
.
setProcessRef
(
JsonConverterUtil
.
getPropertyValueAsString
(
PROPERTY_PROCESS_ID
,
shapeNode
));
pool
.
setProcessRef
(
JsonConverterUtil
.
getPropertyValueAsString
(
PROPERTY_PROCESS_ID
,
shapeNode
));
JsonNode
processExecutableNode
=
JsonConverterUtil
.
getProperty
(
PROPERTY_PROCESS_EXECUTABLE
,
shapeNode
);
pool
.
setExecutable
(
JsonConverterUtil
.
getPropertyValueAsBoolean
(
PROPERTY_PROCESS_EXECUTABLE
,
shapeNode
,
true
));
if
(
processExecutableNode
!=
null
&&
StringUtils
.
isNotEmpty
(
processExecutableNode
.
asText
()))
{
pool
.
setExecutable
(
JsonConverterUtil
.
getPropertyValueAsBoolean
(
PROPERTY_PROCESS_EXECUTABLE
,
shapeNode
));
}
bpmnModel
.
getPools
().
add
(
pool
);
bpmnModel
.
getPools
().
add
(
pool
);
Process
process
=
new
Process
();
Process
process
=
new
Process
();
...
...
modules/activiti-json-converter/src/main/java/org/activiti/editor/language/json/converter/util/JsonConverterUtil.java
浏览文件 @
90c0028a
...
@@ -19,11 +19,19 @@ public class JsonConverterUtil implements EditorJsonConstants, StencilConstants
...
@@ -19,11 +19,19 @@ public class JsonConverterUtil implements EditorJsonConstants, StencilConstants
}
}
public
static
boolean
getPropertyValueAsBoolean
(
String
name
,
JsonNode
objectNode
)
{
public
static
boolean
getPropertyValueAsBoolean
(
String
name
,
JsonNode
objectNode
)
{
boolean
result
=
false
;
return
getPropertyValueAsBoolean
(
name
,
objectNode
,
false
);
}
public
static
boolean
getPropertyValueAsBoolean
(
String
name
,
JsonNode
objectNode
,
boolean
defaultValue
)
{
boolean
result
=
defaultValue
;
String
stringValue
=
getPropertyValueAsString
(
name
,
objectNode
);
String
stringValue
=
getPropertyValueAsString
(
name
,
objectNode
);
if
(
PROPERTY_VALUE_YES
.
equalsIgnoreCase
(
stringValue
))
{
if
(
PROPERTY_VALUE_YES
.
equalsIgnoreCase
(
stringValue
))
{
result
=
true
;
result
=
true
;
}
else
if
(
PROPERTY_VALUE_NO
.
equalsIgnoreCase
(
stringValue
))
{
result
=
false
;
}
}
return
result
;
return
result
;
}
}
...
...
modules/activiti-json-converter/src/test/java/org/activiti/editor/language/AbstractConverterTest.java
浏览文件 @
90c0028a
package
org.activiti.editor.language
;
package
org.activiti.editor.language
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
java.io.InputStream
;
import
java.io.InputStream
;
import
org.activiti.bpmn.model.BpmnModel
;
import
org.activiti.bpmn.model.BpmnModel
;
import
org.activiti.bpmn.model.Event
;
import
org.activiti.bpmn.model.EventDefinition
;
import
org.activiti.bpmn.model.FlowElement
;
import
org.activiti.editor.language.json.converter.BpmnJsonConverter
;
import
org.activiti.editor.language.json.converter.BpmnJsonConverter
;
import
org.codehaus.jackson.JsonNode
;
import
org.codehaus.jackson.JsonNode
;
import
org.codehaus.jackson.map.ObjectMapper
;
import
org.codehaus.jackson.map.ObjectMapper
;
...
@@ -24,5 +31,13 @@ public abstract class AbstractConverterTest {
...
@@ -24,5 +31,13 @@ public abstract class AbstractConverterTest {
return
bpmnModel
;
return
bpmnModel
;
}
}
protected
EventDefinition
extractEventDefinition
(
FlowElement
flowElement
)
{
assertNotNull
(
flowElement
);
assertTrue
(
flowElement
instanceof
Event
);
Event
event
=
(
Event
)
flowElement
;
assertFalse
(
event
.
getEventDefinitions
().
isEmpty
());
return
event
.
getEventDefinitions
().
get
(
0
);
}
protected
abstract
String
getResource
();
protected
abstract
String
getResource
();
}
}
modules/activiti-json-converter/src/test/java/org/activiti/editor/language/BoundaryEventConverterTest.java
浏览文件 @
90c0028a
package
org.activiti.editor.language
;
package
org.activiti.editor.language
;
import
static
org
.
junit
.
Assert
.
assert
True
;
import
static
org
.
junit
.
Assert
.
assert
Equals
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
org.activiti.bpmn.converter.BpmnXMLConverter
;
import
org.activiti.bpmn.model.BoundaryEvent
;
import
org.activiti.bpmn.model.BoundaryEvent
;
import
org.activiti.bpmn.model.BpmnModel
;
import
org.activiti.bpmn.model.BpmnModel
;
import
org.activiti.bpmn.model.FlowElement
;
import
org.activiti.bpmn.model.ErrorEventDefinition
;
import
org.activiti.bpmn.model.MessageEventDefinition
;
import
org.activiti.bpmn.model.SignalEventDefinition
;
import
org.activiti.bpmn.model.TimerEventDefinition
;
import
org.junit.Test
;
import
org.junit.Test
;
...
@@ -22,7 +25,6 @@ public class BoundaryEventConverterTest extends AbstractConverterTest {
...
@@ -22,7 +25,6 @@ public class BoundaryEventConverterTest extends AbstractConverterTest {
public
void
doubleConversionValidation
()
throws
Exception
{
public
void
doubleConversionValidation
()
throws
Exception
{
BpmnModel
bpmnModel
=
readJsonFile
();
BpmnModel
bpmnModel
=
readJsonFile
();
bpmnModel
=
convertToJsonAndBack
(
bpmnModel
);
bpmnModel
=
convertToJsonAndBack
(
bpmnModel
);
System
.
out
.
println
(
"xml "
+
new
String
(
new
BpmnXMLConverter
().
convertToXML
(
bpmnModel
),
"utf-8"
));
validateModel
(
bpmnModel
);
validateModel
(
bpmnModel
);
}
}
...
@@ -33,24 +35,26 @@ public class BoundaryEventConverterTest extends AbstractConverterTest {
...
@@ -33,24 +35,26 @@ public class BoundaryEventConverterTest extends AbstractConverterTest {
private
void
validateModel
(
BpmnModel
model
)
{
private
void
validateModel
(
BpmnModel
model
)
{
FlowElement
errorElement
=
model
.
getMainProcess
().
getFlowElement
(
"errorEvent"
);
BoundaryEvent
errorElement
=
(
BoundaryEvent
)
model
.
getMainProcess
().
getFlowElement
(
"errorEvent"
);
assertTrue
(
errorElement
instanceof
BoundaryEvent
);
ErrorEventDefinition
errorEvent
=
(
ErrorEventDefinition
)
extractEventDefinition
(
errorElement
);
assertTrue
(
errorElement
.
isCancelActivity
());
//always true
assertEquals
(
"errorRef"
,
errorEvent
.
getErrorCode
());
FlowElement
signalElement
=
model
.
getMainProcess
().
getFlowElement
(
"signalEvent"
);
BoundaryEvent
signalElement
=
(
BoundaryEvent
)
model
.
getMainProcess
().
getFlowElement
(
"signalEvent"
);
assertTrue
(
signalElement
instanceof
BoundaryEvent
);
SignalEventDefinition
signalEvent
=
(
SignalEventDefinition
)
extractEventDefinition
(
signalElement
);
assertFalse
(
signalElement
.
isCancelActivity
());
assertEquals
(
"signalRef"
,
signalEvent
.
getSignalRef
());
FlowElement
timerElement
=
model
.
getMainProcess
().
getFlowElement
(
"timerEvent"
);
BoundaryEvent
messageElement
=
(
BoundaryEvent
)
model
.
getMainProcess
().
getFlowElement
(
"messageEvent"
);
assertTrue
(
timerElement
instanceof
BoundaryEvent
);
MessageEventDefinition
messageEvent
=
(
MessageEventDefinition
)
extractEventDefinition
(
messageElement
);
assertFalse
(
messageElement
.
isCancelActivity
());
assertEquals
(
"messageRef"
,
messageEvent
.
getMessageRef
());
BoundaryEvent
errorEvent
=
(
BoundaryEvent
)
errorElement
;
BoundaryEvent
timerElement
=
(
BoundaryEvent
)
model
.
getMainProcess
().
getFlowElement
(
"timerEvent"
);
assertTrue
(
errorEvent
.
isCancelActivity
());
//always true
TimerEventDefinition
timerEvent
=
(
TimerEventDefinition
)
extractEventDefinition
(
timerElement
);
assertFalse
(
timerElement
.
isCancelActivity
());
assertEquals
(
"PT5M"
,
timerEvent
.
getTimeDuration
());
BoundaryEvent
signalEvent
=
(
BoundaryEvent
)
signalElement
;
assertFalse
(
signalEvent
.
isCancelActivity
());
BoundaryEvent
timerEvent
=
(
BoundaryEvent
)
timerElement
;
assertFalse
(
timerEvent
.
isCancelActivity
());
}
}
}
}
modules/activiti-json-converter/src/test/java/org/activiti/editor/language/CatchEventConverterTest.java
浏览文件 @
90c0028a
package
org.activiti.editor.language
;
package
org.activiti.editor.language
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
org.activiti.bpmn.model.BpmnModel
;
import
org.activiti.bpmn.model.BpmnModel
;
import
org.activiti.bpmn.model.EventDefinition
;
import
org.activiti.bpmn.model.EventDefinition
;
import
org.activiti.bpmn.model.FlowElement
;
import
org.activiti.bpmn.model.FlowElement
;
import
org.activiti.bpmn.model.IntermediateCatchEvent
;
import
org.activiti.bpmn.model.MessageEventDefinition
;
import
org.activiti.bpmn.model.MessageEventDefinition
;
import
org.activiti.bpmn.model.SignalEventDefinition
;
import
org.activiti.bpmn.model.SignalEventDefinition
;
import
org.activiti.bpmn.model.TimerEventDefinition
;
import
org.activiti.bpmn.model.TimerEventDefinition
;
...
@@ -55,10 +53,4 @@ public class CatchEventConverterTest extends AbstractConverterTest {
...
@@ -55,10 +53,4 @@ public class CatchEventConverterTest extends AbstractConverterTest {
}
}
private
EventDefinition
extractEventDefinition
(
FlowElement
messageElement
)
{
assertNotNull
(
messageElement
);
assertTrue
(
messageElement
instanceof
IntermediateCatchEvent
);
IntermediateCatchEvent
messageEvent
=
(
IntermediateCatchEvent
)
messageElement
;
return
messageEvent
.
getEventDefinitions
().
get
(
0
);
}
}
}
modules/activiti-json-converter/src/test/resources/test.boundaryeventmodel.json
浏览文件 @
90c0028a
此差异已折叠。
点击以展开。
modules/activiti-webapp-explorer2/src/main/resources/stencilset.json
浏览文件 @
90c0028a
...
@@ -1409,6 +1409,17 @@
...
@@ -1409,6 +1409,17 @@
"propertyPackages"
:
[
"elementbase"
,
"baseattributes"
,
"cancelactivityattribute"
,
"signalrefdefinition"
],
"propertyPackages"
:
[
"elementbase"
,
"baseattributes"
,
"cancelactivityattribute"
,
"signalrefdefinition"
],
"roles"
:
[
"sequence_start"
,
"BoundaryEventsMorph"
,
"IntermediateEventOnActivityBoundary"
]
"roles"
:
[
"sequence_start"
,
"BoundaryEventsMorph"
,
"IntermediateEventOnActivityBoundary"
]
},
{
},
{
"type"
:
"node"
,
"id"
:
"BoundaryMessageEvent"
,
"title"
:
"Boundary message event"
,
"description"
:
"A boundary event with a message trigger"
,
"view"
:
"intermediateevent/message.catching.svg"
,
"icon"
:
"catching/message.png"
,
"groups"
:
[
"Boundary Events"
],
"propertyPackages"
:
[
"elementbase"
,
"baseattributes"
,
"cancelactivityattribute"
,
"messagerefdefinition"
],
"roles"
:
[
"sequence_start"
,
"BoundaryEventsMorph"
,
"IntermediateEventOnActivityBoundary"
]
},
{
"type"
:
"node"
,
"type"
:
"node"
,
"id"
:
"CatchTimerEvent"
,
"id"
:
"CatchTimerEvent"
,
"title"
:
"Intermediate timer catching event"
,
"title"
:
"Intermediate timer catching event"
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录