cpee 2.1.24 → 2.1.29

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/css/ui.css +1 -1
  3. data/cockpit/templates/Subprocess.xml +79 -0
  4. data/cockpit/templates/Subprocess.xml.active +1 -0
  5. data/cockpit/templates/Subprocess.xml.active-uuid +1 -0
  6. data/cockpit/templates/Subprocess.xml.attrs +13 -0
  7. data/cockpit/templates/Track Test.xml +31 -28
  8. data/cockpit/templates/Track Test.xml.active +1 -0
  9. data/cockpit/templates/Track Test.xml.active-uuid +1 -0
  10. data/cockpit/templates/Track Test.xml.attrs +11 -0
  11. data/cockpit/templates/Wait.xml +73 -0
  12. data/cockpit/templates/Wait.xml.active +1 -0
  13. data/cockpit/templates/Wait.xml.active-uuid +1 -0
  14. data/cockpit/templates/Wait.xml.attrs +13 -0
  15. data/cockpit/templates/instantiate/Take_Perf.xml +13 -10
  16. data/cockpit/templates/instantiate/Take_Sub.xml +4 -8
  17. data/cockpit/templates/instantiate/Take_X.xml +12 -9
  18. data/cockpit/themes/compact/rngs/call.rng +1 -1
  19. data/cockpit/themes/compact/rngs/callmanipulate.rng +1 -1
  20. data/cockpit/themes/compact/theme.js +3 -1
  21. data/cockpit/themes/control/rngs/call.rng +1 -1
  22. data/cockpit/themes/control/rngs/callmanipulate.rng +1 -1
  23. data/cockpit/themes/control/theme.js +3 -1
  24. data/cockpit/themes/default/rngs/call.rng +1 -1
  25. data/cockpit/themes/default/rngs/callmanipulate.rng +1 -1
  26. data/cockpit/themes/default/theme.js +3 -1
  27. data/cockpit/themes/extended/rngs/call.rng +1 -1
  28. data/cockpit/themes/extended/rngs/callmanipulate.rng +1 -1
  29. data/cockpit/themes/extended/theme.js +3 -1
  30. data/cockpit/themes/model/theme.js +3 -1
  31. data/cockpit/themes/packed/rngs/call.rng +1 -1
  32. data/cockpit/themes/packed/rngs/callmanipulate.rng +1 -1
  33. data/cockpit/themes/packed/theme.js +3 -1
  34. data/cockpit/themes/preset/rngs/call.rng +1 -1
  35. data/cockpit/themes/preset/rngs/callmanipulate.rng +1 -1
  36. data/cockpit/themes/preset/theme.js +3 -1
  37. data/cpee.gemspec +1 -1
  38. data/lib/cpee/implementation.rb +9 -2
  39. data/lib/cpee/implementation_callbacks.rb +9 -5
  40. data/lib/cpee/implementation_notifications.rb +18 -14
  41. data/lib/cpee/implementation_properties.rb +64 -60
  42. data/lib/cpee/persistence.rb +4 -0
  43. data/server/executionhandlers/ruby/connection.rb +5 -7
  44. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +38 -18
  45. data/server/executionhandlers/ruby/test.xml +43 -0
  46. data/tools/cpee +14 -6
  47. metadata +14 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ad47dbf81f5468209a1d9acd17e512d7ad404d48e3c942686138b01bedac7c9e
4
- data.tar.gz: dfbf94210ea3c649e9c77377897df40c5dca2a5a30a0b7f92fb802861746249f
3
+ metadata.gz: 56e67e4d9fd57c8c9b51f5c5e2dd281f37fc0c219fe607c41d56e8da68cf3802
4
+ data.tar.gz: 5c537c87ed397e3da5a58fa9a06a410371408229d72f8302ac3f8d1aad07bddc
5
5
  SHA512:
6
- metadata.gz: b74f0997f4aa423e95dc546aa75acf45d09fe141cec1e072b92890d4e84f329327d956ef6bc12183bcc33b32399f55725f7baf25523bf8abbcca84e82da148c7
7
- data.tar.gz: 36ddcb8202336d806c9f5795da8fc2de392cf3ae4eb7499c20159133b29dee6dfa0bdbd3a73f8ca68f415dfc605dda64b3bc8825dbb707bf8c92f76596e4e715
6
+ metadata.gz: 1e2ffe8f6b2594b0d7badfef16628e2444df2762a639bbaf93f36191c44d69b81a120bd3ed66502f869689039fb8a5e1b0d7c10cfc36200101fc512678678a59
7
+ data.tar.gz: 6eca82caf6987dd5e17c0629be864747444efd7e0d03e202d98c4759e2b5d2d29625911d08fe11c222e8b8a8d05211f7880645c260987b9225216daa93948a82
data/cockpit/css/ui.css CHANGED
@@ -242,4 +242,4 @@ span.vote {
242
242
  overflow: auto;
243
243
  }
244
244
  #disclaimer p { max-width: 82ex; text-align: justify; }
245
- #disclaimer input { margin:0; padding:0; vertical-align:bottom; margin-right: 0.5em; }
245
+ #disclaimer input { margin:0; padding:0; vertical-align:baseline; margin-right: 0.5em; }
@@ -0,0 +1,79 @@
1
+ <?xml version="1.0"?>
2
+ <testset xmlns="http://cpee.org/ns/properties/2.0">
3
+ <executionhandler>ruby</executionhandler>
4
+ <dataelements/>
5
+ <endpoints>
6
+ <timeout>https://cpee.org/services/timeout.php</timeout>
7
+ <subprocess>https://cpee.org/flow/start/url/</subprocess>
8
+ </endpoints>
9
+ <attributes>
10
+ <info>Subprocess</info>
11
+ <creator>Christine Ashcreek</creator>
12
+ <author>Christine Ashcreek</author>
13
+ <modeltype>CPEE</modeltype>
14
+ <guarded>none</guarded>
15
+ <guarded_id/>
16
+ <model_uuid>1fc43528-3e4a-40ee-8503-c0ed7e5d883c</model_uuid>
17
+ <model_version/>
18
+ <theme>extended</theme>
19
+ <design_dir>Templates.dir</design_dir>
20
+ <design_stage>development</design_stage>
21
+ </attributes>
22
+ <description>
23
+ <description xmlns="http://cpee.org/ns/description/1.0">
24
+ <call id="a1" endpoint="subprocess">
25
+ <parameters>
26
+ <label>Sub</label>
27
+ <method>:post</method>
28
+ <arguments>
29
+ <behavior>wait_running</behavior>
30
+ <url>https://cpee.org/design/server/Templates.dir/Wait.xml</url>
31
+ <init>
32
+ <bla>3</bla>
33
+ </init>
34
+ <endpoints/>
35
+ <customization/>
36
+ </arguments>
37
+ </parameters>
38
+ <code>
39
+ <prepare/>
40
+ <finalize output="result">data.test = result</finalize>
41
+ <update output="result"/>
42
+ <rescue output="result"/>
43
+ </code>
44
+ <annotations>
45
+ <_timing>
46
+ <_timing_weight/>
47
+ <_timing_avg/>
48
+ <explanations/>
49
+ </_timing>
50
+ <_context_data_analysis>
51
+ <probes/>
52
+ <ips/>
53
+ </_context_data_analysis>
54
+ <report>
55
+ <url/>
56
+ </report>
57
+ <_notes>
58
+ <_notes_general/>
59
+ </_notes>
60
+ </annotations>
61
+ <documentation>
62
+ <input/>
63
+ <output/>
64
+ <implementation>
65
+ <description/>
66
+ </implementation>
67
+ <code>
68
+ <description/>
69
+ </code>
70
+ </documentation>
71
+ </call>
72
+ </description>
73
+ </description>
74
+ <transformation>
75
+ <description type="copy"/>
76
+ <dataelements type="none"/>
77
+ <endpoints type="none"/>
78
+ </transformation>
79
+ </testset>
@@ -0,0 +1 @@
1
+ https://cpee.org/flow/engine/215
@@ -0,0 +1 @@
1
+ e109897c-8484-4d87-b7d3-8786731a2f0a
@@ -0,0 +1,13 @@
1
+ {
2
+ "info": "Subprocess",
3
+ "creator": "Christine Ashcreek",
4
+ "author": "Christine Ashcreek",
5
+ "modeltype": "CPEE",
6
+ "guarded": "none",
7
+ "guarded_id": "",
8
+ "model_uuid": "1fc43528-3e4a-40ee-8503-c0ed7e5d883c",
9
+ "model_version": "",
10
+ "theme": "extended",
11
+ "design_dir": "Templates.dir",
12
+ "design_stage": "development"
13
+ }
@@ -1,3 +1,4 @@
1
+ <?xml version="1.0"?>
1
2
  <testset xmlns="http://cpee.org/ns/properties/2.0">
2
3
  <executionhandler>ruby</executionhandler>
3
4
  <dataelements>
@@ -6,7 +7,17 @@
6
7
  <endpoints>
7
8
  <start_url>https://cpee.org/flow/start/url/</start_url>
8
9
  </endpoints>
9
- <positions/>
10
+ <attributes>
11
+ <info>Track Test</info>
12
+ <modeltype>CPEE</modeltype>
13
+ <theme>default</theme>
14
+ <customer>pilotfabrik</customer>
15
+ <status>development</status>
16
+ <creator>Christine Ashcreek</creator>
17
+ <author>Christine Ashcreek</author>
18
+ <design_stage>development</design_stage>
19
+ <design_dir>Templates.dir</design_dir>
20
+ </attributes>
10
21
  <description>
11
22
  <description xmlns="http://cpee.org/ns/description/1.0">
12
23
  <loop mode="pre_test" condition="true">
@@ -26,33 +37,36 @@
26
37
  <behavior>wait_running</behavior>
27
38
  <url>https://cpee.org/flow/templates/instantiate/Take_Sub.xml</url>
28
39
  <init>
29
- <time>4</time>
40
+ <time>5</time>
30
41
  </init>
31
42
  <endpoints/>
32
- <stream/>
43
+ <customization/>
33
44
  </arguments>
34
- <stream>
35
- <sensors/>
36
- <aggregators/>
37
- <costs/>
38
- </stream>
39
- <report>
40
- <url/>
41
- </report>
42
45
  </parameters>
43
46
  <annotations>
44
47
  <_timing>
45
- <_timing_wait/>
46
- <_timing_threshold/>
47
- <_timing_min/>
48
- <_timing_max/>
48
+ <_timing_weight/>
49
49
  <_timing_avg/>
50
+ <_context_data_analysis>
51
+ <probes/>
52
+ <ips/>
53
+ </_context_data_analysis>
54
+ <report>
55
+ <url/>
56
+ </report>
57
+ <explanations/>
50
58
  </_timing>
51
59
  <_notes>
52
60
  <_notes_general/>
53
61
  </_notes>
54
62
  </annotations>
55
- <documentation/>
63
+ <documentation>
64
+ <input/>
65
+ <output/>
66
+ <implementation>
67
+ <description/>
68
+ </implementation>
69
+ </documentation>
56
70
  </call>
57
71
  </parallel_branch>
58
72
  <manipulate id="a4" label="">data.i += 1</manipulate>
@@ -73,15 +87,4 @@
73
87
  <dataelements type="none"/>
74
88
  <endpoints type="none"/>
75
89
  </transformation>
76
- <attributes>
77
- <info>Track Test</info>
78
- <modeltype>CPEE</modeltype>
79
- <theme>default</theme>
80
- <customer>pilotfabrik</customer>
81
- <status>development</status>
82
- <creator>Christine Ashcreek</creator>
83
- <author>Christine Ashcreek</author>
84
- <design_stage>development</design_stage>
85
- <design_dir>Templates.dir</design_dir>
86
- </attributes>
87
- </testset>
90
+ </testset>
@@ -0,0 +1 @@
1
+ https://cpee.org/flow/engine/194
@@ -0,0 +1 @@
1
+ 92a04ef3-759d-451b-97ef-a5dab3c8809a
@@ -0,0 +1,11 @@
1
+ {
2
+ "info": "Track Test",
3
+ "modeltype": "CPEE",
4
+ "theme": "default",
5
+ "customer": "pilotfabrik",
6
+ "status": "development",
7
+ "creator": "Christine Ashcreek",
8
+ "author": "Christine Ashcreek",
9
+ "design_stage": "development",
10
+ "design_dir": "Templates.dir"
11
+ }
@@ -0,0 +1,73 @@
1
+ <?xml version="1.0"?>
2
+ <testset xmlns="http://cpee.org/ns/properties/2.0">
3
+ <executionhandler>ruby</executionhandler>
4
+ <dataelements/>
5
+ <endpoints>
6
+ <timeout>https://cpee.org/services/timeout.php</timeout>
7
+ <subprocess>https://cpee.org/flow/start/url/</subprocess>
8
+ </endpoints>
9
+ <attributes>
10
+ <info>Wait</info>
11
+ <creator>Christine Ashcreek</creator>
12
+ <author>Christine Ashcreek</author>
13
+ <modeltype>CPEE</modeltype>
14
+ <guarded>none</guarded>
15
+ <guarded_id/>
16
+ <model_uuid>c09dad6b-547e-41a9-8f31-95c40e71c607</model_uuid>
17
+ <model_version/>
18
+ <theme>extended</theme>
19
+ <design_dir>Templates.dir</design_dir>
20
+ <design_stage>development</design_stage>
21
+ </attributes>
22
+ <description>
23
+ <description xmlns="http://cpee.org/ns/description/1.0">
24
+ <call id="a1" endpoint="timeout">
25
+ <parameters>
26
+ <label>Wait </label>
27
+ <method>:post</method>
28
+ <arguments>
29
+ <timeout>2</timeout>
30
+ </arguments>
31
+ </parameters>
32
+ <code>
33
+ <prepare/>
34
+ <finalize output="result">data.test = 7</finalize>
35
+ <update output="result"/>
36
+ <rescue output="result"/>
37
+ </code>
38
+ <annotations>
39
+ <_timing>
40
+ <_timing_weight/>
41
+ <_timing_avg/>
42
+ <explanations/>
43
+ </_timing>
44
+ <_context_data_analysis>
45
+ <probes/>
46
+ <ips/>
47
+ </_context_data_analysis>
48
+ <report>
49
+ <url/>
50
+ </report>
51
+ <_notes>
52
+ <_notes_general/>
53
+ </_notes>
54
+ </annotations>
55
+ <documentation>
56
+ <input/>
57
+ <output/>
58
+ <implementation>
59
+ <description/>
60
+ </implementation>
61
+ <code>
62
+ <description/>
63
+ </code>
64
+ </documentation>
65
+ </call>
66
+ </description>
67
+ </description>
68
+ <transformation>
69
+ <description type="copy"/>
70
+ <dataelements type="none"/>
71
+ <endpoints type="none"/>
72
+ </transformation>
73
+ </testset>
@@ -0,0 +1 @@
1
+ https://cpee.org/flow/engine/199
@@ -0,0 +1 @@
1
+ bf96a05e-845c-4f6e-88a8-b0d0d0ea9b8f
@@ -0,0 +1,13 @@
1
+ {
2
+ "info": "Wait",
3
+ "creator": "Christine Ashcreek",
4
+ "author": "Christine Ashcreek",
5
+ "modeltype": "CPEE",
6
+ "guarded": "none",
7
+ "guarded_id": "",
8
+ "model_uuid": "c09dad6b-547e-41a9-8f31-95c40e71c607",
9
+ "model_version": "",
10
+ "theme": "extended",
11
+ "design_dir": "Templates.dir",
12
+ "design_stage": "development"
13
+ }
@@ -15,19 +15,22 @@
15
15
  <method>:get</method>
16
16
  <arguments/>
17
17
  </parameters>
18
- <_timing>
19
- <_timing_min/>
20
- <_timing_max/>
21
- <_timing_avg/>
22
- </_timing>
23
- <_notes>
24
- <_notes_general/>
25
- <_attachments/>
26
- </_notes>
27
18
  <code>
28
19
  <finalize output="result"/>
29
20
  <update output="result"/>
30
21
  </code>
22
+ <annotations>
23
+ <_timing>
24
+ <_timing_min/>
25
+ <_timing_max/>
26
+ <_timing_avg/>
27
+ </_timing>
28
+ <_notes>
29
+ <_notes_general/>
30
+ <_attachments/>
31
+ </_notes>
32
+ </annotations>
33
+ <documentation/>
31
34
  </call>
32
35
  </description>
33
36
  </description>
@@ -43,4 +46,4 @@
43
46
  <customer>pilotfabrik</customer>
44
47
  <status>development</status>
45
48
  </attributes>
46
- </testset>
49
+ </testset>
@@ -19,14 +19,6 @@
19
19
  <endpoints/>
20
20
  <stream/>
21
21
  </arguments>
22
- <stream>
23
- <sensors/>
24
- <aggregators/>
25
- <costs/>
26
- </stream>
27
- <report>
28
- <url/>
29
- </report>
30
22
  </parameters>
31
23
  <annotations>
32
24
  <_timing>
@@ -39,7 +31,11 @@
39
31
  <_notes>
40
32
  <_notes_general/>
41
33
  </_notes>
34
+ <report>
35
+ <url/>
36
+ </report>
42
37
  </annotations>
38
+ <documentation/>
43
39
  </call>
44
40
  </description>
45
41
  </description>
@@ -17,19 +17,22 @@
17
17
  <timeout>!data.time</timeout>
18
18
  </arguments>
19
19
  </parameters>
20
- <_timing>
21
- <_timing_min/>
22
- <_timing_max/>
23
- <_timing_avg/>
24
- </_timing>
25
- <_notes>
26
- <_notes_general/>
27
- <_attachments/>
28
- </_notes>
29
20
  <code>
30
21
  <finalize output="result">data.duration = data.time</finalize>
31
22
  <update output="result"/>
32
23
  </code>
24
+ <annotations>
25
+ <_timing>
26
+ <_timing_min/>
27
+ <_timing_max/>
28
+ <_timing_avg/>
29
+ </_timing>
30
+ <_notes>
31
+ <_notes_general/>
32
+ <_attachments/>
33
+ </_notes>
34
+ </annotations>
35
+ <documentation/>
33
36
  </call>
34
37
  </description>
35
38
  </description>
@@ -155,7 +155,7 @@
155
155
  </element>
156
156
  </element>
157
157
  </element>
158
- <element name="input" rngui:header="Documentation">
158
+ <element name="documentation" rngui:header="Documentation">
159
159
  <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
160
160
  <zeroOrMore rngui:label="Create Argument">
161
161
  <element name="item" rngui:label="Description">
@@ -195,7 +195,7 @@
195
195
  </element>
196
196
  </element>
197
197
 
198
- <element name="input" rngui:header="Documentation">
198
+ <element name="documentation" rngui:header="Documentation">
199
199
  <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
200
200
  <zeroOrMore rngui:label="Create Argument">
201
201
  <element name="item" rngui:label="Description">
@@ -499,7 +499,9 @@ function WFAdaptorManifestation(adaptor) {
499
499
  'endnodes': 'this',
500
500
  'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
501
501
  'resolve_symbol': function(node) {
502
- if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
502
+ if($(node).children(':not(parallel_branch)').length > 0) {
503
+ return 'parallel_complex';
504
+ } else if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
503
505
  return 'parallel_simple';
504
506
  } else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == '-1') {
505
507
  return 'parallel_event_all';
@@ -155,7 +155,7 @@
155
155
  </element>
156
156
  </element>
157
157
  </element>
158
- <element name="input" rngui:header="Documentation">
158
+ <element name="documentation" rngui:header="Documentation">
159
159
  <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
160
160
  <zeroOrMore rngui:label="Create Argument">
161
161
  <element name="item" rngui:label="Description">
@@ -195,7 +195,7 @@
195
195
  </element>
196
196
  </element>
197
197
 
198
- <element name="input" rngui:header="Documentation">
198
+ <element name="documentation" rngui:header="Documentation">
199
199
  <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
200
200
  <zeroOrMore rngui:label="Create Argument">
201
201
  <element name="item" rngui:label="Description">
@@ -524,7 +524,9 @@ function WFAdaptorManifestation(adaptor) {
524
524
  'endnodes': 'this',
525
525
  'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
526
526
  'resolve_symbol': function(node) {
527
- if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
527
+ if($(node).children(':not(parallel_branch)').length > 0) {
528
+ return 'parallel_complex';
529
+ } else if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
528
530
  return 'parallel_simple';
529
531
  } else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == '-1') {
530
532
  return 'parallel_event_all';
@@ -155,7 +155,7 @@
155
155
  </element>
156
156
  </element>
157
157
  </element>
158
- <element name="input" rngui:header="Documentation">
158
+ <element name="documentation" rngui:header="Documentation">
159
159
  <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
160
160
  <zeroOrMore rngui:label="Create Argument">
161
161
  <element name="item" rngui:label="Description">
@@ -195,7 +195,7 @@
195
195
  </element>
196
196
  </element>
197
197
 
198
- <element name="input" rngui:header="Documentation">
198
+ <element name="documentation" rngui:header="Documentation">
199
199
  <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
200
200
  <zeroOrMore rngui:label="Create Argument">
201
201
  <element name="item" rngui:label="Description">
@@ -499,7 +499,9 @@ function WFAdaptorManifestation(adaptor) {
499
499
  'endnodes': 'this',
500
500
  'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
501
501
  'resolve_symbol': function(node) {
502
- if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
502
+ if($(node).children(':not(parallel_branch)').length > 0) {
503
+ return 'parallel_complex';
504
+ } else if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
503
505
  return 'parallel_simple';
504
506
  } else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == '-1') {
505
507
  return 'parallel_event_all';
@@ -155,7 +155,7 @@
155
155
  </element>
156
156
  </element>
157
157
  </element>
158
- <element name="input" rngui:header="Documentation">
158
+ <element name="documentation" rngui:header="Documentation">
159
159
  <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
160
160
  <zeroOrMore rngui:label="Create Argument">
161
161
  <element name="item" rngui:label="Description">
@@ -195,7 +195,7 @@
195
195
  </element>
196
196
  </element>
197
197
 
198
- <element name="input" rngui:header="Documentation">
198
+ <element name="documentation" rngui:header="Documentation">
199
199
  <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
200
200
  <zeroOrMore rngui:label="Create Argument">
201
201
  <element name="item" rngui:label="Description">
@@ -524,7 +524,9 @@ function WFAdaptorManifestation(adaptor) {
524
524
  'endnodes': 'this',
525
525
  'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
526
526
  'resolve_symbol': function(node) {
527
- if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
527
+ if($(node).children(':not(parallel_branch)').length > 0) {
528
+ return 'parallel_complex';
529
+ } else if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
528
530
  return 'parallel_simple';
529
531
  } else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == '-1') {
530
532
  return 'parallel_event_all';
@@ -480,7 +480,9 @@ function WFAdaptorManifestation(adaptor) {
480
480
  'endnodes': 'this',
481
481
  'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
482
482
  'resolve_symbol': function(node) {
483
- if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
483
+ if($(node).children(':not(parallel_branch)').length > 0) {
484
+ return 'parallel_complex';
485
+ } else if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
484
486
  return 'parallel_simple';
485
487
  } else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == '-1') {
486
488
  return 'parallel_event_all';
@@ -155,7 +155,7 @@
155
155
  </element>
156
156
  </element>
157
157
  </element>
158
- <element name="input" rngui:header="Documentation">
158
+ <element name="documentation" rngui:header="Documentation">
159
159
  <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
160
160
  <zeroOrMore rngui:label="Create Argument">
161
161
  <element name="item" rngui:label="Description">
@@ -195,7 +195,7 @@
195
195
  </element>
196
196
  </element>
197
197
 
198
- <element name="input" rngui:header="Documentation">
198
+ <element name="documentation" rngui:header="Documentation">
199
199
  <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
200
200
  <zeroOrMore rngui:label="Create Argument">
201
201
  <element name="item" rngui:label="Description">
@@ -499,7 +499,9 @@ function WFAdaptorManifestation(adaptor) {
499
499
  'endnodes': 'this',
500
500
  'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
501
501
  'resolve_symbol': function(node) {
502
- if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
502
+ if($(node).children(':not(parallel_branch)').length > 0) {
503
+ return 'parallel_complex';
504
+ } else if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
503
505
  return 'parallel_simple';
504
506
  } else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == '-1') {
505
507
  return 'parallel_event_all';
@@ -155,7 +155,7 @@
155
155
  </element>
156
156
  </element>
157
157
  </element>
158
- <element name="input" rngui:header="Documentation">
158
+ <element name="documentation" rngui:header="Documentation">
159
159
  <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
160
160
  <zeroOrMore rngui:label="Create Argument">
161
161
  <element name="item" rngui:label="Description">
@@ -195,7 +195,7 @@
195
195
  </element>
196
196
  </element>
197
197
 
198
- <element name="input" rngui:header="Documentation">
198
+ <element name="documentation" rngui:header="Documentation">
199
199
  <element name="input" rngui:header="Input Arguments" rngui:fold="closed">
200
200
  <zeroOrMore rngui:label="Create Argument">
201
201
  <element name="item" rngui:label="Description">
@@ -499,7 +499,9 @@ function WFAdaptorManifestation(adaptor) {
499
499
  'endnodes': 'this',
500
500
  'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
501
501
  'resolve_symbol': function(node) {
502
- if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
502
+ if($(node).children(':not(parallel_branch)').length > 0) {
503
+ return 'parallel_complex';
504
+ } else if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
503
505
  return 'parallel_simple';
504
506
  } else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == '-1') {
505
507
  return 'parallel_event_all';
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.24"
3
+ s.version = "2.1.29"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0"
6
6
  s.summary = "Preliminary release of cloud process execution engine (cpee.org). If you just need workflow execution, without a rest service exposing it, then use WEEL."
@@ -263,7 +263,7 @@ module CPEE
263
263
  def response
264
264
  opts = @a[0]
265
265
  id = @r[0].to_i
266
- unless opts[:redis].exists?("instance:#{id}/state")
266
+ unless CPEE::Persistence::exists?(id,opts)
267
267
  @status = 404
268
268
  return
269
269
  end
@@ -285,7 +285,7 @@ module CPEE
285
285
  opts = @a[0]
286
286
  redis = opts[:redis]
287
287
  id = @r[0].to_i
288
- unless redis.exists?("instance:#{id}/state")
288
+ unless CPEE::Persistence::exists?(id,opts)
289
289
  @status = 404
290
290
  return
291
291
  end
@@ -297,4 +297,11 @@ module CPEE
297
297
  end
298
298
  end #}}}
299
299
 
300
+ class FAIL < Riddl::Implementation #{{{
301
+ def response
302
+ @status = 404
303
+ nil
304
+ end
305
+ end #}}}
306
+
300
307
  end
@@ -19,11 +19,15 @@ module CPEE
19
19
 
20
20
  def self::implementation(id,opts)
21
21
  Proc.new do
22
- run CPEE::Callbacks::Callbacks, id, opts if get
23
- on resource do
24
- run CPEE::Callbacks::GetCallback, id, opts if get
25
- run CPEE::Callbacks::DelCallback, id, opts if delete
26
- run CPEE::Callbacks::ExCallback, id, opts if put
22
+ if CPEE::Persistence::exists?(id,opts)
23
+ run CPEE::Callbacks::Callbacks, id, opts if get
24
+ on resource do
25
+ run CPEE::Callbacks::GetCallback, id, opts if get
26
+ run CPEE::Callbacks::DelCallback, id, opts if delete
27
+ run CPEE::Callbacks::ExCallback, id, opts if put
28
+ end
29
+ else
30
+ run CPEE::FAIL
27
31
  end
28
32
  end
29
33
  end
@@ -19,23 +19,27 @@ module CPEE
19
19
 
20
20
  def self::implementation(id,opts)
21
21
  Proc.new do
22
- on resource "notifications" do
23
- run CPEE::Notifications::Overview if get
24
- on resource "topics" do
25
- run CPEE::Notifications::Topics, opts if get
26
- end
27
- on resource "subscriptions" do
28
- run CPEE::Notifications::Subscriptions, id, opts if get
29
- run CPEE::Notifications::CreateSubscription, id, opts if post 'create_subscription'
30
- on resource do
31
- run CPEE::Notifications::Subscription, id, opts if get
32
- run CPEE::Notifications::UpdateSubscription, id, opts if put 'change_subscription'
33
- run CPEE::Notifications::DeleteSubscription, id, opts if delete
34
- on resource 'sse' do
35
- run CPEE::Notifications::SSE, id, opts if sse
22
+ if CPEE::Persistence::exists?(id,opts)
23
+ on resource "notifications" do
24
+ run CPEE::Notifications::Overview if get
25
+ on resource "topics" do
26
+ run CPEE::Notifications::Topics, opts if get
27
+ end
28
+ on resource "subscriptions" do
29
+ run CPEE::Notifications::Subscriptions, id, opts if get
30
+ run CPEE::Notifications::CreateSubscription, id, opts if post 'create_subscription'
31
+ on resource do
32
+ run CPEE::Notifications::Subscription, id, opts if get
33
+ run CPEE::Notifications::UpdateSubscription, id, opts if put 'change_subscription'
34
+ run CPEE::Notifications::DeleteSubscription, id, opts if delete
35
+ on resource 'sse' do
36
+ run CPEE::Notifications::SSE, id, opts if sse
37
+ end
36
38
  end
37
39
  end
38
40
  end
41
+ else
42
+ run CPEE::FAIL
39
43
  end
40
44
  end
41
45
  end
@@ -25,71 +25,75 @@ module CPEE
25
25
 
26
26
  def self::implementation(id,opts)
27
27
  Proc.new do
28
- run CPEE::Properties::Get, id, opts if get
29
- run CPEE::Properties::Patch, id, opts if patch 'set-some-properties'
30
- run CPEE::Properties::Put, id, opts if put 'set-some-properties'
31
- on resource 'state' do
32
- run CPEE::Properties::GetStateMachine, id, opts if get 'machine'
33
- run CPEE::Properties::GetState, id, opts if get
34
- run CPEE::Properties::PutState, id, opts if put 'state'
35
- on resource '@changed' do
36
- run CPEE::Properties::GetStateChanged, id, opts if get
37
- end
38
- end
39
- on resource 'status' do
40
- run CPEE::Properties::GetStatus, id, opts if get
41
- run CPEE::Properties::PutStatus, id, opts if put 'status'
42
- on resource 'id' do
43
- run CPEE::Properties::GetStatusID, id, opts if get
44
- end
45
- on resource 'message' do
46
- run CPEE::Properties::GetStatusMessage, id, opts if get
47
- end
48
- end
49
- on resource 'executionhandler' do
50
- run CPEE::Properties::GetExecutionHandler, id, opts if get
51
- run CPEE::Properties::PutExecutionHandler, id, opts if put 'executionhandler'
52
- end
53
- on resource 'positions' do
54
- run CPEE::Properties::GetPositions, id, opts if get
55
- run CPEE::Properties::PatchPositions, id, opts if patch 'positions'
56
- run CPEE::Properties::PutPositions, id, opts if put 'positions'
57
- run CPEE::Properties::PostPositions, id, opts if post 'position'
58
- on resource do
59
- run CPEE::Properties::GetDetail, 'positions', id, opts if get
60
- run CPEE::Properties::SetDetail, id, opts if put 'detail'
61
- run CPEE::Properties::DelDetail, id, opts if delete
62
- on resource '@passthrough' do
63
- run CPEE::Properties::GetPt, id, opts if get
28
+ if CPEE::Persistence::exists?(id,opts)
29
+ run CPEE::Properties::Get, id, opts if get
30
+ run CPEE::Properties::Patch, id, opts if patch 'set-some-properties'
31
+ run CPEE::Properties::Put, id, opts if put 'set-some-properties'
32
+ on resource 'state' do
33
+ run CPEE::Properties::GetStateMachine, id, opts if get 'machine'
34
+ run CPEE::Properties::GetState, id, opts if get
35
+ run CPEE::Properties::PutState, id, opts if put 'state'
36
+ on resource '@changed' do
37
+ run CPEE::Properties::GetStateChanged, id, opts if get
64
38
  end
65
39
  end
66
- end
67
- %w{dataelements endpoints attributes}.each do |ele|
68
- on resource ele do
69
- run CPEE::Properties::GetItems, ele, id, opts if get
70
- run CPEE::Properties::PatchItems, ele, id, opts if patch ele
71
- run CPEE::Properties::PutItems, ele, id, opts if put ele
72
- run CPEE::Properties::PostItem, ele, id, opts if post ele[0..-2]
40
+ on resource 'status' do
41
+ run CPEE::Properties::GetStatus, id, opts if get
42
+ run CPEE::Properties::PutStatus, id, opts if put 'status'
43
+ on resource 'id' do
44
+ run CPEE::Properties::GetStatusID, id, opts if get
45
+ end
46
+ on resource 'message' do
47
+ run CPEE::Properties::GetStatusMessage, id, opts if get
48
+ end
49
+ end
50
+ on resource 'executionhandler' do
51
+ run CPEE::Properties::GetExecutionHandler, id, opts if get
52
+ run CPEE::Properties::PutExecutionHandler, id, opts if put 'executionhandler'
53
+ end
54
+ on resource 'positions' do
55
+ run CPEE::Properties::GetPositions, id, opts if get
56
+ run CPEE::Properties::PatchPositions, id, opts if patch 'positions'
57
+ run CPEE::Properties::PutPositions, id, opts if put 'positions'
58
+ run CPEE::Properties::PostPositions, id, opts if post 'position'
73
59
  on resource do
74
- run CPEE::Properties::GetItem, ele, id, opts if get
75
- run CPEE::Properties::SetItem, ele, id, opts if put 'string'
76
- run CPEE::Properties::DelItem, ele, id, opts if delete
60
+ run CPEE::Properties::GetDetail, 'positions', id, opts if get
61
+ run CPEE::Properties::SetDetail, id, opts if put 'detail'
62
+ run CPEE::Properties::DelDetail, id, opts if delete
63
+ on resource '@passthrough' do
64
+ run CPEE::Properties::GetPt, id, opts if get
65
+ end
77
66
  end
78
67
  end
79
- end
80
- on resource 'dsl' do
81
- run CPEE::Properties::GetComplex, 'dsl', 'text/plain', id, opts if get
82
- end
83
- on resource 'dslx' do
84
- run CPEE::Properties::GetComplex, 'dslx', 'text/xml', id, opts if get
85
- end
86
- on resource 'description' do
87
- run CPEE::Properties::GetComplex, 'description', 'text/xml', id, opts if get
88
- run CPEE::Properties::PutDescription, id, opts if put 'description'
89
- end
90
- on resource 'transformation' do
91
- run CPEE::Properties::GetTransformation, id, opts if get
92
- run CPEE::Properties::PutTransformation, id, opts if put 'transformation'
68
+ %w{dataelements endpoints attributes}.each do |ele|
69
+ on resource ele do
70
+ run CPEE::Properties::GetItems, ele, id, opts if get
71
+ run CPEE::Properties::PatchItems, ele, id, opts if patch ele
72
+ run CPEE::Properties::PutItems, ele, id, opts if put ele
73
+ run CPEE::Properties::PostItem, ele, id, opts if post ele[0..-2]
74
+ on resource do
75
+ run CPEE::Properties::GetItem, ele, id, opts if get
76
+ run CPEE::Properties::SetItem, ele, id, opts if put 'string'
77
+ run CPEE::Properties::DelItem, ele, id, opts if delete
78
+ end
79
+ end
80
+ end
81
+ on resource 'dsl' do
82
+ run CPEE::Properties::GetComplex, 'dsl', 'text/plain', id, opts if get
83
+ end
84
+ on resource 'dslx' do
85
+ run CPEE::Properties::GetComplex, 'dslx', 'text/xml', id, opts if get
86
+ end
87
+ on resource 'description' do
88
+ run CPEE::Properties::GetComplex, 'description', 'text/xml', id, opts if get
89
+ run CPEE::Properties::PutDescription, id, opts if put 'description'
90
+ end
91
+ on resource 'transformation' do
92
+ run CPEE::Properties::GetTransformation, id, opts if get
93
+ run CPEE::Properties::PutTransformation, id, opts if put 'transformation'
94
+ end
95
+ else
96
+ run CPEE::FAIL
93
97
  end
94
98
  end
95
99
  end
@@ -63,6 +63,10 @@ module CPEE
63
63
  opts[:redis].get("instance:#{id}/#{item}")
64
64
  end #}}}
65
65
 
66
+ def self::exists?(id,opts) #{{{
67
+ opts[:redis].exists?("instance:#{id}/state")
68
+ end #}}}
69
+
66
70
  def self::set_handler(id,opts,key,url,values,update=false) #{{{
67
71
  exis = opts[:redis].smembers("instance:#{id}/handlers/#{key}")
68
72
 
@@ -149,10 +149,8 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
149
149
  def activity_handle(passthrough, parameters) # {{{
150
150
  raise "Wrong endpoint" if @handler_endpoint.nil? || @handler_endpoint.empty?
151
151
  @label = parameters[:label]
152
- @sensors = parameters.dig(:stream,:sensors)
153
- @aggregators = parameters.dig(:stream,:aggregators)
154
- @costs = parameters.dig(:stream,:costs)
155
- @controller.notify("activity/calling", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters)
152
+ @anno = parameters.delete(:annotations) rescue nil
153
+ @controller.notify("activity/calling", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters, :annotations => @anno)
156
154
  if passthrough.to_s.empty?
157
155
  proto_curl parameters
158
156
  else
@@ -200,7 +198,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
200
198
  @controller.notify("status/change", :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position, :id => status.id, :message => status.message)
201
199
  end
202
200
  unless changed_dataelements.nil? || changed_dataelements.empty?
203
- de = dataelements.slice(*changed_dataelements).transform_values { |v| enc = detect_encoding(v); (enc == 'OTHER' ? v.inspect : (v.encode('UTF-8',enc) rescue convert_to_base64(v))) }
201
+ de = dataelements.slice(*changed_dataelements).transform_values { |v| enc = detect_encoding(v); (enc == 'OTHER' ? v : (v.encode('UTF-8',enc) rescue convert_to_base64(v))) }
204
202
  @controller.notify("dataelements/change", :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position, :changed => changed_dataelements, :values => de)
205
203
  end
206
204
  unless changed_endpoints.nil? || changed_endpoints.empty?
@@ -278,7 +276,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
278
276
  ''
279
277
  else
280
278
  enc = detect_encoding(ttt)
281
- enc == 'OTHER' ? ttt.inspect : (ttt.encode('UTF-8',enc) rescue convert_to_base64(ttt))
279
+ enc == 'OTHER' ? ttt : (ttt.encode('UTF-8',enc) rescue convert_to_base64(ttt))
282
280
  end
283
281
  elsif r.mimetype == 'text/plain' || r.mimetype == 'text/html'
284
282
  ttt = r.value.read
@@ -303,7 +301,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
303
301
  end
304
302
 
305
303
  def callback(result=nil,options={})
306
- @controller.notify("activity/receiving", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => structurize_result(result), :sensors => @sensors, :aggregators => @aggregators, :costs => @costs)
304
+ @controller.notify("activity/receiving", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => structurize_result(result), :annotations => @anno)
307
305
  @guard_files += result
308
306
  @handler_returnValue = simplify_result(result)
309
307
  @handler_returnOptions = options
@@ -403,6 +403,8 @@
403
403
  <xsl:template match="d:parameters">
404
404
  <xsl:apply-templates select="d:label" mode="parameter"/>
405
405
  <xsl:apply-templates select="d:*[not(name()='label')]" mode="parameter"/>
406
+ <xsl:if test="count(*) &gt; 0">, </xsl:if>
407
+ <xsl:apply-templates select="../d:annotations" mode="annotations"/>
406
408
  </xsl:template>
407
409
  <xsl:template match="d:label" mode="parameter">
408
410
  <xsl:text>:</xsl:text>
@@ -411,6 +413,14 @@
411
413
  <xsl:value-of select="str:replace(str:replace(text(),'\','\\'),'&quot;','\&quot;')"/>
412
414
  <xsl:text>"</xsl:text>
413
415
  </xsl:template>
416
+ <xsl:template match="d:annotations" mode="annotations">
417
+ <xsl:text>:</xsl:text>
418
+ <xsl:value-of select="name()"/>
419
+ <xsl:text> =&gt; </xsl:text>
420
+ <xsl:text>{ </xsl:text>
421
+ <xsl:apply-templates select="d:*" mode="simplemulti"/>
422
+ <xsl:text> }</xsl:text>
423
+ </xsl:template>
414
424
  <xsl:template match="d:*[not(name()='label')]" mode="parameter">
415
425
  <xsl:if test="count(preceding-sibling::*) &gt; 0">, </xsl:if>
416
426
  <xsl:text>:</xsl:text>
@@ -423,24 +433,6 @@
423
433
  <xsl:apply-templates select="d:*" mode="sub"/>
424
434
  <xsl:text>]</xsl:text>
425
435
  </xsl:when>
426
- <xsl:when test="count(*) &gt; 0 and name()='sensors'">
427
- <xsl:text>[</xsl:text>
428
- <xsl:apply-templates select="d:*" mode="plainmulti"/>
429
- <xsl:text>]</xsl:text>
430
- </xsl:when>
431
- <xsl:when test="count(*) &gt; 0 and name()='aggregators'">
432
- <xsl:text>[</xsl:text>
433
- <xsl:apply-templates select="d:*" mode="plainmulti"/>
434
- <xsl:text>]</xsl:text>
435
- </xsl:when>
436
- <xsl:when test="count(*) &gt; 0 and name()='costs'">
437
- <xsl:text>[</xsl:text>
438
- <xsl:apply-templates select="d:*" mode="plainmulti"/>
439
- <xsl:text>]</xsl:text>
440
- </xsl:when>
441
- <xsl:when test="count(*) &gt; 0 and name()='report'">
442
- <xsl:apply-templates select="d:*" mode="plainmulti"/>
443
- </xsl:when>
444
436
  <xsl:when test="count(*) &gt; 0 and not(name()='arguments')">
445
437
  <xsl:text>{</xsl:text>
446
438
  <xsl:apply-templates select="d:*" mode="parameter"/>
@@ -517,6 +509,34 @@
517
509
  </xsl:choose>
518
510
  <xsl:text> }</xsl:text>
519
511
  </xsl:template>
512
+ <xsl:template match="d:*" mode="simplemulti">
513
+ <xsl:if test="count(preceding-sibling::*) &gt; 0">, </xsl:if>
514
+ <xsl:text>:</xsl:text>
515
+ <xsl:value-of select="name()"/>
516
+ <xsl:text> =&gt; </xsl:text>
517
+ <xsl:choose>
518
+ <xsl:when test="count(*) &gt; 0">
519
+ <xsl:text>{</xsl:text>
520
+ <xsl:apply-templates select="d:*" mode="plain"/>
521
+ <xsl:text>}</xsl:text>
522
+ </xsl:when>
523
+ <xsl:when test="not(node())">
524
+ <xsl:text>nil</xsl:text>
525
+ </xsl:when>
526
+ <xsl:otherwise>
527
+ <xsl:choose>
528
+ <xsl:when test="substring(text(),1,1) = '!'">
529
+ <xsl:value-of select="substring(text(),2)"/>
530
+ </xsl:when>
531
+ <xsl:otherwise>
532
+ <xsl:text>"</xsl:text>
533
+ <xsl:value-of select="str:replace(str:replace(text(),'\','\\'),'&quot;','\&quot;')"/>
534
+ <xsl:text>"</xsl:text>
535
+ </xsl:otherwise>
536
+ </xsl:choose>
537
+ </xsl:otherwise>
538
+ </xsl:choose>
539
+ </xsl:template>
520
540
  <xsl:template name="format-name">
521
541
  <xsl:param name="tname"/>
522
542
  <xsl:choose>
@@ -0,0 +1,43 @@
1
+ <?xml version="1.0"?>
2
+ <description xmlns="http://cpee.org/ns/description/1.0">
3
+ <call id="a1" endpoint="">
4
+ <parameters>
5
+ <label>asdad</label>
6
+ <method>:post</method>
7
+ <arguments/>
8
+ </parameters>
9
+ <code>
10
+ <prepare/>
11
+ <finalize output="result"/>
12
+ <update output="result"/>
13
+ <rescue output="result"/>
14
+ </code>
15
+ <annotations>
16
+ <_timing>
17
+ <_timing_weight/>
18
+ <_timing_avg/>
19
+ <explanations/>
20
+ </_timing>
21
+ <_context_data_analysis>
22
+ <probes/>
23
+ <ips/>
24
+ </_context_data_analysis>
25
+ <report>
26
+ <url>http://hoellerersdsdf</url>
27
+ </report>
28
+ <_notes>
29
+ <_notes_general/>
30
+ </_notes>
31
+ </annotations>
32
+ <documentation>
33
+ <input/>
34
+ <output/>
35
+ <implementation>
36
+ <description/>
37
+ </implementation>
38
+ <code>
39
+ <description/>
40
+ </code>
41
+ </documentation>
42
+ </call>
43
+ </description>
data/tools/cpee CHANGED
@@ -119,14 +119,22 @@ elsif command == 'convert'
119
119
  doc.find('//d:parallel_branch/@pass').delete_all!
120
120
  doc.find('//d:parallel_branch/@local').delete_all!
121
121
  doc.find('//d:call').each do |c|
122
- c.find('d:annotations').first.add c.find('d:parameters/d:_context_data_analysis')
123
- c.find('d:annotations').first.add c.find('d:parameters/d:_report')
122
+ if c.find('d:annotations').empty?
123
+ c.add('d:annotations')
124
+ end
125
+ c.find('d:annotations').first.add c.find('d:parameters/d:_context_data_analysis') rescue nil
126
+ c.find('d:annotations').first.add c.find('d:parameters/d:report') rescue nil
127
+ c.find('d:annotations').first.add c.find('d:_timing') rescue nil
128
+ c.find('d:annotations').first.add c.find('d:_notes') rescue nil
129
+ c.find('d:parameters/d:sensors').delete_all! rescue nil
130
+ c.find('d:parameters/d:stream').delete_all! rescue nil
131
+ c.find('d:annotations').first.add c.find('d:parameters/d:report') rescue nil
124
132
  if c.find('d:documentation').empty?
125
133
  node = c.add('d:documentation')
126
- node.add c.find('d:input')
127
- node.add c.find('d:output')
128
- node.add c.find('d:implementation')
129
- node.add c.find('d:code[d:description]')
134
+ node.add c.find('d:input') rescue nil
135
+ node.add c.find('d:output') rescue nil
136
+ node.add c.find('d:implementation') rescue nil
137
+ node.add c.find('d:code[d:description]') rescue nil
130
138
  end
131
139
  end
132
140
  doc.find('//x:handlerwrapper').delete_all!
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.24
4
+ version: 2.1.29
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: 2021-11-03 00:00:00.000000000 Z
13
+ date: 2021-11-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: riddl
@@ -226,8 +226,15 @@ files:
226
226
  - cockpit/templates/IUPC arXiv:1104.3609 P34 1.xml
227
227
  - cockpit/templates/IUPC arXiv:1104.3609 P34 2.xml
228
228
  - cockpit/templates/IUPC arXiv:1104.3609 P34 3.xml
229
+ - cockpit/templates/Subprocess.xml
230
+ - cockpit/templates/Subprocess.xml.active
231
+ - cockpit/templates/Subprocess.xml.active-uuid
232
+ - cockpit/templates/Subprocess.xml.attrs
229
233
  - cockpit/templates/Track Test Local.xml
230
234
  - cockpit/templates/Track Test.xml
235
+ - cockpit/templates/Track Test.xml.active
236
+ - cockpit/templates/Track Test.xml.active-uuid
237
+ - cockpit/templates/Track Test.xml.attrs
231
238
  - cockpit/templates/UR-VUE 2020 Manual Adjust.xml
232
239
  - cockpit/templates/UR-VUE 2020 Solution Baseline.xml
233
240
  - cockpit/templates/UR-VUE 2020 Solution Baseline.xml.active
@@ -235,6 +242,10 @@ files:
235
242
  - cockpit/templates/UR-VUE 2020 Solution NN.xml
236
243
  - cockpit/templates/UR-VUE 2020 Solution View.xml
237
244
  - cockpit/templates/UR-VUE 2020.xml
245
+ - cockpit/templates/Wait.xml
246
+ - cockpit/templates/Wait.xml.active
247
+ - cockpit/templates/Wait.xml.active-uuid
248
+ - cockpit/templates/Wait.xml.attrs
238
249
  - cockpit/templates/Worklist.xml
239
250
  - cockpit/templates/instantiate.local/Take_Sub.xml
240
251
  - cockpit/templates/instantiate/Take_Perf.xml
@@ -652,6 +663,7 @@ files:
652
663
  - server/executionhandlers/ruby/controller.rb
653
664
  - server/executionhandlers/ruby/dsl_to_dslx.xsl
654
665
  - server/executionhandlers/ruby/execution.rb
666
+ - server/executionhandlers/ruby/test.xml
655
667
  - server/resources/empty_dslx.xml
656
668
  - server/resources/notifications/logging/subscription.xml
657
669
  - server/resources/properties.empty