cpee 2.1.106 → 2.1.109

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 (145) 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/connection.rb +44 -27
  138. data/server/executionhandlers/eval/dsl_to_dslx.xsl +134 -16
  139. data/server/executionhandlers/ruby/connection.rb +21 -21
  140. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +135 -31
  141. data/server/routing/end.pid +1 -1
  142. data/server/routing/forward-events-00.pid +1 -1
  143. data/server/routing/forward-votes.pid +1 -1
  144. data/server/routing/persist.pid +1 -1
  145. 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.106"
3
+ s.version = "2.1.109"
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'
@@ -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']
@@ -332,6 +329,24 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
332
329
  GC.start
333
330
  end #}}}
334
331
 
332
+ def argument_transform_value(obj, struct)
333
+ return nil unless obj.is_a?(Array) || obj.is_a?(Hash) || obj.is_a?(WEEL::ProcString)
334
+ case obj
335
+ when Hash
336
+ obj.each { |k, v| ret = argument_transform_value(v, struct); obj[k] = ret unless ret.nil? }
337
+ nil
338
+ when Array
339
+ obj.each_with_index { |v,i| ret = argument_transform_value(v, struct); obj[i] = ret unless ret.nil? }
340
+ nil
341
+ when WEEL::ProcString
342
+ argument_eval obj.code, struct
343
+ end
344
+ end
345
+
346
+ def argument_eval(__code,__struct)
347
+ __struct.instance_eval __code, 'Parameter', 1
348
+ end
349
+
335
350
  def prepare(__lock,__dataelements,__endpoints,__status,__local,__additional,__code,__exec_endpoints,__exec_parameters) #{{{
336
351
  __struct = if __code
337
352
  manipulate(true,__lock,__dataelements,__endpoints,__status,__local,__additional,__code,'Parameter')
@@ -339,26 +354,28 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
339
354
  WEEL::ReadStructure.new(__dataelements,__endpoints,__local,__additional)
340
355
  end
341
356
  @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']
357
+ if @controller.attributes['sim_engine']
343
358
  @handler_endpoint_orig = @handler_endpoint
344
- @handler_endpoint = @controller.attributes['twin_engine'].to_s + '?original_endpoint=' + Riddl::Protocols::Utils::escape(@handler_endpoint)
359
+ @handler_endpoint = @controller.attributes['sim_engine'].to_s + '?original_endpoint=' + Riddl::Protocols::Utils::escape(@handler_endpoint)
345
360
  end
346
361
  __params = __exec_parameters.dup
347
362
  __params[:arguments] = __params[:arguments].dup if __params[:arguments]
348
363
  __params[:arguments]&.map! do |__ele|
349
364
  __tmp = __ele.dup
350
365
  if __tmp.value.is_a?(WEEL::ProcString)
351
- __tmp.value = __struct.instance_eval __tmp.value.code, 'Parameter', 1
366
+ __tmp.value = argument_eval(__tmp.value.code, __struct)
367
+ elsif __tmp.value.is_a?(Array) || __tmp.value.is_a?(Hash)
368
+ argument_transform_value __tmp.value, __struct
352
369
  end
353
370
  __tmp
354
371
  end
355
372
  __params
356
373
  end #}}}
357
- def test_condition(__dataelements,__endpoints,__local,__additional,__code,__args={}) #{{{
374
+ def test_condition(__eid,__dataelements,__endpoints,__local,__additional,__code,__args={}) #{{{
358
375
  __struct = WEEL::ReadStructure.new(__dataelements,__endpoints,__local,__additional).instance_eval(__code,'Condition',1)
359
376
 
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 => {})
377
+ @controller.notify("gateway/decide", :eid => __eid, :instance_uuid => @controller.uuid, :code => __code, :condition => (__struct ? "true" : "false"))
378
+ @controller.notify("gateway/annotation", :eid => __eid, :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :annotations => {})
362
379
  __struct
363
380
  end #}}}
364
381
  def manipulate(__readonly,__lock,__dataelements,__endpoints,__status,__local,__additional,__code,__where,__result=nil,__options=nil) #{{{
@@ -372,13 +389,13 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
372
389
  __struct
373
390
  end #}}}
374
391
 
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 }
392
+ def split_branches(eid, branches = []) # factual, so for inclusive or [[a],[b],[c,d,e]] {{{
393
+ payload = { :instance_uuid => @controller.uuid, :eid => eid.to_s }
377
394
  payload[:branches] = branches.length if branches.length > 0
378
395
  @controller.notify("gateway/split", payload )
379
396
  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 }
397
+ def join_branches(eid, branches = []) # factual, so for inclusive or [[a],[b],[c,d,e]] {{{
398
+ payload = { :instance_uuid => @controller.uuid, :eid => eid.to_s }
382
399
  payload[:branches] = branches if branches.length > 0
383
400
  payload[:branches_length] = branches.length if branches.length > 0
384
401
  @controller.notify("gateway/join", payload )