cpee 2.1.51 → 2.1.53

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/css/resources.css +42 -0
  3. data/cockpit/css/ui.css +4 -0
  4. data/cockpit/edit.html +4 -1
  5. data/cockpit/index.html +3 -0
  6. data/cockpit/js/details.js +9 -14
  7. data/cockpit/js/edit.js +3 -0
  8. data/cockpit/js/instance.js +264 -64
  9. data/cockpit/js/modifiers.js +12 -15
  10. data/cockpit/js/parameters.js +4 -10
  11. data/cockpit/js/resources.js +16 -0
  12. data/cockpit/js/wfadaptor.js +3 -3
  13. data/cockpit/templates/Coopis 2010.xml +15 -2
  14. data/cockpit/templates/Worklist.xml +6 -7
  15. data/cockpit/themes/compact/rngs/call.rng +6 -4
  16. data/cockpit/themes/compact/rngs/callmanipulate.rng +6 -4
  17. data/cockpit/themes/compact/rngs/parallel.rng +2 -2
  18. data/cockpit/themes/compact/rngs/start.rng +3 -3
  19. data/cockpit/themes/compact/theme.js +11 -1
  20. data/cockpit/themes/control/rngs/call.rng +6 -4
  21. data/cockpit/themes/control/rngs/callmanipulate.rng +6 -4
  22. data/cockpit/themes/control/rngs/parallel.rng +2 -2
  23. data/cockpit/themes/control/rngs/start.rng +3 -3
  24. data/cockpit/themes/control/theme.js +11 -1
  25. data/cockpit/themes/dataflow/rngs/alternative.rng +25 -0
  26. data/cockpit/themes/dataflow/rngs/call.rng +228 -0
  27. data/cockpit/themes/dataflow/rngs/callmanipulate.rng +257 -0
  28. data/cockpit/themes/dataflow/rngs/choose.rng +14 -0
  29. data/cockpit/themes/dataflow/rngs/closed_loop.rng +62 -0
  30. data/cockpit/themes/dataflow/rngs/closed_loop_cancel.rng +5 -0
  31. data/cockpit/themes/dataflow/rngs/closed_loop_control.rng +31 -0
  32. data/cockpit/themes/dataflow/rngs/closed_loop_measuring.rng +12 -0
  33. data/cockpit/themes/dataflow/rngs/critical.rng +5 -0
  34. data/cockpit/themes/dataflow/rngs/escape.rng +1 -0
  35. data/cockpit/themes/dataflow/rngs/group.rng +3 -0
  36. data/cockpit/themes/dataflow/rngs/loop.rng +22 -0
  37. data/cockpit/themes/dataflow/rngs/manipulate.rng +9 -0
  38. data/cockpit/themes/dataflow/rngs/otherwise.rng +22 -0
  39. data/cockpit/themes/dataflow/rngs/parallel.rng +27 -0
  40. data/cockpit/themes/dataflow/rngs/parallel_branch.rng +2 -0
  41. data/cockpit/themes/dataflow/rngs/scripts.rng +23 -0
  42. data/cockpit/themes/dataflow/rngs/start.rng +121 -0
  43. data/cockpit/themes/dataflow/rngs/stop.rng +5 -0
  44. data/cockpit/themes/dataflow/rngs/terminate.rng +1 -0
  45. data/cockpit/themes/dataflow/symbols/alternative.svg +5 -0
  46. data/cockpit/themes/dataflow/symbols/arrow.svg +3 -0
  47. data/cockpit/themes/dataflow/symbols/call.svg +6 -0
  48. data/cockpit/themes/dataflow/symbols/call_sensor.svg +9 -0
  49. data/cockpit/themes/dataflow/symbols/callmanipulate.svg +8 -0
  50. data/cockpit/themes/dataflow/symbols/callmanipulate_sensor.svg +11 -0
  51. data/cockpit/themes/dataflow/symbols/choose.svg +5 -0
  52. data/cockpit/themes/dataflow/symbols/choose_exclusive.svg +5 -0
  53. data/cockpit/themes/dataflow/symbols/choose_inclusive.svg +4 -0
  54. data/cockpit/themes/dataflow/symbols/closed_loop.svg +5 -0
  55. data/cockpit/themes/dataflow/symbols/closed_loop_cancel.svg +5 -0
  56. data/cockpit/themes/dataflow/symbols/closed_loop_control.svg +5 -0
  57. data/cockpit/themes/dataflow/symbols/closed_loop_measuring.svg +6 -0
  58. data/cockpit/themes/dataflow/symbols/complex.svg +8 -0
  59. data/cockpit/themes/dataflow/symbols/critical.svg +4 -0
  60. data/cockpit/themes/dataflow/symbols/delete.svg +4 -0
  61. data/cockpit/themes/dataflow/symbols/end.svg +3 -0
  62. data/cockpit/themes/dataflow/symbols/escape.svg +5 -0
  63. data/cockpit/themes/dataflow/symbols/event_end.svg +3 -0
  64. data/cockpit/themes/dataflow/symbols/loop.svg +5 -0
  65. data/cockpit/themes/dataflow/symbols/manipulate.svg +4 -0
  66. data/cockpit/themes/dataflow/symbols/otherwise.svg +5 -0
  67. data/cockpit/themes/dataflow/symbols/parallel.svg +5 -0
  68. data/cockpit/themes/dataflow/symbols/parallel_branch.svg +5 -0
  69. data/cockpit/themes/dataflow/symbols/parallel_branch_compact.svg +4 -0
  70. data/cockpit/themes/dataflow/symbols/parallel_branch_event.svg +14 -0
  71. data/cockpit/themes/dataflow/symbols/parallel_branch_normal.svg +5 -0
  72. data/cockpit/themes/dataflow/symbols/parallel_eventbased_exclusive.svg +9 -0
  73. data/cockpit/themes/dataflow/symbols/parallel_eventbased_parallel.svg +8 -0
  74. data/cockpit/themes/dataflow/symbols/scripts.svg +4 -0
  75. data/cockpit/themes/dataflow/symbols/start.svg +3 -0
  76. data/cockpit/themes/dataflow/symbols/start_event.svg +5 -0
  77. data/cockpit/themes/dataflow/symbols/stop.svg +5 -0
  78. data/cockpit/themes/dataflow/symbols/terminate.svg +4 -0
  79. data/cockpit/themes/dataflow/theme.js +1566 -0
  80. data/cockpit/themes/default/rngs/call.rng +6 -4
  81. data/cockpit/themes/default/rngs/callmanipulate.rng +6 -4
  82. data/cockpit/themes/default/rngs/parallel.rng +2 -2
  83. data/cockpit/themes/default/rngs/start.rng +3 -3
  84. data/cockpit/themes/default/theme.js +12 -1
  85. data/cockpit/themes/extended/rngs/call.rng +6 -4
  86. data/cockpit/themes/extended/rngs/callmanipulate.rng +6 -4
  87. data/cockpit/themes/extended/rngs/parallel.rng +2 -2
  88. data/cockpit/themes/extended/rngs/start.rng +3 -3
  89. data/cockpit/themes/extended/theme.js +12 -1
  90. data/cockpit/themes/felix/rngs/alternative.rng +25 -0
  91. data/cockpit/themes/felix/rngs/call.rng +229 -0
  92. data/cockpit/themes/felix/rngs/callmanipulate.rng +259 -0
  93. data/cockpit/themes/felix/rngs/choose.rng +14 -0
  94. data/cockpit/themes/felix/rngs/closed_loop.rng +62 -0
  95. data/cockpit/themes/felix/rngs/closed_loop_cancel.rng +5 -0
  96. data/cockpit/themes/felix/rngs/closed_loop_control.rng +31 -0
  97. data/cockpit/themes/felix/rngs/closed_loop_measuring.rng +12 -0
  98. data/cockpit/themes/felix/rngs/critical.rng +5 -0
  99. data/cockpit/themes/felix/rngs/escape.rng +1 -0
  100. data/cockpit/themes/felix/rngs/group.rng +3 -0
  101. data/cockpit/themes/felix/rngs/loop.rng +22 -0
  102. data/cockpit/themes/felix/rngs/manipulate.rng +20 -0
  103. data/cockpit/themes/felix/rngs/otherwise.rng +22 -0
  104. data/cockpit/themes/felix/rngs/parallel.rng +27 -0
  105. data/cockpit/themes/felix/rngs/parallel_branch.rng +2 -0
  106. data/cockpit/themes/felix/rngs/scripts.rng +23 -0
  107. data/cockpit/themes/felix/rngs/start.rng +121 -0
  108. data/cockpit/themes/felix/rngs/stop.rng +5 -0
  109. data/cockpit/themes/felix/rngs/terminate.rng +1 -0
  110. data/cockpit/themes/felix/symbols/alternative.svg +5 -0
  111. data/cockpit/themes/felix/symbols/arrow.svg +3 -0
  112. data/cockpit/themes/felix/symbols/call.svg +6 -0
  113. data/cockpit/themes/felix/symbols/call_sensor.svg +9 -0
  114. data/cockpit/themes/felix/symbols/callmanipulate.svg +8 -0
  115. data/cockpit/themes/felix/symbols/callmanipulate_sensor.svg +11 -0
  116. data/cockpit/themes/felix/symbols/choose.svg +5 -0
  117. data/cockpit/themes/felix/symbols/choose_exclusive.svg +5 -0
  118. data/cockpit/themes/felix/symbols/choose_inclusive.svg +4 -0
  119. data/cockpit/themes/felix/symbols/closed_loop.svg +5 -0
  120. data/cockpit/themes/felix/symbols/closed_loop_cancel.svg +5 -0
  121. data/cockpit/themes/felix/symbols/closed_loop_control.svg +5 -0
  122. data/cockpit/themes/felix/symbols/closed_loop_measuring.svg +6 -0
  123. data/cockpit/themes/felix/symbols/complex.svg +8 -0
  124. data/cockpit/themes/felix/symbols/critical.svg +4 -0
  125. data/cockpit/themes/felix/symbols/delete.svg +4 -0
  126. data/cockpit/themes/felix/symbols/end.svg +3 -0
  127. data/cockpit/themes/felix/symbols/escape.svg +5 -0
  128. data/cockpit/themes/felix/symbols/event_end.svg +3 -0
  129. data/cockpit/themes/felix/symbols/loop.svg +5 -0
  130. data/cockpit/themes/felix/symbols/manipulate.svg +4 -0
  131. data/cockpit/themes/felix/symbols/otherwise.svg +5 -0
  132. data/cockpit/themes/felix/symbols/parallel.svg +5 -0
  133. data/cockpit/themes/felix/symbols/parallel_branch.svg +5 -0
  134. data/cockpit/themes/felix/symbols/parallel_branch_compact.svg +4 -0
  135. data/cockpit/themes/felix/symbols/parallel_branch_event.svg +14 -0
  136. data/cockpit/themes/felix/symbols/parallel_branch_normal.svg +5 -0
  137. data/cockpit/themes/felix/symbols/parallel_eventbased_exclusive.svg +9 -0
  138. data/cockpit/themes/felix/symbols/parallel_eventbased_parallel.svg +8 -0
  139. data/cockpit/themes/felix/symbols/scripts.svg +4 -0
  140. data/cockpit/themes/felix/symbols/start.svg +3 -0
  141. data/cockpit/themes/felix/symbols/start_event.svg +5 -0
  142. data/cockpit/themes/felix/symbols/stop.svg +5 -0
  143. data/cockpit/themes/felix/symbols/terminate.svg +4 -0
  144. data/cockpit/themes/felix/theme.js +1526 -0
  145. data/cockpit/themes/model/rngs/call.rng +10 -10
  146. data/cockpit/themes/model/rngs/callmanipulate.rng +10 -10
  147. data/cockpit/themes/model/theme.js +11 -1
  148. data/cockpit/themes/packed/rngs/call.rng +6 -4
  149. data/cockpit/themes/packed/rngs/callmanipulate.rng +6 -4
  150. data/cockpit/themes/packed/rngs/parallel.rng +2 -2
  151. data/cockpit/themes/packed/rngs/start.rng +3 -3
  152. data/cockpit/themes/packed/theme.js +11 -1
  153. data/cockpit/themes/preset/rngs/call.rng +6 -4
  154. data/cockpit/themes/preset/rngs/callmanipulate.rng +6 -4
  155. data/cockpit/themes/preset/rngs/parallel.rng +2 -2
  156. data/cockpit/themes/preset/rngs/start.rng +3 -3
  157. data/cockpit/themes/preset/theme.js +12 -1
  158. data/cpee.gemspec +2 -2
  159. data/lib/cpee/implementation.rb +1 -1
  160. data/lib/cpee/implementation_properties.rb +23 -13
  161. data/lib/cpee/message.rb +20 -8
  162. data/lib/cpee/persistence.rb +12 -0
  163. data/lib/properties/state.rng +0 -2
  164. data/lib/properties.xml +1 -2
  165. data/server/executionhandlers/ruby/connection.rb +49 -13
  166. data/server/executionhandlers/ruby/controller.rb +1 -1
  167. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +71 -61
  168. data/server/resources/states.dot +0 -4
  169. data/server/resources/states.xml +0 -6
  170. data/tools/cpee +32 -1
  171. metadata +116 -21
  172. data/cockpit/css/replay.css +0 -55
  173. data/cockpit/js/replay.js +0 -40
  174. data/cockpit/replay.html +0 -53
  175. data/cockpit/themes/compact/symbols/test.svg +0 -74
  176. data/cockpit/themes/control/symbols/test.svg +0 -74
  177. data/cockpit/themes/default/symbols/test.svg +0 -74
  178. data/cockpit/themes/extended/symbols/test.svg +0 -74
  179. data/cockpit/themes/model/symbols/test.svg +0 -74
  180. data/cockpit/themes/packed/symbols/test.svg +0 -74
  181. data/cockpit/themes/preset/symbols/test.svg +0 -74
  182. data/server/executionhandlers/ruby/desc.xml +0 -107
  183. data/server/resources/test.pdf +0 -0
  184. data/server/routing/end.pid +0 -1
  185. data/server/routing/forward-events-00.pid +0 -1
  186. data/server/routing/forward-votes.pid +0 -1
  187. data/server/routing/persist.pid +0 -1
  188. data/server/server.conf +0 -4
@@ -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) {
@@ -61,7 +51,9 @@ async function modifiers_display() {
61
51
  url: rep + 'modifiers/'
62
52
  }).then(async function(res) {
63
53
  let ipromises = [];
54
+ let iinserts = {};
64
55
  $('resource',res).each(function(_,r) {
56
+ iinserts[$(r).text()] = '';
65
57
  ipromises.push(
66
58
  $.ajax({
67
59
  url: rep + 'modifiers/' + $(r).text()
@@ -87,13 +79,18 @@ async function modifiers_display() {
87
79
  );
88
80
 
89
81
  });
90
- $(clone).insertBefore($('#modifiers template'));
82
+ iinserts[$(r).text()] = $(clone);
91
83
 
92
84
  await Promise.all(cpromises);
93
85
  })
94
86
  );
95
87
  });
96
88
  await Promise.all(ipromises);
89
+
90
+ // always insert in order
91
+ for (const [_, fragment] of Object.entries(iinserts)) {
92
+ fragment.insertBefore($('#modifiers template'));
93
+ }
97
94
  })
98
95
  );
99
96
  await Promise.all(promises);
@@ -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) { //{{{
@@ -0,0 +1,16 @@
1
+ $(document).ready(function() {
2
+ $('.resource-label').on('mouseover',()=>{
3
+ $('.resource-label').hide(); // Speech Bubble hide when over
4
+ });
5
+ $('#graphgrid').on('mouseover','#resources line.resource-line, #resources g polygon.resource-point',(data)=>{
6
+ const left = $('.resource-label').offset().left;
7
+ const pos = $(data.target).offset().left - 11;
8
+ if ($('.resource-label').is(":hidden") || left != pos) {
9
+ let labeltext = $('text',data.currentTarget).text();
10
+ $('.resource-label').text(labeltext);
11
+ $('.resource-label').css('left', pos);
12
+ $('.resource-label').css('top', data.originalEvent.clientY - 50);
13
+ $('.resource-label').show();
14
+ }
15
+ });
16
+ });
@@ -48,7 +48,7 @@ function WfAdaptor(theme_base,doit) { // Controller {{{
48
48
  } // }}}
49
49
  this.notify = function() { // public {{{
50
50
  } // }}}
51
- this.draw_labels = function(max,labels,height_shift,striped){ // public {{{
51
+ this.draw_labels = function(max,labels,dimensions,striped){ // public {{{
52
52
  } // }}}
53
53
  this.set_svg_container = function (container) { // {{{
54
54
  illustrator.set_svg_container(container); // TODO: shadowing the container element
@@ -376,9 +376,9 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{
376
376
  }
377
377
  }
378
378
  if (illustrator.compact == false) {
379
- adaptor.draw_labels(graph.max,labels,illustrator.height_shift,illustrator.striped == true ? true : false);
379
+ adaptor.draw_labels(graph.max,labels,{ 'height': illustrator.height, 'height_shift': illustrator.height_shift },illustrator.striped == true ? true : false);
380
380
  } else {
381
- adaptor.draw_labels(graph.max,[],illustrator.height_shift,false);
381
+ adaptor.draw_labels(graph.max,[],{ 'height': illustrator.height, 'height_shift': illustrator.height_shift },false);
382
382
  }
383
383
  if (illustrator.compact == false) {
384
384
  if (labels.length > 0) {
@@ -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">
@@ -134,8 +141,13 @@ data.costs += result.value('costs').to_f</finalize>
134
141
  <manipulate id="a3">data.persons -= 1</manipulate>
135
142
  </loop>
136
143
  </parallel>
137
- <choose mode="inclusive">
144
+ <choose mode="exclusive">
138
145
  <alternative condition="data.costs &gt; 700">
146
+ <_probability>
147
+ <_probability_min/>
148
+ <_probability_max/>
149
+ <_probability_avg/>
150
+ </_probability>
139
151
  <call id="a4" endpoint="approve">
140
152
  <parameters>
141
153
  <label>Approve Hotel</label>
@@ -173,6 +185,7 @@ data.costs += result.value('costs').to_f</finalize>
173
185
  </documentation>
174
186
  </call>
175
187
  </alternative>
188
+ <otherwise/>
176
189
  </choose>
177
190
  </description>
178
191
  </description>
@@ -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/>
@@ -3,7 +3,9 @@
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="endpoint" rngui:label="Endpoint">
6
- <data type="string"/>
6
+ <data type="string">
7
+ <param name="pattern">^[a-z_][a-zA-Z0-9_]*$</param>
8
+ </data>
7
9
  </attribute>
8
10
  <element name="parameters" rngui:header="Properties">
9
11
  <element name="label" rngui:label="Label">
@@ -96,9 +98,9 @@
96
98
  </element>
97
99
  <element name="extractor_type" rngui:label="Extractor Type">
98
100
  <choice>
99
- <value id='intrinsic'>Intrinsic</value>
100
- <value id='extrinsic'>Extrinsic</value>
101
- <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>
102
104
  </choice>
103
105
  </element>
104
106
  <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
@@ -3,7 +3,9 @@
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="endpoint" rngui:label="Endpoint">
6
- <data type="string"/>
6
+ <data type="string">
7
+ <param name="pattern">^[a-z_][a-zA-Z0-9_]*$</param>
8
+ </data>
7
9
  </attribute>
8
10
  <element name="parameters" rngui:header="Properties">
9
11
  <element name="label" rngui:label="Label">
@@ -120,9 +122,9 @@
120
122
  </element>
121
123
  <element name="extractor_type" rngui:label="Extractor Type">
122
124
  <choice>
123
- <value id='intrinsic'>Intrinsic</value>
124
- <value id='extrinsic'>Extrinsic</value>
125
- <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>
126
128
  </choice>
127
129
  </element>
128
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
  }; //}}}
@@ -1443,7 +1453,7 @@ function WFAdaptorManifestation(adaptor) {
1443
1453
  this.elements.parallel_event_one = { /*{{{*/
1444
1454
  'parent': 'parallel_finish',
1445
1455
  'illustrator': {//{{{
1446
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_exclusive.svg'
1456
+ 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1447
1457
  }//}}}
1448
1458
  }; /*}}}*/
1449
1459
  this.elements.parallel_branch_normal = { /*{{{*/
@@ -3,7 +3,9 @@
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="endpoint" rngui:label="Endpoint">
6
- <data type="string"/>
6
+ <data type="string">
7
+ <param name="pattern">^[a-z_][a-zA-Z0-9_]*$</param>
8
+ </data>
7
9
  </attribute>
8
10
  <element name="parameters" rngui:header="Properties">
9
11
  <element name="label" rngui:label="Label">
@@ -96,9 +98,9 @@
96
98
  </element>
97
99
  <element name="extractor_type" rngui:label="Extractor Type">
98
100
  <choice>
99
- <value id='intrinsic'>Intrinsic</value>
100
- <value id='extrinsic'>Extrinsic</value>
101
- <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>
102
104
  </choice>
103
105
  </element>
104
106
  <element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For intrinsic &amp; extrinsic data'>
@@ -3,7 +3,9 @@
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="endpoint" rngui:label="Endpoint">
6
- <data type="string"/>
6
+ <data type="string">
7
+ <param name="pattern">^[a-z_][a-zA-Z0-9_]*$</param>
8
+ </data>
7
9
  </attribute>
8
10
  <element name="parameters" rngui:header="Properties">
9
11
  <element name="label" rngui:label="Label">
@@ -120,9 +122,9 @@
120
122
  </element>
121
123
  <element name="extractor_type" rngui:label="Extractor Type">
122
124
  <choice>
123
- <value id='intrinsic'>Intrinsic</value>
124
- <value id='extrinsic'>Extrinsic</value>
125
- <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>
126
128
  </choice>
127
129
  </element>
128
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
  }; //}}}
@@ -1772,7 +1782,7 @@ function WFAdaptorManifestation(adaptor) {
1772
1782
  this.elements.parallel_event_one = { /*{{{*/
1773
1783
  'parent': 'parallel_finish',
1774
1784
  'illustrator': {//{{{
1775
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_exclusive.svg'
1785
+ 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1776
1786
  }//}}}
1777
1787
  }; /*}}}*/
1778
1788
  this.elements.parallel_branch_normal = { /*{{{*/
@@ -0,0 +1,25 @@
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="alternative" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="condition" rngui:label="Condition">
3
+ <data type="string" rngui:label="Condition"/>
4
+ </attribute>
5
+ <element name="_probability" rngui:mark="true" rngui:header="Execution Probability">
6
+ <element name="_probability_min" rngui:label="Min in %">
7
+ <data type="integer" rngui:label="Percent 0-100">
8
+ <param name="minInclusive">1</param>
9
+ <param name="maxInclusive">100</param>
10
+ </data>
11
+ </element>
12
+ <element name="_probability_max" rngui:label="Max in %">
13
+ <data type="integer" rngui:label="Percent 0-100">
14
+ <param name="minInclusive">1</param>
15
+ <param name="maxInclusive">100</param>
16
+ </data>
17
+ </element>
18
+ <element name="_probability_avg" rngui:label="Avg in %">
19
+ <data type="integer" rngui:label="Percent 0-100">
20
+ <param name="minInclusive">1</param>
21
+ <param name="maxInclusive">100</param>
22
+ </data>
23
+ </element>
24
+ </element>
25
+ </element>