[jbosstools-commits] JBoss Tools SVN: r13075 - trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Thu Jan 15 16:00:15 EST 2009
Author: koen.aers at jboss.com
Date: 2009-01-15 16:00:15 -0500 (Thu, 15 Jan 2009)
New Revision: 13075
Modified:
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java
trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlSerializer.java
Log:
GPD-287: Unknown nodes, text (and whitespace) and comments are preserved.
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java 2009-01-15 19:55:17 UTC (rev 13074)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlDeserializer.java 2009-01-15 21:00:15 UTC (rev 13075)
@@ -11,7 +11,6 @@
import org.jboss.tools.flow.common.model.Flow;
import org.jboss.tools.flow.common.registry.ElementRegistry;
import org.jboss.tools.flow.common.wrapper.ConnectionWrapper;
-import org.jboss.tools.flow.common.wrapper.ContainerWrapper;
import org.jboss.tools.flow.common.wrapper.FlowWrapper;
import org.jboss.tools.flow.common.wrapper.NodeWrapper;
import org.jboss.tools.flow.common.wrapper.Wrapper;
@@ -63,22 +62,24 @@
class ProcessChildNodeHandler implements ChildNodeHandler {
public Wrapper processChildNode(Wrapper parent, Node node) {
- if (!(parent instanceof FlowWrapper)) return null;
+ Wrapper result = null;
+ if (!(parent instanceof FlowWrapper)) return result;
FlowWrapper flowWrapper = (FlowWrapper)parent;
if (node instanceof Element) {
- Wrapper childWrapper = createWrapper((Element)node);
- if (childWrapper != null && childWrapper instanceof NodeWrapper) {
- flowWrapper.addElement((NodeWrapper)childWrapper);
+ result = createWrapper((Element)node);
+ if (result != null && result instanceof NodeWrapper) {
+ flowWrapper.addElement((NodeWrapper)result);
}
}
- return null;
+ return result;
}
}
class NodeChildNodeHandler implements ChildNodeHandler {
@SuppressWarnings("unchecked")
public Wrapper processChildNode(Wrapper parent, Node node) {
- if (!(parent instanceof NodeWrapper)) return null;
+ Wrapper result = null;
+ if (!(parent instanceof NodeWrapper)) return result;
NodeWrapper nodeWrapper = (NodeWrapper)parent;
ArrayList<ConnectionWrapper> flows = (ArrayList<ConnectionWrapper>)nodeWrapper.getElement().getMetaData("flows");
if (flows == null) {
@@ -86,12 +87,12 @@
nodeWrapper.getElement().setMetaData("flows", flows);
}
if (node instanceof Element) {
- Wrapper childWrapper = createWrapper((Element)node);
- if (childWrapper != null && childWrapper instanceof ConnectionWrapper) {
- flows.add((ConnectionWrapper)childWrapper);
+ result = createWrapper((Element)node);
+ if (result != null && result instanceof ConnectionWrapper) {
+ flows.add((ConnectionWrapper)result);
}
}
- return null;
+ return result;
}
}
@@ -127,8 +128,6 @@
try {
Document document = documentBuilderFactory.newDocumentBuilder().parse(is);
result = createWrapper(document.getDocumentElement());
-// Element element = document.getDocumentElement();
-// result = createFlowWrapper(element);
} catch (Exception e) {
Logger.logError("An error occurred while creating the diagram", e);
}
@@ -213,56 +212,6 @@
else return null;
}
- private Wrapper createFlowWrapper(Element element) {
- FlowWrapper result = null;
- if ("process".equals(element.getNodeName())) {
- result = createProcessWrapper(element);
- }
- return result;
- }
-
- private FlowWrapper createProcessWrapper(Element element) {
- FlowWrapper result = (FlowWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.process");
- if (result != null) {
- result.getElement().setMetaData("flows", new ArrayList<ConnectionWrapper>());
- addName(result, element);
- addNodes(result, element);
- resolveSequenceFlowTargets(result);
- result.getElement().setMetaData("flows", null);
- }
- return result;
- }
-
- @SuppressWarnings("unchecked")
- private void resolveSequenceFlowTargets(FlowWrapper flowWrapper) {
- ArrayList<ConnectionWrapper> flows = (ArrayList<ConnectionWrapper>)flowWrapper.getElement().getMetaData("flows");
- for (ConnectionWrapper flow : flows) {
- resolveSequenceFlowTarget(flow);
- }
- }
-
- private void resolveSequenceFlowTarget(ConnectionWrapper connectionWrapper) {
- String to = (String)connectionWrapper.getElement().getMetaData("to");
- if (to == null) {
- Logger.logInfo("Ignoring sequenceflow without target");
- return;
- }
- connectionWrapper.getElement().setMetaData("to", null);
- NodeWrapper source = (NodeWrapper)connectionWrapper.getElement().getMetaData("from");
- if (source == null) {
- Logger.logInfo("Ignoring sequenceflow without source");
- return;
- }
- connectionWrapper.getElement().setMetaData("from", null);
- FlowWrapper flowWrapper = source.getParent().getFlowWrapper();
- NodeWrapper target = getNamedNode(to, flowWrapper);
- if (target != null) {
- connectionWrapper.connect(source, target);
- } else {
- Logger.logInfo("Ignoring unknown target " + to + " while resolving sequenceflow target.");
- }
- }
-
private NodeWrapper getNamedNode(String name, FlowWrapper flowWrapper) {
if (name == null) return null;
for (NodeWrapper nodeWrapper : flowWrapper.getElements()) {
@@ -271,89 +220,6 @@
return null;
}
- private void addName(Wrapper wrapper, Element element) {
- String name = element.getAttribute("name");
- if (name == null) return;
- if (wrapper instanceof FlowWrapper) {
- ((Flow)((FlowWrapper)wrapper).getElement()).setName(name);
- } else if (wrapper instanceof NodeWrapper){
- ((NodeWrapper)wrapper).setName(name);
- }
- }
-
- private void addNodes(FlowWrapper wrapper, Element element) {
- NodeList nodeList = element.getChildNodes();
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node child = nodeList.item(i);
- NodeWrapper result = null;
- if ("start".equals(child.getNodeName())) {
- result = (NodeWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.startEvent");
- } else if ("end".equals(child.getNodeName())) {
- result = (NodeWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.terminateEndEvent");
- } else if ("end-error".equals(child.getNodeName())) {
- result = (NodeWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.errorEndEvent");
- } else if ("end-cancel".equals(child.getNodeName())) {
- result = (NodeWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.cancelEndEvent");
- } else if ("state".equals(child.getNodeName())) {
- result = (NodeWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.waitTask");
- } else if ("hql".equals(child.getNodeName())) {
- result = (NodeWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.hqlTask");
- } else if ("sql".equals(child.getNodeName())) {
- result = (NodeWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.sqlTask");
- } else if ("java".equals(child.getNodeName())) {
- result = (NodeWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.javaTask");
- } else if ("script".equals(child.getNodeName())) {
- result = (NodeWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.scriptTask");
- } else if ("esb".equals(child.getNodeName())) {
- result = (NodeWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.serviceTask");
- } else if ("task".equals(child.getNodeName())) {
- result = (NodeWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.humanTask");
- } else if ("exclusive".equals(child.getNodeName())) {
- result = (NodeWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.exclusiveGateway");
- } else if ("join".equals(child.getNodeName())) {
- result = (NodeWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.parallelJoinGateway");
- } else if ("fork".equals(child.getNodeName())) {
- result = (NodeWrapper)ElementRegistry.createWrapper("org.jboss.tools.flow.jpdl4.parallelForkGateway");
- }
- if (result != null) {
- wrapper.addElement(result);
- addName(result, (Element)child);
- addGraphics(result, (Element)child);
- addSequenceFlow(result, (Element)child);
- }
- }
- }
-
- @SuppressWarnings("unchecked")
- private void addSequenceFlow(NodeWrapper wrapper, Element element) {
- NodeList nodeList = element.getElementsByTagName("flow");
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node child = nodeList.item(i);
- ConnectionWrapper result =
- createConnectionWrapper((Element)child, "org.jboss.tools.flow.jpdl4.sequenceFlow");
- if (result != null) {
- result.getElement().setMetaData("from", wrapper);
- String to = ((Element)child).getAttribute("to");
- result.getElement().setMetaData("to", to);
- ContainerWrapper parent = wrapper.getParent();
- FlowWrapper flowWrapper = parent.getFlowWrapper();
- ArrayList<ConnectionWrapper> flows =
- (ArrayList<ConnectionWrapper>)flowWrapper.getElement().getMetaData("flows");
- flows.add(result);
- }
- }
- }
-
-
- private ConnectionWrapper createConnectionWrapper(Element element, String elementType) {
- ConnectionWrapper result = (ConnectionWrapper)ElementRegistry.createWrapper(elementType);
- if (result != null) {
- addName(result, element);
- addGraphics(result, element);
- }
- return result;
- }
-
private void addGraphics(ConnectionWrapper wrapper, Element element) {
String graphics = element.getAttribute("g");
if (graphics != null) {
Modified: trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlSerializer.java
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlSerializer.java 2009-01-15 19:55:17 UTC (rev 13074)
+++ trunk/jbpm/plugins/org.jboss.tools.flow.jpdl4/src/org/jboss/tools/flow/jpdl4/editor/JpdlSerializer.java 2009-01-15 21:00:15 UTC (rev 13075)
@@ -3,9 +3,20 @@
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
+import java.io.StringWriter;
import java.io.Writer;
+import java.util.ArrayList;
import java.util.List;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Result;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.draw2d.geometry.Rectangle;
import org.jboss.tools.flow.common.model.Element;
@@ -13,6 +24,7 @@
import org.jboss.tools.flow.common.wrapper.ContainerWrapper;
import org.jboss.tools.flow.common.wrapper.NodeWrapper;
import org.jboss.tools.flow.common.wrapper.Wrapper;
+import org.jboss.tools.flow.jpdl4.Logger;
import org.jboss.tools.flow.jpdl4.model.CancelEndEvent;
import org.jboss.tools.flow.jpdl4.model.ErrorEndEvent;
import org.jboss.tools.flow.jpdl4.model.ExclusiveGateway;
@@ -30,9 +42,22 @@
import org.jboss.tools.flow.jpdl4.model.SuperState;
import org.jboss.tools.flow.jpdl4.model.TerminateEndEvent;
import org.jboss.tools.flow.jpdl4.model.WaitTask;
+import org.w3c.dom.Node;
public class JpdlSerializer {
-
+
+ private static TransformerFactory transformerFactory = TransformerFactory.newInstance();
+ private static Transformer transformer = null;
+
+ static {
+ try {
+ transformer = transformerFactory.newTransformer();
+ transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+ } catch (TransformerConfigurationException e) {
+ Logger.logError("Error while creating XML tranformer.", e);
+ }
+ }
+
public void serialize(Wrapper wrapper, OutputStream os) throws IOException {
StringBuffer buffer = new StringBuffer();
appendToBuffer(buffer, wrapper, 0);
@@ -56,12 +81,41 @@
}
}
- private void appendOpening(StringBuffer buffer, Wrapper wrapper, int level) {
+
+
+ private void appendNodeList(StringBuffer buffer, ArrayList<Node> nodeList) {
+ if (transformer == null) {
+ Logger.logInfo("Skipping append nodes as transformer is not initialized.");
+ return;
+ }
+ DOMSource domSource = new DOMSource();
+ for (Node node : nodeList) {
+ StringWriter writer = new StringWriter();
+ domSource.setNode(node);
+ Result result = new StreamResult(writer);
+ try {
+ transformer.transform(domSource, result);
+ } catch (TransformerException e) {
+ Logger.logError("Exception while transforming xml.", e);
+ }
+ buffer.append(writer.getBuffer());
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private void appendOpening(StringBuffer buffer, Wrapper wrapper, int level) {
Element element = (Element)wrapper.getElement();
+ ArrayList<Node> leadingNodeList = (ArrayList<Node>)element.getMetaData("leadingNodes");
+ boolean appendLeadingNodes = leadingNodeList != null && !leadingNodeList.isEmpty();
+ if (appendLeadingNodes) {
+ appendNodeList(buffer, leadingNodeList);
+ }
if (element instanceof SequenceFlow) {
SequenceFlow transition = (SequenceFlow)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<flow");
if (transition.getTo() != null) {
buffer.append(" ");
@@ -72,8 +126,10 @@
appendConnectionGraphics(buffer, (ConnectionWrapper)wrapper);
} else if (element instanceof TerminateEndEvent) {
TerminateEndEvent terminateEndEvent = (TerminateEndEvent)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<end");
if (!isEmpty(terminateEndEvent.getName())) {
buffer.append(" ");
@@ -83,8 +139,10 @@
appendNodeGraphics(buffer, (NodeWrapper)wrapper);
} else if (element instanceof ErrorEndEvent) {
ErrorEndEvent errorEndEvent = (ErrorEndEvent)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<end-error");
if (!isEmpty(errorEndEvent.getName())) {
buffer.append(" ");
@@ -94,8 +152,10 @@
appendNodeGraphics(buffer, (NodeWrapper)wrapper);
} else if (element instanceof CancelEndEvent) {
CancelEndEvent cancelEndEvent = (CancelEndEvent)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<end-cancel");
if (!isEmpty(cancelEndEvent.getName())) {
buffer.append(" ");
@@ -105,8 +165,10 @@
appendNodeGraphics(buffer, (NodeWrapper)wrapper);
} else if (element instanceof StartEvent) {
StartEvent startEvent = (StartEvent)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<start");
if (!isEmpty(startEvent.getName())) {
buffer.append(" ");
@@ -116,8 +178,10 @@
appendNodeGraphics(buffer, (NodeWrapper)wrapper);
} else if (element instanceof SuperState) {
SuperState superState = (SuperState)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<super-state");
if (!isEmpty(superState.getName())) {
buffer.append(" ");
@@ -126,8 +190,10 @@
}
} else if (element instanceof WaitTask) {
WaitTask waitTask = (WaitTask)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<state");
if (!isEmpty(waitTask.getName())) {
buffer.append(" ");
@@ -137,8 +203,10 @@
appendNodeGraphics(buffer, (NodeWrapper)wrapper);
} else if (element instanceof HqlTask) {
HqlTask hqlTask = (HqlTask)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<hql");
if (!isEmpty(hqlTask.getName())) {
buffer.append(" ");
@@ -148,8 +216,10 @@
appendNodeGraphics(buffer, (NodeWrapper)wrapper);
} else if (element instanceof SqlTask) {
SqlTask sqlTask = (SqlTask)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<sql");
if (!isEmpty(sqlTask.getName())) {
buffer.append(" ");
@@ -159,8 +229,10 @@
appendNodeGraphics(buffer, (NodeWrapper)wrapper);
} else if (element instanceof JavaTask) {
JavaTask javaTask = (JavaTask)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<java");
if (!isEmpty(javaTask.getName())) {
buffer.append(" ");
@@ -170,8 +242,10 @@
appendNodeGraphics(buffer, (NodeWrapper)wrapper);
} else if (element instanceof ScriptTask) {
ScriptTask scriptTask = (ScriptTask)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<script");
if (!isEmpty(scriptTask.getName())) {
buffer.append(" ");
@@ -181,8 +255,10 @@
appendNodeGraphics(buffer, (NodeWrapper)wrapper);
} else if (element instanceof ServiceTask) {
ServiceTask serviceTask = (ServiceTask)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<esb");
if (!isEmpty(serviceTask.getName())) {
buffer.append(" ");
@@ -192,8 +268,10 @@
appendNodeGraphics(buffer, (NodeWrapper)wrapper);
} else if (element instanceof HumanTask) {
HumanTask humanTask = (HumanTask)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<task");
if (!isEmpty(humanTask.getName())) {
buffer.append(" ");
@@ -203,8 +281,10 @@
appendNodeGraphics(buffer, (NodeWrapper)wrapper);
} else if (element instanceof ExclusiveGateway) {
ExclusiveGateway exclusiveGateway = (ExclusiveGateway)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<exclusive");
if (!isEmpty(exclusiveGateway.getName())) {
buffer.append(" ");
@@ -214,8 +294,10 @@
appendNodeGraphics(buffer, (NodeWrapper)wrapper);
} else if (element instanceof ForkParallelGateway) {
ForkParallelGateway parallelForkGateway = (ForkParallelGateway)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<fork");
if (!isEmpty(parallelForkGateway.getName())) {
buffer.append(" ");
@@ -225,8 +307,10 @@
appendNodeGraphics(buffer, (NodeWrapper)wrapper);
} else if (element instanceof JoinParallelGateway) {
JoinParallelGateway parallelJoinGateway = (JoinParallelGateway)element;
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendLeadingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("<join");
if (!isEmpty(parallelJoinGateway.getName())) {
buffer.append(" ");
@@ -264,75 +348,115 @@
}
}
- private void appendClosing(StringBuffer buffer, Wrapper wrapper, int level) {
+ @SuppressWarnings("unchecked")
+ private void appendClosing(StringBuffer buffer, Wrapper wrapper, int level) {
Element element = (Element)wrapper.getElement();
+ ArrayList<Node> trailingNodeList = (ArrayList<Node>)element.getMetaData("trailingNodes");
+ boolean appendTrailingNodes = trailingNodeList != null && !trailingNodeList.isEmpty();
+ if (appendTrailingNodes) {
+ appendNodeList(buffer, trailingNodeList);
+ }
if (element instanceof SequenceFlow) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</flow>");
} else if (element instanceof TerminateEndEvent) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</end>");
} else if (element instanceof ErrorEndEvent) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</end-error>");
} else if (element instanceof CancelEndEvent) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</end-cancel>");
} else if (element instanceof StartEvent) {
- buffer.append("\n");
- appendPadding(buffer, level);
- buffer.append("</start>");
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
+ buffer.append("</start>");
} else if (element instanceof SuperState) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</super-state>");
} else if (element instanceof WaitTask) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</state>");
} else if (element instanceof HqlTask) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</hql>");
} else if (element instanceof SqlTask) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</sql>");
} else if (element instanceof JavaTask) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</java>");
} else if (element instanceof ScriptTask) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</script>");
} else if (element instanceof ServiceTask) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</esb>");
} else if (element instanceof HumanTask) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</task>");
} else if (element instanceof ExclusiveGateway) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</exclusive>");
} else if (element instanceof ForkParallelGateway) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</fork>");
} else if (element instanceof JoinParallelGateway) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</join>");
} else if (element instanceof Process) {
- buffer.append("\n");
- appendPadding(buffer, level);
+ if (!appendTrailingNodes) {
+ buffer.append("\n");
+ appendPadding(buffer, level);
+ }
buffer.append("</process>");
}
}
More information about the jbosstools-commits
mailing list