Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
开发团队
Flowable Engine
提交
26b815cd
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,发现更多精彩内容 >>
提交
26b815cd
编写于
10月 25, 2010
作者:
H
hawky4s
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
HEMERA-258 First throw of SVG-API implementation
上级
5cb599ae
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
263 addition
and
0 deletion
+263
-0
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/demo/DemoConnectorPluginDefinition.java
...le/impl/connector/demo/DemoConnectorPluginDefinition.java
+3
-0
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/demo/provider/TransformationExceptionProvider.java
...nector/demo/provider/TransformationExceptionProvider.java
+26
-0
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/signavio/SignavioPluginDefinition.java
...cle/impl/connector/signavio/SignavioPluginDefinition.java
+3
-0
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/signavio/provider/SvgApiProvider.java
...ycle/impl/connector/signavio/provider/SvgApiProvider.java
+17
-0
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/signavio/util/SignavioSvgApiBuilder.java
...e/impl/connector/signavio/util/SignavioSvgApiBuilder.java
+158
-0
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/transform/TransformationException.java
...ctiviti/cycle/impl/transform/TransformationException.java
+56
-0
未找到文件。
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/demo/DemoConnectorPluginDefinition.java
浏览文件 @
26b815cd
...
...
@@ -12,6 +12,7 @@ import org.activiti.cycle.impl.connector.demo.action.CopyArtifactAction;
import
org.activiti.cycle.impl.connector.demo.action.OpenActivitiAction
;
import
org.activiti.cycle.impl.connector.demo.provider.DemoProvider
;
import
org.activiti.cycle.impl.connector.demo.provider.ExceptionProvider
;
import
org.activiti.cycle.impl.connector.demo.provider.TransformationExceptionProvider
;
import
org.activiti.cycle.impl.plugin.ActivitiCyclePlugin
;
import
org.activiti.cycle.impl.plugin.ActivitiCyclePluginDefinition
;
...
...
@@ -24,6 +25,7 @@ public class DemoConnectorPluginDefinition implements ActivitiCyclePluginDefinit
public
static
final
String
CONTENT_REPRESENTATION_ID_TEXT
=
"TEXT"
;
public
static
final
String
CONTENT_REPRESENTATION_ID_EXCEPTION
=
"EXCEPTION"
;
public
static
final
String
CONTENT_REPRESENTATION_ID_TRAFOEXCEPTION
=
"TRAFO-EXCEPTION"
;
public
static
final
String
CONTENT_REPRESENTATION_ID_PNG
=
"PNG"
;
public
static
final
String
CONTENT_REPRESENTATION_ID_XML
=
"XML"
;
...
...
@@ -32,6 +34,7 @@ public class DemoConnectorPluginDefinition implements ActivitiCyclePluginDefinit
artifactType1
.
addDefaultContentRepresentation
(
new
ContentRepresentationImpl
(
CONTENT_REPRESENTATION_ID_TEXT
,
CycleDefaultMimeType
.
TEXT
,
RenderInfo
.
TEXT_PLAIN
),
new
DemoProvider
(
CONTENT_REPRESENTATION_ID_TEXT
));
artifactType1
.
addContentRepresentation
(
new
ContentRepresentationImpl
(
CONTENT_REPRESENTATION_ID_EXCEPTION
,
CycleDefaultMimeType
.
TEXT
,
RenderInfo
.
TEXT_PLAIN
),
new
ExceptionProvider
());
artifactType1
.
addContentRepresentation
(
new
ContentRepresentationImpl
(
CONTENT_REPRESENTATION_ID_TRAFOEXCEPTION
,
CycleDefaultMimeType
.
XML
,
RenderInfo
.
CODE
),
new
TransformationExceptionProvider
());
artifactType1
.
addParameterizedAction
(
new
CopyArtifactAction
());
artifactType1
.
addOpenUrlAction
(
new
OpenActivitiAction
());
artifactType1
.
addDownloadContentAction
(
CONTENT_REPRESENTATION_ID_TEXT
);
...
...
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/demo/provider/TransformationExceptionProvider.java
0 → 100644
浏览文件 @
26b815cd
package
org.activiti.cycle.impl.connector.demo.provider
;
import
org.activiti.cycle.Content
;
import
org.activiti.cycle.RepositoryArtifact
;
import
org.activiti.cycle.RepositoryConnector
;
import
org.activiti.cycle.impl.ContentProviderImpl
;
import
org.activiti.cycle.impl.connector.signavio.util.SignavioSvgApiBuilder
;
import
org.activiti.cycle.impl.transform.TransformationException
;
public
class
TransformationExceptionProvider
extends
ContentProviderImpl
{
@Override
public
void
addValueToContent
(
Content
content
,
RepositoryConnector
connector
,
RepositoryArtifact
artifact
)
{
String
renderContent
=
""
;
renderContent
+=
"<html><head></head><body>"
+
"<script type=\"text/javascript\" src=\"http://signavio-core-components.googlecode.com/svn/trunk/api/src/signavio-svg.js\"></script>"
+
"<script type=\"text/plain\">"
+
"{"
+
"url: \"http://localhost:8080/activiti-modeler/p/model/root-directory;examples;VacationRequest;VacationRequest.signavio.xml\","
+
"click: function(node, editor){"
+
"if(node.properties[\"oryx-name\"]||node.properties[\"oryx-title\"]) {"
+
"alert(\"Name: \" + node.properties[\"oryx-name\"] + \" (SID: \" + node.resourceId + \")\");"
+
"}"
+
"}"
+
"}"
+
"</script>"
+
"</body></html>"
;
throw
new
TransformationException
(
"You wanted an exception, you get an exception :-)"
,
renderContent
);
}
}
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/signavio/SignavioPluginDefinition.java
浏览文件 @
26b815cd
...
...
@@ -15,6 +15,7 @@ import org.activiti.cycle.impl.connector.signavio.provider.ActivitiCompliantBpmn
import
org.activiti.cycle.impl.connector.signavio.provider.Bpmn20Provider
;
import
org.activiti.cycle.impl.connector.signavio.provider.Jpdl4Provider
;
import
org.activiti.cycle.impl.connector.signavio.provider.JsonProvider
;
import
org.activiti.cycle.impl.connector.signavio.provider.SvgApiProvider
;
import
org.activiti.cycle.impl.connector.signavio.provider.PngProvider
;
import
org.activiti.cycle.impl.plugin.ActivitiCyclePlugin
;
import
org.activiti.cycle.impl.plugin.ActivitiCyclePluginDefinition
;
...
...
@@ -46,6 +47,7 @@ public class SignavioPluginDefinition implements ActivitiCyclePluginDefinition {
public
static
final
String
CONTENT_REPRESENTATION_ID_BPMN_20_DEVELOPER
=
"Developer Friendly BPMN 2.0"
;
public
static
final
String
CONTENT_REPRESENTATION_ID_BPMN_20_RAW
=
"Raw BPMN 2.0"
;
public
static
final
String
CONTENT_REPRESENTATION_ID_JPDL4
=
"jPDL 4"
;
public
static
final
String
CONTENT_REPRESENTATION_ID_SVGAPI
=
"SVG API"
;
...
...
@@ -66,6 +68,7 @@ public class SignavioPluginDefinition implements ActivitiCyclePluginDefinition {
new
ActivitiCompliantBpmn20Provider
());
artifactType1
.
addContentRepresentation
(
new
ContentRepresentationImpl
(
CONTENT_REPRESENTATION_ID_BPMN_20_RAW
,
CycleDefaultMimeType
.
XML
,
RenderInfo
.
CODE
),
new
Bpmn20Provider
());
artifactType1
.
addContentRepresentation
(
new
ContentRepresentationImpl
(
CONTENT_REPRESENTATION_ID_JSON
,
CycleDefaultMimeType
.
XML
,
RenderInfo
.
CODE
),
new
JsonProvider
());
artifactType1
.
addContentRepresentation
(
new
ContentRepresentationImpl
(
CONTENT_REPRESENTATION_ID_SVGAPI
,
CycleDefaultMimeType
.
HTML
,
RenderInfo
.
HTML
),
new
SvgApiProvider
());
artifactType1
.
addParameterizedAction
(
new
CreateTechnicalBpmnXmlAction
());
artifactType1
.
addParameterizedAction
(
new
ValidateActivitiDeployment
());
...
...
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/signavio/provider/SvgApiProvider.java
0 → 100644
浏览文件 @
26b815cd
package
org.activiti.cycle.impl.connector.signavio.provider
;
import
org.activiti.cycle.Content
;
import
org.activiti.cycle.RepositoryArtifact
;
import
org.activiti.cycle.impl.connector.signavio.SignavioConnector
;
import
org.activiti.cycle.impl.connector.signavio.util.SignavioSvgApiBuilder
;
public
class
SvgApiProvider
extends
SignavioContentRepresentationProvider
{
@Override
public
void
addValueToContent
(
Content
content
,
SignavioConnector
connector
,
RepositoryArtifact
artifact
)
{
String
text
=
new
SignavioSvgApiBuilder
(
connector
,
artifact
).
build
();
content
.
setValue
(
text
);
}
}
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/connector/signavio/util/SignavioSvgApiBuilder.java
0 → 100644
浏览文件 @
26b815cd
package
org.activiti.cycle.impl.connector.signavio.util
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
org.activiti.cycle.RepositoryArtifact
;
import
org.activiti.cycle.impl.connector.signavio.SignavioConnector
;
public
class
SignavioSvgApiBuilder
{
private
static
final
String
HEADER
=
"<html><head></head><body>"
;
private
static
final
String
FOOTER
=
"</body></html>"
;
private
static
final
String
SVGAPI_URL
=
"http://signavio-core-components.googlecode.com/svn/trunk/api/src/signavio-svg.js"
;
private
SignavioConnector
connector
;
private
RepositoryArtifact
artifact
;
private
String
authToken
;
private
String
clickFunction
;
private
Map
nodes
;
private
String
color
;
public
SignavioSvgApiBuilder
(
SignavioConnector
connector
,
RepositoryArtifact
artifact
)
{
this
.
connector
=
connector
;
this
.
artifact
=
artifact
;
}
// public void test() {
// String text = "";
// text += "<html><head></head><body>"
// // + "<div id=\"model\" style=\"height: 600px; width: 600px;\">"
// + "<script type=\"text/javascript\" src=\"http://signavio-core-components.googlecode.com/svn/trunk/api/src/signavio-svg.js\"></script>"
// + "<script type=\"text/plain\">" + "{"
// + "url: \""
// + connector.getConfiguration().getModelUrl(artifact.getOriginalNodeId())
// + "\","
// // + "overflowX: \"fit\","
// // + "overflowY: \"fit\","
// + "click: function(node, editor){" + "if(node.properties[\"oryx-name\"]||node.properties[\"oryx-title\"]) {"
// + "alert(\"Name: \" + node.properties[\"oryx-name\"] + \" (SID: \" + node.resourceId + \")\");" + "}" + "}" + "}" + "</script>"
// // + "</div>"
// + "</body></html>";
// focus:[ "sid-60AB9173-E9AA-4E2E-A7AE-1E270EF4E900",
// {
// properties: ["oryx-name", "oryx-title"],
// position: "NW",
// templateFn: function(values, node){
// var name = values[0] || values[1];
// name = name.slice(0, 5) + (name.length > 5?"...":"");
// return "<t"+"ext stroke='none' y='-5'>"+(name)+"</text>";
// }
// },{
// nodes:["sid-06EEE957-812F-4AB9-8C91-F64D052F6AB7"],
// attributes:{ fill:"red" }
// }
// ]
// }
public
SignavioSvgApiBuilder
highlightNodes
(
Map
nodes
,
String
color
)
{
this
.
nodes
=
nodes
;
this
.
color
=
color
;
return
this
;
}
// public SignavioSvgApiBuilder highlightNode(String nodeId, String message, String color) {
//
// return this;
// }
public
SignavioSvgApiBuilder
authToken
(
String
authToken
)
{
this
.
authToken
=
authToken
;
return
this
;
}
public
SignavioSvgApiBuilder
clickFunction
(
String
clickFunction
)
{
this
.
clickFunction
=
clickFunction
;
return
this
;
}
public
String
build
()
{
String
svgApiCall
=
""
;
svgApiCall
+=
HEADER
;
svgApiCall
+=
"<script type=\"text/javascript\" src=\""
+
SVGAPI_URL
+
"\"></script>"
;
svgApiCall
+=
"<script type=\"text/plain\">"
;
svgApiCall
+=
"{"
;
// url to svgapi script
svgApiCall
+=
createUrl
();
// if authToken is available
if
(
authToken
!=
null
&&
authToken
.
length
()
>
0
)
{
svgApiCall
+=
", authToken: \""
+
authToken
+
"\","
;
}
// executed when click on a shape
svgApiCall
+=
createClickFunction
();
// highlight nodes
svgApiCall
+=
buildHighlightning
();
svgApiCall
+=
"}"
;
svgApiCall
+=
"</script>"
;
svgApiCall
+=
FOOTER
;
return
svgApiCall
;
}
private
String
createUrl
()
{
return
"url: \""
+
connector
.
getConfiguration
().
getModelUrl
(
artifact
.
getNodeId
())
+
"\""
;
}
private
String
createClickFunction
()
{
if
(
clickFunction
!=
null
&&
clickFunction
.
length
()
>
0
)
{
return
", "
+
clickFunction
;
}
else
{
// create default click function
String
function
=
", click: function(node, editor) {"
;
function
+=
"if(node.properties[\"oryx-name\"]||node.properties[\"oryx-title\"]) {"
;
function
+=
"alert(\"Name: \" + node.properties[\"oryx-name\"] + \" (Sid: \" + node.resourceId + \")\");"
;
function
+=
"} }"
;
return
function
;
}
}
private
String
highlightNode
(
String
nodeId
,
String
message
,
String
color
)
{
return
"\""
+
nodeId
+
"\", "
;
}
private
String
buildHighlightning
()
{
if
(
nodes
==
null
||
nodes
.
isEmpty
())
{
return
""
;
}
String
highlightning
=
",focus: [{"
;
highlightning
+=
"nodes:["
;
for
(
Object
node
:
nodes
.
entrySet
())
{
Entry
nodeEntry
=
(
Entry
)
node
;
highlightning
+=
highlightNode
((
String
)
nodeEntry
.
getKey
(),
(
String
)
nodeEntry
.
getValue
(),
color
);
}
// empty node for comma issues
highlightning
+=
"\"\""
;
highlightning
+=
"],"
;
if
(
color
!=
null
&&
color
.
length
()
>
0
)
{
highlightning
+=
"attributes:{ fill:\""
+
color
+
"\" }"
;
}
else
{
highlightning
+=
"attributes:{ fill:\"red\" }"
;
}
highlightning
+=
"}]"
;
return
highlightning
;
}
}
modules/activiti-cycle/src/main/java/org/activiti/cycle/impl/transform/TransformationException.java
0 → 100644
浏览文件 @
26b815cd
package
org.activiti.cycle.impl.transform
;
/**
* @author christian.lipphardt@camunda.com
*/
public
class
TransformationException
extends
RuntimeException
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
String
DEFAULT_RENDER_MSG
=
"An error occured during the transformation"
;
private
String
renderMessage
;
private
String
renderContent
;
public
TransformationException
(
String
renderMessage
,
String
renderContent
,
String
message
,
Throwable
t
)
{
super
(
message
,
t
);
this
.
renderMessage
=
renderMessage
;
}
public
TransformationException
(
String
renderMessage
,
String
renderContent
,
Throwable
t
)
{
super
(
t
);
this
.
renderMessage
=
renderMessage
;
}
public
TransformationException
(
String
renderMessage
,
String
renderContent
,
String
message
)
{
super
(
message
);
this
.
renderMessage
=
renderMessage
;
this
.
renderContent
=
renderContent
;
}
public
TransformationException
(
String
renderMessage
,
String
renderContent
)
{
super
();
this
.
renderMessage
=
renderMessage
;
this
.
renderContent
=
renderContent
;
}
public
void
setRenderMessage
(
String
renderMessage
)
{
this
.
renderMessage
=
renderMessage
;
}
public
String
getRenderMessage
()
{
if
(
renderMessage
==
null
)
{
renderMessage
=
DEFAULT_RENDER_MSG
;
}
return
renderMessage
;
}
public
String
getRenderContent
()
{
return
renderContent
;
}
public
void
setRenderContent
(
String
renderContent
)
{
this
.
renderContent
=
renderContent
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录