Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
开发团队
Flowable Engine
提交
4669b59e
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,发现更多精彩内容 >>
提交
4669b59e
编写于
3月 19, 2014
作者:
T
Tijs Rademakers
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
https://github.com/Activiti/Activiti
上级
509ad6e6
bbc3ad78
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
84 addition
and
4 deletion
+84
-4
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/DataObjectXMLConverter.java
...a/org/activiti/bpmn/converter/DataObjectXMLConverter.java
+3
-0
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/ValuedDataObjectXMLConverter.java
...activiti/bpmn/converter/ValuedDataObjectXMLConverter.java
+4
-1
modules/activiti-bpmn-converter/src/test/java/org/activiti/validation/ProcessValidationTest.java
...t/java/org/activiti/validation/ProcessValidationTest.java
+6
-1
modules/activiti-bpmn-converter/src/test/resources/invalidProcess.bpmn20.xml
...mn-converter/src/test/resources/invalidProcess.bpmn20.xml
+26
-1
modules/activiti-engine/src/main/resources/org/activiti/db/mapping/entity/EventSubscription.xml
...rces/org/activiti/db/mapping/entity/EventSubscription.xml
+1
-1
modules/activiti-process-validation/src/main/java/org/activiti/validation/validator/Problems.java
...main/java/org/activiti/validation/validator/Problems.java
+2
-0
modules/activiti-process-validation/src/main/java/org/activiti/validation/validator/ValidatorSetFactory.java
...rg/activiti/validation/validator/ValidatorSetFactory.java
+2
-0
modules/activiti-process-validation/src/main/java/org/activiti/validation/validator/impl/DataObjectValidator.java
...tiviti/validation/validator/impl/DataObjectValidator.java
+40
-0
未找到文件。
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/DataObjectXMLConverter.java
浏览文件 @
4669b59e
...
...
@@ -3,6 +3,7 @@ package org.activiti.bpmn.converter;
import
javax.xml.stream.XMLStreamReader
;
import
javax.xml.stream.XMLStreamWriter
;
import
org.activiti.bpmn.converter.util.BpmnXMLUtil
;
import
org.activiti.bpmn.model.BaseElement
;
import
org.activiti.bpmn.model.BpmnModel
;
import
org.activiti.bpmn.model.DataObject
;
...
...
@@ -32,6 +33,8 @@ public class DataObjectXMLConverter extends BaseBpmnXMLConverter {
protected
BaseElement
convertXMLToElement
(
XMLStreamReader
xtr
)
throws
Exception
{
DataObject
dataObject
=
new
DataObject
();
ItemDefinition
itemSubjectRef
=
new
ItemDefinition
();
BpmnXMLUtil
.
addXMLLocation
(
dataObject
,
xtr
);
dataObject
.
setId
(
xtr
.
getAttributeValue
(
null
,
ATTRIBUTE_DATA_ID
));
dataObject
.
setName
(
xtr
.
getAttributeValue
(
null
,
ATTRIBUTE_DATA_NAME
));
...
...
modules/activiti-bpmn-converter/src/main/java/org/activiti/bpmn/converter/ValuedDataObjectXMLConverter.java
浏览文件 @
4669b59e
...
...
@@ -5,6 +5,7 @@ import java.util.Date;
import
javax.xml.stream.XMLStreamReader
;
import
javax.xml.stream.XMLStreamWriter
;
import
org.activiti.bpmn.converter.util.BpmnXMLUtil
;
import
org.activiti.bpmn.model.BaseElement
;
import
org.activiti.bpmn.model.BooleanDataObject
;
import
org.activiti.bpmn.model.BpmnModel
;
...
...
@@ -63,9 +64,11 @@ public class ValuedDataObjectXMLConverter extends BaseBpmnXMLConverter {
// TODO should throw exception here for unsupported data type
}
if
(
null
!=
dataObject
)
{
if
(
dataObject
!=
null
)
{
dataObject
.
setId
(
xtr
.
getAttributeValue
(
null
,
ATTRIBUTE_DATA_ID
));
dataObject
.
setName
(
xtr
.
getAttributeValue
(
null
,
ATTRIBUTE_DATA_NAME
));
BpmnXMLUtil
.
addXMLLocation
(
dataObject
,
xtr
);
itemSubjectRef
.
setStructureRef
(
structureRef
);
dataObject
.
setItemSubjectRef
(
itemSubjectRef
);
...
...
modules/activiti-bpmn-converter/src/test/java/org/activiti/validation/ProcessValidationTest.java
浏览文件 @
4669b59e
...
...
@@ -51,7 +51,7 @@ public class ProcessValidationTest {
@Test
public
void
verifyValidation
()
{
List
<
ValidationError
>
allErrors
=
processValidator
.
validate
(
bpmnModel
);
Assert
.
assertEquals
(
6
2
,
allErrors
.
size
());
Assert
.
assertEquals
(
6
4
,
allErrors
.
size
());
String
setName
=
ValidatorSetNames
.
ACTIVITI_EXECUTABLE_PROCESS
;
// shortening it a bit
...
...
@@ -211,6 +211,11 @@ public class ProcessValidationTest {
problems
=
findErrors
(
allErrors
,
setName
,
Problems
.
DATA_ASSOCIATION_MISSING_TARGETREF
,
1
);
assertCommonProblemFieldForActivity
(
problems
.
get
(
0
));
// Data object
problems
=
findErrors
(
allErrors
,
setName
,
Problems
.
DATA_OBJECT_MISSING_NAME
,
2
);
assertCommonErrorFields
(
problems
.
get
(
0
));
assertCommonErrorFields
(
problems
.
get
(
1
));
// End event
problems
=
findErrors
(
allErrors
,
setName
,
Problems
.
END_EVENT_CANCEL_ONLY_INSIDE_TRANSACTION
,
1
);
assertCommonProblemFieldForActivity
(
problems
.
get
(
0
));
...
...
modules/activiti-bpmn-converter/src/test/resources/invalidProcess.bpmn20.xml
浏览文件 @
4669b59e
...
...
@@ -37,8 +37,15 @@
<association
associationDirection=
"One"
sourceRef=
""
targetRef=
""
id=
"as1"
/>
<documentation>
This is a process for testing purposes
</documentation>
<dataObject
id=
"dataObject1"
itemSubjectRef=
"xsd:string"
>
<extensionElements>
<activiti:value>
Testing
</activiti:value>
</extensionElements>
</dataObject>
<startEvent
id=
"theStart1"
name=
"start1"
/>
<startEvent
id=
"theStart2"
name=
"start2"
/>
...
...
@@ -263,6 +270,24 @@
<compensateEventDefinition
activityRef=
"invalid"
/>
</boundaryEvent>
<!-- Nested subprocess with a data object with no name -->
<subProcess
id=
"someSubprocess1"
name=
"someSubprocess1"
>
<subProcess
id=
"someSubprocess2"
name=
"someSubprocess2"
>
<subProcess
id=
"someSubprocess3"
name=
"someSubprocess3"
>
<dataObject
id=
"dataObject2"
itemSubjectRef=
"xsd:string"
>
<extensionElements>
<activiti:value>
Testing2
</activiti:value>
</extensionElements>
</dataObject>
</subProcess>
</subProcess>
</subProcess>
<!-- Invalid sequence flow: src/target not correct -->
<sequenceFlow
id=
"invalidSeqFlow1"
name=
"seqFlow"
targetRef=
"theEnd"
sourceRef=
"invalid"
></sequenceFlow>
...
...
modules/activiti-engine/src/main/resources/org/activiti/db/mapping/entity/EventSubscription.xml
浏览文件 @
4669b59e
...
...
@@ -218,7 +218,7 @@
CONFIGURATION_,
CREATED_,
PROC_DEF_ID_,
TENANT_ID_
,
TENANT_ID_
)
values (#{id, jdbcType=VARCHAR},
1,
...
...
modules/activiti-process-validation/src/main/java/org/activiti/validation/validator/Problems.java
浏览文件 @
4669b59e
...
...
@@ -92,6 +92,8 @@ public interface Problems {
String
DATA_ASSOCIATION_MISSING_TARGETREF
=
"activiti-data-association-missing-targetref"
;
String
DATA_OBJECT_MISSING_NAME
=
"activiti-data-object-missing-name"
;
String
END_EVENT_CANCEL_ONLY_INSIDE_TRANSACTION
=
"activiti-end-event-cancel-only-inside-transaction"
;
String
DI_INVALID_REFERENCE
=
"activiti-di-invalid-reference"
;
...
...
modules/activiti-process-validation/src/main/java/org/activiti/validation/validator/ValidatorSetFactory.java
浏览文件 @
4669b59e
...
...
@@ -3,6 +3,7 @@ package org.activiti.validation.validator;
import
org.activiti.validation.validator.impl.ActivitiEventListenerValidator
;
import
org.activiti.validation.validator.impl.AssociationValidator
;
import
org.activiti.validation.validator.impl.BoundaryEventValidator
;
import
org.activiti.validation.validator.impl.DataObjectValidator
;
import
org.activiti.validation.validator.impl.DiagramInterchangeInfoValidator
;
import
org.activiti.validation.validator.impl.EndEventValidator
;
import
org.activiti.validation.validator.impl.ErrorValidator
;
...
...
@@ -38,6 +39,7 @@ public class ValidatorSetFactory {
validatorSet
.
addValidator
(
new
SignalValidator
());
validatorSet
.
addValidator
(
new
OperationValidator
());
validatorSet
.
addValidator
(
new
ErrorValidator
());
validatorSet
.
addValidator
(
new
DataObjectValidator
());
validatorSet
.
addValidator
(
new
ProcessDefinitionValidator
());
validatorSet
.
addValidator
(
new
FlowElementValidator
());
...
...
modules/activiti-process-validation/src/main/java/org/activiti/validation/validator/impl/DataObjectValidator.java
0 → 100644
浏览文件 @
4669b59e
package
org.activiti.validation.validator.impl
;
import
java.util.ArrayList
;
import
java.util.List
;
import
org.activiti.bpmn.model.BpmnModel
;
import
org.activiti.bpmn.model.Process
;
import
org.activiti.bpmn.model.SubProcess
;
import
org.activiti.bpmn.model.ValuedDataObject
;
import
org.activiti.validation.ValidationError
;
import
org.activiti.validation.validator.Problems
;
import
org.activiti.validation.validator.ProcessLevelValidator
;
import
org.apache.commons.lang3.StringUtils
;
/**
* @author jbarrez
*/
public
class
DataObjectValidator
extends
ProcessLevelValidator
{
@Override
protected
void
executeValidation
(
BpmnModel
bpmnModel
,
Process
process
,
List
<
ValidationError
>
errors
)
{
// Gather data objects
List
<
ValuedDataObject
>
allDataObjects
=
new
ArrayList
<
ValuedDataObject
>();
allDataObjects
.
addAll
(
process
.
getDataObjects
());
List
<
SubProcess
>
subProcesses
=
process
.
findFlowElementsOfType
(
SubProcess
.
class
,
true
);
for
(
SubProcess
subProcess
:
subProcesses
)
{
allDataObjects
.
addAll
(
subProcess
.
getDataObjects
());
}
// Validate
for
(
ValuedDataObject
dataObject
:
allDataObjects
)
{
if
(
StringUtils
.
isEmpty
(
dataObject
.
getName
()))
{
addError
(
errors
,
Problems
.
DATA_OBJECT_MISSING_NAME
,
process
,
dataObject
,
"Name is mandatory for a data object"
);
}
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录