Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
开发团队
Flowable Engine
提交
15c55556
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,发现更多精彩内容 >>
提交
15c55556
编写于
10月 28, 2010
作者:
B
bernd.ruecker
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
merged latest changes from Cycle branch, some adjusted to latest cycle changes
上级
e22e1856
变更
15
显示空白变更内容
内联
并排
Showing
15 changed file
with
139 addition
and
49 deletion
+139
-49
modules/activiti-cycle/src/main/java/org/activiti/cycle/RepositoryArtifactLink.java
.../main/java/org/activiti/cycle/RepositoryArtifactLink.java
+2
-2
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/CycleServiceImpl.java
...c/main/java/org/activiti/cycle/impl/CycleServiceImpl.java
+13
-11
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/conf/RepositoryConnectorConfiguration.java
...iti/cycle/impl/conf/RepositoryConnectorConfiguration.java
+17
-2
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/signavio/SignavioConnector.java
...viti/cycle/impl/connector/signavio/SignavioConnector.java
+9
-2
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/signavio/action/AbstractCopyBaseAction.java
...mpl/connector/signavio/action/AbstractCopyBaseAction.java
+17
-3
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/signavio/action/CreateTechnicalBpmnXmlAction.java
...nnector/signavio/action/CreateTechnicalBpmnXmlAction.java
+32
-7
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/signavio/action/ValidateActivitiDeployment.java
...connector/signavio/action/ValidateActivitiDeployment.java
+8
-1
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/db/CycleDAO.java
...le/src/main/java/org/activiti/cycle/impl/db/CycleDAO.java
+4
-4
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/db/entity/RepositoryArtifactLinkImpl.java
...viti/cycle/impl/db/entity/RepositoryArtifactLinkImpl.java
+5
-4
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/db/impl/CycleConfigurationServiceImpl.java
...iti/cycle/impl/db/impl/CycleConfigurationServiceImpl.java
+0
-1
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/db/impl/CycleDaoMyBatisImpl.java
.../org/activiti/cycle/impl/db/impl/CycleDaoMyBatisImpl.java
+8
-8
modules/activiti-cycle/src/main/resources/org/activiti/cycle/impl/connector/signavio/action/CopySignavioModelAction.html
...pl/connector/signavio/action/CopySignavioModelAction.html
+10
-0
modules/activiti-cycle/src/main/resources/org/activiti/cycle/impl/connector/signavio/action/CreateTechnicalBpmnXmlAction.html
...nnector/signavio/action/CreateTechnicalBpmnXmlAction.html
+10
-0
modules/activiti-cycle/src/main/resources/org/activiti/db/cycle/ibatis/link.mapping.xml
...n/resources/org/activiti/db/cycle/ibatis/link.mapping.xml
+2
-2
modules/activiti-webapp-rest/src/main/java/org/activiti/rest/api/cycle/ArtifactLinkPost.java
...in/java/org/activiti/rest/api/cycle/ArtifactLinkPost.java
+2
-2
未找到文件。
modules/activiti-cycle/src/main/java/org/activiti/cycle/RepositoryArtifactLink.java
浏览文件 @
15c55556
package
org.activiti.cycle
;
import
org.activiti.cycle.impl.db.entity.
CycleLink
;
import
org.activiti.cycle.impl.db.entity.
RepositoryArtifactLinkImpl
;
/**
* Object given back by the {@link CycleService} for a {@link
CycleLink
} where
* Object given back by the {@link CycleService} for a {@link
RepositoryArtifactLinkImpl
} where
* the {@link RepositoryArtifact}s are already resolved.
*
* @author polenz
...
...
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/CycleServiceImpl.java
浏览文件 @
15c55556
...
...
@@ -28,7 +28,7 @@ import org.activiti.cycle.impl.connector.view.TagConnectorConfiguration;
import
org.activiti.cycle.impl.db.CycleConfigurationService
;
import
org.activiti.cycle.impl.db.CycleDAO
;
import
org.activiti.cycle.impl.db.entity.CycleArtifactTagEntity
;
import
org.activiti.cycle.impl.db.entity.
CycleLink
;
import
org.activiti.cycle.impl.db.entity.
RepositoryArtifactLinkImpl
;
import
org.activiti.cycle.impl.db.impl.CycleConfigurationServiceImpl
;
import
org.activiti.cycle.impl.db.impl.CycleDaoMyBatisImpl
;
import
org.activiti.cycle.impl.plugin.PluginFinder
;
...
...
@@ -47,10 +47,8 @@ public class CycleServiceImpl implements CycleService {
private
List
<
RepositoryConnector
>
repositoryConnectors
;
/**
* TODO: Check if list roots can return an empty array
*/
private
static
final
File
fsBaseDir
=
File
.
listRoots
()[
0
];
// private static ThreadLocal<CycleService> currentCycleService = new
// ThreadLocal<CycleService>();
public
CycleServiceImpl
(
List
<
RepositoryConnector
>
repositoryConnectors
)
{
...
...
@@ -59,6 +57,10 @@ public class CycleServiceImpl implements CycleService {
this
.
repositoryConnectors
=
repositoryConnectors
;
for
(
RepositoryConnector
repositoryConnector
:
repositoryConnectors
)
{
repositoryConnector
.
getConfiguration
().
setCycleService
(
this
);
}
// add tag connector hard coded for the moment
this
.
repositoryConnectors
.
add
(
new
TagConnectorConfiguration
(
this
).
createConnector
());
}
...
...
@@ -116,7 +118,7 @@ public class CycleServiceImpl implements CycleService {
ConfigurationContainer
configuration
=
new
ConfigurationContainer
(
currentUserId
);
configuration
.
addRepositoryConnectorConfiguration
(
new
DemoConnectorConfiguration
(
"demo"
));
configuration
.
addRepositoryConnectorConfiguration
(
new
SignavioConnectorConfiguration
(
"signavio"
,
"http://localhost:8080/activiti-modeler/"
));
configuration
.
addRepositoryConnectorConfiguration
(
new
FileSystemConnectorConfiguration
(
"files"
,
fsBaseDir
));
configuration
.
addRepositoryConnectorConfiguration
(
new
FileSystemConnectorConfiguration
(
"files"
,
File
.
listRoots
()[
0
]
));
return
configuration
;
}
...
...
@@ -250,10 +252,10 @@ public class CycleServiceImpl implements CycleService {
// RepositoryArtifactLink specific methods
public
void
addArtifactLink
(
RepositoryArtifactLink
repositoryArtifactLink
)
{
if
(
repositoryArtifactLink
instanceof
CycleLink
)
{
cycleDAO
.
insertCycleLink
((
CycleLink
)
repositoryArtifactLink
);
if
(
repositoryArtifactLink
instanceof
RepositoryArtifactLinkImpl
)
{
cycleDAO
.
insertCycleLink
((
RepositoryArtifactLinkImpl
)
repositoryArtifactLink
);
}
else
{
CycleLink
cycleLink
=
new
CycleLink
();
RepositoryArtifactLinkImpl
cycleLink
=
new
RepositoryArtifactLinkImpl
();
cycleLink
.
setId
(
repositoryArtifactLink
.
getId
());
...
...
@@ -282,8 +284,8 @@ public class CycleServiceImpl implements CycleService {
public
List
<
RepositoryArtifactLink
>
getArtifactLinks
(
String
sourceConnectorId
,
String
sourceArtifactId
)
{
List
<
RepositoryArtifactLink
>
artifactLinks
=
new
ArrayList
<
RepositoryArtifactLink
>();
List
<
CycleLink
>
linkResultList
=
cycleDAO
.
getOutgoingCycleLinks
(
sourceConnectorId
,
sourceArtifactId
);
for
(
CycleLink
entity
:
linkResultList
)
{
List
<
RepositoryArtifactLinkImpl
>
linkResultList
=
cycleDAO
.
getOutgoingCycleLinks
(
sourceConnectorId
,
sourceArtifactId
);
for
(
RepositoryArtifactLinkImpl
entity
:
linkResultList
)
{
entity
.
resolveArtifacts
(
this
);
artifactLinks
.
add
(
entity
);
}
...
...
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/conf/RepositoryConnectorConfiguration.java
浏览文件 @
15c55556
...
...
@@ -7,6 +7,7 @@ import java.util.Map;
import
java.util.Properties
;
import
org.activiti.cycle.ArtifactType
;
import
org.activiti.cycle.CycleService
;
import
org.activiti.cycle.RepositoryConnector
;
import
org.activiti.cycle.RepositoryException
;
import
org.activiti.cycle.impl.plugin.ActivitiCyclePluginDefinition
;
...
...
@@ -41,8 +42,12 @@ public abstract class RepositoryConnectorConfiguration {
private
static
Map
<
Class
<
?
extends
RepositoryConnectorConfiguration
>,
List
<
ArtifactType
>>
registeredArtifactTypesPerConnector
=
new
HashMap
<
Class
<
?
extends
RepositoryConnectorConfiguration
>,
List
<
ArtifactType
>>();
private
CycleService
cycleService
;
/**
* TODO: Decide if we want to keep that here
*
* @param cycleService
*/
public
abstract
RepositoryConnector
createConnector
();
...
...
@@ -154,6 +159,16 @@ public abstract class RepositoryConnectorConfiguration {
this
.
loginHelp
=
loginHelp
;
}
public
CycleService
getCycleService
()
{
return
cycleService
;
}
public
void
setCycleService
(
CycleService
cycleService
)
{
this
.
cycleService
=
cycleService
;
}
// @Override
// public String toString() {
// return "RepositoryConnectorConfiguration '" +
...
...
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/signavio/SignavioConnector.java
浏览文件 @
15c55556
...
...
@@ -14,6 +14,7 @@ package org.activiti.cycle.impl.connector.signavio;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.UUID
;
import
java.util.logging.Level
;
import
java.util.logging.Logger
;
...
...
@@ -480,7 +481,6 @@ public class SignavioConnector extends AbstractRepositoryConnector<SignavioConne
modelForm
.
add
(
"description"
,
""
);
}
modelForm
.
add
(
"glossary_xml"
,
new
JSONArray
().
toString
());
// signavio generates a new id for POSTed models, so don't set an id
modelForm
.
add
(
"json_xml"
,
jsonModel
.
toString
());
modelForm
.
add
(
"name"
,
artifactName
);
...
...
@@ -498,6 +498,13 @@ public class SignavioConnector extends AbstractRepositoryConnector<SignavioConne
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:oryx=\"http://oryx-editor.org\" id=\"sid-80D82B67-3B30-4B35-A6CB-16EEE17A719F\" width=\"50\" height=\"50\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:svg=\"http://www.w3.org/2000/svg\"><defs/><g stroke=\"black\" font-family=\"Verdana, sans-serif\" font-size-adjust=\"none\" font-style=\"normal\" font-variant=\"normal\" font-weight=\"normal\" line-heigth=\"normal\" font-size=\"12\"><g class=\"stencils\" transform=\"translate(25, 25)\"><g class=\"me\"/><g class=\"children\"/><g class=\"edge\"/></g></g></svg>"
);
modelForm
.
add
(
"type"
,
"BPMN 2.0"
);
// Signavio generates a new id for POSTed models, so we don't have to set
// this ID ourself.
// But anyway, then we don't know the id and cannot load the artifact down
// to return it correctly, so we generate one ourself
String
id
=
UUID
.
randomUUID
().
toString
();
modelForm
.
add
(
"id"
,
id
);
// modelForm.add("views", new JSONArray().toString());
Representation
modelRep
=
modelForm
.
getWebRepresentation
();
...
...
@@ -506,7 +513,7 @@ public class SignavioConnector extends AbstractRepositoryConnector<SignavioConne
sendRequest
(
jsonRequest
);
// TODO: return the object
return
null
;
return
getRepositoryArtifact
(
id
)
;
}
catch
(
Exception
je
)
{
throw
new
RepositoryException
(
"Unable to create model '"
+
artifactName
+
"' in parent folder '"
+
containingFolderId
+
"'"
,
je
);
}
...
...
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/signavio/action/AbstractCopyBaseAction.java
浏览文件 @
15c55556
...
...
@@ -4,8 +4,10 @@ import java.util.Map;
import
org.activiti.cycle.Content
;
import
org.activiti.cycle.RepositoryArtifact
;
import
org.activiti.cycle.RepositoryArtifactLink
;
import
org.activiti.cycle.RepositoryConnector
;
import
org.activiti.cycle.impl.ParameterizedHtmlFormTemplateAction
;
import
org.activiti.cycle.impl.db.entity.RepositoryArtifactLinkImpl
;
/**
* This action copies any artifact to another location. Extend it to specify the
...
...
@@ -22,7 +24,8 @@ public abstract class AbstractCopyBaseAction extends ParameterizedHtmlFormTempla
public
static
final
String
PARAM_TARGET_FOLDER
=
"targetFolderId"
;
public
static
final
String
PARAM_TARGET_CONNECTOR
=
"targetConnectorId"
;
public
static
final
String
PARAM_TARGET_NAME
=
"targetName"
;
public
static
final
String
PARAM_COMMENT
=
"comment"
;
public
static
final
String
PARAM_COMMENT_NAME
=
"comment"
;
public
static
final
String
CREATE_LINK_NAME
=
"createLink"
;
public
AbstractCopyBaseAction
(
String
actionId
)
{
super
(
actionId
);
...
...
@@ -31,16 +34,27 @@ public abstract class AbstractCopyBaseAction extends ParameterizedHtmlFormTempla
public
void
execute
(
RepositoryConnector
connector
,
RepositoryArtifact
artifact
,
Map
<
String
,
Object
>
parameters
)
throws
Exception
{
String
targetFolderId
=
(
String
)
getParameter
(
parameters
,
PARAM_TARGET_FOLDER
,
true
,
null
,
String
.
class
);
String
targetName
=
(
String
)
getParameter
(
parameters
,
PARAM_TARGET_NAME
,
false
,
artifact
.
getMetadata
().
getName
(),
String
.
class
);
String
comment
=
(
String
)
getParameter
(
parameters
,
PARAM_COMMENT
,
false
,
null
,
String
.
class
);
String
comment
=
(
String
)
getParameter
(
parameters
,
PARAM_COMMENT
_NAME
,
false
,
null
,
String
.
class
);
RepositoryConnector
targetConnector
=
(
RepositoryConnector
)
getParameter
(
parameters
,
PARAM_TARGET_CONNECTOR
,
true
,
null
,
RepositoryConnector
.
class
);
boolean
createLink
=
(
Boolean
)
getParameter
(
parameters
,
CREATE_LINK_NAME
,
true
,
Boolean
.
TRUE
,
Boolean
.
class
);
String
contentAsString
=
connector
.
getContent
(
artifact
.
getNodeId
(),
getContentRepresentationIdToUse
()).
asString
();
Content
content
=
new
Content
();
content
.
setValue
(
contentAsString
);
targetConnector
.
createArtifact
(
targetFolderId
,
targetName
,
artifact
.
getArtifactType
().
getId
(),
content
);
RepositoryArtifact
targetArtifact
=
targetConnector
.
createArtifact
(
targetFolderId
,
targetName
,
artifact
.
getArtifactType
().
getId
(),
content
);
// TODO: Think about that more, does it make sense like this?
targetConnector
.
commitPendingChanges
(
comment
);
if
(
createLink
)
{
RepositoryArtifactLink
link
=
new
RepositoryArtifactLinkImpl
();
link
.
setSourceArtifact
(
artifact
);
link
.
setTargetArtifact
(
targetArtifact
);
link
.
setComment
(
comment
);
link
.
setLinkType
(
RepositoryArtifactLinkImpl
.
TYPE_COPY
);
connector
.
getConfiguration
().
getCycleService
().
addArtifactLink
(
link
);
}
}
public
abstract
String
getContentRepresentationIdToUse
();
...
...
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/signavio/action/CreateTechnicalBpmnXmlAction.java
浏览文件 @
15c55556
...
...
@@ -6,6 +6,7 @@ import java.util.Map;
import
org.activiti.cycle.Content
;
import
org.activiti.cycle.RepositoryArtifact
;
import
org.activiti.cycle.RepositoryArtifactLink
;
import
org.activiti.cycle.RepositoryConnector
;
import
org.activiti.cycle.RepositoryException
;
import
org.activiti.cycle.RepositoryFolder
;
...
...
@@ -13,6 +14,7 @@ import org.activiti.cycle.impl.ParameterizedHtmlFormTemplateAction;
import
org.activiti.cycle.impl.connector.fs.FileSystemPluginDefinition
;
import
org.activiti.cycle.impl.connector.signavio.SignavioConnector
;
import
org.activiti.cycle.impl.connector.signavio.SignavioPluginDefinition
;
import
org.activiti.cycle.impl.db.entity.RepositoryArtifactLinkImpl
;
import
org.activiti.cycle.impl.transform.JsonTransformation
;
import
org.activiti.cycle.impl.transform.signavio.AdjustShapeNamesTransformation
;
import
org.activiti.cycle.impl.transform.signavio.BpmnPoolExtraction
;
...
...
@@ -37,6 +39,7 @@ public class CreateTechnicalBpmnXmlAction extends ParameterizedHtmlFormTemplateA
public
static
final
String
PARAM_TARGET_CONNECTOR
=
"targetConnectorId"
;
public
static
final
String
PARAM_TARGET_NAME
=
"targetName"
;
public
static
final
String
PARAM_COMMENT
=
"comment"
;
public
static
final
String
CREATE_LINK_NAME
=
"createLink"
;
/**
* Where do we get the transformations from? How are they registered?
...
...
@@ -75,14 +78,35 @@ public class CreateTechnicalBpmnXmlAction extends ParameterizedHtmlFormTemplateA
String
targetName
=
(
String
)
getParameter
(
parameters
,
PARAM_TARGET_NAME
,
false
,
getProcessName
(
artifact
),
String
.
class
);
String
comment
=
(
String
)
getParameter
(
parameters
,
PARAM_COMMENT
,
false
,
null
,
String
.
class
);
RepositoryConnector
targetConnector
=
(
RepositoryConnector
)
getParameter
(
parameters
,
PARAM_TARGET_CONNECTOR
,
true
,
null
,
RepositoryConnector
.
class
);
boolean
createLink
=
(
Boolean
)
getParameter
(
parameters
,
CREATE_LINK_NAME
,
true
,
Boolean
.
TRUE
,
Boolean
.
class
);
String
sourceJson
=
getBpmn20Json
((
SignavioConnector
)
connector
,
artifact
);
String
transformedJson
=
applyJsonTransformations
(
sourceJson
);
String
bpmnXml
=
transformToBpmn20
((
SignavioConnector
)
connector
,
transformedJson
);
createTargetArtifact
(
targetConnector
,
targetFolderId
,
targetName
+
".bpmn20.xml"
,
bpmnXml
,
FileSystemPluginDefinition
.
ARTIFACT_TYPE_BPMN_20_XML
);
RepositoryArtifact
targetArtifact
=
createArtifact
(
connector
,
artifact
,
targetFolderId
,
targetName
,
targetConnector
);
// TODO: Think about that more, does it make sense like this?
targetConnector
.
commitPendingChanges
(
comment
);
if
(
createLink
)
{
RepositoryArtifactLink
link
=
new
RepositoryArtifactLinkImpl
();
link
.
setSourceArtifact
(
artifact
);
link
.
setTargetArtifact
(
targetArtifact
);
link
.
setComment
(
comment
);
link
.
setLinkType
(
getLinkType
());
connector
.
getConfiguration
().
getCycleService
().
addArtifactLink
(
link
);
}
}
public
String
getLinkType
()
{
return
RepositoryArtifactLinkImpl
.
TYPE_IMPLEMENTS
;
}
public
RepositoryArtifact
createArtifact
(
RepositoryConnector
connector
,
RepositoryArtifact
artifact
,
String
targetFolderId
,
String
targetName
,
RepositoryConnector
targetConnector
)
throws
Exception
{
String
sourceJson
=
getBpmn20Json
((
SignavioConnector
)
connector
,
artifact
);
String
transformedJson
=
applyJsonTransformations
(
sourceJson
);
String
bpmnXml
=
transformToBpmn20
((
SignavioConnector
)
connector
,
transformedJson
);
RepositoryArtifact
targetArtifact
=
createTargetArtifact
(
targetConnector
,
targetFolderId
,
targetName
+
".bpmn20.xml"
,
bpmnXml
,
FileSystemPluginDefinition
.
ARTIFACT_TYPE_BPMN_20_XML
);
return
targetArtifact
;
}
protected
String
getBpmn20Json
(
RepositoryConnector
connector
,
RepositoryArtifact
artifact
)
{
...
...
@@ -109,10 +133,11 @@ public class CreateTechnicalBpmnXmlAction extends ParameterizedHtmlFormTemplateA
return
bpmnXml
;
}
public
void
createTargetArtifact
(
RepositoryConnector
targetConnector
,
String
targetFolderId
,
String
artifactId
,
String
bpmnXml
,
String
artifactTypeId
)
{
public
RepositoryArtifact
createTargetArtifact
(
RepositoryConnector
targetConnector
,
String
targetFolderId
,
String
artifactId
,
String
bpmnXml
,
String
artifactTypeId
)
{
Content
content
=
new
Content
();
content
.
setValue
(
bpmnXml
);
targetConnector
.
createArtifact
(
targetFolderId
,
artifactId
,
artifactTypeId
,
content
);
return
targetConnector
.
createArtifact
(
targetFolderId
,
artifactId
,
artifactTypeId
,
content
);
}
public
String
getProcessName
(
RepositoryArtifact
artifact
)
{
...
...
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/signavio/action/ValidateActivitiDeployment.java
浏览文件 @
15c55556
...
...
@@ -10,6 +10,7 @@ import org.activiti.engine.impl.ProcessEngineImpl;
import
org.activiti.engine.impl.bpmn.parser.BpmnParser
;
import
org.activiti.engine.impl.cfg.ProcessEngineConfiguration
;
import
org.activiti.engine.impl.el.ExpressionManager
;
import
org.activiti.engine.impl.repository.DeploymentEntity
;
public
class
ValidateActivitiDeployment
extends
CreateTechnicalBpmnXmlAction
{
...
...
@@ -38,8 +39,14 @@ public class ValidateActivitiDeployment extends CreateTechnicalBpmnXmlAction {
String
bpmnXml
=
transformToBpmn20
((
SignavioConnector
)
connector
,
transformedJson
);
BpmnParser
bpmnParser
=
new
BpmnParser
(
expressionManager
);
// Unfortunately the deployment id is requested while parsing, so we have to
// set a DeploymentEntity to avoid a NPE
DeploymentEntity
deployment
=
new
DeploymentEntity
();
deployment
.
setId
(
"VALIDATION_DEPLOYMENT"
);
// parse to validate
bpmnParser
.
createParse
().
sourceString
(
bpmnXml
).
name
(
artifact
.
getNodeId
()).
execute
();
bpmnParser
.
createParse
().
deployment
(
deployment
).
sourceString
(
bpmnXml
).
name
(
artifact
.
getNodeId
()).
execute
();
// That's it, now we get an exception is the file is invalid
}
...
...
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/db/CycleDAO.java
浏览文件 @
15c55556
...
...
@@ -4,18 +4,18 @@ import java.util.List;
import
org.activiti.cycle.impl.CycleTagContentImpl
;
import
org.activiti.cycle.impl.db.entity.CycleArtifactTagEntity
;
import
org.activiti.cycle.impl.db.entity.
CycleLink
;
import
org.activiti.cycle.impl.db.entity.
RepositoryArtifactLinkImpl
;
public
interface
CycleDAO
{
public
List
<
CycleLink
>
getOutgoingCycleLinks
(
String
sourceConnectorId
,
String
sourceArtifactId
);
public
List
<
CycleLink
>
getIncomingCycleLinks
(
String
targetConnectorId
,
String
targetArtifactId
);
public
List
<
RepositoryArtifactLinkImpl
>
getOutgoingCycleLinks
(
String
sourceConnectorId
,
String
sourceArtifactId
);
public
List
<
RepositoryArtifactLinkImpl
>
getIncomingCycleLinks
(
String
targetConnectorId
,
String
targetArtifactId
);
// public CycleLink findCycleLinkById(String id);
// public void updateCycleLink(CycleLink cycleLink);
public
void
insertCycleLink
(
CycleLink
cycleLink
);
public
void
insertCycleLink
(
RepositoryArtifactLinkImpl
cycleLink
);
public
void
deleteCycleLink
(
String
id
);
public
List
<
CycleTagContentImpl
>
getTagsGroupedByName
();
...
...
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/db/entity/
CycleLink
.java
→
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/db/entity/
RepositoryArtifactLinkImpl
.java
浏览文件 @
15c55556
...
...
@@ -14,15 +14,16 @@ import org.activiti.engine.impl.db.PersistentObject;
*
* @author ruecker, polenz
*/
public
class
CycleLink
implements
PersistentObject
,
RepositoryArtifactLink
{
public
class
RepositoryArtifactLinkImpl
implements
PersistentObject
,
RepositoryArtifactLink
{
/**
* TODO: Add own mini repository for types incling names for forward and
* reverse direction (like "is implemented by" in this case)
*/
public
static
String
TYPE_IMPLEMENTS
=
"implements"
;
public
static
String
TYPE_REFINES
=
"refines"
;
public
static
String
TYPE_UNSPECIFIED
=
"unspecified link"
;
public
static
final
String
TYPE_IMPLEMENTS
=
"implements"
;
public
static
final
String
TYPE_REFINES
=
"refines"
;
public
static
final
String
TYPE_UNSPECIFIED
=
"unspecified link"
;
public
static
final
String
TYPE_COPY
=
"copy"
;
/**
* artificial id used as primary key to identify this link
...
...
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/db/impl/CycleConfigurationServiceImpl.java
浏览文件 @
15c55556
...
...
@@ -10,7 +10,6 @@ import com.thoughtworks.xstream.XStream;
public
class
CycleConfigurationServiceImpl
extends
AbstractCycleDaoMyBatisImpl
implements
CycleConfigurationService
{
private
XStream
xStream
=
new
XStream
();
public
CycleConfigurationServiceImpl
(
String
processEngineName
)
{
...
...
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/db/impl/CycleDaoMyBatisImpl.java
浏览文件 @
15c55556
...
...
@@ -7,46 +7,46 @@ import java.util.List;
import
org.activiti.cycle.impl.CycleTagContentImpl
;
import
org.activiti.cycle.impl.db.CycleDAO
;
import
org.activiti.cycle.impl.db.entity.CycleArtifactTagEntity
;
import
org.activiti.cycle.impl.db.entity.
CycleLink
;
import
org.activiti.cycle.impl.db.entity.
RepositoryArtifactLinkImpl
;
import
org.apache.ibatis.session.SqlSession
;
public
class
CycleDaoMyBatisImpl
extends
AbstractCycleDaoMyBatisImpl
implements
CycleDAO
{
@SuppressWarnings
(
"unchecked"
)
public
List
<
CycleLink
>
getOutgoingCycleLinks
(
String
sourceConnectorId
,
String
sourceArtifactId
)
{
public
List
<
RepositoryArtifactLinkImpl
>
getOutgoingCycleLinks
(
String
sourceConnectorId
,
String
sourceArtifactId
)
{
SqlSession
session
=
openSession
();
try
{
HashMap
<
String
,
Object
>
parameters
=
new
HashMap
<
String
,
Object
>();
parameters
.
put
(
"connectorId"
,
sourceConnectorId
);
parameters
.
put
(
"artifactId"
,
sourceArtifactId
);
List
<
CycleLink
>
linkResultList
=
session
.
selectList
(
"org.activiti.cycle.impl.db.entity.CycleLink.selectArtifactLinkForSourceArtifact"
,
parameters
);
List
<
RepositoryArtifactLinkImpl
>
linkResultList
=
session
.
selectList
(
"org.activiti.cycle.impl.db.entity.CycleLink.selectArtifactLinkForSourceArtifact"
,
parameters
);
if
(
linkResultList
!=
null
)
{
return
linkResultList
;
}
return
new
ArrayList
<
CycleLink
>();
return
new
ArrayList
<
RepositoryArtifactLinkImpl
>();
}
finally
{
session
.
close
();
}
}
@SuppressWarnings
(
"unchecked"
)
public
List
<
CycleLink
>
getIncomingCycleLinks
(
String
targetConnectorId
,
String
targetArtifactId
)
{
public
List
<
RepositoryArtifactLinkImpl
>
getIncomingCycleLinks
(
String
targetConnectorId
,
String
targetArtifactId
)
{
SqlSession
session
=
openSession
();
try
{
HashMap
<
String
,
Object
>
parameters
=
new
HashMap
<
String
,
Object
>();
parameters
.
put
(
"connectorId"
,
targetConnectorId
);
parameters
.
put
(
"artifactId"
,
targetArtifactId
);
List
<
CycleLink
>
linkResultList
=
session
.
selectList
(
"org.activiti.cycle.impl.db.entity.CycleLink.selectArtifactLinkForTargetArtifact"
,
parameters
);
List
<
RepositoryArtifactLinkImpl
>
linkResultList
=
session
.
selectList
(
"org.activiti.cycle.impl.db.entity.CycleLink.selectArtifactLinkForTargetArtifact"
,
parameters
);
if
(
linkResultList
!=
null
)
{
return
linkResultList
;
}
return
new
ArrayList
<
CycleLink
>();
return
new
ArrayList
<
RepositoryArtifactLinkImpl
>();
}
finally
{
session
.
close
();
}
}
public
void
insertCycleLink
(
CycleLink
cycleLink
)
{
public
void
insertCycleLink
(
RepositoryArtifactLinkImpl
cycleLink
)
{
SqlSession
session
=
openSession
();
try
{
session
.
insert
(
"org.activiti.cycle.impl.db.entity.CycleLink.insertCycleLink"
,
cycleLink
);
...
...
modules/activiti-cycle/src/main/resources/org/activiti/cycle/impl/connector/signavio/action/CopySignavioModelAction.html
浏览文件 @
15c55556
...
...
@@ -22,6 +22,16 @@
</label>
</td>
</tr>
<tr>
<td>
<label>
Keep link between models:
<br/>
<input
type=
"checkbox"
name=
"createLink"
value=
"true"
checked
/>
<input
type=
"hidden"
name=
"createLink_required"
value=
"true"
/>
<input
type=
"hidden"
name=
"createLink_type"
value=
"Boolean"
/>
</label><br/>
</td>
</tr>
<tr>
<td>
<label>
...
...
modules/activiti-cycle/src/main/resources/org/activiti/cycle/impl/connector/signavio/action/CreateTechnicalBpmnXmlAction.html
浏览文件 @
15c55556
...
...
@@ -22,6 +22,16 @@
</label>
</td>
</tr>
<tr>
<td>
<label>
Keep link between models:
<br/>
<input
type=
"checkbox"
name=
"createLink"
value=
"true"
checked
/>
<input
type=
"hidden"
name=
"createLink_required"
value=
"true"
/>
<input
type=
"hidden"
name=
"createLink_type"
value=
"Boolean"
/>
</label><br/>
</td>
</tr>
<tr>
<td>
<label>
...
...
modules/activiti-cycle/src/main/resources/org/activiti/db/cycle/ibatis/link.mapping.xml
浏览文件 @
15c55556
...
...
@@ -4,7 +4,7 @@
<mapper
namespace=
"org.activiti.cycle"
>
<resultMap
id=
"resultMapCycleLink"
type=
"org.activiti.cycle.impl.db.entity.
CycleLink
"
>
<resultMap
id=
"resultMapCycleLink"
type=
"org.activiti.cycle.impl.db.entity.
RepositoryArtifactLinkImpl
"
>
<id
property=
"id"
column=
"ID_"
/>
<result
property=
"sourceConnectorId"
column=
"SOURCE_CONNECTOR_ID_"
/>
<result
property=
"targetConnectorId"
column=
"TARGET_CONNECTOR_ID_"
/>
...
...
@@ -33,7 +33,7 @@
select * from ACT_CY_LINK where TARGET_CONNECTOR_ID_ = #{connectorId} and TARGET_ARTIFACT_ID_ = #{artifactId}
</select>
<insert
id=
"insertCycleLink"
parameterType=
"org.activiti.cycle.impl.db.entity.
CycleLink
"
>
<insert
id=
"insertCycleLink"
parameterType=
"org.activiti.cycle.impl.db.entity.
RepositoryArtifactLinkImpl
"
>
insert into ACT_CY_LINK (ID_,SOURCE_CONNECTOR_ID_, TARGET_CONNECTOR_ID_, SOURCE_ARTIFACT_ID_,TARGET_ARTIFACT_ID_,SOURCE_ELEMENT_ID_,TARGET_ELEMENT_ID_,SOURCE_ELEMENT_NAME_,TARGET_ELEMENT_NAME_, SOURCE_REVISION_, TARGET_REVISION_ , LINK_TYPE_, COMMENT_, LINKED_BOTH_WAYS_)
values (
#{id, jdbcType=VARCHAR},
...
...
modules/activiti-webapp-rest/src/main/java/org/activiti/rest/api/cycle/ArtifactLinkPost.java
浏览文件 @
15c55556
...
...
@@ -18,7 +18,7 @@ import javax.servlet.http.HttpSession;
import
org.activiti.cycle.CycleService
;
import
org.activiti.cycle.impl.CycleServiceImpl
;
import
org.activiti.cycle.impl.db.entity.
CycleLink
;
import
org.activiti.cycle.impl.db.entity.
RepositoryArtifactLinkImpl
;
import
org.activiti.rest.util.ActivitiRequest
;
import
org.activiti.rest.util.ActivitiRequestObject
;
import
org.activiti.rest.util.ActivitiWebScript
;
...
...
@@ -58,7 +58,7 @@ public class ArtifactLinkPost extends ActivitiWebScript {
String
targetConnectorId
=
req
.
getMandatoryString
(
obj
,
"targetConnectorId"
);
String
targetArtifactId
=
req
.
getMandatoryString
(
obj
,
"targetArtifactId"
);
CycleLink
link
=
new
CycleLink
();
RepositoryArtifactLinkImpl
link
=
new
RepositoryArtifactLinkImpl
();
link
.
setSourceConnectorId
(
sourceConnectorId
);
link
.
setSourceArtifactId
(
sourceArtifactId
);
link
.
setTargetConnectorId
(
targetConnectorId
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录