cpee 2.1.52 → 2.1.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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'>