提交 622003bd 编写于 作者: B bernd.ruecker

removed JSONException from signature of SignavioSvgApiBuilder

changed ID field length for MySQL since longer ID's are not supported
上级 08d0f130
......@@ -11,7 +11,6 @@ import org.activiti.cycle.RepositoryException;
import org.activiti.cycle.impl.connector.signavio.SignavioConnector;
import org.activiti.cycle.impl.connector.signavio.SignavioPluginDefinition;
import org.activiti.cycle.impl.connector.signavio.util.SignavioSvgApiBuilder;
import org.json.JSONException;
import org.oryxeditor.server.diagram.Diagram;
import org.oryxeditor.server.diagram.DiagramBuilder;
import org.oryxeditor.server.diagram.Shape;
......@@ -86,23 +85,18 @@ public class SignavioDiffProvider extends SignavioContentRepresentationProvider
}
// and create resulting HTML
try {
String script1 = new SignavioSvgApiBuilder(connector, artifact).highlightNodes(missingSourceElements, INFO_COLOR).buildScript();
String script2 = new SignavioSvgApiBuilder(connector, diffTarget).highlightNodes(missingTargetElements, INFO_COLOR).buildScript();
String htmlContent = "<p><b>Expertimental</b> feature to play around with Signavio diffing. Currently show diff against artifact "
+ diffTarget.getGlobalUniqueId()
+ ". Use Options to select other diff target.</p>";
htmlContent += "Changes from " + diffTarget.getMetadata().getName() + " in " + artifact.getMetadata().getName();
htmlContent += script1;
htmlContent += "Changes from " + artifact.getMetadata().getName() + " in " + diffTarget.getMetadata().getName();
htmlContent += script2;
String html = SignavioSvgApiBuilder.buildHtml(htmlContent, 200, 600);
content.setValue(html);
} catch (JSONException e) {
throw new RepositoryException("Could not show DIFF due to exception in SvgApi", e);
}
String script1 = new SignavioSvgApiBuilder(connector, artifact).highlightNodes(missingSourceElements, INFO_COLOR).buildScript();
String script2 = new SignavioSvgApiBuilder(connector, diffTarget).highlightNodes(missingTargetElements, INFO_COLOR).buildScript();
String htmlContent = "<p><b>Expertimental</b> feature to play around with Signavio diffing. Currently show diff against artifact "
+ diffTarget.getGlobalUniqueId() + ". Use Options to select other diff target.</p>";
htmlContent += "Changes from " + diffTarget.getMetadata().getName() + " in " + artifact.getMetadata().getName();
htmlContent += script1;
htmlContent += "Changes from " + artifact.getMetadata().getName() + " in " + diffTarget.getMetadata().getName();
htmlContent += script2;
String html = SignavioSvgApiBuilder.buildHtml(htmlContent, 200, 600);
content.setValue(html);
}
}
......@@ -2,21 +2,15 @@ package org.activiti.cycle.impl.connector.signavio.provider;
import org.activiti.cycle.Content;
import org.activiti.cycle.RepositoryArtifact;
import org.activiti.cycle.RepositoryException;
import org.activiti.cycle.impl.connector.signavio.SignavioConnector;
import org.activiti.cycle.impl.connector.signavio.util.SignavioSvgApiBuilder;
import org.json.JSONException;
public class SvgApiProvider extends SignavioContentRepresentationProvider {
@Override
public void addValueToContent(Content content, SignavioConnector connector, RepositoryArtifact artifact) {
try {
String text = new SignavioSvgApiBuilder(connector, artifact).buildHtml();
content.setValue(text);
} catch (JSONException ex) {
throw new RepositoryException("Error while building svg api construct", ex);
}
}
}
......@@ -6,6 +6,7 @@ import java.util.Map;
import java.util.Map.Entry;
import org.activiti.cycle.RepositoryArtifact;
import org.activiti.cycle.RepositoryException;
import org.activiti.cycle.impl.connector.signavio.SignavioConnector;
import org.json.JSONArray;
import org.json.JSONException;
......@@ -94,11 +95,11 @@ public class SignavioSvgApiBuilder {
* @throws JSONException
*/
@Deprecated
public String build() throws JSONException {
public String build() {
return buildHtml();
}
public String buildHtml() throws JSONException {
public String buildHtml() {
return buildHtml(buildScript());
}
......@@ -110,40 +111,45 @@ public class SignavioSvgApiBuilder {
return HEADER + "<div id=\"model\" style=\"height: " + height + "px; width: " + width + "px;\">" + content + "</div>" + FOOTER;
}
public String buildScript() throws JSONException {
StringBuilder svgApiCall = new StringBuilder();
svgApiCall.append("<script type=\"text/javascript\" src=\"" + SVGAPI_URL + "\"></script>");
svgApiCall.append("<script type=\"text/plain\">");
svgApiCall.append("{");
// url to svgapi script
// svgApiCall.append("url: \"http://localhost:8080/activiti-modeler\"");
svgApiCall.append("url: \"" + connector.getConfiguration().getModelUrl(artifact.getNodeId()) + "\"");
if (useLocalScripts) {
svgApiCall.append(", server: \"" + SERVER_SCRIPT_URL + "\"");
public String buildScript() {
try {
StringBuilder svgApiCall = new StringBuilder();
svgApiCall.append("<script type=\"text/javascript\" src=\"" + SVGAPI_URL + "\"></script>");
svgApiCall.append("<script type=\"text/plain\">");
svgApiCall.append("{");
// url to svgapi script
// svgApiCall.append("url: \"http://localhost:8080/activiti-modeler\"");
svgApiCall.append("url: \"" + connector.getConfiguration().getModelUrl(artifact.getNodeId()) + "\"");
if (useLocalScripts) {
svgApiCall.append(", server: \"" + SERVER_SCRIPT_URL + "\"");
}
// if authToken is available
if (authToken != null && authToken.length() > 0) {
svgApiCall.append(", authToken: \"" + authToken + "\",");
}
// register mouseover event on callback function
svgApiCall.append(", callback: " + registerMouseOverEvent());
// executed when click on a shape
svgApiCall.append(", click: " + createClickFunction());
// highlight nodes
svgApiCall.append(", focus: " + buildHighlightning());
svgApiCall.append("}");
svgApiCall.append("</script>");
// include messages as text
svgApiCall.append("<div id=\"messages\">" + buildMessages() + "</div>");
return svgApiCall.toString();
}
// if authToken is available
if (authToken != null && authToken.length() > 0) {
svgApiCall.append(", authToken: \"" + authToken + "\",");
catch (JSONException ex) {
throw new RepositoryException("Unexpected exception with JSON handling for " + artifact, ex);
}
// register mouseover event on callback function
svgApiCall.append(", callback: " + registerMouseOverEvent());
// executed when click on a shape
svgApiCall.append(", click: " + createClickFunction());
// highlight nodes
svgApiCall.append(", focus: " + buildHighlightning());
svgApiCall.append("}");
svgApiCall.append("</script>");
// include messages as text
svgApiCall.append("<div id=\"messages\">" + buildMessages() + "</div>");
return svgApiCall.toString();
}
private String registerMouseOverEvent() throws JSONException {
......
......@@ -36,7 +36,7 @@ create table ACT_CY_PEOPLE_LINK (
);
create table ACT_CY_TAG (
ID_ varchar(800),
ID_ varchar(255),
NAME_ varchar(255),
CONNECTOR_ID_ varchar(255),
ARTIFACT_ID_ varchar(550),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册