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
@@ -110,6 +110,19 @@
110
110
  </xsl:with-param>
111
111
  </xsl:call-template>
112
112
  <xsl:text>terminate</xsl:text>
113
+ <xsl:choose>
114
+ <xsl:when test="@eid">
115
+ <xsl:text> :</xsl:text>
116
+ <xsl:value-of select="@eid"/>
117
+ </xsl:when>
118
+ <xsl:otherwise>
119
+ <xsl:text> :e</xsl:text>
120
+ <xsl:for-each select="ancestor-or-self::*">
121
+ <xsl:text>_</xsl:text>
122
+ <xsl:value-of select="position()"/>
123
+ </xsl:for-each>
124
+ </xsl:otherwise>
125
+ </xsl:choose>
113
126
  <xsl:call-template name="print-newline"/>
114
127
  </xsl:if>
115
128
  <xsl:if test="name()='stop'">
@@ -145,6 +158,19 @@
145
158
  </xsl:with-param>
146
159
  </xsl:call-template>
147
160
  <xsl:text>escape</xsl:text>
161
+ <xsl:choose>
162
+ <xsl:when test="@eid">
163
+ <xsl:text> :</xsl:text>
164
+ <xsl:value-of select="@eid"/>
165
+ </xsl:when>
166
+ <xsl:otherwise>
167
+ <xsl:text> :e</xsl:text>
168
+ <xsl:for-each select="ancestor-or-self::*">
169
+ <xsl:text>_</xsl:text>
170
+ <xsl:value-of select="position()"/>
171
+ </xsl:for-each>
172
+ </xsl:otherwise>
173
+ </xsl:choose>
148
174
  <xsl:call-template name="print-newline"/>
149
175
  </xsl:if>
150
176
  <xsl:if test="name()='parallel'">
@@ -155,8 +181,21 @@
155
181
  </xsl:with-param>
156
182
  </xsl:call-template>
157
183
  <xsl:text>parallel</xsl:text>
184
+ <xsl:choose>
185
+ <xsl:when test="@eid">
186
+ <xsl:text> :</xsl:text>
187
+ <xsl:value-of select="@eid"/>
188
+ </xsl:when>
189
+ <xsl:otherwise>
190
+ <xsl:text> :e</xsl:text>
191
+ <xsl:for-each select="ancestor-or-self::*">
192
+ <xsl:text>_</xsl:text>
193
+ <xsl:value-of select="position()"/>
194
+ </xsl:for-each>
195
+ </xsl:otherwise>
196
+ </xsl:choose>
158
197
  <xsl:if test="@wait">
159
- <xsl:text> :wait =&gt; </xsl:text>
198
+ <xsl:text>, :wait =&gt; </xsl:text>
160
199
  <xsl:value-of select="@wait"/>
161
200
  <xsl:if test="@cancel">
162
201
  <xsl:text>, :cancel =&gt; :</xsl:text>
@@ -186,16 +225,29 @@
186
225
  <xsl:value-of select="$myspace+$myspacemultiplier"/>
187
226
  </xsl:with-param>
188
227
  </xsl:call-template>
189
- <xsl:text>loop </xsl:text>
228
+ <xsl:text>loop</xsl:text>
229
+ <xsl:choose>
230
+ <xsl:when test="@eid">
231
+ <xsl:text> :</xsl:text>
232
+ <xsl:value-of select="@eid"/>
233
+ </xsl:when>
234
+ <xsl:otherwise>
235
+ <xsl:text> :e</xsl:text>
236
+ <xsl:for-each select="ancestor-or-self::*">
237
+ <xsl:text>_</xsl:text>
238
+ <xsl:value-of select="position()"/>
239
+ </xsl:for-each>
240
+ </xsl:otherwise>
241
+ </xsl:choose>
190
242
  <xsl:if test="@mode='pre_test'">
191
243
  <xsl:choose>
192
244
  <xsl:when test="@language='application/x-ruby'">
193
- <xsl:text>pre_test{</xsl:text>
245
+ <xsl:text>, pre_test{</xsl:text>
194
246
  <xsl:value-of select="@condition"/>
195
247
  <xsl:text>} </xsl:text>
196
248
  </xsl:when>
197
249
  <xsl:otherwise>
198
- <xsl:text>pre_test("</xsl:text>
250
+ <xsl:text>, pre_test("</xsl:text>
199
251
  <xsl:value-of select="str:replace(str:replace(@condition,'\','\\'),'&quot;','\&quot;')"/>
200
252
  <xsl:text>")</xsl:text>
201
253
  </xsl:otherwise>
@@ -204,18 +256,18 @@
204
256
  <xsl:if test="@mode='post_test'">
205
257
  <xsl:choose>
206
258
  <xsl:when test="@language='application/x-ruby'">
207
- <xsl:text>post_test{</xsl:text>
259
+ <xsl:text>, post_test{</xsl:text>
208
260
  <xsl:value-of select="@condition"/>
209
261
  <xsl:text>} </xsl:text>
210
262
  </xsl:when>
211
263
  <xsl:otherwise>
212
- <xsl:text>post_test("</xsl:text>
264
+ <xsl:text>, post_test("</xsl:text>
213
265
  <xsl:value-of select="str:replace(str:replace(@condition,'\','\\'),'&quot;','\&quot;')"/>
214
266
  <xsl:text>")</xsl:text>
215
267
  </xsl:otherwise>
216
268
  </xsl:choose>
217
269
  </xsl:if>
218
- <xsl:for-each select="@*[not(name()='language' or (local-name()='alt_id' and namespace-uri()='http://cpee.org/ns/annotation/1.0') or name()='mode' or name()='condition' or name()='svg-label')]">
270
+ <xsl:for-each select="@*[not(name()='language' or name()='mode' or (local-name()='alt_id' and namespace-uri()='http://cpee.org/ns/annotation/1.0') or name()='condition' or name()='svg-label')]">
219
271
  <xsl:text>, :</xsl:text>
220
272
  <xsl:value-of select="name(.)"/>
221
273
  <xsl:text> => "</xsl:text>
@@ -306,13 +358,26 @@
306
358
  <xsl:value-of select="$myspace+$myspacemultiplier"/>
307
359
  </xsl:with-param>
308
360
  </xsl:call-template>
309
- <xsl:text>choose </xsl:text>
361
+ <xsl:text>choose</xsl:text>
362
+ <xsl:choose>
363
+ <xsl:when test="@eid">
364
+ <xsl:text> :</xsl:text>
365
+ <xsl:value-of select="@eid"/>
366
+ </xsl:when>
367
+ <xsl:otherwise>
368
+ <xsl:text> :e</xsl:text>
369
+ <xsl:for-each select="ancestor-or-self::*">
370
+ <xsl:text>_</xsl:text>
371
+ <xsl:value-of select="position()"/>
372
+ </xsl:for-each>
373
+ </xsl:otherwise>
374
+ </xsl:choose>
310
375
  <xsl:choose>
311
376
  <xsl:when test="@mode='exclusive'">
312
- <xsl:text>:exclusive</xsl:text>
377
+ <xsl:text>, :exclusive</xsl:text>
313
378
  </xsl:when>
314
379
  <xsl:otherwise>
315
- <xsl:text>:inclusive</xsl:text>
380
+ <xsl:text>, :inclusive</xsl:text>
316
381
  </xsl:otherwise>
317
382
  </xsl:choose>
318
383
  <xsl:text> do</xsl:text>
@@ -346,7 +411,21 @@
346
411
  <xsl:value-of select="$myspace+$myspacemultiplier"/>
347
412
  </xsl:with-param>
348
413
  </xsl:call-template>
349
- <xsl:text>critical :</xsl:text>
414
+ <xsl:text>critical</xsl:text>
415
+ <xsl:choose>
416
+ <xsl:when test="@eid">
417
+ <xsl:text> :</xsl:text>
418
+ <xsl:value-of select="@eid"/>
419
+ </xsl:when>
420
+ <xsl:otherwise>
421
+ <xsl:text> :e</xsl:text>
422
+ <xsl:for-each select="ancestor-or-self::*">
423
+ <xsl:text>_</xsl:text>
424
+ <xsl:value-of select="position()"/>
425
+ </xsl:for-each>
426
+ </xsl:otherwise>
427
+ </xsl:choose>
428
+ <xsl:text>, :</xsl:text>
350
429
  <xsl:value-of select="@sid"/>
351
430
  <xsl:text> do</xsl:text>
352
431
  <xsl:call-template name="print-newline"/>
@@ -373,15 +452,28 @@
373
452
  <xsl:value-of select="$myspace+$myspacemultiplier"/>
374
453
  </xsl:with-param>
375
454
  </xsl:call-template>
376
- <xsl:text>alternative </xsl:text>
455
+ <xsl:text>alternative</xsl:text>
456
+ <xsl:choose>
457
+ <xsl:when test="@eid">
458
+ <xsl:text> :</xsl:text>
459
+ <xsl:value-of select="@eid"/>
460
+ </xsl:when>
461
+ <xsl:otherwise>
462
+ <xsl:text> :e</xsl:text>
463
+ <xsl:for-each select="ancestor-or-self::*">
464
+ <xsl:text>_</xsl:text>
465
+ <xsl:value-of select="position()"/>
466
+ </xsl:for-each>
467
+ </xsl:otherwise>
468
+ </xsl:choose>
377
469
  <xsl:choose>
378
470
  <xsl:when test="@language='application/x-ruby'">
379
- <xsl:text>test{</xsl:text>
471
+ <xsl:text>, test{</xsl:text>
380
472
  <xsl:value-of select="@condition"/>
381
473
  <xsl:text>}</xsl:text>
382
474
  </xsl:when>
383
475
  <xsl:otherwise>
384
- <xsl:text>test("</xsl:text>
476
+ <xsl:text>, test("</xsl:text>
385
477
  <xsl:value-of select="str:replace(str:replace(@condition,'\','\\'),'&quot;','\&quot;')"/>
386
478
  <xsl:text>")</xsl:text>
387
479
  </xsl:otherwise>
@@ -418,7 +510,20 @@
418
510
  <xsl:value-of select="$myspace+$myspacemultiplier"/>
419
511
  </xsl:with-param>
420
512
  </xsl:call-template>
421
- <xsl:text>otherwise </xsl:text>
513
+ <xsl:text>otherwise</xsl:text>
514
+ <xsl:choose>
515
+ <xsl:when test="@eid">
516
+ <xsl:text> :</xsl:text>
517
+ <xsl:value-of select="@eid"/>
518
+ </xsl:when>
519
+ <xsl:otherwise>
520
+ <xsl:text> :e</xsl:text>
521
+ <xsl:for-each select="ancestor-or-self::*">
522
+ <xsl:text>_</xsl:text>
523
+ <xsl:value-of select="position()"/>
524
+ </xsl:for-each>
525
+ </xsl:otherwise>
526
+ </xsl:choose>
422
527
  <xsl:for-each select="@*[not(name()='language' or name()='condition' or name()='svg-label')]">
423
528
  <xsl:if test="position() &gt;1">, </xsl:if>
424
529
  <xsl:text>:</xsl:text>
@@ -452,7 +557,21 @@
452
557
  <xsl:value-of select="$myspace+$myspacemultiplier"/>
453
558
  </xsl:with-param>
454
559
  </xsl:call-template>
455
- <xsl:text>parallel_branch do |local|</xsl:text>
560
+ <xsl:text>parallel_branch</xsl:text>
561
+ <xsl:choose>
562
+ <xsl:when test="@eid">
563
+ <xsl:text> :</xsl:text>
564
+ <xsl:value-of select="@eid"/>
565
+ </xsl:when>
566
+ <xsl:otherwise>
567
+ <xsl:text> :e</xsl:text>
568
+ <xsl:for-each select="ancestor-or-self::*">
569
+ <xsl:text>_</xsl:text>
570
+ <xsl:value-of select="position()"/>
571
+ </xsl:for-each>
572
+ </xsl:otherwise>
573
+ </xsl:choose>
574
+ <xsl:text> do |local|</xsl:text>
456
575
  <xsl:call-template name="print-newline"/>
457
576
  <xsl:apply-templates>
458
577
  <xsl:with-param name="myspace">
@@ -468,21 +587,7 @@
468
587
  <xsl:text>end</xsl:text>
469
588
  <xsl:call-template name="print-newline"/>
470
589
  </xsl:template>
471
- <xsl:template name="genPath">
472
- <xsl:param name="prevPath"/>
473
- <xsl:variable name="currPath" select="concat('/',name(),'[',
474
- count(preceding-sibling::*[name() = name(current())])+1,']',$prevPath)"/>
475
- <xsl:for-each select="parent::*">
476
- <xsl:call-template name="genPath">
477
- <xsl:with-param name="prevPath" select="$currPath"/>
478
- </xsl:call-template>
479
- </xsl:for-each>
480
- <xsl:if test="not(parent::*)">
481
- <xsl:value-of select="$currPath"/>
482
- </xsl:if>
483
- </xsl:template>
484
590
  <xsl:template match="d:parameters">
485
- <!--xsl:text>:path =&gt; "</xsl:text><xsl:call-template name="genPath"/><xsl:text>", </xsl:text-->
486
591
  <xsl:apply-templates select="d:label" mode="parameter"/>
487
592
  <xsl:apply-templates select="d:*[not(name()='label') and not(name()='color')]" mode="parameter"/>
488
593
  <xsl:if test="count(*) &gt; 0">, </xsl:if>
@@ -508,7 +613,6 @@
508
613
  <xsl:text>:</xsl:text>
509
614
  <xsl:value-of select="name()"/>
510
615
  <xsl:text> =&gt; </xsl:text>
511
-
512
616
  <xsl:choose>
513
617
  <xsl:when test="count(*) &gt; 0 and name()='arguments'">
514
618
  <xsl:text>[</xsl:text>
@@ -76,27 +76,44 @@ module CPEE
76
76
  end
77
77
 
78
78
  def self::run(id,opts)
79
- ### if File file .remote
80
- ### connect to remote
81
- ### run same as below
82
- ### else
83
- ### Determine whether we run locally or remote
79
+ if File.exist? File.join(opts[:instances],id.to_s,'.remote')
80
+ uri = URI::parse(File.read(File.join(opts[:instances],id.to_s,'.remote')))
81
+ exe = File.join(uri.path,id.to_s,File.basename(BACKEND_RUN))
82
+ Net::SSH.start(uri.host,uri.user,:keys => [ opts[:ssh_key] ] ) do |ssh|
83
+ ssh.exec!("ruby #{exe} >#{exe}.out 2>#{exe}.err &")
84
+ end
85
+ else
84
86
  exe = File.join(opts[:instances],id.to_s,File.basename(ExecutionHandler::Ruby::BACKEND_RUN))
85
87
  pid = Kernel.spawn(opts[:libs_preloaderrun] + ' ' + exe , :pgroup => true, :in => '/dev/null', :out => exe + '.out', :err => exe + '.err')
86
88
  Process.detach pid
87
89
  File.write(exe + '.pid',pid)
88
- ### end
90
+ end
89
91
  end
90
92
 
91
93
  def self::stop(id,opts) ### return: bool to tell if manually changing redis is necessary
92
- exe = File.join(opts[:instances],id.to_s,File.basename(ExecutionHandler::Ruby::BACKEND_RUN))
93
- pid = File.read(exe + '.pid') rescue nil
94
- if pid && (Process.kill(0, pid.to_i) rescue false)
95
- Process.kill('HUP', pid.to_i) rescue nil
96
- false
97
- else # its not running, so clean up
98
- File.unlink(exe + '.pid') rescue nil
99
- true
94
+ if File.exist? File.join(opts[:instances],id.to_s,'.remote')
95
+ uri = URI::parse(File.read(File.join(opts[:instances],id.to_s,'.remote')))
96
+ exe = File.join(uri.path,id.to_s,File.basename(BACKEND_RUN))
97
+ Net::SSH.start(uri.host,uri.user,:keys => [ opts[:ssh_key] ] ) do |ssh|
98
+ pid = ssh.exec!("cat #{exe}.pid 2>/dev/null")
99
+ if pid != '' && ssh.exec!("kill -0 #{pid} >/dev/null 2>&1; echo $?").strip == '0'
100
+ ssh.exec!("kill -SIGHUP #{pid}")
101
+ false
102
+ else
103
+ ssh.exec!("rm #{exe}.pid")
104
+ true
105
+ end
106
+ end
107
+ else
108
+ exe = File.join(opts[:instances],id.to_s,File.basename(ExecutionHandler::Ruby::BACKEND_RUN))
109
+ pid = File.read(exe + '.pid') rescue nil
110
+ if pid && (Process.kill(0, pid.to_i) rescue false)
111
+ Process.kill('HUP', pid.to_i) rescue nil
112
+ false
113
+ else # its not running, so clean up
114
+ File.unlink(exe + '.pid') rescue nil
115
+ true
116
+ end
100
117
  end
101
118
  end
102
119
  end
@@ -1 +1 @@
1
- 577032
1
+ 1764907
@@ -1 +1 @@
1
- 577074
1
+ 1764950
@@ -1 +1 @@
1
- 577060
1
+ 1764935
@@ -1 +1 @@
1
- 577046
1
+ 1764921
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cpee
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.104
4
+ version: 2.1.108
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
@@ -34,7 +34,7 @@ dependencies:
34
34
  version: '1.99'
35
35
  - - ">="
36
36
  - !ruby/object:Gem::Version
37
- version: 1.99.146
37
+ version: 1.99.148
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -44,7 +44,7 @@ dependencies:
44
44
  version: '1.99'
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 1.99.146
47
+ version: 1.99.148
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: highline
50
50
  requirement: !ruby/object:Gem::Requirement
@@ -65,14 +65,42 @@ dependencies:
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '5.0'
68
+ version: '5.4'
69
69
  type: :runtime
70
70
  prerelease: false
71
71
  version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '5.0'
75
+ version: '5.4'
76
+ - !ruby/object:Gem::Dependency
77
+ name: net-ssh
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '7.3'
83
+ type: :runtime
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '7.3'
90
+ - !ruby/object:Gem::Dependency
91
+ name: net-scp
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '4.1'
97
+ type: :runtime
98
+ prerelease: false
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '4.1'
76
104
  - !ruby/object:Gem::Dependency
77
105
  name: rubyzip
78
106
  requirement: !ruby/object:Gem::Requirement