cpee 2.1.51 → 2.1.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/css/resources.css +42 -0
  3. data/cockpit/css/ui.css +4 -0
  4. data/cockpit/edit.html +4 -1
  5. data/cockpit/index.html +3 -0
  6. data/cockpit/js/details.js +9 -14
  7. data/cockpit/js/edit.js +3 -0
  8. data/cockpit/js/instance.js +264 -64
  9. data/cockpit/js/modifiers.js +12 -15
  10. data/cockpit/js/parameters.js +4 -10
  11. data/cockpit/js/resources.js +16 -0
  12. data/cockpit/js/wfadaptor.js +3 -3
  13. data/cockpit/templates/Coopis 2010.xml +15 -2
  14. data/cockpit/templates/Worklist.xml +6 -7
  15. data/cockpit/themes/compact/rngs/call.rng +6 -4
  16. data/cockpit/themes/compact/rngs/callmanipulate.rng +6 -4
  17. data/cockpit/themes/compact/rngs/parallel.rng +2 -2
  18. data/cockpit/themes/compact/rngs/start.rng +3 -3
  19. data/cockpit/themes/compact/theme.js +11 -1
  20. data/cockpit/themes/control/rngs/call.rng +6 -4
  21. data/cockpit/themes/control/rngs/callmanipulate.rng +6 -4
  22. data/cockpit/themes/control/rngs/parallel.rng +2 -2
  23. data/cockpit/themes/control/rngs/start.rng +3 -3
  24. data/cockpit/themes/control/theme.js +11 -1
  25. data/cockpit/themes/dataflow/rngs/alternative.rng +25 -0
  26. data/cockpit/themes/dataflow/rngs/call.rng +228 -0
  27. data/cockpit/themes/dataflow/rngs/callmanipulate.rng +257 -0
  28. data/cockpit/themes/dataflow/rngs/choose.rng +14 -0
  29. data/cockpit/themes/dataflow/rngs/closed_loop.rng +62 -0
  30. data/cockpit/themes/dataflow/rngs/closed_loop_cancel.rng +5 -0
  31. data/cockpit/themes/dataflow/rngs/closed_loop_control.rng +31 -0
  32. data/cockpit/themes/dataflow/rngs/closed_loop_measuring.rng +12 -0
  33. data/cockpit/themes/dataflow/rngs/critical.rng +5 -0
  34. data/cockpit/themes/dataflow/rngs/escape.rng +1 -0
  35. data/cockpit/themes/dataflow/rngs/group.rng +3 -0
  36. data/cockpit/themes/dataflow/rngs/loop.rng +22 -0
  37. data/cockpit/themes/dataflow/rngs/manipulate.rng +9 -0
  38. data/cockpit/themes/dataflow/rngs/otherwise.rng +22 -0
  39. data/cockpit/themes/dataflow/rngs/parallel.rng +27 -0
  40. data/cockpit/themes/dataflow/rngs/parallel_branch.rng +2 -0
  41. data/cockpit/themes/dataflow/rngs/scripts.rng +23 -0
  42. data/cockpit/themes/dataflow/rngs/start.rng +121 -0
  43. data/cockpit/themes/dataflow/rngs/stop.rng +5 -0
  44. data/cockpit/themes/dataflow/rngs/terminate.rng +1 -0
  45. data/cockpit/themes/dataflow/symbols/alternative.svg +5 -0
  46. data/cockpit/themes/dataflow/symbols/arrow.svg +3 -0
  47. data/cockpit/themes/dataflow/symbols/call.svg +6 -0
  48. data/cockpit/themes/dataflow/symbols/call_sensor.svg +9 -0
  49. data/cockpit/themes/dataflow/symbols/callmanipulate.svg +8 -0
  50. data/cockpit/themes/dataflow/symbols/callmanipulate_sensor.svg +11 -0
  51. data/cockpit/themes/dataflow/symbols/choose.svg +5 -0
  52. data/cockpit/themes/dataflow/symbols/choose_exclusive.svg +5 -0
  53. data/cockpit/themes/dataflow/symbols/choose_inclusive.svg +4 -0
  54. data/cockpit/themes/dataflow/symbols/closed_loop.svg +5 -0
  55. data/cockpit/themes/dataflow/symbols/closed_loop_cancel.svg +5 -0
  56. data/cockpit/themes/dataflow/symbols/closed_loop_control.svg +5 -0
  57. data/cockpit/themes/dataflow/symbols/closed_loop_measuring.svg +6 -0
  58. data/cockpit/themes/dataflow/symbols/complex.svg +8 -0
  59. data/cockpit/themes/dataflow/symbols/critical.svg +4 -0
  60. data/cockpit/themes/dataflow/symbols/delete.svg +4 -0
  61. data/cockpit/themes/dataflow/symbols/end.svg +3 -0
  62. data/cockpit/themes/dataflow/symbols/escape.svg +5 -0
  63. data/cockpit/themes/dataflow/symbols/event_end.svg +3 -0
  64. data/cockpit/themes/dataflow/symbols/loop.svg +5 -0
  65. data/cockpit/themes/dataflow/symbols/manipulate.svg +4 -0
  66. data/cockpit/themes/dataflow/symbols/otherwise.svg +5 -0
  67. data/cockpit/themes/dataflow/symbols/parallel.svg +5 -0
  68. data/cockpit/themes/dataflow/symbols/parallel_branch.svg +5 -0
  69. data/cockpit/themes/dataflow/symbols/parallel_branch_compact.svg +4 -0
  70. data/cockpit/themes/dataflow/symbols/parallel_branch_event.svg +14 -0
  71. data/cockpit/themes/dataflow/symbols/parallel_branch_normal.svg +5 -0
  72. data/cockpit/themes/dataflow/symbols/parallel_eventbased_exclusive.svg +9 -0
  73. data/cockpit/themes/dataflow/symbols/parallel_eventbased_parallel.svg +8 -0
  74. data/cockpit/themes/dataflow/symbols/scripts.svg +4 -0
  75. data/cockpit/themes/dataflow/symbols/start.svg +3 -0
  76. data/cockpit/themes/dataflow/symbols/start_event.svg +5 -0
  77. data/cockpit/themes/dataflow/symbols/stop.svg +5 -0
  78. data/cockpit/themes/dataflow/symbols/terminate.svg +4 -0
  79. data/cockpit/themes/dataflow/theme.js +1566 -0
  80. data/cockpit/themes/default/rngs/call.rng +6 -4
  81. data/cockpit/themes/default/rngs/callmanipulate.rng +6 -4
  82. data/cockpit/themes/default/rngs/parallel.rng +2 -2
  83. data/cockpit/themes/default/rngs/start.rng +3 -3
  84. data/cockpit/themes/default/theme.js +12 -1
  85. data/cockpit/themes/extended/rngs/call.rng +6 -4
  86. data/cockpit/themes/extended/rngs/callmanipulate.rng +6 -4
  87. data/cockpit/themes/extended/rngs/parallel.rng +2 -2
  88. data/cockpit/themes/extended/rngs/start.rng +3 -3
  89. data/cockpit/themes/extended/theme.js +12 -1
  90. data/cockpit/themes/felix/rngs/alternative.rng +25 -0
  91. data/cockpit/themes/felix/rngs/call.rng +229 -0
  92. data/cockpit/themes/felix/rngs/callmanipulate.rng +259 -0
  93. data/cockpit/themes/felix/rngs/choose.rng +14 -0
  94. data/cockpit/themes/felix/rngs/closed_loop.rng +62 -0
  95. data/cockpit/themes/felix/rngs/closed_loop_cancel.rng +5 -0
  96. data/cockpit/themes/felix/rngs/closed_loop_control.rng +31 -0
  97. data/cockpit/themes/felix/rngs/closed_loop_measuring.rng +12 -0
  98. data/cockpit/themes/felix/rngs/critical.rng +5 -0
  99. data/cockpit/themes/felix/rngs/escape.rng +1 -0
  100. data/cockpit/themes/felix/rngs/group.rng +3 -0
  101. data/cockpit/themes/felix/rngs/loop.rng +22 -0
  102. data/cockpit/themes/felix/rngs/manipulate.rng +20 -0
  103. data/cockpit/themes/felix/rngs/otherwise.rng +22 -0
  104. data/cockpit/themes/felix/rngs/parallel.rng +27 -0
  105. data/cockpit/themes/felix/rngs/parallel_branch.rng +2 -0
  106. data/cockpit/themes/felix/rngs/scripts.rng +23 -0
  107. data/cockpit/themes/felix/rngs/start.rng +121 -0
  108. data/cockpit/themes/felix/rngs/stop.rng +5 -0
  109. data/cockpit/themes/felix/rngs/terminate.rng +1 -0
  110. data/cockpit/themes/felix/symbols/alternative.svg +5 -0
  111. data/cockpit/themes/felix/symbols/arrow.svg +3 -0
  112. data/cockpit/themes/felix/symbols/call.svg +6 -0
  113. data/cockpit/themes/felix/symbols/call_sensor.svg +9 -0
  114. data/cockpit/themes/felix/symbols/callmanipulate.svg +8 -0
  115. data/cockpit/themes/felix/symbols/callmanipulate_sensor.svg +11 -0
  116. data/cockpit/themes/felix/symbols/choose.svg +5 -0
  117. data/cockpit/themes/felix/symbols/choose_exclusive.svg +5 -0
  118. data/cockpit/themes/felix/symbols/choose_inclusive.svg +4 -0
  119. data/cockpit/themes/felix/symbols/closed_loop.svg +5 -0
  120. data/cockpit/themes/felix/symbols/closed_loop_cancel.svg +5 -0
  121. data/cockpit/themes/felix/symbols/closed_loop_control.svg +5 -0
  122. data/cockpit/themes/felix/symbols/closed_loop_measuring.svg +6 -0
  123. data/cockpit/themes/felix/symbols/complex.svg +8 -0
  124. data/cockpit/themes/felix/symbols/critical.svg +4 -0
  125. data/cockpit/themes/felix/symbols/delete.svg +4 -0
  126. data/cockpit/themes/felix/symbols/end.svg +3 -0
  127. data/cockpit/themes/felix/symbols/escape.svg +5 -0
  128. data/cockpit/themes/felix/symbols/event_end.svg +3 -0
  129. data/cockpit/themes/felix/symbols/loop.svg +5 -0
  130. data/cockpit/themes/felix/symbols/manipulate.svg +4 -0
  131. data/cockpit/themes/felix/symbols/otherwise.svg +5 -0
  132. data/cockpit/themes/felix/symbols/parallel.svg +5 -0
  133. data/cockpit/themes/felix/symbols/parallel_branch.svg +5 -0
  134. data/cockpit/themes/felix/symbols/parallel_branch_compact.svg +4 -0
  135. data/cockpit/themes/felix/symbols/parallel_branch_event.svg +14 -0
  136. data/cockpit/themes/felix/symbols/parallel_branch_normal.svg +5 -0
  137. data/cockpit/themes/felix/symbols/parallel_eventbased_exclusive.svg +9 -0
  138. data/cockpit/themes/felix/symbols/parallel_eventbased_parallel.svg +8 -0
  139. data/cockpit/themes/felix/symbols/scripts.svg +4 -0
  140. data/cockpit/themes/felix/symbols/start.svg +3 -0
  141. data/cockpit/themes/felix/symbols/start_event.svg +5 -0
  142. data/cockpit/themes/felix/symbols/stop.svg +5 -0
  143. data/cockpit/themes/felix/symbols/terminate.svg +4 -0
  144. data/cockpit/themes/felix/theme.js +1526 -0
  145. data/cockpit/themes/model/rngs/call.rng +10 -10
  146. data/cockpit/themes/model/rngs/callmanipulate.rng +10 -10
  147. data/cockpit/themes/model/theme.js +11 -1
  148. data/cockpit/themes/packed/rngs/call.rng +6 -4
  149. data/cockpit/themes/packed/rngs/callmanipulate.rng +6 -4
  150. data/cockpit/themes/packed/rngs/parallel.rng +2 -2
  151. data/cockpit/themes/packed/rngs/start.rng +3 -3
  152. data/cockpit/themes/packed/theme.js +11 -1
  153. data/cockpit/themes/preset/rngs/call.rng +6 -4
  154. data/cockpit/themes/preset/rngs/callmanipulate.rng +6 -4
  155. data/cockpit/themes/preset/rngs/parallel.rng +2 -2
  156. data/cockpit/themes/preset/rngs/start.rng +3 -3
  157. data/cockpit/themes/preset/theme.js +12 -1
  158. data/cpee.gemspec +2 -2
  159. data/lib/cpee/implementation.rb +1 -1
  160. data/lib/cpee/implementation_properties.rb +23 -13
  161. data/lib/cpee/message.rb +20 -8
  162. data/lib/cpee/persistence.rb +12 -0
  163. data/lib/properties/state.rng +0 -2
  164. data/lib/properties.xml +1 -2
  165. data/server/executionhandlers/ruby/connection.rb +49 -13
  166. data/server/executionhandlers/ruby/controller.rb +1 -1
  167. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +71 -61
  168. data/server/resources/states.dot +0 -4
  169. data/server/resources/states.xml +0 -6
  170. data/tools/cpee +32 -1
  171. metadata +116 -21
  172. data/cockpit/css/replay.css +0 -55
  173. data/cockpit/js/replay.js +0 -40
  174. data/cockpit/replay.html +0 -53
  175. data/cockpit/themes/compact/symbols/test.svg +0 -74
  176. data/cockpit/themes/control/symbols/test.svg +0 -74
  177. data/cockpit/themes/default/symbols/test.svg +0 -74
  178. data/cockpit/themes/extended/symbols/test.svg +0 -74
  179. data/cockpit/themes/model/symbols/test.svg +0 -74
  180. data/cockpit/themes/packed/symbols/test.svg +0 -74
  181. data/cockpit/themes/preset/symbols/test.svg +0 -74
  182. data/server/executionhandlers/ruby/desc.xml +0 -107
  183. data/server/resources/test.pdf +0 -0
  184. data/server/routing/end.pid +0 -1
  185. data/server/routing/forward-events-00.pid +0 -1
  186. data/server/routing/forward-votes.pid +0 -1
  187. data/server/routing/persist.pid +0 -1
  188. data/server/server.conf +0 -4
@@ -75,7 +75,7 @@ class Controller
75
75
  end
76
76
  end
77
77
  @callback_keys[identifier].send(:callback,resp,m['content']['headers'])
78
- end
78
+ end
79
79
  end
80
80
  if pat == 'callback-end:*'
81
81
  _, worker, identifier = what.split(':')
@@ -290,6 +290,14 @@
290
290
  </xsl:with-param>
291
291
  </xsl:call-template>
292
292
  <xsl:text>choose </xsl:text>
293
+ <xsl:choose>
294
+ <xsl:when test="@mode='exclusive'">
295
+ <xsl:text>:exclusive</xsl:text>
296
+ </xsl:when>
297
+ <xsl:otherwise>
298
+ <xsl:text>:inclusive</xsl:text>
299
+ </xsl:otherwise>
300
+ </xsl:choose>
293
301
  <xsl:text> do</xsl:text>
294
302
  <xsl:call-template name="print-newline"/>
295
303
  <xsl:apply-templates>
@@ -594,67 +602,69 @@
594
602
  </xsl:choose>
595
603
  </xsl:template>
596
604
  <xsl:template match="d:*" mode="sub">
597
- <xsl:if test="count(preceding-sibling::*) &gt; 0">, </xsl:if>
598
- <xsl:text>⭐(</xsl:text>
599
- <xsl:text>:name =&gt; :</xsl:text>
600
- <xsl:choose>
601
- <xsl:when test="substring(name(),1,1) = '_'">
602
- <xsl:call-template name="format-name">
603
- <xsl:with-param name="tname">
604
- <xsl:value-of select="substring(name(),2)"/>
605
- </xsl:with-param>
606
- </xsl:call-template>
607
- </xsl:when>
608
- <xsl:otherwise>
609
- <xsl:call-template name="format-name">
610
- <xsl:with-param name="tname">
611
- <xsl:value-of select="name()"/>
612
- </xsl:with-param>
613
- </xsl:call-template>
614
- </xsl:otherwise>
615
- </xsl:choose>
616
- <xsl:text>, :value =&gt; -&gt;{ </xsl:text>
617
- <xsl:choose>
618
- <xsl:when test="not(node())">
619
- <xsl:text>nil</xsl:text>
620
- </xsl:when>
621
- <xsl:when test="child::node()[not(self::text())]">
622
- <!-- FUUUU, there is probably much more TODO. Updated Matthias und Juergen, we tested for ing-opcua/execute -->
623
- <xsl:choose>
624
- <xsl:when test="child::* and name(child::*)=concat(name(.),'_item') and count(child::*[not(name()=name(../child::*[1]))])=0">
625
- <xsl:text>"[ </xsl:text>
626
- <xsl:apply-templates select="*" mode="JSONArrayItem"/>
627
- <xsl:text>]"</xsl:text>
628
- </xsl:when>
629
- <xsl:otherwise>
630
- <xsl:text>"{ </xsl:text>
631
- <xsl:apply-templates select="*" mode="JSONSUB"/>
632
- <xsl:text>}"</xsl:text>
633
- </xsl:otherwise>
634
- </xsl:choose>
635
- </xsl:when>
636
- <xsl:otherwise>
637
- <xsl:choose>
638
- <xsl:when test="substring(text(),1,1) = '!'">
639
- <xsl:value-of select="substring(text(),2)"/>
640
- </xsl:when>
641
- <xsl:otherwise>
642
- <xsl:text>"</xsl:text>
643
- <xsl:value-of select="str:replace(str:replace(text(),'\','\\'),'&quot;','\&quot;')"/>
644
- <xsl:text>"</xsl:text>
645
- </xsl:otherwise>
646
- </xsl:choose>
647
- </xsl:otherwise>
648
- </xsl:choose>
649
- <xsl:text> }</xsl:text>
650
- <xsl:for-each select="@*">
651
- <xsl:text>, :</xsl:text>
652
- <xsl:value-of select="name()"/>
653
- <xsl:text> =&gt; "</xsl:text>
654
- <xsl:value-of select="string(.)"/>
655
- <xsl:text>"</xsl:text>
656
- </xsl:for-each>
657
- <xsl:text>)</xsl:text>
605
+ <xsl:if test="not(@rngui-nonfunctional)">
606
+ <xsl:if test="count(preceding-sibling::*[not(@rngui-nonfunctional)]) &gt; 0">, </xsl:if>
607
+ <xsl:text>⭐(</xsl:text>
608
+ <xsl:text>:name =&gt; :</xsl:text>
609
+ <xsl:choose>
610
+ <xsl:when test="substring(name(),1,1) = '_'">
611
+ <xsl:call-template name="format-name">
612
+ <xsl:with-param name="tname">
613
+ <xsl:value-of select="substring(name(),2)"/>
614
+ </xsl:with-param>
615
+ </xsl:call-template>
616
+ </xsl:when>
617
+ <xsl:otherwise>
618
+ <xsl:call-template name="format-name">
619
+ <xsl:with-param name="tname">
620
+ <xsl:value-of select="name()"/>
621
+ </xsl:with-param>
622
+ </xsl:call-template>
623
+ </xsl:otherwise>
624
+ </xsl:choose>
625
+ <xsl:text>, :value =&gt; -&gt;{ </xsl:text>
626
+ <xsl:choose>
627
+ <xsl:when test="not(node())">
628
+ <xsl:text>nil</xsl:text>
629
+ </xsl:when>
630
+ <xsl:when test="child::node()[not(self::text())]">
631
+ <!-- FUUUU, there is probably much more TODO. Updated Matthias und Juergen, we tested for ing-opcua/execute -->
632
+ <xsl:choose>
633
+ <xsl:when test="child::* and name(child::*)=concat(name(.),'_item') and count(child::*[not(name()=name(../child::*[1]))])=0">
634
+ <xsl:text>"[ </xsl:text>
635
+ <xsl:apply-templates select="*" mode="JSONArrayItem"/>
636
+ <xsl:text>]"</xsl:text>
637
+ </xsl:when>
638
+ <xsl:otherwise>
639
+ <xsl:text>"{ </xsl:text>
640
+ <xsl:apply-templates select="*" mode="JSONSUB"/>
641
+ <xsl:text>}"</xsl:text>
642
+ </xsl:otherwise>
643
+ </xsl:choose>
644
+ </xsl:when>
645
+ <xsl:otherwise>
646
+ <xsl:choose>
647
+ <xsl:when test="substring(text(),1,1) = '!'">
648
+ <xsl:value-of select="substring(text(),2)"/>
649
+ </xsl:when>
650
+ <xsl:otherwise>
651
+ <xsl:text>"</xsl:text>
652
+ <xsl:value-of select="str:replace(str:replace(text(),'\','\\'),'&quot;','\&quot;')"/>
653
+ <xsl:text>"</xsl:text>
654
+ </xsl:otherwise>
655
+ </xsl:choose>
656
+ </xsl:otherwise>
657
+ </xsl:choose>
658
+ <xsl:text> }</xsl:text>
659
+ <xsl:for-each select="@*">
660
+ <xsl:text>, :</xsl:text>
661
+ <xsl:value-of select="name()"/>
662
+ <xsl:text> =&gt; "</xsl:text>
663
+ <xsl:value-of select="string(.)"/>
664
+ <xsl:text>"</xsl:text>
665
+ </xsl:for-each>
666
+ <xsl:text>)</xsl:text>
667
+ </xsl:if>
658
668
  </xsl:template>
659
669
 
660
670
  <xsl:template match="d:finalize | d:update | d:prepare | d:rescue" mode="part-of-call">
@@ -1,19 +1,15 @@
1
1
  digraph States {
2
2
  ready -> running;
3
3
  ready -> simulating;
4
- ready -> replaying;
5
4
  ready -> abandoned;
6
5
  running -> stopping;
7
6
  stopped -> running;
8
7
  stopped -> simulating;
9
- stopped -> replaying;
10
8
  stopped -> abandoned;
11
9
 
12
10
  running -> finishing;
13
11
  simulating -> ready;
14
12
  simulating -> stopped;
15
- replaying -> stopping;
16
- replaying -> finishing;
17
13
  finishing -> finished;
18
14
  stopping -> stopped;
19
15
  }
@@ -8,7 +8,6 @@
8
8
  <ready/>
9
9
  <running/>
10
10
  <simulating/>
11
- <replaying/>
12
11
  <abandoned/>
13
12
  </ready>
14
13
  <running><!-- in this state you can set the following state -->
@@ -20,7 +19,6 @@
20
19
  <stopped><!-- in this state you can set the following four states -->
21
20
  <running/>
22
21
  <simulating/>
23
- <replaying/>
24
22
  <abandoned/>
25
23
  <stopped/>
26
24
  </stopped>
@@ -36,10 +34,6 @@
36
34
  <ready/>
37
35
  <stopped/>
38
36
  </simulating>
39
- <replaying>
40
- <stopping/>
41
- <finishing/>
42
- </replaying>
43
37
  <finishing>
44
38
  <finished/>
45
39
  </finishing>
data/tools/cpee CHANGED
@@ -40,6 +40,8 @@ ARGV.options { |opt|
40
40
  opt.on("")
41
41
  opt.on(wrap("[abandon URL] ready or stopped processes are abandoned. Examples:\ncpee abandon http://localhost:9298/1/\ncpee abandon http://localhost:9298/1-200\ncpee abandon http://localhost:9298/*"))
42
42
  opt.on("")
43
+ opt.on(wrap("[stopping URL] print all stopping proccess ids"))
44
+ opt.on("")
43
45
  opt.on(wrap("[a_by_name URL STRING] ready or stopped processes are abandoned by regex on attributes/info. Examples:\ncpee abandon http://localhost:9298/1/ \"aa.a\"\ncpee abandon http://localhost:9298/1-200 aaa"))
44
46
  opt.on("")
45
47
  opt.on(wrap("[start URL] stopped processes are started; all others are not touched. Examples:\ncpee start http://localhost:9298/1\ncpee start http://localhost:9298/1-200\ncpee start http://localhost:9298/*"))
@@ -57,7 +59,7 @@ ARGV.options { |opt|
57
59
  }
58
60
  if (ARGV.length == 0) ||
59
61
  (ARGV.length == 1 && !(%w(ui convert).include?(ARGV[0]))) ||
60
- (ARGV.length == 2 && !(%w(abandon abandon! start delete! cpui new).include?(ARGV[0]))) ||
62
+ (ARGV.length == 2 && !(%w(abandon abandon! stopping start delete! cpui new).include?(ARGV[0]))) ||
61
63
  (ARGV.length == 3 && !(%w(archive a_by_name).include?(ARGV[0]))) ||
62
64
  (ARGV.length > 3)
63
65
  puts ARGV.options
@@ -284,6 +286,35 @@ elsif command == 'abandon!'
284
286
  end
285
287
  end
286
288
  end
289
+ elsif command == 'stopping'
290
+ p1 = File.join(p1,'*') if p1 =~ /([a-zA-Z]|\/)$/
291
+ base = File.dirname(p1)
292
+ names = []
293
+ if File.basename(p1) =~ /(\d+)-(\d+)/
294
+ names = ($1.to_i..$2.to_i).to_a
295
+ elsif File.basename(p1) == '*'
296
+ res = Typhoeus.get(File.join(base,'/'), headers: { 'see-instances' => 'true' })
297
+ if res.success?
298
+ XML::Smart.string(res.response_body) do |doc|
299
+ doc.find('//instance/@id').each do |ele|
300
+ names << ele.value
301
+ end
302
+ end
303
+ names.reverse!
304
+ else
305
+ exit
306
+ end
307
+ else
308
+ names << File.basename(p1).to_i
309
+ end
310
+ names.each do |name|
311
+ res1 = Typhoeus.get(File.join(base,name.to_s,'properties','state','/'))
312
+ if res1.success?
313
+ if res1.response_body == 'stopping'
314
+ puts name
315
+ end
316
+ end
317
+ end
287
318
  elsif command == 'abandon'
288
319
  p1 = File.join(p1,'*') if p1 =~ /([a-zA-Z]|\/)$/
289
320
  base = File.dirname(p1)
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.51
4
+ version: 2.1.53
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: tools
12
12
  cert_chain: []
13
- date: 2023-10-10 00:00:00.000000000 Z
13
+ date: 2024-03-11 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: riddl
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '0.126'
21
+ version: '1.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: '0.126'
28
+ version: '1.0'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: weel
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -171,7 +171,7 @@ files:
171
171
  - cockpit/contrib/tree_example.svg
172
172
  - cockpit/css/graph.css
173
173
  - cockpit/css/model.css
174
- - cockpit/css/replay.css
174
+ - cockpit/css/resources.css
175
175
  - cockpit/css/track.css
176
176
  - cockpit/css/ui.css
177
177
  - cockpit/css/wfadaptor.css
@@ -184,13 +184,12 @@ files:
184
184
  - cockpit/js/model.js
185
185
  - cockpit/js/modifiers.js
186
186
  - cockpit/js/parameters.js
187
- - cockpit/js/replay.js
187
+ - cockpit/js/resources.js
188
188
  - cockpit/js/track.js
189
189
  - cockpit/js/ui.js
190
190
  - cockpit/js/wfadaptor.js
191
191
  - cockpit/js_libs.zip
192
192
  - cockpit/model.html
193
- - cockpit/replay.html
194
193
  - cockpit/rngs/attributes.rng
195
194
  - cockpit/rngs/dataelements.rng
196
195
  - cockpit/rngs/endpoints.rng
@@ -311,7 +310,6 @@ files:
311
310
  - cockpit/themes/compact/symbols/start_event.svg
312
311
  - cockpit/themes/compact/symbols/stop.svg
313
312
  - cockpit/themes/compact/symbols/terminate.svg
314
- - cockpit/themes/compact/symbols/test.svg
315
313
  - cockpit/themes/compact/theme.js
316
314
  - cockpit/themes/control/rngs/alternative.rng
317
315
  - cockpit/themes/control/rngs/call.rng
@@ -367,8 +365,62 @@ files:
367
365
  - cockpit/themes/control/symbols/start_event.svg
368
366
  - cockpit/themes/control/symbols/stop.svg
369
367
  - cockpit/themes/control/symbols/terminate.svg
370
- - cockpit/themes/control/symbols/test.svg
371
368
  - cockpit/themes/control/theme.js
369
+ - cockpit/themes/dataflow/rngs/alternative.rng
370
+ - cockpit/themes/dataflow/rngs/call.rng
371
+ - cockpit/themes/dataflow/rngs/callmanipulate.rng
372
+ - cockpit/themes/dataflow/rngs/choose.rng
373
+ - cockpit/themes/dataflow/rngs/closed_loop.rng
374
+ - cockpit/themes/dataflow/rngs/closed_loop_cancel.rng
375
+ - cockpit/themes/dataflow/rngs/closed_loop_control.rng
376
+ - cockpit/themes/dataflow/rngs/closed_loop_measuring.rng
377
+ - cockpit/themes/dataflow/rngs/critical.rng
378
+ - cockpit/themes/dataflow/rngs/escape.rng
379
+ - cockpit/themes/dataflow/rngs/group.rng
380
+ - cockpit/themes/dataflow/rngs/loop.rng
381
+ - cockpit/themes/dataflow/rngs/manipulate.rng
382
+ - cockpit/themes/dataflow/rngs/otherwise.rng
383
+ - cockpit/themes/dataflow/rngs/parallel.rng
384
+ - cockpit/themes/dataflow/rngs/parallel_branch.rng
385
+ - cockpit/themes/dataflow/rngs/scripts.rng
386
+ - cockpit/themes/dataflow/rngs/start.rng
387
+ - cockpit/themes/dataflow/rngs/stop.rng
388
+ - cockpit/themes/dataflow/rngs/terminate.rng
389
+ - cockpit/themes/dataflow/symbols/alternative.svg
390
+ - cockpit/themes/dataflow/symbols/arrow.svg
391
+ - cockpit/themes/dataflow/symbols/call.svg
392
+ - cockpit/themes/dataflow/symbols/call_sensor.svg
393
+ - cockpit/themes/dataflow/symbols/callmanipulate.svg
394
+ - cockpit/themes/dataflow/symbols/callmanipulate_sensor.svg
395
+ - cockpit/themes/dataflow/symbols/choose.svg
396
+ - cockpit/themes/dataflow/symbols/choose_exclusive.svg
397
+ - cockpit/themes/dataflow/symbols/choose_inclusive.svg
398
+ - cockpit/themes/dataflow/symbols/closed_loop.svg
399
+ - cockpit/themes/dataflow/symbols/closed_loop_cancel.svg
400
+ - cockpit/themes/dataflow/symbols/closed_loop_control.svg
401
+ - cockpit/themes/dataflow/symbols/closed_loop_measuring.svg
402
+ - cockpit/themes/dataflow/symbols/complex.svg
403
+ - cockpit/themes/dataflow/symbols/critical.svg
404
+ - cockpit/themes/dataflow/symbols/delete.svg
405
+ - cockpit/themes/dataflow/symbols/end.svg
406
+ - cockpit/themes/dataflow/symbols/escape.svg
407
+ - cockpit/themes/dataflow/symbols/event_end.svg
408
+ - cockpit/themes/dataflow/symbols/loop.svg
409
+ - cockpit/themes/dataflow/symbols/manipulate.svg
410
+ - cockpit/themes/dataflow/symbols/otherwise.svg
411
+ - cockpit/themes/dataflow/symbols/parallel.svg
412
+ - cockpit/themes/dataflow/symbols/parallel_branch.svg
413
+ - cockpit/themes/dataflow/symbols/parallel_branch_compact.svg
414
+ - cockpit/themes/dataflow/symbols/parallel_branch_event.svg
415
+ - cockpit/themes/dataflow/symbols/parallel_branch_normal.svg
416
+ - cockpit/themes/dataflow/symbols/parallel_eventbased_exclusive.svg
417
+ - cockpit/themes/dataflow/symbols/parallel_eventbased_parallel.svg
418
+ - cockpit/themes/dataflow/symbols/scripts.svg
419
+ - cockpit/themes/dataflow/symbols/start.svg
420
+ - cockpit/themes/dataflow/symbols/start_event.svg
421
+ - cockpit/themes/dataflow/symbols/stop.svg
422
+ - cockpit/themes/dataflow/symbols/terminate.svg
423
+ - cockpit/themes/dataflow/theme.js
372
424
  - cockpit/themes/default/rngs/alternative.rng
373
425
  - cockpit/themes/default/rngs/call.rng
374
426
  - cockpit/themes/default/rngs/callmanipulate.rng
@@ -423,7 +475,6 @@ files:
423
475
  - cockpit/themes/default/symbols/start_event.svg
424
476
  - cockpit/themes/default/symbols/stop.svg
425
477
  - cockpit/themes/default/symbols/terminate.svg
426
- - cockpit/themes/default/symbols/test.svg
427
478
  - cockpit/themes/default/theme.js
428
479
  - cockpit/themes/extended/rngs/alternative.rng
429
480
  - cockpit/themes/extended/rngs/call.rng
@@ -479,8 +530,62 @@ files:
479
530
  - cockpit/themes/extended/symbols/start_event.svg
480
531
  - cockpit/themes/extended/symbols/stop.svg
481
532
  - cockpit/themes/extended/symbols/terminate.svg
482
- - cockpit/themes/extended/symbols/test.svg
483
533
  - cockpit/themes/extended/theme.js
534
+ - cockpit/themes/felix/rngs/alternative.rng
535
+ - cockpit/themes/felix/rngs/call.rng
536
+ - cockpit/themes/felix/rngs/callmanipulate.rng
537
+ - cockpit/themes/felix/rngs/choose.rng
538
+ - cockpit/themes/felix/rngs/closed_loop.rng
539
+ - cockpit/themes/felix/rngs/closed_loop_cancel.rng
540
+ - cockpit/themes/felix/rngs/closed_loop_control.rng
541
+ - cockpit/themes/felix/rngs/closed_loop_measuring.rng
542
+ - cockpit/themes/felix/rngs/critical.rng
543
+ - cockpit/themes/felix/rngs/escape.rng
544
+ - cockpit/themes/felix/rngs/group.rng
545
+ - cockpit/themes/felix/rngs/loop.rng
546
+ - cockpit/themes/felix/rngs/manipulate.rng
547
+ - cockpit/themes/felix/rngs/otherwise.rng
548
+ - cockpit/themes/felix/rngs/parallel.rng
549
+ - cockpit/themes/felix/rngs/parallel_branch.rng
550
+ - cockpit/themes/felix/rngs/scripts.rng
551
+ - cockpit/themes/felix/rngs/start.rng
552
+ - cockpit/themes/felix/rngs/stop.rng
553
+ - cockpit/themes/felix/rngs/terminate.rng
554
+ - cockpit/themes/felix/symbols/alternative.svg
555
+ - cockpit/themes/felix/symbols/arrow.svg
556
+ - cockpit/themes/felix/symbols/call.svg
557
+ - cockpit/themes/felix/symbols/call_sensor.svg
558
+ - cockpit/themes/felix/symbols/callmanipulate.svg
559
+ - cockpit/themes/felix/symbols/callmanipulate_sensor.svg
560
+ - cockpit/themes/felix/symbols/choose.svg
561
+ - cockpit/themes/felix/symbols/choose_exclusive.svg
562
+ - cockpit/themes/felix/symbols/choose_inclusive.svg
563
+ - cockpit/themes/felix/symbols/closed_loop.svg
564
+ - cockpit/themes/felix/symbols/closed_loop_cancel.svg
565
+ - cockpit/themes/felix/symbols/closed_loop_control.svg
566
+ - cockpit/themes/felix/symbols/closed_loop_measuring.svg
567
+ - cockpit/themes/felix/symbols/complex.svg
568
+ - cockpit/themes/felix/symbols/critical.svg
569
+ - cockpit/themes/felix/symbols/delete.svg
570
+ - cockpit/themes/felix/symbols/end.svg
571
+ - cockpit/themes/felix/symbols/escape.svg
572
+ - cockpit/themes/felix/symbols/event_end.svg
573
+ - cockpit/themes/felix/symbols/loop.svg
574
+ - cockpit/themes/felix/symbols/manipulate.svg
575
+ - cockpit/themes/felix/symbols/otherwise.svg
576
+ - cockpit/themes/felix/symbols/parallel.svg
577
+ - cockpit/themes/felix/symbols/parallel_branch.svg
578
+ - cockpit/themes/felix/symbols/parallel_branch_compact.svg
579
+ - cockpit/themes/felix/symbols/parallel_branch_event.svg
580
+ - cockpit/themes/felix/symbols/parallel_branch_normal.svg
581
+ - cockpit/themes/felix/symbols/parallel_eventbased_exclusive.svg
582
+ - cockpit/themes/felix/symbols/parallel_eventbased_parallel.svg
583
+ - cockpit/themes/felix/symbols/scripts.svg
584
+ - cockpit/themes/felix/symbols/start.svg
585
+ - cockpit/themes/felix/symbols/start_event.svg
586
+ - cockpit/themes/felix/symbols/stop.svg
587
+ - cockpit/themes/felix/symbols/terminate.svg
588
+ - cockpit/themes/felix/theme.js
484
589
  - cockpit/themes/model/rngs/alternative.rng
485
590
  - cockpit/themes/model/rngs/call.rng
486
591
  - cockpit/themes/model/rngs/callmanipulate.rng
@@ -530,7 +635,6 @@ files:
530
635
  - cockpit/themes/model/symbols/start_event.svg
531
636
  - cockpit/themes/model/symbols/stop.svg
532
637
  - cockpit/themes/model/symbols/terminate.svg
533
- - cockpit/themes/model/symbols/test.svg
534
638
  - cockpit/themes/model/theme.js
535
639
  - cockpit/themes/packed/rngs/alternative.rng
536
640
  - cockpit/themes/packed/rngs/call.rng
@@ -586,7 +690,6 @@ files:
586
690
  - cockpit/themes/packed/symbols/start_event.svg
587
691
  - cockpit/themes/packed/symbols/stop.svg
588
692
  - cockpit/themes/packed/symbols/terminate.svg
589
- - cockpit/themes/packed/symbols/test.svg
590
693
  - cockpit/themes/packed/theme.js
591
694
  - cockpit/themes/preset/rngs/alternative.rng
592
695
  - cockpit/themes/preset/rngs/call.rng
@@ -642,7 +745,6 @@ files:
642
745
  - cockpit/themes/preset/symbols/start_event.svg
643
746
  - cockpit/themes/preset/symbols/stop.svg
644
747
  - cockpit/themes/preset/symbols/terminate.svg
645
- - cockpit/themes/preset/symbols/test.svg
646
748
  - cockpit/themes/preset/theme.js
647
749
  - cockpit/track.html
648
750
  - cockpit/transformations.xml
@@ -703,7 +805,6 @@ files:
703
805
  - server/executionhandlers/ruby/backend/run
704
806
  - server/executionhandlers/ruby/connection.rb
705
807
  - server/executionhandlers/ruby/controller.rb
706
- - server/executionhandlers/ruby/desc.xml
707
808
  - server/executionhandlers/ruby/dsl_to_dslx.xsl
708
809
  - server/executionhandlers/ruby/execution.rb
709
810
  - server/resources/empty_dslx.xml
@@ -712,18 +813,12 @@ files:
712
813
  - server/resources/properties.init
713
814
  - server/resources/states.dot
714
815
  - server/resources/states.xml
715
- - server/resources/test.pdf
716
816
  - server/resources/topics.xml
717
817
  - server/resources/transformation.xml
718
- - server/routing/end.pid
719
818
  - server/routing/end.rb
720
- - server/routing/forward-events-00.pid
721
819
  - server/routing/forward-events.rb
722
- - server/routing/forward-votes.pid
723
820
  - server/routing/forward-votes.rb
724
- - server/routing/persist.pid
725
821
  - server/routing/persist.rb
726
- - server/server.conf
727
822
  - server/server.pid
728
823
  - server/server.rb
729
824
  - tools/cpee
@@ -1,55 +0,0 @@
1
- body {
2
- -webkit-user-select: none;
3
- -moz-user-select: -moz-none;
4
- -ms-user-select: none;
5
- user-select: none;
6
- font-family: sans-serif;
7
- font-size: 1em;
8
- padding: 0;
9
- margin: 0;
10
- }
11
-
12
- #replayer {
13
- display: flex;
14
- flex-direction: column;
15
- flex-wrap: nowrap;
16
- align-items: stretch;
17
- height: 100vh;
18
- }
19
-
20
- #replay {
21
- width: 100%;
22
- display: flex;
23
- flex-direction: row;
24
- flex-wrap: nowrap;
25
- align-items: stretch;
26
- padding: 1em 0;
27
- flex: 0 0 auto;
28
- }
29
-
30
- #replay span {
31
- flex: 0 0 auto;
32
- margin-left: 1em;
33
- align-self: center;
34
- }
35
- #replay input {
36
- margin: 0em 1em;
37
- flex: 1 1 auto;
38
- }
39
- #replay button {
40
- margin-right: 1em;
41
- flex: 0 0 auto;
42
- }
43
-
44
- #content {
45
- width: 100%;
46
- align-self: center;
47
- flex: 1 1 auto;
48
- }
49
-
50
- iframe {
51
- border: 0 none;
52
- padding: 0;
53
- margin: 0;
54
- overflow: scroll;
55
- }
data/cockpit/js/replay.js DELETED
@@ -1,40 +0,0 @@
1
- $(document).ready(function() {
2
- $("#replay button").click(e => {
3
- $.ajax({
4
- url: $('#replay input').val(),
5
- type: 'GET',
6
- success: function(re) {
7
- var de;
8
- var ep;
9
- var at;
10
- var desc;
11
- try {
12
- jsyaml.loadAll(re,e => {
13
- if (e.event && e.event['cpee:lifecycle:transition'] == 'dataelements/change') {
14
- de = e.event.data.data_values;
15
- }
16
- if (e.event && e.event['cpee:lifecycle:transition'] == 'endpoints/change') {
17
- ep = e.event.data.data_values;
18
- }
19
- if (e.event && e.event['cpee:lifecycle:transition'] == 'attributes/change') {
20
- at = e.event.data.data_values;
21
- }
22
- if (e.event && e.event['cpee:description']) {
23
- desc = e.event['cpee:description'];
24
- }
25
- if (e.event && e.event['cpee:state'] == 'running') {
26
- throw BreakException;
27
- }
28
- });
29
- } catch(e) { /* just to break out of the iterator. what a shitty language */ }
30
- }
31
- });
32
-
33
-
34
- // load log with ajax
35
- // extract process model
36
- // initialize process model
37
- // set attributes
38
- // change start button to do replay
39
- });
40
- });
data/cockpit/replay.html DELETED
@@ -1,53 +0,0 @@
1
- <!--
2
- This file is part of CPEE.
3
-
4
- CPEE is free software: you can redistribute it and/or modify it under the terms
5
- of the GNU General Public License as published by the Free Software Foundation,
6
- either version 3 of the License, or (at your option) any later version.
7
-
8
- CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
9
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
10
- PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
-
12
- You should have received a copy of the GNU General Public License along with
13
- CPEE (file COPYING in the main directory). If not, see
14
- <http://www.gnu.org/licenses/>.
15
- -->
16
-
17
- <!DOCTYPE html>
18
- <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
19
- <head>
20
- <meta charset="utf-8"/>
21
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
22
- <title>CPEE Cockpit</title>
23
-
24
- <!-- libs, do not modify. When local than load local libs. -->
25
- <script type="text/javascript" src="/js_libs/jquery.min.js"></script>
26
- <script type="text/javascript" src="/js_libs/jquery.browser.js"></script>
27
- <script type="text/javascript" src="/js_libs/jquery.svg.min.js"></script>
28
- <script type="text/javascript" src="/js_libs/jquery.svgdom.min.js"></script>
29
- <script type="text/javascript" src="/js_libs/vkbeautify.js"></script>
30
- <script type="text/javascript" src="/js_libs/util.js"></script>
31
- <script type="text/javascript" src="/js_libs/printf.js"></script>
32
- <script type="text/javascript" src="/js_libs/strftime.min.js"></script>
33
- <script type="text/javascript" src="/js_libs/parsequery.js"></script>
34
- <script type="text/javascript" src="/js_libs/underscore.min.js"></script>
35
- <script type="text/javascript" src="/js_libs/jquery.caret.min.js"></script>
36
- <script type="text/javascript" src="/js_libs/jquery.cookie.js"></script>
37
- <script type="text/javascript" src="/js_libs/js-yaml.min.js"></script>
38
-
39
- <script type="text/javascript" src="/js_libs/uidash.js"></script>
40
- <link rel="stylesheet" href="/js_libs/uidash.css" type="text/css"/>
41
-
42
- <!-- custom stuff, play arround -->
43
- <script type="text/javascript" src="js/replay.js"></script>
44
- <link rel="stylesheet" href="css/ui.css" type="text/css"/>
45
- <link rel="stylesheet" href="css/replay.css" type="text/css"/>
46
- </head>
47
- <body is="x-ui-">
48
- <div id="replayer">
49
- <div id="replay"><span>Replay:</span><input type="text" value="http://localhost/logs/4b92138d-1f68-4d18-b676-92fb1cbe2c78.xes.yaml"/><button>Prepare!</button></div>
50
- <iframe id="content" src=""></iframe>
51
- </div>
52
- </body>
53
- </html>