2020-05-27 15:38:02 +00:00
|
|
|
|
<!doctype html>
|
|
|
|
|
<html lang="en">
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="utf-8">
|
|
|
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
|
|
|
|
|
|
|
|
<meta http-equiv="cache-control" content="max-age=0" />
|
|
|
|
|
<meta http-equiv="cache-control" content="no-cache" />
|
|
|
|
|
<meta http-equiv="expires" content="0" />
|
|
|
|
|
<meta http-equiv="pragma" content="no-cache" />
|
|
|
|
|
|
|
|
|
|
<style type="text/css">
|
|
|
|
|
html, body, #canvas {
|
|
|
|
|
height: 100%;
|
|
|
|
|
padding: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.transaction-boundary {
|
|
|
|
|
background-color: rgba(180, 21, 21, 0.7);
|
|
|
|
|
border-radius: 1px;
|
|
|
|
|
min-height: 50px;
|
|
|
|
|
width: 3px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.execution-listener {
|
|
|
|
|
background-color: rgba(21, 66, 180, 0.7);
|
|
|
|
|
color: White;
|
|
|
|
|
border-radius: 5px;
|
|
|
|
|
font-family: Arial;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
padding: 5px;
|
|
|
|
|
min-height: 16px;
|
|
|
|
|
min-width: 16px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.highlight:not(.djs-connection) .djs-visual > :nth-child(1) {
|
|
|
|
|
fill: rgba(66, 180, 21, 0.7) !important; /* color elements as green */
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.highlight-running .djs-visual > :nth-child(1) {
|
|
|
|
|
fill: rgba(0, 198, 218, 0.7) !important; /* color still running flow nodes as blue */
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#info-box {
|
|
|
|
|
margin-left: 20px;
|
|
|
|
|
margin-top: 15px;
|
|
|
|
|
padding: 10px;
|
|
|
|
|
table-layout: fixed;
|
|
|
|
|
border-collapse: collapse;
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 0px;
|
|
|
|
|
left: 0px;
|
|
|
|
|
font-family: sans-serif;
|
|
|
|
|
line-height: 150%;
|
|
|
|
|
font-size: 80%;
|
|
|
|
|
z-index: 1000;
|
|
|
|
|
background-color: rgba(255,255,255,0.90);
|
|
|
|
|
border-radius: 10px;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
<title>Process Test Coverage Report</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
|
|
|
|
|
<div id="info-box">
|
|
|
|
|
<div>Process Definition Name: Rechnungseingang</div>
|
2020-05-29 08:46:50 +00:00
|
|
|
|
<div>Coverage: 0<>%</div>
|
2020-05-27 15:38:02 +00:00
|
|
|
|
<div>Test Class: com.bpmn.Rechnungseingang.ProcessUnitTest</div>
|
|
|
|
|
<div>TestMethod: testHappyPath</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- element to draw bpmn diagram in -->
|
|
|
|
|
<div id="canvas"></div>
|
|
|
|
|
|
|
|
|
|
<!-- scripts -->
|
|
|
|
|
|
|
|
|
|
<!-- seed dependencies (required for demo only) -->
|
|
|
|
|
<script src="../bower_components/jquery/dist/jquery.js"></script>
|
|
|
|
|
|
|
|
|
|
<!-- bpmn-js viewer -->
|
|
|
|
|
<script src="../bower_components/bpmn-js/dist/bpmn-navigated-viewer.js"></script>
|
|
|
|
|
|
|
|
|
|
<!-- application -->
|
|
|
|
|
<script>
|
|
|
|
|
(function(NavigatedViewer, $) {
|
|
|
|
|
|
|
|
|
|
// create viewer
|
|
|
|
|
var bpmnViewer = new NavigatedViewer({
|
|
|
|
|
container: '#canvas'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// import function
|
|
|
|
|
function importXML(xml) {
|
|
|
|
|
|
|
|
|
|
// import diagram
|
|
|
|
|
bpmnViewer.importXML(xml, function(err) {
|
|
|
|
|
|
|
|
|
|
if (err) {
|
|
|
|
|
return console.error('could not import BPMN 2.0 diagram', err);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var canvas = bpmnViewer.get('canvas'),
|
|
|
|
|
overlays = bpmnViewer.get('overlays');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// zoom to fit full viewport
|
|
|
|
|
canvas.zoom('fit-viewport', true);
|
|
|
|
|
|
|
|
|
|
// visualizations
|
|
|
|
|
elementRegistry = bpmnViewer.get('elementRegistry');
|
|
|
|
|
var elements = elementRegistry.getAll();
|
|
|
|
|
console.log(elements);
|
|
|
|
|
for (var i = 0; i < elements.length; i++) {
|
|
|
|
|
var element = elements[i];
|
|
|
|
|
if (element.type != 'label') {
|
|
|
|
|
|
|
|
|
|
// Transaction Boundaries
|
|
|
|
|
if (element.businessObject.$attrs["camunda:asyncBefore"]
|
|
|
|
|
|| element.businessObject.$attrs["camunda:async"]
|
|
|
|
|
|| element.type == 'bpmn:ReceiveTask'
|
|
|
|
|
|| element.type == 'bpmn:UserTask'
|
|
|
|
|
|| element.type == 'bpmn:IntermediateCatchEvent'
|
|
|
|
|
) {
|
|
|
|
|
overlays.add(element.id, 'note', {
|
|
|
|
|
position: {
|
|
|
|
|
bottom: (element.type == 'bpmn:IntermediateCatchEvent' ? 18 : 40),
|
|
|
|
|
left: -4
|
|
|
|
|
},
|
|
|
|
|
html: '<div class="transaction-boundary"></div>'
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
if (element.businessObject.$attrs["camunda:asyncAfter"]) {
|
|
|
|
|
overlays.add(element.id, 'note', {
|
|
|
|
|
position: {
|
|
|
|
|
bottom: 19,
|
|
|
|
|
right: -1
|
|
|
|
|
},
|
|
|
|
|
html: '<div class="transaction-boundary"></div>'
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (element.businessObject.extensionElements) {
|
|
|
|
|
var extensionElements = element.businessObject.extensionElements.values;
|
|
|
|
|
for (var j = 0; j < extensionElements.length; j++) {
|
|
|
|
|
console.log(extensionElements[j]);
|
|
|
|
|
if (extensionElements[j].$type == 'camunda:executionListener') {
|
|
|
|
|
if (extensionElements[j].event == 'end') {
|
|
|
|
|
overlays.add(element.id, 'note', {
|
|
|
|
|
position: {
|
|
|
|
|
bottom: 0,
|
|
|
|
|
right: 0
|
|
|
|
|
},
|
|
|
|
|
html: '<div class="execution-listener">' + extensionElements[j].expression + '</div>'
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
if (extensionElements[j].event == 'start') {
|
|
|
|
|
overlays.add(element.id, 'note', {
|
|
|
|
|
position: {
|
|
|
|
|
bottom: 0,
|
|
|
|
|
left: 0
|
|
|
|
|
},
|
|
|
|
|
html: '<div class="execution-listener">' + extensionElements[j].expression + '</div>'
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (element.type == 'bpmn:SequenceFlow' && element.businessObject.conditionExpression) {
|
|
|
|
|
var position = {
|
|
|
|
|
left: 0
|
|
|
|
|
}
|
|
|
|
|
if (element.waypoints[0].y > element.waypoints[element.waypoints.length - 1].y) {
|
|
|
|
|
position.top = -29;
|
|
|
|
|
} else {
|
|
|
|
|
position.bottom = -3;
|
|
|
|
|
}
|
|
|
|
|
overlays.add(element.id, 'note', {
|
|
|
|
|
position: position,
|
|
|
|
|
html: '<div class="execution-listener">' + element.businessObject.conditionExpression.body + '</div>'
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (element.businessObject.$attrs["camunda:delegateExpression"]) {
|
|
|
|
|
overlays.add(element.id, 'note', {
|
|
|
|
|
position: {
|
|
|
|
|
bottom: -3,
|
|
|
|
|
left: 0
|
|
|
|
|
},
|
|
|
|
|
html: '<div class="execution-listener">' + element.businessObject.$attrs["camunda:delegateExpression"] + '</div>'
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//YOUR ANNOTATIONS GO HERE
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2020-05-29 08:46:50 +00:00
|
|
|
|
var diagramXML = '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<bpmn:definitions xmlns:bpmn=\"http:\/\/www.omg.org\/spec\/BPMN\/20100524\/MODEL\" xmlns:bpmndi=\"http:\/\/www.omg.org\/spec\/BPMN\/20100524\/DI\" xmlns:di=\"http:\/\/www.omg.org\/spec\/DD\/20100524\/DI\" xmlns:dc=\"http:\/\/www.omg.org\/spec\/DD\/20100524\/DC\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xmlns:camunda=\"http:\/\/camunda.org\/schema\/1.0\/bpmn\" id=\"Definitions_1\" targetNamespace=\"http:\/\/bpmn.io\/schema\/bpmn\" exporter=\"Camunda Modeler\" exporterVersion=\"3.7.3\">\r\n <bpmn:collaboration id=\"Collaboration_1wzor0e\">\r\n <bpmn:participant id=\"Participant_0rhvdb2\" processRef=\"Rechnungseingang\" \/>\r\n <bpmn:participant id=\"Participant_1t6l9uu\" name=\"FI-System\" processRef=\"Process_0981kcr\" \/>\r\n <bpmn:participant id=\"Participant_18sv9vt\" name=\"ERP-System\" processRef=\"Process_16i5qhh\" \/>\r\n <bpmn:messageFlow id=\"Flow_19tf2ig\" sourceRef=\"Activity_1x7zph6\" targetRef=\"Event_1s4nmb2\" \/>\r\n <bpmn:messageFlow id=\"Flow_0y80b3b\" sourceRef=\"Event_0bdlqvi\" targetRef=\"Activity_1x7zph6\" \/>\r\n <bpmn:messageFlow id=\"Flow_1i1mf5g\" sourceRef=\"Activity_108exu6\" targetRef=\"Event_1d64cvt\" \/>\r\n <bpmn:messageFlow id=\"Flow_0wtoi84\" sourceRef=\"Event_16dcvqd\" targetRef=\"Activity_108exu6\" \/>\r\n <\/bpmn:collaboration>\r\n <bpmn:process id=\"Rechnungseingang\" name=\"Rechnungseingang\" isExecutable=\"true\">\r\n <bpmn:laneSet id=\"LaneSet_0vckjdx\">\r\n <bpmn:lane id=\"Lane_1srdryl\" name=\"Logistik\">\r\n <bpmn:flowNodeRef>Gateway_Lieferscheinpruefen<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Activity_1b029kn<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Event_0p7ms1x<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Activity_0snbir8<\/bpmn:flowNodeRef>\r\n <\/bpmn:lane>\r\n <bpmn:lane id=\"Lane_0f2qeym\" name=\"Poststelle\">\r\n <bpmn:flowNodeRef>Activity_1ovc6n5<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Event_1350hwr<\/bpmn:flowNodeRef>\r\n <\/bpmn:lane>\r\n <bpmn:lane id=\"Lane_0nfuckv\" name=\"Kreditorenbuchhaltung\">\r\n <bpmn:flowNodeRef>Activity_1uloahn<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Gateway_1m9g2lh<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Activity_14ny5c3<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Activity_060riuq<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Gateway_Zahlungsziel<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Activity_0pq4lxv<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Event_1wc0kk6<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Gateway_Formalpruefen<\/bpmn:flowNodeRef>\r\n <\/bpmn:lane>\r\n <bpmn:lane id=\"Lane_1vcnl2m\" name=\"Workflow-Engine\">\r\n <bpmn:flowNodeRef>Gateway_HoeheRechnungssumme<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Activity_0vq3ho7<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Activity_0jdjg2h<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Gateway_0lfg2b2<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Event_1czv0yh<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Gateway_1y79rn0<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Gateway_01r6r9e<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Activity_108exu6<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Activity_1x7zph6<\/bpmn:flowNodeRef>\r\n <\/bpmn:lane>\r\n <bpmn:lane id=\"Lane_0u5smjl\" name=\"Gesch\u00C3\u00A4ftsf\u00C3\u00BChrung\">\r\n <bpmn:flowNodeRef>Activity_1nxd2jr<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Event_1mwritv<\/bpmn:flowNodeRef>\r\n <bpmn:flowNodeRef>Gateway_Vorgangfreigeben<\/bpmn:flowNodeRef>\r\n <\/bpmn:lane>\r\n <\/bpmn:laneSet>\r\n <bpmn:exclusiveGateway id=\"Gateway_Lieferscheinpruefen\">\r\n <bpmn:incoming>Flow_17ny5uv<\/bpmn:incoming>\r\n <bpmn:outgoing>Flow_1aijtcn<\/bpmn:outgoing>\r\n <bpmn:outgoing>Flow_1kjf7y9<\/bpmn:outgoing>\r\n <\/bpmn:exclusiveGateway>\r\n <bpmn:userTask id=\"Activity_1b029kn\" name=\"Rechung mit Lieferschein pr
|
2020-05-27 15:38:02 +00:00
|
|
|
|
importXML(diagramXML);
|
|
|
|
|
|
|
|
|
|
})(window.BpmnJS, window.jQuery);
|
|
|
|
|
</script>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|