Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
开发团队
Flowable Engine
提交
88d3cc6c
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,发现更多精彩内容 >>
提交
88d3cc6c
编写于
8月 22, 2013
作者:
T
tijsrademakers
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Cleaned up simple workflow model
上级
2eb709ca
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
93 addition
and
70 deletion
+93
-70
modules/activiti-simple-workflow/pom.xml
modules/activiti-simple-workflow/pom.xml
+5
-4
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/converter/WorkflowDefinitionConversion.java
...rkflow/simple/converter/WorkflowDefinitionConversion.java
+3
-17
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/converter/json/SimpleWorkflowJsonConverter.java
...ow/simple/converter/json/SimpleWorkflowJsonConverter.java
+10
-25
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/definition/AbstractNamedStepDefinition.java
...rkflow/simple/definition/AbstractNamedStepDefinition.java
+9
-0
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/definition/AbstractStepDefinitionContainer.java
...ow/simple/definition/AbstractStepDefinitionContainer.java
+36
-14
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/definition/HumanStepAssignment.java
...iviti/workflow/simple/definition/HumanStepAssignment.java
+2
-2
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/definition/ParallelStepsDefinition.java
...i/workflow/simple/definition/ParallelStepsDefinition.java
+2
-2
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/definition/StepDefinition.java
...g/activiti/workflow/simple/definition/StepDefinition.java
+2
-0
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/definition/StepDefinitionContainer.java
...i/workflow/simple/definition/StepDefinitionContainer.java
+1
-2
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/definition/form/FormPropertyGroup.java
...ti/workflow/simple/definition/form/FormPropertyGroup.java
+2
-2
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/exception/SimpleWorkflowException.java
...ti/workflow/simple/exception/SimpleWorkflowException.java
+19
-0
modules/activiti-simple-workflow/src/test/java/org/activiti/workflow/simple/WorkflowConversionTest.java
.../org/activiti/workflow/simple/WorkflowConversionTest.java
+2
-2
未找到文件。
modules/activiti-simple-workflow/pom.xml
浏览文件 @
88d3cc6c
...
...
@@ -14,10 +14,6 @@
</parent>
<dependencies>
<dependency>
<groupId>
org.activiti
</groupId>
<artifactId>
activiti-engine
</artifactId>
</dependency>
<!-- BPMN model conversion -->
<dependency>
<groupId>
org.activiti
</groupId>
...
...
@@ -60,6 +56,11 @@
<artifactId>
junit
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.activiti
</groupId>
<artifactId>
activiti-engine
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
com.h2database
</groupId>
<artifactId>
h2
</artifactId>
...
...
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/converter/WorkflowDefinitionConversion.java
浏览文件 @
88d3cc6c
...
...
@@ -12,7 +12,6 @@
*/
package
org.activiti.workflow.simple.converter
;
import
java.io.InputStream
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -21,12 +20,11 @@ import org.activiti.bpmn.BpmnAutoLayout;
import
org.activiti.bpmn.converter.BpmnXMLConverter
;
import
org.activiti.bpmn.model.BpmnModel
;
import
org.activiti.bpmn.model.Process
;
import
org.activiti.engine.ActivitiException
;
import
org.activiti.engine.impl.bpmn.diagram.ProcessDiagramGenerator
;
import
org.activiti.workflow.simple.converter.listener.WorkflowDefinitionConversionListener
;
import
org.activiti.workflow.simple.converter.step.StepDefinitionConverter
;
import
org.activiti.workflow.simple.definition.StepDefinition
;
import
org.activiti.workflow.simple.definition.WorkflowDefinition
;
import
org.activiti.workflow.simple.exception.SimpleWorkflowException
;
/**
* Instances of this class are created by a {@link WorkflowDefinitionConversionFactory}.
...
...
@@ -81,7 +79,7 @@ public class WorkflowDefinitionConversion {
public
void
convert
()
{
if
(
workflowDefinition
==
null
)
{
throw
new
Activiti
Exception
(
"Cannot start conversion: need to set a WorkflowDefinition first!"
);
throw
new
SimpleWorkflow
Exception
(
"Cannot start conversion: need to set a WorkflowDefinition first!"
);
}
this
.
incrementalIdMapping
=
new
HashMap
<
String
,
Integer
>();
...
...
@@ -210,23 +208,11 @@ public class WorkflowDefinitionConversion {
* Returns the BPMN 2.0 xml which is the converted version of the
* provided {@link WorkflowDefinition}.
*/
public
String
get
bpm
20Xml
()
{
public
String
get
Bpmn
20Xml
()
{
if
(
bpmnModel
==
null
)
{
convert
();
}
BpmnXMLConverter
bpmnXMLConverter
=
new
BpmnXMLConverter
();
return
new
String
(
bpmnXMLConverter
.
convertToXML
(
bpmnModel
));
}
/**
* Returns the BPMN 2.0 diagram which is the converted version of the
* provided {@link WorkflowDefinition}.
*/
public
InputStream
getWorkflowDiagramImage
()
{
if
(
bpmnModel
==
null
)
{
convert
();
}
return
ProcessDiagramGenerator
.
generatePngDiagram
(
bpmnModel
);
}
}
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/converter/json/SimpleWorkflowJsonConverter.java
浏览文件 @
88d3cc6c
...
...
@@ -12,12 +12,10 @@
*/
package
org.activiti.workflow.simple.converter.json
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.Writer
;
import
java.util.List
;
import
org.activiti.engine.ActivitiException
;
import
org.activiti.workflow.simple.definition.FeedbackStepDefinition
;
import
org.activiti.workflow.simple.definition.HumanStepDefinition
;
import
org.activiti.workflow.simple.definition.ParallelStepsDefinition
;
...
...
@@ -28,8 +26,7 @@ import org.activiti.workflow.simple.definition.form.ListPropertyDefinition;
import
org.activiti.workflow.simple.definition.form.NumberPropertyDefinition
;
import
org.activiti.workflow.simple.definition.form.ReferencePropertyDefinition
;
import
org.activiti.workflow.simple.definition.form.TextPropertyDefinition
;
import
org.codehaus.jackson.JsonParseException
;
import
org.codehaus.jackson.map.JsonMappingException
;
import
org.activiti.workflow.simple.exception.SimpleWorkflowException
;
import
org.codehaus.jackson.map.ObjectMapper
;
/**
...
...
@@ -50,14 +47,10 @@ public class SimpleWorkflowJsonConverter {
* @return The workflow definition instance, read from the given input-stream.
* @throws ActivitiException when an error occurs while reading or parsing the definition.
*/
public
WorkflowDefinition
readWorkflowDefinition
(
InputStream
inputStream
)
throws
Activiti
Exception
{
public
WorkflowDefinition
readWorkflowDefinition
(
InputStream
inputStream
)
throws
SimpleWorkflow
Exception
{
try
{
return
getObjectMapper
().
readValue
(
inputStream
,
WorkflowDefinition
.
class
);
}
catch
(
JsonParseException
e
)
{
throw
wrapExceptionRead
(
e
);
}
catch
(
JsonMappingException
e
)
{
throw
wrapExceptionRead
(
e
);
}
catch
(
IOException
e
)
{
}
catch
(
Exception
e
)
{
throw
wrapExceptionRead
(
e
);
}
}
...
...
@@ -67,14 +60,10 @@ public class SimpleWorkflowJsonConverter {
* @return The workflow definition instance, parsed from the given array.
* @throws ActivitiException when an error occurs while parsing the definition.
*/
public
WorkflowDefinition
readWorkflowDefinition
(
byte
[]
bytes
)
throws
Activiti
Exception
{
public
WorkflowDefinition
readWorkflowDefinition
(
byte
[]
bytes
)
throws
SimpleWorkflow
Exception
{
try
{
return
getObjectMapper
().
readValue
(
bytes
,
WorkflowDefinition
.
class
);
}
catch
(
JsonParseException
e
)
{
throw
wrapExceptionRead
(
e
);
}
catch
(
JsonMappingException
e
)
{
throw
wrapExceptionRead
(
e
);
}
catch
(
IOException
e
)
{
}
catch
(
Exception
e
)
{
throw
wrapExceptionRead
(
e
);
}
}
...
...
@@ -82,11 +71,7 @@ public class SimpleWorkflowJsonConverter {
public
void
writeWorkflowDefinition
(
WorkflowDefinition
definition
,
Writer
writer
)
{
try
{
getObjectMapper
().
writeValue
(
writer
,
definition
);
}
catch
(
JsonParseException
e
)
{
throw
wrapExceptionWrite
(
e
);
}
catch
(
JsonMappingException
e
)
{
throw
wrapExceptionWrite
(
e
);
}
catch
(
IOException
e
)
{
}
catch
(
Exception
e
)
{
throw
wrapExceptionWrite
(
e
);
}
}
...
...
@@ -95,16 +80,16 @@ public class SimpleWorkflowJsonConverter {
* @param e exception to wrap
* @return an {@link ActivitiException} to throw, wrapping the given exception.
*/
protected
Activiti
Exception
wrapExceptionRead
(
Exception
e
)
{
return
new
Activiti
Exception
(
"Error while parsing JSON"
,
e
);
protected
SimpleWorkflow
Exception
wrapExceptionRead
(
Exception
e
)
{
return
new
SimpleWorkflow
Exception
(
"Error while parsing JSON"
,
e
);
}
/**
* @param e exception to wrap
* @return an {@link ActivitiException} to throw, wrapping the given exception.
*/
protected
Activiti
Exception
wrapExceptionWrite
(
Exception
e
)
{
return
new
Activiti
Exception
(
"Error while writing JSON"
,
e
);
protected
SimpleWorkflow
Exception
wrapExceptionWrite
(
Exception
e
)
{
return
new
SimpleWorkflow
Exception
(
"Error while writing JSON"
,
e
);
}
protected
ObjectMapper
getObjectMapper
()
{
...
...
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/definition/AbstractNamedStepDefinition.java
浏览文件 @
88d3cc6c
...
...
@@ -21,10 +21,19 @@ public abstract class AbstractNamedStepDefinition implements StepDefinition {
private
static
final
long
serialVersionUID
=
1L
;
protected
String
id
;
protected
String
name
;
protected
String
description
;
protected
boolean
startsWithPrevious
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
String
getName
()
{
return
name
;
}
...
...
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/definition/AbstractStepDefinitionContainer.java
浏览文件 @
88d3cc6c
...
...
@@ -26,12 +26,21 @@ public abstract class AbstractStepDefinitionContainer<T> implements StepDefiniti
private
static
final
long
serialVersionUID
=
1L
;
protected
String
id
;
protected
List
<
StepDefinition
>
steps
;
public
AbstractStepDefinitionContainer
()
{
this
.
steps
=
new
ArrayList
<
StepDefinition
>();
}
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
void
addStep
(
StepDefinition
stepDefinition
)
{
steps
.
add
(
stepDefinition
);
}
...
...
@@ -43,12 +52,20 @@ public abstract class AbstractStepDefinitionContainer<T> implements StepDefiniti
// Human step
public
T
addHumanStep
(
String
id
,
String
name
,
String
assignee
)
{
return
(
T
)
addHumanStep
(
id
,
name
,
assignee
,
false
);
}
public
T
addHumanStep
(
String
name
,
String
assignee
)
{
return
(
T
)
addHumanStep
(
name
,
assignee
,
false
);
return
(
T
)
addHumanStep
(
null
,
name
,
assignee
,
false
);
}
public
T
addHumanStepForWorkflowInitiator
(
String
id
,
String
name
)
{
return
(
T
)
addHumanStep
(
id
,
name
,
null
,
true
);
}
public
T
addHumanStepForWorkflowInitiator
(
String
name
)
{
return
(
T
)
addHumanStep
(
name
,
null
,
true
);
return
(
T
)
addHumanStep
(
n
ull
,
n
ame
,
null
,
true
);
}
public
T
addHumanStepForGroup
(
String
name
,
List
<
String
>
groups
)
{
...
...
@@ -57,11 +74,17 @@ public abstract class AbstractStepDefinitionContainer<T> implements StepDefiniti
return
(
T
)
this
;
}
public
T
addHumanStepForGroup
(
String
id
,
String
name
,
List
<
String
>
groups
)
{
HumanStepDefinition
humanStepDefinition
=
createHumanStepDefinition
(
name
);
humanStepDefinition
.
setCandidateGroups
(
groups
);
return
(
T
)
this
;
}
public
T
addHumanStepForGroup
(
String
name
,
String
...
groups
)
{
return
addHumanStepForGroup
(
name
,
Arrays
.
asList
(
groups
));
}
protected
T
addHumanStep
(
String
name
,
String
assignee
,
boolean
initiator
)
{
protected
T
addHumanStep
(
String
id
,
String
name
,
String
assignee
,
boolean
initiator
)
{
createHumanStepDefinition
(
name
,
assignee
,
initiator
);
return
(
T
)
this
;
}
...
...
@@ -75,17 +98,16 @@ public abstract class AbstractStepDefinitionContainer<T> implements StepDefiniti
}
protected
HumanStepDefinition
createHumanStepDefinition
(
String
name
,
String
assignee
,
boolean
initiator
)
{
return
createHumanStepDefinition
(
null
,
name
,
assignee
,
initiator
);
}
protected
HumanStepDefinition
createHumanStepDefinition
(
String
id
,
String
name
,
String
assignee
,
boolean
initiator
)
{
HumanStepDefinition
humanStepDefinition
=
new
HumanStepDefinition
();
if
(
name
!=
null
)
{
humanStepDefinition
.
setName
(
name
);
}
if
(
assignee
!=
null
)
{
humanStepDefinition
.
setAssignee
(
assignee
);
}
// TODO
// humanStepDefinition.setAssigneeIsInitiator(initiator);
humanStepDefinition
.
setId
(
id
);
humanStepDefinition
.
setName
(
name
);
humanStepDefinition
.
setAssignee
(
assignee
);
// TODO
// humanStepDefinition.setAssigneeIsInitiator(initiator);
addStep
(
humanStepDefinition
);
return
humanStepDefinition
;
...
...
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/definition/HumanStepAssignment.java
浏览文件 @
88d3cc6c
...
...
@@ -2,7 +2,7 @@ package org.activiti.workflow.simple.definition;
import
java.util.List
;
import
org.activiti.
engine.ActivitiIllegalArgument
Exception
;
import
org.activiti.
workflow.simple.exception.SimpleWorkflow
Exception
;
import
org.codehaus.jackson.annotate.JsonCreator
;
import
org.codehaus.jackson.annotate.JsonValue
;
import
org.codehaus.jackson.map.annotate.JsonSerialize
;
...
...
@@ -63,7 +63,7 @@ public class HumanStepAssignment {
}
}
throw
new
ActivitiIllegalArgument
Exception
(
"Invalid assignment type for human step: "
+
name
);
throw
new
SimpleWorkflow
Exception
(
"Invalid assignment type for human step: "
+
name
);
}
}
...
...
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/definition/ParallelStepsDefinition.java
浏览文件 @
88d3cc6c
...
...
@@ -12,7 +12,7 @@
*/
package
org.activiti.workflow.simple.definition
;
import
org.activiti.
engine.Activiti
Exception
;
import
org.activiti.
workflow.simple.exception.SimpleWorkflow
Exception
;
import
org.codehaus.jackson.annotate.JsonTypeName
;
/**
...
...
@@ -37,7 +37,7 @@ public class ParallelStepsDefinition extends AbstractStepDefinitionContainer<Par
public
WorkflowDefinition
endParallel
()
{
if
(
workflowDefinition
==
null
)
{
throw
new
Activiti
Exception
(
"Can only call endParallel when inParallel was called on a workflow definition first"
);
throw
new
SimpleWorkflow
Exception
(
"Can only call endParallel when inParallel was called on a workflow definition first"
);
}
return
workflowDefinition
;
}
...
...
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/definition/StepDefinition.java
浏览文件 @
88d3cc6c
...
...
@@ -26,5 +26,7 @@ import org.codehaus.jackson.annotate.JsonTypeInfo.Id;
*/
@JsonTypeInfo
(
use
=
Id
.
NAME
,
include
=
As
.
PROPERTY
,
property
=
"type"
)
public
interface
StepDefinition
extends
Serializable
{
String
getId
();
void
setId
(
String
id
);
}
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/definition/StepDefinitionContainer.java
浏览文件 @
88d3cc6c
...
...
@@ -12,14 +12,13 @@
*/
package
org.activiti.workflow.simple.definition
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @author Joram Barrez
*/
public
interface
StepDefinitionContainer
<
T
>
extends
S
erializable
{
public
interface
StepDefinitionContainer
<
T
>
extends
S
tepDefinition
{
List
<
StepDefinition
>
getSteps
();
...
...
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/definition/form/FormPropertyGroup.java
浏览文件 @
88d3cc6c
...
...
@@ -15,7 +15,7 @@ package org.activiti.workflow.simple.definition.form;
import
java.util.ArrayList
;
import
java.util.List
;
import
org.activiti.
engine.ActivitiIllegalArgument
Exception
;
import
org.activiti.
workflow.simple.exception.SimpleWorkflow
Exception
;
import
org.codehaus.jackson.map.annotate.JsonSerialize
;
/**
...
...
@@ -52,7 +52,7 @@ public class FormPropertyGroup {
public
FormPropertyGroup
addFormPropertyDefinition
(
FormPropertyDefinition
definition
)
{
if
(
definition
==
null
)
{
throw
new
ActivitiIllegalArgument
Exception
(
"Definition to add cannot be null"
);
throw
new
SimpleWorkflow
Exception
(
"Definition to add cannot be null"
);
}
formPropertyDefinitions
.
add
(
definition
);
...
...
modules/activiti-simple-workflow/src/main/java/org/activiti/workflow/simple/exception/SimpleWorkflowException.java
0 → 100644
浏览文件 @
88d3cc6c
package
org.activiti.workflow.simple.exception
;
/**
* Runtime exception that is the superclass of all Simple workflow exceptions.
*
* @author Tijs Rademakers
*/
public
class
SimpleWorkflowException
extends
RuntimeException
{
private
static
final
long
serialVersionUID
=
1L
;
public
SimpleWorkflowException
(
String
message
,
Throwable
cause
)
{
super
(
message
,
cause
);
}
public
SimpleWorkflowException
(
String
message
)
{
super
(
message
);
}
}
modules/activiti-simple-workflow/src/test/java/org/activiti/workflow/simple/WorkflowConversionTest.java
浏览文件 @
88d3cc6c
...
...
@@ -311,7 +311,7 @@ public class WorkflowConversionTest {
WorkflowDefinitionConversion
conversion
=
conversionFactory
.
createWorkflowDefinitionConversion
(
workflowDefinition
);
conversion
.
convert
();
log
.
info
(
"Converted process : "
+
conversion
.
get
bpm
20Xml
());
log
.
info
(
"Converted process : "
+
conversion
.
get
Bpmn
20Xml
());
// InputStream is = conversion.getWorkflowDiagramImage();
// try {
...
...
@@ -347,7 +347,7 @@ public class WorkflowConversionTest {
long
nrOfDeployments
=
countNrOfDeployments
();
activitiRule
.
getRepositoryService
().
createDeployment
()
.
addString
(
conversion
.
getProcess
().
getId
()
+
".bpmn20.xml"
,
conversion
.
get
bpm
20Xml
())
.
addString
(
conversion
.
getProcess
().
getId
()
+
".bpmn20.xml"
,
conversion
.
get
Bpmn
20Xml
())
.
deploy
();
assertEquals
(
nrOfDeployments
+
1
,
countNrOfDeployments
());
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录