cpee 2.1.104 → 2.1.108

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 (148) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/js/wfadaptor.js +8 -8
  3. data/cockpit/themes/base.js +2 -2
  4. data/cockpit/themes/control/rngs/alternative.rng +4 -1
  5. data/cockpit/themes/control/rngs/call.rng +1 -1
  6. data/cockpit/themes/control/rngs/callmanipulate.rng +1 -1
  7. data/cockpit/themes/control/rngs/choose.rng +3 -0
  8. data/cockpit/themes/control/rngs/critical.rng +4 -1
  9. data/cockpit/themes/control/rngs/escape.rng +5 -1
  10. data/cockpit/themes/control/rngs/loop.rng +3 -0
  11. data/cockpit/themes/control/rngs/manipulate.rng +1 -1
  12. data/cockpit/themes/control/rngs/otherwise.rng +4 -1
  13. data/cockpit/themes/control/rngs/parallel.rng +3 -0
  14. data/cockpit/themes/control/rngs/parallel_branch.rng +3 -0
  15. data/cockpit/themes/control/rngs/stop.rng +2 -2
  16. data/cockpit/themes/control/rngs/terminate.rng +5 -1
  17. data/cockpit/themes/control/rngs/wait_for_signal.rng +1 -1
  18. data/cockpit/themes/dataflow/rngs/alternative.rng +4 -1
  19. data/cockpit/themes/dataflow/rngs/call.rng +1 -1
  20. data/cockpit/themes/dataflow/rngs/callmanipulate.rng +1 -1
  21. data/cockpit/themes/dataflow/rngs/choose.rng +3 -0
  22. data/cockpit/themes/dataflow/rngs/critical.rng +4 -1
  23. data/cockpit/themes/dataflow/rngs/escape.rng +5 -1
  24. data/cockpit/themes/dataflow/rngs/loop.rng +3 -0
  25. data/cockpit/themes/dataflow/rngs/manipulate.rng +1 -1
  26. data/cockpit/themes/dataflow/rngs/otherwise.rng +4 -1
  27. data/cockpit/themes/dataflow/rngs/parallel.rng +3 -0
  28. data/cockpit/themes/dataflow/rngs/parallel_branch.rng +3 -0
  29. data/cockpit/themes/dataflow/rngs/stop.rng +2 -2
  30. data/cockpit/themes/dataflow/rngs/terminate.rng +5 -1
  31. data/cockpit/themes/dataflow/rngs/wait_for_signal.rng +1 -1
  32. data/cockpit/themes/default/rngs/alternative.rng +4 -1
  33. data/cockpit/themes/default/rngs/call.rng +1 -1
  34. data/cockpit/themes/default/rngs/callmanipulate.rng +1 -1
  35. data/cockpit/themes/default/rngs/choose.rng +3 -0
  36. data/cockpit/themes/default/rngs/critical.rng +4 -1
  37. data/cockpit/themes/default/rngs/escape.rng +5 -1
  38. data/cockpit/themes/default/rngs/loop.rng +3 -0
  39. data/cockpit/themes/default/rngs/manipulate.rng +1 -1
  40. data/cockpit/themes/default/rngs/otherwise.rng +4 -1
  41. data/cockpit/themes/default/rngs/parallel.rng +3 -0
  42. data/cockpit/themes/default/rngs/parallel_branch.rng +3 -0
  43. data/cockpit/themes/default/rngs/stop.rng +2 -2
  44. data/cockpit/themes/default/rngs/terminate.rng +5 -1
  45. data/cockpit/themes/default/rngs/wait_for_signal.rng +1 -1
  46. data/cockpit/themes/extended/rngs/alternative.rng +4 -1
  47. data/cockpit/themes/extended/rngs/call.rng +1 -1
  48. data/cockpit/themes/extended/rngs/callmanipulate.rng +1 -1
  49. data/cockpit/themes/extended/rngs/choose.rng +3 -0
  50. data/cockpit/themes/extended/rngs/critical.rng +4 -1
  51. data/cockpit/themes/extended/rngs/escape.rng +5 -1
  52. data/cockpit/themes/extended/rngs/loop.rng +3 -0
  53. data/cockpit/themes/extended/rngs/manipulate.rng +1 -1
  54. data/cockpit/themes/extended/rngs/otherwise.rng +4 -1
  55. data/cockpit/themes/extended/rngs/parallel.rng +3 -0
  56. data/cockpit/themes/extended/rngs/parallel_branch.rng +3 -0
  57. data/cockpit/themes/extended/rngs/stop.rng +2 -2
  58. data/cockpit/themes/extended/rngs/terminate.rng +5 -1
  59. data/cockpit/themes/extended/rngs/wait_for_signal.rng +1 -1
  60. data/cockpit/themes/felix/rngs/call.rng +1 -1
  61. data/cockpit/themes/felix/rngs/callmanipulate.rng +1 -1
  62. data/cockpit/themes/felix/rngs/manipulate.rng +1 -1
  63. data/cockpit/themes/felix/rngs/stop.rng +2 -2
  64. data/cockpit/themes/model/rngs/call.rng +1 -1
  65. data/cockpit/themes/model/rngs/callmanipulate.rng +1 -1
  66. data/cockpit/themes/packed/rngs/alternative.rng +4 -1
  67. data/cockpit/themes/packed/rngs/call.rng +1 -1
  68. data/cockpit/themes/packed/rngs/callmanipulate.rng +1 -1
  69. data/cockpit/themes/packed/rngs/choose.rng +3 -0
  70. data/cockpit/themes/packed/rngs/critical.rng +4 -1
  71. data/cockpit/themes/packed/rngs/escape.rng +5 -1
  72. data/cockpit/themes/packed/rngs/loop.rng +3 -0
  73. data/cockpit/themes/packed/rngs/manipulate.rng +1 -1
  74. data/cockpit/themes/packed/rngs/otherwise.rng +4 -1
  75. data/cockpit/themes/packed/rngs/parallel.rng +3 -0
  76. data/cockpit/themes/packed/rngs/parallel_branch.rng +3 -0
  77. data/cockpit/themes/packed/rngs/stop.rng +2 -2
  78. data/cockpit/themes/packed/rngs/terminate.rng +5 -1
  79. data/cockpit/themes/packed/rngs/wait_for_signal.rng +1 -1
  80. data/cockpit/themes/preset/rngs/alternative.rng +4 -1
  81. data/cockpit/themes/preset/rngs/call.rng +1 -1
  82. data/cockpit/themes/preset/rngs/callmanipulate.rng +1 -1
  83. data/cockpit/themes/preset/rngs/choose.rng +3 -0
  84. data/cockpit/themes/preset/rngs/critical.rng +4 -1
  85. data/cockpit/themes/preset/rngs/escape.rng +5 -1
  86. data/cockpit/themes/preset/rngs/loop.rng +3 -0
  87. data/cockpit/themes/preset/rngs/manipulate.rng +1 -1
  88. data/cockpit/themes/preset/rngs/otherwise.rng +4 -1
  89. data/cockpit/themes/preset/rngs/parallel.rng +3 -0
  90. data/cockpit/themes/preset/rngs/parallel_branch.rng +3 -0
  91. data/cockpit/themes/preset/rngs/stop.rng +2 -2
  92. data/cockpit/themes/preset/rngs/terminate.rng +5 -1
  93. data/cockpit/themes/preset/rngs/wait_for_signal.rng +1 -1
  94. data/cockpit/themes/presetaltid/rngs/alternative.rng +4 -1
  95. data/cockpit/themes/presetaltid/rngs/call.rng +1 -1
  96. data/cockpit/themes/presetaltid/rngs/callmanipulate.rng +1 -1
  97. data/cockpit/themes/presetaltid/rngs/choose.rng +3 -0
  98. data/cockpit/themes/presetaltid/rngs/critical.rng +4 -1
  99. data/cockpit/themes/presetaltid/rngs/escape.rng +5 -1
  100. data/cockpit/themes/presetaltid/rngs/loop.rng +3 -0
  101. data/cockpit/themes/presetaltid/rngs/manipulate.rng +1 -1
  102. data/cockpit/themes/presetaltid/rngs/otherwise.rng +4 -1
  103. data/cockpit/themes/presetaltid/rngs/parallel.rng +3 -0
  104. data/cockpit/themes/presetaltid/rngs/parallel_branch.rng +3 -0
  105. data/cockpit/themes/presetaltid/rngs/stop.rng +2 -2
  106. data/cockpit/themes/presetaltid/rngs/terminate.rng +5 -1
  107. data/cockpit/themes/presetaltid/rngs/wait_for_signal.rng +1 -1
  108. data/cockpit/themes/presetid/rngs/alternative.rng +4 -1
  109. data/cockpit/themes/presetid/rngs/call.rng +1 -1
  110. data/cockpit/themes/presetid/rngs/callmanipulate.rng +1 -1
  111. data/cockpit/themes/presetid/rngs/choose.rng +3 -0
  112. data/cockpit/themes/presetid/rngs/critical.rng +4 -1
  113. data/cockpit/themes/presetid/rngs/escape.rng +5 -1
  114. data/cockpit/themes/presetid/rngs/loop.rng +3 -0
  115. data/cockpit/themes/presetid/rngs/manipulate.rng +1 -1
  116. data/cockpit/themes/presetid/rngs/otherwise.rng +4 -1
  117. data/cockpit/themes/presetid/rngs/parallel.rng +3 -0
  118. data/cockpit/themes/presetid/rngs/parallel_branch.rng +3 -0
  119. data/cockpit/themes/presetid/rngs/stop.rng +2 -2
  120. data/cockpit/themes/presetid/rngs/terminate.rng +5 -1
  121. data/cockpit/themes/presetid/rngs/wait_for_signal.rng +1 -1
  122. data/cockpit/themes/reduced/rngs/alternative.rng +4 -1
  123. data/cockpit/themes/reduced/rngs/call.rng +1 -1
  124. data/cockpit/themes/reduced/rngs/callmanipulate.rng +1 -1
  125. data/cockpit/themes/reduced/rngs/choose.rng +3 -0
  126. data/cockpit/themes/reduced/rngs/critical.rng +4 -1
  127. data/cockpit/themes/reduced/rngs/escape.rng +5 -1
  128. data/cockpit/themes/reduced/rngs/loop.rng +3 -0
  129. data/cockpit/themes/reduced/rngs/manipulate.rng +1 -1
  130. data/cockpit/themes/reduced/rngs/otherwise.rng +4 -1
  131. data/cockpit/themes/reduced/rngs/parallel.rng +3 -0
  132. data/cockpit/themes/reduced/rngs/parallel_branch.rng +3 -0
  133. data/cockpit/themes/reduced/rngs/stop.rng +2 -2
  134. data/cockpit/themes/reduced/rngs/terminate.rng +5 -1
  135. data/cockpit/themes/reduced/rngs/wait_for_signal.rng +1 -1
  136. data/cpee.gemspec +5 -3
  137. data/server/executionhandlers/eval/backend/run.rb +10 -14
  138. data/server/executionhandlers/eval/connection.rb +23 -26
  139. data/server/executionhandlers/eval/dsl_to_dslx.xsl +134 -16
  140. data/server/executionhandlers/eval/execution.rb +51 -15
  141. data/server/executionhandlers/ruby/connection.rb +21 -21
  142. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +135 -31
  143. data/server/executionhandlers/ruby/execution.rb +31 -14
  144. data/server/routing/end.pid +1 -1
  145. data/server/routing/forward-events-00.pid +1 -1
  146. data/server/routing/forward-votes.pid +1 -1
  147. data/server/routing/persist.pid +1 -1
  148. metadata +33 -5
@@ -1,5 +1,5 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="manipulate" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
- <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id()">
2
+ <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id('a','id')">
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="label" rngui:label="Label">
@@ -1,4 +1,7 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="otherwise" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
2
5
  <element name="_probability" rngui:mark="true" rngui:header="Execution Probability">
3
6
  <element name="_probability_min" rngui:label="Min in %">
4
7
  <data type="integer" rngui:label="Percent 0-100">
@@ -19,4 +22,4 @@
19
22
  </data>
20
23
  </element>
21
24
  </element>
22
- </element>
25
+ </element>
@@ -1,4 +1,7 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="parallel" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
2
5
  <attribute name="wait" rngui:label="Wait" rngui:default="-1" rngui:hint="-1 to wait for all branches.">
3
6
  <data type="integer"/>
4
7
  </attribute>
@@ -1,2 +1,5 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="parallel_branch" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
2
5
  </element>
@@ -1,5 +1,5 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="stop" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
- <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id()">
2
+ <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id('a','id')">
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
- </element>
5
+ </element>
@@ -1 +1,5 @@
1
- <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="terminate" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0"/>
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="terminate" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
5
+ </element>
@@ -1,5 +1,5 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="wait_for_signal" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
- <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id()">
2
+ <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id('a','id')">
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <element name="label" rngui:label="Label">
@@ -1,4 +1,7 @@
1
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="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
2
5
  <attribute name="condition" rngui:label="Condition">
3
6
  <data type="string" rngui:label="Condition"/>
4
7
  </attribute>
@@ -22,4 +25,4 @@
22
25
  </data>
23
26
  </element>
24
27
  </element>
25
- </element>
28
+ </element>
@@ -1,5 +1,5 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" ns="http://cpee.org/ns/description/1.0" name="call" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2
- <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id()">
2
+ <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id('a','id')">
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="endpoint" rngui:label="Endpoint">
@@ -1,5 +1,5 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" ns="http://cpee.org/ns/description/1.0" name="call" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2
- <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id()">
2
+ <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id('a','id')">
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="endpoint" rngui:label="Endpoint">
@@ -1,4 +1,7 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="choose" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
2
5
  <attribute name="mode" rngui:label="Mode" rngui:default="exclusive">
3
6
  <choice>
4
7
  <value>exclusive</value>
@@ -1,5 +1,8 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="critical" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
2
5
  <attribute name="sid" rngui:label="SID" rngui:default="section" rngui:hint="Identical SID's shared by between differnt 'critical' elements define mutual exclusive areas.">
3
6
  <data type="string"/>
4
7
  </attribute>
5
- </element>
8
+ </element>
@@ -1 +1,5 @@
1
- <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="escape" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0"/>
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="escape" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
5
+ </element>
@@ -1,4 +1,7 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="loop" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
2
5
  <attribute name="mode" rngui:label="Mode" rngui:default="pre_test">
3
6
  <choice>
4
7
  <value>pre_test</value>
@@ -1,5 +1,5 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="manipulate" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
- <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id()">
2
+ <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id('a','id')">
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="label" rngui:label="Label">
@@ -1,4 +1,7 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="otherwise" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
2
5
  <element name="_probability" rngui:mark="true" rngui:header="Execution Probability">
3
6
  <element name="_probability_min" rngui:label="Min in %">
4
7
  <data type="integer" rngui:label="Percent 0-100">
@@ -19,4 +22,4 @@
19
22
  </data>
20
23
  </element>
21
24
  </element>
22
- </element>
25
+ </element>
@@ -1,4 +1,7 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="parallel" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
2
5
  <attribute name="wait" rngui:label="Wait" rngui:default="-1" rngui:hint="-1 to wait for all branches.">
3
6
  <data type="integer"/>
4
7
  </attribute>
@@ -1,2 +1,5 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="parallel_branch" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
2
5
  </element>
@@ -1,5 +1,5 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="stop" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
- <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id()">
2
+ <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id('a','id')">
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
- </element>
5
+ </element>
@@ -1 +1,5 @@
1
- <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="terminate" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0"/>
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="terminate" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
5
+ </element>
@@ -1,5 +1,5 @@
1
1
  <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="wait_for_signal" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
- <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id()">
2
+ <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id('a','id')">
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <element name="label" rngui:label="Label">
data/cpee.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cpee"
3
- s.version = "2.1.104"
3
+ s.version = "2.1.108"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0-or-later"
6
6
  s.summary = "The cloud process execution engine (cpee.org). If you just need workflow execution, without a rest service exposing it, then use WEEL."
@@ -22,9 +22,11 @@ Gem::Specification.new do |s|
22
22
  s.homepage = 'http://cpee.org/'
23
23
 
24
24
  s.add_runtime_dependency 'riddl', '~> 1.0'
25
- s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.146'
25
+ s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.148'
26
26
  s.add_runtime_dependency 'highline', '~> 2.0'
27
- s.add_runtime_dependency 'redis', '~> 5.0'
27
+ s.add_runtime_dependency 'redis', '~> 5.4'
28
+ s.add_runtime_dependency 'net-ssh', '~> 7.3'
29
+ s.add_runtime_dependency 'net-scp', '~> 4.1'
28
30
  s.add_runtime_dependency 'rubyzip', '~>2'
29
31
  s.add_runtime_dependency 'charlock_holmes', '~>0'
30
32
  s.add_runtime_dependency 'mimemagic', '~>0'
@@ -1,22 +1,18 @@
1
+ require 'cpee/constants'
1
2
  require 'yaml'
2
3
  opts = YAML::load_file(File.join(__dir__,'opts.yaml'))
3
4
  opts[:pidf] = __FILE__ + '.pid'
4
5
  opts[:pid] = Process.pid
5
6
 
6
- global_controller = File.join(opts[:global_executionhandlers],opts[:executionhandler],'controller.rb')
7
- controller = File.join(opts[:executionhandlers], opts[:executionhandler],'controller.rb')
8
- if File.exist? global_controller
9
- require global_controller
10
- elsif File.exist? controller
11
- require controller
12
- end
13
-
14
- global_connectionhandler = File.join(opts[:global_executionhandlers],opts[:executionhandler],'connection.rb')
15
- connectionhandler = File.join(opts[:executionhandlers], opts[:executionhandler],'connection.rb')
16
- if File.exist? global_connectionhandler
17
- require global_connectionhandler
18
- elsif File.exist? connectionhandler
19
- require connectionhandler
7
+ opts[:global_executionhandlers] = CPEE::GLOBAL_EXECUTIONHANDLERS unless opts[:global_executionhandlers]
8
+ ['controller.rb','connection.rb'].each do |f|
9
+ global_thing = File.join(opts[:global_executionhandlers],opts[:executionhandler],f)
10
+ thing = File.join(opts[:executionhandlers], opts[:executionhandler],f)
11
+ if File.exist? global_thing
12
+ require global_thing
13
+ elsif File.exist? thing
14
+ require thing
15
+ end
20
16
  end
21
17
 
22
18
  require_relative 'instance'
@@ -15,7 +15,6 @@
15
15
  require 'charlock_holmes'
16
16
  require 'mimemagic'
17
17
  require 'base64'
18
- require 'get_process_mem'
19
18
  require 'cpee-eval-ruby/translation'
20
19
 
21
20
  class ConnectionWrapper < WEEL::ConnectionWrapperBase
@@ -61,7 +60,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
61
60
  end # }}}
62
61
  def self::inform_activity_minimal(arguments,what,uuid,label,position) # {{{
63
62
  controller = arguments[0]
64
- controller.notify("activity/#{what}", :ecid => Thread.current.__id__, :'activity-uuid' => uuid, :label => label, :activity => position)
63
+ controller.notify("activity/#{what}", :'activity-uuid' => uuid, :label => label, :activity => position)
65
64
  end # }}}
66
65
 
67
66
  def initialize(arguments,position=nil,continue=nil) # {{{
@@ -202,10 +201,10 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
202
201
  callback result, headers
203
202
  elsif headers['CPEE_CALLBACK'] && headers['CPEE_CALLBACK'] == 'true' && result.empty?
204
203
  if headers['CPEE_INSTANTIATION']
205
- @controller.notify("task/instantiation", :ecid => Thread.current.__id__, :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => CPEE::ValueHelper.parse(headers['CPEE_INSTANTIATION']))
204
+ @controller.notify("task/instantiation", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => CPEE::ValueHelper.parse(headers['CPEE_INSTANTIATION']))
206
205
  end
207
206
  if headers['CPEE_EVENT']
208
- @controller.notify("task/#{headers['CPEE_EVENT'].gsub(/[^\w_-]/,'')}", :ecid => Thread.current.__id__, :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint)
207
+ @controller.notify("task/#{headers['CPEE_EVENT'].gsub(/[^\w_-]/,'')}", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint)
209
208
  end
210
209
  # do nothing, later on things will happend
211
210
  else
@@ -218,9 +217,8 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
218
217
  raise "Wrong endpoint" if @handler_endpoint.nil? || @handler_endpoint.empty?
219
218
  @label = parameters[:label]
220
219
  @anno = parameters.delete(:annotations) rescue nil
221
- @controller.notify("status/resource_utilization", :mib => GetProcessMem.new.mb, **Process.times.to_h)
222
- @controller.notify("activity/calling", :ecid => Thread.current.__id__, :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters)
223
- @controller.notify("activity/annotation", :ecid => Thread.current.__id__, :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :annotations => @anno)
220
+ @controller.notify("activity/calling", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters)
221
+ @controller.notify("activity/annotation", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :annotations => @anno)
224
222
  if passthrough.to_s.empty?
225
223
  proto_curl parameters
226
224
  else
@@ -231,7 +229,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
231
229
  def activity_manipulate_handle(parameters) #{{{
232
230
  @label = parameters[:label]
233
231
  @anno = parameters.delete(:annotations) rescue nil
234
- @controller.notify("activity/annotation", :ecid => Thread.current.__id__, :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :annotations => @anno)
232
+ @controller.notify("activity/annotation", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :annotations => @anno)
235
233
  end #}}}
236
234
 
237
235
  def activity_stop # {{{
@@ -252,18 +250,17 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
252
250
  end #}}}
253
251
 
254
252
  def inform_activity_done # {{{
255
- @controller.notify("activity/done", :ecid => Thread.current.__id__, :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position)
256
- @controller.notify("status/resource_utilization", :mib => GetProcessMem.new.mb, **Process.times.to_h)
253
+ @controller.notify("activity/done", :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position)
257
254
  end # }}}
258
255
  def inform_activity_manipulate # {{{
259
- @controller.notify("activity/manipulating", :ecid => Thread.current.__id__, :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position)
256
+ @controller.notify("activity/manipulating", :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position)
260
257
  end # }}}
261
258
  def inform_activity_failed(err) # {{{
262
- @controller.notify("activity/failed", :ecid => Thread.current.__id__, :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position, :message => err.backtrace[0].match(/(.*?):(\d+):\s(.*)/)[3], :line => err.backtrace[0].match(/(.*?):(\d+):/)[2], :where => err.backtrace[0].match(/(.*?):(\d+):/)[1])
259
+ @controller.notify("activity/failed", :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position, :message => err.backtrace[0].match(/(.*?):(\d+):\s(.*)/)[3], :line => err.backtrace[0].match(/(.*?):(\d+):/)[2], :where => err.backtrace[0].match(/(.*?):(\d+):/)[1])
263
260
  end # }}}
264
261
  def inform_manipulate_change(status,changed_dataelements,changed_endpoints,dataelements,endpoints) # {{{
265
262
  unless status.nil?
266
- @controller.notify("status/change", :ecid => Thread.current.__id__, :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position, :data => { :id => status.id, :message => status.message } )
263
+ @controller.notify("status/change", :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position, :data => { :id => status.id, :message => status.message } )
267
264
  end
268
265
  unless changed_dataelements.nil? || changed_dataelements.empty?
269
266
  de = dataelements.slice(*changed_dataelements).transform_values { |v| enc = CPEE::EvalRuby::Translation::detect_encoding(v); (enc == 'OTHER' ? v : (v.encode('UTF-8',enc) rescue CPEE::EvalRuby::Translation::convert_to_base64(v))) }
@@ -283,18 +280,18 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
283
280
 
284
281
  def callback(result=nil,options={}) #{{{
285
282
  recv = CPEE::EvalRuby::Translation::structurize_result(result)
286
- @controller.notify("activity/receiving", :ecid => Thread.current.__id__, :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => recv)
283
+ @controller.notify("activity/receiving", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => recv)
287
284
 
288
285
  @guard_files += result
289
286
 
290
287
  if options['CPEE_INSTANTIATION']
291
- @controller.notify("task/instantiation", :ecid => Thread.current.__id__, :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => CPEE::ValueHelper.parse(options['CPEE_INSTANTIATION']))
288
+ @controller.notify("task/instantiation", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => CPEE::ValueHelper.parse(options['CPEE_INSTANTIATION']))
292
289
  end
293
290
  if options['CPEE_EVENT']
294
- @controller.notify("task/#{options['CPEE_EVENT'].gsub(/[^\w_-]/,'')}", :ecid => Thread.current.__id__, :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => recv)
291
+ @controller.notify("task/#{options['CPEE_EVENT'].gsub(/[^\w_-]/,'')}", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => recv)
295
292
  end
296
293
  if options['CPEE_STATUS']
297
- @controller.notify("activity/status", :ecid => Thread.current.__id__, :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :status => options['CPEE_STATUS'])
294
+ @controller.notify("activity/status", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :status => options['CPEE_STATUS'])
298
295
  end
299
296
 
300
297
  if options['CPEE_STATUS'] || options['CPEE_EVENT']
@@ -339,9 +336,9 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
339
336
  WEEL::ReadStructure.new(__dataelements,__endpoints,__local,__additional)
340
337
  end
341
338
  @handler_endpoint = __exec_endpoints.is_a?(Array) ? __exec_endpoints.map{ |ep| __struct.endpoints[ep] }.compact : __struct.endpoints[__exec_endpoints]
342
- if @controller.attributes['twin_engine']
339
+ if @controller.attributes['sim_engine']
343
340
  @handler_endpoint_orig = @handler_endpoint
344
- @handler_endpoint = @controller.attributes['twin_engine'].to_s + '?original_endpoint=' + Riddl::Protocols::Utils::escape(@handler_endpoint)
341
+ @handler_endpoint = @controller.attributes['sim_engine'].to_s + '?original_endpoint=' + Riddl::Protocols::Utils::escape(@handler_endpoint)
345
342
  end
346
343
  __params = __exec_parameters.dup
347
344
  __params[:arguments] = __params[:arguments].dup if __params[:arguments]
@@ -354,11 +351,11 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
354
351
  end
355
352
  __params
356
353
  end #}}}
357
- def test_condition(__dataelements,__endpoints,__local,__additional,__code,__args={}) #{{{
354
+ def test_condition(__eid,__dataelements,__endpoints,__local,__additional,__code,__args={}) #{{{
358
355
  __struct = WEEL::ReadStructure.new(__dataelements,__endpoints,__local,__additional).instance_eval(__code,'Condition',1)
359
356
 
360
- @controller.notify("gateway/decide", :ecid => Thread.current.__id__, :instance_uuid => @controller.uuid, :code => __code, :condition => (__struct ? "true" : "false"))
361
- @controller.notify("gateway/annotation", :ecid => Thread.current.__id__, :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :annotations => {})
357
+ @controller.notify("gateway/decide", :eid => __eid, :instance_uuid => @controller.uuid, :code => __code, :condition => (__struct ? "true" : "false"))
358
+ @controller.notify("gateway/annotation", :eid => __eid, :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :annotations => {})
362
359
  __struct
363
360
  end #}}}
364
361
  def manipulate(__readonly,__lock,__dataelements,__endpoints,__status,__local,__additional,__code,__where,__result=nil,__options=nil) #{{{
@@ -372,13 +369,13 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
372
369
  __struct
373
370
  end #}}}
374
371
 
375
- def split_branches(id, branches = []) # factual, so for inclusive or [[a],[b],[c,d,e]] {{{
376
- payload = { :instance_uuid => @controller.uuid, :ecid => id.to_s }
372
+ def split_branches(eid, branches = []) # factual, so for inclusive or [[a],[b],[c,d,e]] {{{
373
+ payload = { :instance_uuid => @controller.uuid, :eid => eid.to_s }
377
374
  payload[:branches] = branches.length if branches.length > 0
378
375
  @controller.notify("gateway/split", payload )
379
376
  end #}}}
380
- def join_branches(id, branches = []) # factual, so for inclusive or [[a],[b],[c,d,e]] {{{
381
- payload = { :instance_uuid => @controller.uuid, :ecid => id.to_s }
377
+ def join_branches(eid, branches = []) # factual, so for inclusive or [[a],[b],[c,d,e]] {{{
378
+ payload = { :instance_uuid => @controller.uuid, :eid => eid.to_s }
382
379
  payload[:branches] = branches if branches.length > 0
383
380
  payload[:branches_length] = branches.length if branches.length > 0
384
381
  @controller.notify("gateway/join", payload )