cpee 2.1.52 → 2.1.53

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/css/ui.css +1 -1
  3. data/cockpit/edit.html +4 -1
  4. data/cockpit/js/details.js +4 -14
  5. data/cockpit/js/edit.js +3 -0
  6. data/cockpit/js/instance.js +15 -6
  7. data/cockpit/js/modifiers.js +4 -14
  8. data/cockpit/js/parameters.js +4 -10
  9. data/cockpit/templates/Coopis 2010.xml +8 -1
  10. data/cockpit/templates/Worklist.xml +6 -7
  11. data/cockpit/themes/compact/rngs/call.rng +3 -3
  12. data/cockpit/themes/compact/rngs/callmanipulate.rng +3 -3
  13. data/cockpit/themes/compact/rngs/parallel.rng +2 -2
  14. data/cockpit/themes/compact/rngs/start.rng +3 -3
  15. data/cockpit/themes/compact/theme.js +10 -0
  16. data/cockpit/themes/control/rngs/call.rng +3 -3
  17. data/cockpit/themes/control/rngs/callmanipulate.rng +3 -3
  18. data/cockpit/themes/control/rngs/parallel.rng +2 -2
  19. data/cockpit/themes/control/rngs/start.rng +3 -3
  20. data/cockpit/themes/control/theme.js +10 -0
  21. data/cockpit/themes/dataflow/rngs/call.rng +3 -3
  22. data/cockpit/themes/dataflow/rngs/callmanipulate.rng +3 -3
  23. data/cockpit/themes/dataflow/rngs/parallel.rng +2 -2
  24. data/cockpit/themes/dataflow/rngs/start.rng +3 -3
  25. data/cockpit/themes/dataflow/theme.js +13 -3
  26. data/cockpit/themes/default/rngs/call.rng +3 -3
  27. data/cockpit/themes/default/rngs/callmanipulate.rng +3 -3
  28. data/cockpit/themes/default/rngs/parallel.rng +2 -2
  29. data/cockpit/themes/default/rngs/start.rng +3 -3
  30. data/cockpit/themes/default/theme.js +11 -0
  31. data/cockpit/themes/extended/rngs/call.rng +3 -3
  32. data/cockpit/themes/extended/rngs/callmanipulate.rng +3 -3
  33. data/cockpit/themes/extended/rngs/parallel.rng +2 -2
  34. data/cockpit/themes/extended/rngs/start.rng +3 -3
  35. data/cockpit/themes/extended/theme.js +11 -0
  36. data/cockpit/themes/felix/rngs/alternative.rng +25 -0
  37. data/cockpit/themes/felix/rngs/call.rng +229 -0
  38. data/cockpit/themes/felix/rngs/callmanipulate.rng +259 -0
  39. data/cockpit/themes/felix/rngs/choose.rng +14 -0
  40. data/cockpit/themes/felix/rngs/closed_loop.rng +62 -0
  41. data/cockpit/themes/felix/rngs/closed_loop_cancel.rng +5 -0
  42. data/cockpit/themes/felix/rngs/closed_loop_control.rng +31 -0
  43. data/cockpit/themes/felix/rngs/closed_loop_measuring.rng +12 -0
  44. data/cockpit/themes/felix/rngs/critical.rng +5 -0
  45. data/cockpit/themes/felix/rngs/escape.rng +1 -0
  46. data/cockpit/themes/felix/rngs/group.rng +3 -0
  47. data/cockpit/themes/felix/rngs/loop.rng +22 -0
  48. data/cockpit/themes/felix/rngs/manipulate.rng +20 -0
  49. data/cockpit/themes/felix/rngs/otherwise.rng +22 -0
  50. data/cockpit/themes/felix/rngs/parallel.rng +27 -0
  51. data/cockpit/themes/felix/rngs/parallel_branch.rng +2 -0
  52. data/cockpit/themes/felix/rngs/scripts.rng +23 -0
  53. data/cockpit/themes/felix/rngs/start.rng +121 -0
  54. data/cockpit/themes/felix/rngs/stop.rng +5 -0
  55. data/cockpit/themes/felix/rngs/terminate.rng +1 -0
  56. data/cockpit/themes/felix/symbols/alternative.svg +5 -0
  57. data/cockpit/themes/felix/symbols/arrow.svg +3 -0
  58. data/cockpit/themes/felix/symbols/call.svg +6 -0
  59. data/cockpit/themes/felix/symbols/call_sensor.svg +9 -0
  60. data/cockpit/themes/felix/symbols/callmanipulate.svg +8 -0
  61. data/cockpit/themes/felix/symbols/callmanipulate_sensor.svg +11 -0
  62. data/cockpit/themes/felix/symbols/choose.svg +5 -0
  63. data/cockpit/themes/felix/symbols/choose_exclusive.svg +5 -0
  64. data/cockpit/themes/felix/symbols/choose_inclusive.svg +4 -0
  65. data/cockpit/themes/felix/symbols/closed_loop.svg +5 -0
  66. data/cockpit/themes/felix/symbols/closed_loop_cancel.svg +5 -0
  67. data/cockpit/themes/felix/symbols/closed_loop_control.svg +5 -0
  68. data/cockpit/themes/felix/symbols/closed_loop_measuring.svg +6 -0
  69. data/cockpit/themes/felix/symbols/complex.svg +8 -0
  70. data/cockpit/themes/felix/symbols/critical.svg +4 -0
  71. data/cockpit/themes/felix/symbols/delete.svg +4 -0
  72. data/cockpit/themes/felix/symbols/end.svg +3 -0
  73. data/cockpit/themes/felix/symbols/escape.svg +5 -0
  74. data/cockpit/themes/felix/symbols/event_end.svg +3 -0
  75. data/cockpit/themes/felix/symbols/loop.svg +5 -0
  76. data/cockpit/themes/felix/symbols/manipulate.svg +4 -0
  77. data/cockpit/themes/felix/symbols/otherwise.svg +5 -0
  78. data/cockpit/themes/felix/symbols/parallel.svg +5 -0
  79. data/cockpit/themes/felix/symbols/parallel_branch.svg +5 -0
  80. data/cockpit/themes/felix/symbols/parallel_branch_compact.svg +4 -0
  81. data/cockpit/themes/felix/symbols/parallel_branch_event.svg +14 -0
  82. data/cockpit/themes/felix/symbols/parallel_branch_normal.svg +5 -0
  83. data/cockpit/themes/felix/symbols/parallel_eventbased_exclusive.svg +9 -0
  84. data/cockpit/themes/felix/symbols/parallel_eventbased_parallel.svg +8 -0
  85. data/cockpit/themes/felix/symbols/scripts.svg +4 -0
  86. data/cockpit/themes/felix/symbols/start.svg +3 -0
  87. data/cockpit/themes/felix/symbols/start_event.svg +5 -0
  88. data/cockpit/themes/felix/symbols/stop.svg +5 -0
  89. data/cockpit/themes/felix/symbols/terminate.svg +4 -0
  90. data/cockpit/themes/felix/theme.js +1526 -0
  91. data/cockpit/themes/model/rngs/call.rng +10 -10
  92. data/cockpit/themes/model/rngs/callmanipulate.rng +10 -10
  93. data/cockpit/themes/model/theme.js +10 -0
  94. data/cockpit/themes/packed/rngs/call.rng +3 -3
  95. data/cockpit/themes/packed/rngs/callmanipulate.rng +3 -3
  96. data/cockpit/themes/packed/rngs/parallel.rng +2 -2
  97. data/cockpit/themes/packed/rngs/start.rng +3 -3
  98. data/cockpit/themes/packed/theme.js +10 -0
  99. data/cockpit/themes/preset/rngs/call.rng +3 -3
  100. data/cockpit/themes/preset/rngs/callmanipulate.rng +3 -3
  101. data/cockpit/themes/preset/rngs/parallel.rng +2 -2
  102. data/cockpit/themes/preset/rngs/start.rng +3 -3
  103. data/cockpit/themes/preset/theme.js +11 -0
  104. data/cpee.gemspec +1 -1
  105. data/lib/cpee/implementation.rb +1 -1
  106. data/lib/cpee/implementation_properties.rb +23 -13
  107. data/lib/properties/state.rng +0 -2
  108. data/lib/properties.xml +0 -1
  109. data/server/executionhandlers/ruby/connection.rb +25 -16
  110. data/server/executionhandlers/ruby/controller.rb +1 -1
  111. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +71 -61
  112. data/server/resources/states.dot +0 -4
  113. data/server/resources/states.xml +0 -6
  114. metadata +57 -16
  115. data/cockpit/css/replay.css +0 -55
  116. data/cockpit/js/replay.js +0 -40
  117. data/cockpit/replay.html +0 -53
  118. data/cockpit/themes/compact/symbols/test.svg +0 -74
  119. data/cockpit/themes/control/symbols/test.svg +0 -74
  120. data/cockpit/themes/dataflow/symbols/test.svg +0 -74
  121. data/cockpit/themes/default/symbols/test.svg +0 -74
  122. data/cockpit/themes/extended/symbols/test.svg +0 -74
  123. data/cockpit/themes/model/symbols/test.svg +0 -74
  124. data/cockpit/themes/packed/symbols/test.svg +0 -74
  125. data/cockpit/themes/preset/symbols/test.svg +0 -74
  126. data/server/executionhandlers/ruby/desc.xml +0 -107
  127. data/server/resources/test.pdf +0 -0
  128. data/server/server.conf +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: abf105360b93a73b4be3fbceb75cc95f805fe947917d1a8da91a727a1bfce520
4
- data.tar.gz: 7f7dbec843a239c9dfc97166aaddd3e6cd43ddc5d3fd10335a87d72ea6aeda1b
3
+ metadata.gz: 895480af20ce6499a796ff2beb4985350038da28ed581a315ac9d04bc796e09b
4
+ data.tar.gz: e04fa030ef2aca658d5ca1a6880325429de767fac55d1f9f3831356b3fc30c0a
5
5
  SHA512:
6
- metadata.gz: 60ff6635449e118df6f272a1c7d8e5f23637d30ea60e4d0c3b928d6dd63a896ddcadde07093029a64cb7050642da53311f6d80e360f1ed267c01153e3dfa4ad4
7
- data.tar.gz: b8e5e91f5afdbab0e986c3bb0dc68bd468c86ee4d6633d1c8254cee9be8a4620f288968f558f0bb92e1fa0854ec9a760ec7744c14476148bf77fd939df42de1a
6
+ metadata.gz: 77b2c6977626b081e38ba035b6129c710b89837bc102bc21e85aae4a894fb73eabd0e1dcd3a1a131e68603f4bdbfb634370790dc60b529770db26253666bac8a
7
+ data.tar.gz: bd4ca4ede0b5754385e8981e371dc0e10f0b3af2da5a4722566a50eeec75a8d80fa90bd474dc206c2dbaaa3b738db5ca749bc4568082a93ed73ae142fac798ca
data/cockpit/css/ui.css CHANGED
@@ -42,7 +42,7 @@ body {
42
42
  border-left: 1pt solid var(--wfadaptor-border);
43
43
  }
44
44
  #graphgrid.striped #resources rect.border {
45
- width: 1pt;
45
+ width: 0.8pt;
46
46
  fill: var(--wfadaptor-border);
47
47
  }
48
48
  #graphgrid.striped .graphlabel.even, #graphgrid.striped .graphempty.even, #graphgrid.striped .graphlast.even {
data/cockpit/edit.html CHANGED
@@ -55,7 +55,9 @@
55
55
  <script type="text/javascript" src="js/parameters.js"></script>
56
56
  <script type="text/javascript" src="js/edit.js"></script>
57
57
  <script type="text/javascript" src="js/modifiers.js"></script>
58
+ <script type="text/javascript" src="js/resources.js"></script>
58
59
  <link rel="stylesheet" href="css/ui.css" type="text/css"/>
60
+ <link rel="stylesheet" href="css/resources.css" type="text/css"/>
59
61
  <link rel="stylesheet" href="/global_ui/uicpee.css" type="text/css"/>
60
62
  <style>
61
63
  /* has to be fucking inline, because firefox and chrome disagree how to handle filter urls */
@@ -242,8 +244,9 @@
242
244
  <ui-behind ><a style='display:none' target='_blank' id='current-track'>T</a><a style='display:none' target='_blank' id='current-graph'>G</a></ui-behind>
243
245
  </ui-tabbar>
244
246
  <ui-content>
245
- <ui-area data-belongs-to-tab="details" id='graphcolumn'>
247
+ <ui-area data-belongs-to-tab="details" id='graphcolumn' oncontextmenu='return false'>
246
248
  <div id='graphgrid'>
249
+ <div class="resource-label" style="display: none"></div>
247
250
  <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' width='1' height='1'></svg>
248
251
  </div>
249
252
  </ui-area>
@@ -7,20 +7,6 @@ $(document).ready(function() {
7
7
  clearTimeout(timer);
8
8
  timer = setTimeout(do_main_save, 5000);
9
9
  });
10
- $(document).on('change','#dat_details select',function(e){
11
- clearTimeout(timer);
12
- do_main_save();
13
- });
14
- $(document).on('blur','#dat_details input, #dat_details textarea, #dat_details [contenteditable]',function(e){
15
- clearTimeout(timer);
16
- do_main_save();
17
- });
18
- $(document).on('keypress','#dat_details input',function(e){
19
- if (e.keyCode == 13) {
20
- clearTimeout(timer);
21
- do_main_save();
22
- }
23
- });
24
10
  $(document).on('keypress','#dat_details [contenteditable]',function(e){
25
11
  if (e.keyCode == 13) {
26
12
  document.execCommand('insertLineBreak')
@@ -35,6 +21,10 @@ $(document).ready(function() {
35
21
  clearTimeout(timer);
36
22
  do_main_save();
37
23
  });
24
+ $(document).on('relaxngui_change', '#dat_details', function(e){
25
+ clearTimeout(timer);
26
+ do_main_save();
27
+ });
38
28
  });
39
29
 
40
30
  function do_main_save() { //{{{
data/cockpit/js/edit.js CHANGED
@@ -7,6 +7,9 @@ document.addEventListener('parameters:changed', function (e) {
7
7
  document.addEventListener('modifiers:changed', function (e) {
8
8
  $("button[name=save]").prop("disabled",false);
9
9
  }, false);
10
+ document.addEventListener('model:loaded', function (e) {
11
+ $("button[name=save]").prop("disabled",false);
12
+ }, false);
10
13
 
11
14
  function leading_zeros(dt) {
12
15
  return (dt < 10 ? '0' : '') + dt;
@@ -6,6 +6,7 @@ var loading = false;
6
6
  var subscription;
7
7
  var subscription_state = 'less';
8
8
  var graph_changed = new Event("graph:changed", {"bubbles":true, "cancelable":false});
9
+ var model_loaded = new Event("model:loaded", {"bubbles":true, "cancelable":false});
9
10
  var save = {};
10
11
  save['endpoints'] = undefined;
11
12
  save['dataelements'] = undefined;
@@ -593,14 +594,15 @@ function adaptor_init(url,theme,dslx) { //{{{
593
594
  let str = '';
594
595
  for (const [k, v] of Object.entries(col.value)) {
595
596
  var p = {};
597
+ p.row = val.row;
596
598
  p.AR = v;
597
599
  p.yc = dimensions.height_shift/2 + dimensions.height * val.row - 20;
598
600
  if (!mapPoints.has(k)) {
599
601
  p.y0 = p.y0 == undefined ? (dimensions.height_shift/2 + dimensions.height * val.row - 20) : p.y0;
600
- p.ymax = (p.ymax == undefined) ? p.y0 : p.ymax; //(dimensions.height_shift/2 + dimensions.height * val.row - 20 > p.ymax ? dimensions.height_shift/2 + dimensions.height * val.row - 20 : p.ymax);
602
+ p.ymax = (p.ymax == undefined) ? p.y0 : p.ymax;
601
603
  } else {
602
604
  p.y0 = mapPoints.get(k).y0;
603
- p.ymax = mapPoints.get(k).ymax; //(dimensions.height_shift/2 + dimensions.height * val.row - 20 > p.ymax ? dimensions.height_shift/2 + dimensions.height * val.row - 20 : p.ymax);
605
+ p.ymax = mapPoints.get(k).ymax;
604
606
  }
605
607
  mapPoints.set(k, p);
606
608
  }
@@ -644,8 +646,8 @@ function adaptor_init(url,theme,dslx) { //{{{
644
646
 
645
647
  if (firstAssignFlag == 1) {
646
648
  // Additional logic and construction of another polygon for orange triangle pointing left
647
- p.y0 -= dimensions.height;
648
- str += '<polygon xmlns="http://www.w3.org/2000/svg" points="' + (cx + 5) + ',' + (dimensions.height_shift/2 + dimensions.height * (val.row - 1) - 20) + ' ' + (cx - 5) + ',' + (dimensions.height_shift/2 + dimensions.height * (val.row - 1) - 15) + ' ' + (cx - 5) + ',' + (dimensions.height_shift/2 + dimensions.height * (val.row - 1) - 25) + '" fill="orange" class="resource-point">' + '<text xmlns="http://www.w3.org/2000/svg">' + k + '</text></polygon>';
649
+ p.y0 -= ((p.row-1) * dimensions.height);
650
+ str += '<polygon xmlns="http://www.w3.org/2000/svg" points="' + (cx + 5) + ',' + (dimensions.height_shift/2 + dimensions.height - 20) + ' ' + (cx - 5) + ',' + (dimensions.height_shift/2 + dimensions.height - 15) + ' ' + (cx - 5) + ',' + (dimensions.height_shift/2 + dimensions.height - 25) + '" fill="orange" class="resource-point">' + '<text xmlns="http://www.w3.org/2000/svg">' + k + '</text></polygon>';
649
651
  }
650
652
  cx += iconsize;
651
653
  }
@@ -1208,6 +1210,8 @@ async function set_testset(testset,exec) {// {{{
1208
1210
 
1209
1211
  await Promise.all(promises);
1210
1212
 
1213
+ document.dispatchEvent(model_loaded);
1214
+
1211
1215
  $.ajax({
1212
1216
  type: "GET",
1213
1217
  url: url + "/properties/state/",
@@ -1224,7 +1228,9 @@ async function set_testset(testset,exec) {// {{{
1224
1228
  });
1225
1229
  }
1226
1230
  });
1227
- }// }}}
1231
+
1232
+
1233
+ }// }}}
1228
1234
 
1229
1235
  function load_testsetfile_after() { //{{{
1230
1236
  if (loading) return;
@@ -1344,7 +1350,10 @@ async function load_des(url,model) { //{{{
1344
1350
  'CPEE-Event-Source': myid
1345
1351
  },
1346
1352
  data: model,
1347
- error: report_failure
1353
+ error: report_failure,
1354
+ success: () => {
1355
+ document.dispatchEvent(model_loaded);
1356
+ }
1348
1357
  });
1349
1358
  } //}}}
1350
1359
 
@@ -7,20 +7,6 @@ $(document).ready(function() {
7
7
  clearTimeout(timer);
8
8
  timer = setTimeout(function(){ do_mod_save(e.target) }, 5000);
9
9
  });
10
- $(document).on('change','#modifiers div.additional select',function(e){
11
- clearTimeout(timer);
12
- do_mod_save(e.target);
13
- });
14
- $(document).on('blur','#modifiers div.additional input, #modifiers div.additional textarea, #modifiers div.additional [contenteditable]',function(e){
15
- clearTimeout(timer);
16
- do_mod_save(e.target);
17
- });
18
- $(document).on('keypress','#modifiers div.additional input',function(e){
19
- if (e.keyCode == 13) {
20
- clearTimeout(timer);
21
- do_mod_save(e.target);
22
- }
23
- });
24
10
  $(document).on('keypress','#modifiers div.additional [contenteditable]',function(e){
25
11
  if (e.keyCode == 13) {
26
12
  document.execCommand('insertText', false, '\n');
@@ -35,6 +21,10 @@ $(document).ready(function() {
35
21
  clearTimeout(timer);
36
22
  do_mod_save(e.target);
37
23
  });
24
+ $(document).on('relaxngui_change', '#modifiers div.additional', function(e){
25
+ clearTimeout(timer);
26
+ do_mod_save(e.target);
27
+ });
38
28
  });
39
29
 
40
30
  function do_mod_save(target) {
@@ -46,16 +46,6 @@ $(document).ready(function() {
46
46
  clearTimeout(timer);
47
47
  timer = setTimeout(function(){ do_parameters_save(event); }, 5000);
48
48
  });
49
- $(document).on('blur','#dat_dataelements input, #dat_endpoints input, #dat_attributes input',function(event){
50
- clearTimeout(timer);
51
- do_parameters_save(event);
52
- }); //}}}
53
- $(document).on('keypress','#dat_dataelements input, #dat_endpoints input, #dat_attributes input',function(event){
54
- if (event.keyCode == 13) {
55
- clearTimeout(timer);
56
- do_parameters_save(event);
57
- }
58
- }); //}}}
59
49
  $(document).on('relaxngui_remove', '#dat_dataelements, #dat_endpoints, #dat_attributes', function(event){
60
50
  clearTimeout(timer);
61
51
  do_parameters_save(event);
@@ -64,6 +54,10 @@ $(document).ready(function() {
64
54
  clearTimeout(timer);
65
55
  do_parameters_save(event);
66
56
  });
57
+ $(document).on('relaxngui_change', '#dat_dataelements, #dat_endpoints, #dat_attributes', function(event){
58
+ clearTimeout(timer);
59
+ do_parameters_save(event);
60
+ });
67
61
  });
68
62
 
69
63
  function do_parameters_save(event) { //{{{
@@ -12,10 +12,14 @@
12
12
  </dataelements>
13
13
  <endpoints>
14
14
  <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
15
+ <user>https-post://cpee.org/services/timeout-user.php</user>
16
+ <auto>https-post://cpee.org/services/timeout-auto.php</auto>
15
17
  <timeout>https://cpee.org/services/timeout.php</timeout>
16
18
  <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
17
19
  <subprocess>https://cpee.org/flow/start/url/</subprocess>
18
20
  <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
21
+ <send>https-post://cpee.org/ing/correlators/message/send/</send>
22
+ <receive>https-get://cpee.org/ing/correlators/message/receive/</receive>
19
23
  </endpoints>
20
24
  <attributes>
21
25
  <theme>extended</theme>
@@ -25,10 +29,13 @@
25
29
  <modeltype>CPEE</modeltype>
26
30
  <design_stage>development</design_stage>
27
31
  <guarded>none</guarded>
28
- <design_dir>Templates.dir</design_dir>
32
+ <design_dir>Experiments.dir/Twin Engine.dir</design_dir>
29
33
  <guarded_id/>
30
34
  <model_uuid>a1cbb855-90e3-4d8c-b44b-d3ba7bff9f4e</model_uuid>
31
35
  <model_version/>
36
+ <replay>https://cpee.org/replay/</replay>
37
+ <replay_target>https://cpee.org/replay-data/coopis/1274c1de-286e-4d73-9375-30b363d280fa.xes.yaml</replay_target>
38
+ <replay_instantiate>https://cpee.org/flow/start/url/</replay_instantiate>
32
39
  </attributes>
33
40
  <description>
34
41
  <description xmlns="http://cpee.org/ns/description/1.0">
@@ -3,13 +3,7 @@
3
3
  <executionhandler>ruby</executionhandler>
4
4
  <dataelements/>
5
5
  <endpoints>
6
- <timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
7
- <subprocess>https-post://cpee.org/flow/start/url/</subprocess>
8
6
  <worklist>https-post://cpee.org/worklist/server/</worklist>
9
- <send>https-post://cpee.org/ing/correlators/message/send/</send>
10
- <receive>https-get://cpee.org/ing/correlators/message/receive/</receive>
11
- <user>https-post://cpee.org/services/timeout-user.php</user>
12
- <auto>https-post://cpee.org/services/timeout-auto.php</auto>
13
7
  </endpoints>
14
8
  <attributes>
15
9
  <info>Worklist</info>
@@ -28,9 +22,10 @@
28
22
  <label>OK OR NOT OK</label>
29
23
  <arguments>
30
24
  <orgmodel>https://cpee.org/~demo/orgviz/organisation_informatik.xml</orgmodel>
31
- <domain>VirtualBusiness1</domain>
32
25
  <form>https://cpee.org/~demo/form/form-f.html</form>
33
26
  <role>Assistant</role>
27
+ <priority>42</priority>
28
+ <restrictions/>
34
29
  <data>
35
30
  <schaden>10000</schaden>
36
31
  <text>destroyed</text>
@@ -44,11 +39,15 @@
44
39
  <rescue output="result"/>
45
40
  </code>
46
41
  <annotations>
42
+ <_generic/>
47
43
  <_timing>
48
44
  <_timing_weight/>
49
45
  <_timing_avg/>
50
46
  <explanations/>
51
47
  </_timing>
48
+ <_shifting>
49
+ <_shifting_type>Duration</_shifting_type>
50
+ </_shifting>
52
51
  <_context_data_analysis>
53
52
  <probes/>
54
53
  <ips/>
@@ -98,9 +98,9 @@
98
98
  </element>
99
99
  <element name="extractor_type" rngui:label="Extractor Type">
100
100
  <choice>
101
- <value id='intrinsic'>Intrinsic</value>
102
- <value id='extrinsic'>Extrinsic</value>
103
- <value id='separate'>Separate</value>
101
+ <value rngui:label='Intrinsic'>intrinsic</value>
102
+ <value rngui:label='Extrinsic'>extrinsic</value>
103
+ <value rngui:label='Separate'>separate</value>
104
104
  </choice>
105
105
  </element>
106
106
  <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
@@ -122,9 +122,9 @@
122
122
  </element>
123
123
  <element name="extractor_type" rngui:label="Extractor Type">
124
124
  <choice>
125
- <value id='intrinsic'>Intrinsic</value>
126
- <value id='extrinsic'>Extrinsic</value>
127
- <value id='separate'>Separate</value>
125
+ <value rngui:label='Intrinsic'>intrinsic</value>
126
+ <value rngui:label='Extrinsic'>extrinsic</value>
127
+ <value rngui:label='Separate'>separate</value>
128
128
  </choice>
129
129
  </element>
130
130
  <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
@@ -4,8 +4,8 @@
4
4
  </attribute>
5
5
  <attribute name="cancel" rngui:label="Cancel" rngui:default="last" rngui:hint="Set 'Wait' to 1 for standard Event-based Gateway.">
6
6
  <choice>
7
- <value id='last'>After Last Task in Branch</value>
8
- <value id='first'>After First Task in Branch (Event-Based Gateway)</value>
7
+ <value rngui:label='After Last Task in Branch'>last</value>
8
+ <value rngui:label='After First Task in Branch (Event-Based Gateway)'>first</value>
9
9
  </choice>
10
10
  </attribute>
11
11
  <element rngui:ignore="true" name="parallel_branch">
@@ -29,9 +29,9 @@
29
29
  </element>
30
30
  <element name="extractor_type" rngui:label="Extractor Type">
31
31
  <choice>
32
- <value id='intrinsic'>Intrinsic</value>
33
- <value id='extrinsic'>Extrinsic</value>
34
- <value id='separate'>Separate</value>
32
+ <value rngui:label='Intrinsic'>intrinsic</value>
33
+ <value rngui:label='Extrinsic'>extrinsic</value>
34
+ <value rngui:label='Separate'>separate</value>
35
35
  </choice>
36
36
  </element>
37
37
  <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
@@ -63,6 +63,9 @@ function WFAdaptorManifestation(adaptor) {
63
63
  //{{{ Render the details from rng (right hand side of graph tab)
64
64
  this.update_details = function(svgid){
65
65
  var tab = $('#dat_details');
66
+ var focus_ele = $(':focus',tab);
67
+ var focus_path = focus_ele.attr('data-relaxngui-path');
68
+ var focus_pos = focus_ele.prop('selectionStart');
66
69
  var node = self.adaptor.description.get_node_by_svg_id(svgid).get(0);
67
70
  tab.empty();
68
71
  if (self.adaptor.description.elements[$(node).attr('svg-subtype')]) {
@@ -82,6 +85,13 @@ function WFAdaptorManifestation(adaptor) {
82
85
  nn.removeAttr('svg-subtype');
83
86
  nn.removeAttr('svg-label');
84
87
  save['details'].content(nn);
88
+ if (focus_ele.length > 0) {
89
+ var ele = $('[data-relaxngui-path="' + focus_path + '"]',tab)[0];
90
+ ele.focus();
91
+ if (ele.setSelectionRange) {
92
+ ele.setSelectionRange(focus_pos,focus_pos);
93
+ }
94
+ }
85
95
  format_visual_forms();
86
96
  }
87
97
  }; //}}}
@@ -98,9 +98,9 @@
98
98
  </element>
99
99
  <element name="extractor_type" rngui:label="Extractor Type">
100
100
  <choice>
101
- <value id='intrinsic'>Intrinsic</value>
102
- <value id='extrinsic'>Extrinsic</value>
103
- <value id='separate'>Separate</value>
101
+ <value rngui:label='Intrinsic'>intrinsic</value>
102
+ <value rngui:label='Extrinsic'>extrinsic</value>
103
+ <value rngui:label='Separate'>separate</value>
104
104
  </choice>
105
105
  </element>
106
106
  <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
@@ -122,9 +122,9 @@
122
122
  </element>
123
123
  <element name="extractor_type" rngui:label="Extractor Type">
124
124
  <choice>
125
- <value id='intrinsic'>Intrinsic</value>
126
- <value id='extrinsic'>Extrinsic</value>
127
- <value id='separate'>Separate</value>
125
+ <value rngui:label='Intrinsic'>intrinsic</value>
126
+ <value rngui:label='Extrinsic'>extrinsic</value>
127
+ <value rngui:label='Separate'>separate</value>
128
128
  </choice>
129
129
  </element>
130
130
  <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
@@ -4,8 +4,8 @@
4
4
  </attribute>
5
5
  <attribute name="cancel" rngui:label="Cancel" rngui:default="last" rngui:hint="Set 'Wait' to 1 for standard Event-based Gateway.">
6
6
  <choice>
7
- <value id='last'>After Last Task in Branch</value>
8
- <value id='first'>After First Task in Branch (Event-Based Gateway)</value>
7
+ <value rngui:label='After Last Task in Branch'>last</value>
8
+ <value rngui:label='After First Task in Branch (Event-Based Gateway)'>first</value>
9
9
  </choice>
10
10
  </attribute>
11
11
  <element rngui:ignore="true" name="parallel_branch">
@@ -29,9 +29,9 @@
29
29
  </element>
30
30
  <element name="extractor_type" rngui:label="Extractor Type">
31
31
  <choice>
32
- <value id='intrinsic'>Intrinsic</value>
33
- <value id='extrinsic'>Extrinsic</value>
34
- <value id='separate'>Separate</value>
32
+ <value rngui:label='Intrinsic'>intrinsic</value>
33
+ <value rngui:label='Extrinsic'>extrinsic</value>
34
+ <value rngui:label='Separate'>separate</value>
35
35
  </choice>
36
36
  </element>
37
37
  <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
@@ -63,6 +63,9 @@ function WFAdaptorManifestation(adaptor) {
63
63
  //{{{ Render the details from rng (right hand side of graph tab)
64
64
  this.update_details = function(svgid){
65
65
  var tab = $('#dat_details');
66
+ var focus_ele = $(':focus',tab);
67
+ var focus_path = focus_ele.attr('data-relaxngui-path');
68
+ var focus_pos = focus_ele.prop('selectionStart');
66
69
  var node = self.adaptor.description.get_node_by_svg_id(svgid).get(0);
67
70
  tab.empty();
68
71
  if (self.adaptor.description.elements[$(node).attr('svg-subtype')]) {
@@ -82,6 +85,13 @@ function WFAdaptorManifestation(adaptor) {
82
85
  nn.removeAttr('svg-subtype');
83
86
  nn.removeAttr('svg-label');
84
87
  save['details'].content(nn);
88
+ if (focus_ele.length > 0) {
89
+ var ele = $('[data-relaxngui-path="' + focus_path + '"]',tab)[0];
90
+ ele.focus();
91
+ if (ele.setSelectionRange) {
92
+ ele.setSelectionRange(focus_pos,focus_pos);
93
+ }
94
+ }
85
95
  format_visual_forms();
86
96
  }
87
97
  }; //}}}
@@ -98,9 +98,9 @@
98
98
  </element>
99
99
  <element name="extractor_type" rngui:label="Extractor Type">
100
100
  <choice>
101
- <value id='intrinsic'>Intrinsic</value>
102
- <value id='extrinsic'>Extrinsic</value>
103
- <value id='separate'>Separate</value>
101
+ <value rngui:label='Intrinsic'>intrinsic</value>
102
+ <value rngui:label='Extrinsic'>extrinsic</value>
103
+ <value rngui:label='Separate'>separate</value>
104
104
  </choice>
105
105
  </element>
106
106
  <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
@@ -122,9 +122,9 @@
122
122
  </element>
123
123
  <element name="extractor_type" rngui:label="Extractor Type">
124
124
  <choice>
125
- <value id='intrinsic'>Intrinsic</value>
126
- <value id='extrinsic'>Extrinsic</value>
127
- <value id='separate'>Separate</value>
125
+ <value rngui:label='Intrinsic'>intrinsic</value>
126
+ <value rngui:label='Extrinsic'>extrinsic</value>
127
+ <value rngui:label='Separate'>separate</value>
128
128
  </choice>
129
129
  </element>
130
130
  <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
@@ -4,8 +4,8 @@
4
4
  </attribute>
5
5
  <attribute name="cancel" rngui:label="Cancel" rngui:default="last" rngui:hint="Set 'Wait' to 1 for standard Event-based Gateway.">
6
6
  <choice>
7
- <value id='last'>After Last Task in Branch</value>
8
- <value id='first'>After First Task in Branch (Event-Based Gateway)</value>
7
+ <value rngui:label='After Last Task in Branch'>last</value>
8
+ <value rngui:label='After First Task in Branch (Event-Based Gateway)'>first</value>
9
9
  </choice>
10
10
  </attribute>
11
11
  <element rngui:ignore="true" name="parallel_branch">
@@ -29,9 +29,9 @@
29
29
  </element>
30
30
  <element name="extractor_type" rngui:label="Extractor Type">
31
31
  <choice>
32
- <value id='intrinsic'>Intrinsic</value>
33
- <value id='extrinsic'>Extrinsic</value>
34
- <value id='separate'>Separate</value>
32
+ <value rngui:label='Intrinsic'>intrinsic</value>
33
+ <value rngui:label='Extrinsic'>extrinsic</value>
34
+ <value rngui:label='Separate'>separate</value>
35
35
  </choice>
36
36
  </element>
37
37
  <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
@@ -63,6 +63,9 @@ function WFAdaptorManifestation(adaptor) {
63
63
  //{{{ Render the details from rng (right hand side of graph tab)
64
64
  this.update_details = function(svgid){
65
65
  var tab = $('#dat_details');
66
+ var focus_ele = $(':focus',tab);
67
+ var focus_path = focus_ele.attr('data-relaxngui-path');
68
+ var focus_pos = focus_ele.prop('selectionStart');
66
69
  var node = self.adaptor.description.get_node_by_svg_id(svgid).get(0);
67
70
  tab.empty();
68
71
  if (self.adaptor.description.elements[$(node).attr('svg-subtype')]) {
@@ -82,6 +85,13 @@ function WFAdaptorManifestation(adaptor) {
82
85
  nn.removeAttr('svg-subtype');
83
86
  nn.removeAttr('svg-label');
84
87
  save['details'].content(nn);
88
+ if (focus_ele.length > 0) {
89
+ var ele = $('[data-relaxngui-path="' + focus_path + '"]',tab)[0];
90
+ ele.focus();
91
+ if (ele.setSelectionRange) {
92
+ ele.setSelectionRange(focus_pos,focus_pos);
93
+ }
94
+ }
85
95
  format_visual_forms();
86
96
  }
87
97
  }; //}}}
@@ -344,8 +354,8 @@ function WFAdaptorManifestation(adaptor) {
344
354
 
345
355
  function dataflow_extract(subject,mixed,extract) {
346
356
  let dict = {};
347
- var regassi = /data.([a-zA-Z_]+)\s*(=[^=]|\+\=|\-\=|\*\=|\/\=|<<|>>)/g; // we do not have to check for &gt;/&lt; version of stuff as only conditions are in attributes, and conditions can not contain assignments
348
- var reg_not_assi = /data.([a-zA-Z_]+)\s*/g;
357
+ var regassi = /data\.([a-zA-Z_]+)\s*(=[^=]|\+\=|\-\=|\*\=|\/\=|<<|>>)/g; // we do not have to check for &gt;/&lt; version of stuff as only conditions are in attributes, and conditions can not contain assignments
358
+ var reg_not_assi = /data\.([a-zA-Z_]+)\s*/g;
349
359
 
350
360
  $(subject).each(function(_,ele){
351
361
  let item = extract(ele);
@@ -388,7 +398,7 @@ function WFAdaptorManifestation(adaptor) {
388
398
  var ret = [ { column: 'ID', value: $(node).attr('id') } ];
389
399
 
390
400
  // For Blue Points
391
- let dict1 = dataflow_extract($('arguments > *',$(node).children('parameters')),true,function(target){ return $(target).text(); });
401
+ let dict1 = dataflow_extract($('arguments *',$(node).children('parameters')),true,function(target){ return $(target).text(); });
392
402
  let dict2 = dataflow_extract($(node).children('code').children(),false,function(target){ return $(target).text(); });
393
403
  let dict = {...dict1,...dict2};
394
404
  ret.push({ column: 'Dataflow', value: dict, type: 'resource' });
@@ -98,9 +98,9 @@
98
98
  </element>
99
99
  <element name="extractor_type" rngui:label="Extractor Type">
100
100
  <choice>
101
- <value id='intrinsic'>Intrinsic</value>
102
- <value id='extrinsic'>Extrinsic</value>
103
- <value id='separate'>Separate</value>
101
+ <value rngui:label='Intrinsic'>intrinsic</value>
102
+ <value rngui:label='Extrinsic'>extrinsic</value>
103
+ <value rngui:label='Separate'>separate</value>
104
104
  </choice>
105
105
  </element>
106
106
  <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
@@ -122,9 +122,9 @@
122
122
  </element>
123
123
  <element name="extractor_type" rngui:label="Extractor Type">
124
124
  <choice>
125
- <value id='intrinsic'>Intrinsic</value>
126
- <value id='extrinsic'>Extrinsic</value>
127
- <value id='separate'>Separate</value>
125
+ <value rngui:label='Intrinsic'>intrinsic</value>
126
+ <value rngui:label='Extrinsic'>extrinsic</value>
127
+ <value rngui:label='Separate'>separate</value>
128
128
  </choice>
129
129
  </element>
130
130
  <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
@@ -4,8 +4,8 @@
4
4
  </attribute>
5
5
  <attribute name="cancel" rngui:label="Cancel" rngui:default="last" rngui:hint="Set 'Wait' to 1 for standard Event-based Gateway.">
6
6
  <choice>
7
- <value id='last'>After Last Task in Branch</value>
8
- <value id='first'>After First Task in Branch (Event-Based Gateway)</value>
7
+ <value rngui:label='After Last Task in Branch'>last</value>
8
+ <value rngui:label='After First Task in Branch (Event-Based Gateway)'>first</value>
9
9
  </choice>
10
10
  </attribute>
11
11
  <element rngui:ignore="true" name="parallel_branch">
@@ -29,9 +29,9 @@
29
29
  </element>
30
30
  <element name="extractor_type" rngui:label="Extractor Type">
31
31
  <choice>
32
- <value id='intrinsic'>Intrinsic</value>
33
- <value id='extrinsic'>Extrinsic</value>
34
- <value id='separate'>Separate</value>
32
+ <value rngui:label='Intrinsic'>intrinsic</value>
33
+ <value rngui:label='Extrinsic'>extrinsic</value>
34
+ <value rngui:label='Separate'>separate</value>
35
35
  </choice>
36
36
  </element>
37
37
  <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>