cpee 2.1.21 → 2.1.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/cockpit/themes/compact/rngs/call.rng +110 -108
- data/cockpit/themes/compact/rngs/callmanipulate.rng +90 -87
- data/cockpit/themes/compact/rngs/parallel_branch.rng +1 -7
- data/cockpit/themes/control/rngs/call.rng +110 -108
- data/cockpit/themes/control/rngs/callmanipulate.rng +90 -87
- data/cockpit/themes/control/rngs/parallel_branch.rng +1 -7
- data/cockpit/themes/control/theme.js +1 -1
- data/cockpit/themes/default/rngs/call.rng +110 -108
- data/cockpit/themes/default/rngs/callmanipulate.rng +90 -87
- data/cockpit/themes/default/rngs/parallel_branch.rng +1 -7
- data/cockpit/themes/extended/rngs/call.rng +110 -108
- data/cockpit/themes/extended/rngs/callmanipulate.rng +90 -87
- data/cockpit/themes/extended/rngs/parallel_branch.rng +1 -7
- data/cockpit/themes/model/rngs/call.rng +24 -22
- data/cockpit/themes/model/rngs/callmanipulate.rng +28 -26
- data/cockpit/themes/packed/rngs/call.rng +110 -108
- data/cockpit/themes/packed/rngs/callmanipulate.rng +90 -87
- data/cockpit/themes/packed/rngs/parallel_branch.rng +1 -7
- data/cockpit/themes/preset/rngs/call.rng +110 -108
- data/cockpit/themes/preset/rngs/callmanipulate.rng +90 -87
- data/cockpit/themes/preset/rngs/parallel_branch.rng +1 -7
- data/cpee.gemspec +1 -1
- data/server/executionhandlers/ruby/connection.rb +27 -12
- data/tools/cpee +13 -0
- metadata +2 -2
@@ -25,92 +25,6 @@
|
|
25
25
|
</element>
|
26
26
|
</zeroOrMore>
|
27
27
|
</element>
|
28
|
-
<element name="_context_data_analysis" rngui:header="Context Data Analysis" rngui:hint="All data returned from the endpoint implementing this task as well as arbitray external data streams can be consumed and transformed in data probes. All probes can be the basis for impact factors. Please go to start to define instance data probes.">
|
29
|
-
|
30
|
-
<element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed">
|
31
|
-
<zeroOrMore rngui:label="Add Probe">
|
32
|
-
<element name="probe">
|
33
|
-
<element name="name" rngui:label="Label">
|
34
|
-
<data type="string" rngui:label="Label"/>
|
35
|
-
</element>
|
36
|
-
<element name="extractor_type" rngui:label="Extractor Type">
|
37
|
-
<choice>
|
38
|
-
<value id='code'>Code</value>
|
39
|
-
<value id='service'>Service</value>
|
40
|
-
</choice>
|
41
|
-
</element>
|
42
|
-
<element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For extrinsic data'>
|
43
|
-
<text rngui:label="Code"/>
|
44
|
-
</element>
|
45
|
-
<element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For extrinsic & discrete data'>
|
46
|
-
<data type="string" rngui:label="Service Url"/>
|
47
|
-
</element>
|
48
|
-
<element name="extractor_params" rngui:label="Extractor Service Arguments:">
|
49
|
-
<zeroOrMore rngui:label="Create Argument Pairs">
|
50
|
-
<element rngui:label="Name">
|
51
|
-
<anyName/>
|
52
|
-
<data type="string" rngui:label="Value / Json"/>
|
53
|
-
</element>
|
54
|
-
</zeroOrMore>
|
55
|
-
</element>
|
56
|
-
<element name="visualizer_url" rngui:label="Visualizer Url">
|
57
|
-
<data type="string" rngui:label="Service Url"/>
|
58
|
-
</element>
|
59
|
-
<element name="visualizer_params" rngui:label="Visualizer Arguments">
|
60
|
-
<zeroOrMore rngui:label="Create Argument Pairs">
|
61
|
-
<element rngui:label="Name">
|
62
|
-
<anyName/>
|
63
|
-
<data type="string" rngui:label="Value / Json"/>
|
64
|
-
</element>
|
65
|
-
</zeroOrMore>
|
66
|
-
</element>
|
67
|
-
</element>
|
68
|
-
</zeroOrMore>
|
69
|
-
</element>
|
70
|
-
|
71
|
-
<element name="ips" rngui:header="Impact Profiles" rngui:fold="closed">
|
72
|
-
<zeroOrMore rngui:label="Add Impact Profile">
|
73
|
-
<element name="ip">
|
74
|
-
<element name="name" rngui:label="Label">
|
75
|
-
<data type="string" rngui:label="Label"/>
|
76
|
-
</element>
|
77
|
-
<element name="target" rngui:label="Target Value">
|
78
|
-
<data type="string" rngui:label="Value"/>
|
79
|
-
</element>
|
80
|
-
<element name="ifs" rngui:header="Impact Factors">
|
81
|
-
<zeroOrMore rngui:label="Add Impact Factor">
|
82
|
-
<element name="if">
|
83
|
-
<element name="ivs" rngui:header="Impact Values">
|
84
|
-
<zeroOrMore rngui:label="Add Impact Value ">
|
85
|
-
<element name="iv">
|
86
|
-
<element name="extractor_url" rngui:label="Extractor Url">
|
87
|
-
<data type="string" rngui:label="Service Url + Parameters"/>
|
88
|
-
</element>
|
89
|
-
<element name="aggregator_url" rngui:label="Aggregator Url">
|
90
|
-
<data type="string" rngui:label="Service Url + Parameters"/>
|
91
|
-
</element>
|
92
|
-
</element>
|
93
|
-
</zeroOrMore>
|
94
|
-
</element>
|
95
|
-
<element name="aggregator_url" rngui:label="Impact Function Url">
|
96
|
-
<data type="string" rngui:label="Service Url + Parameters"/>
|
97
|
-
</element>
|
98
|
-
</element>
|
99
|
-
</zeroOrMore>
|
100
|
-
</element>
|
101
|
-
<element name="vfunc_url" rngui:label="Violation Function Url">
|
102
|
-
<data type="string" rngui:label="Service Url + Parameters"/>
|
103
|
-
</element>
|
104
|
-
</element>
|
105
|
-
</zeroOrMore>
|
106
|
-
</element>
|
107
|
-
|
108
|
-
</element>
|
109
|
-
<element name="report" rngui:header="Reporting" rngui:fold="closed">
|
110
|
-
<element name="url" rngui:label='HTML Snippet'>
|
111
|
-
<data type="string" rngui:label="url to report snippet"/>
|
112
|
-
</element>
|
113
|
-
</element>
|
114
28
|
</element>
|
115
29
|
<element name="annotations" rngui:header="Annotations">
|
116
30
|
<element name="_timing" rngui:header="Timing" rngui:fold="closed">
|
@@ -120,6 +34,92 @@
|
|
120
34
|
<element name="_timing_avg" rngui:label="Avg in min">
|
121
35
|
<data type="float" rngui:label="Minutes"/>
|
122
36
|
</element>
|
37
|
+
<element name="_context_data_analysis" rngui:header="Context Data Analysis" rngui:hint="All data returned from the endpoint implementing this task as well as arbitray external data streams can be consumed and transformed in data probes. All probes can be the basis for impact factors. Please go to start to define instance data probes.">
|
38
|
+
|
39
|
+
<element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed">
|
40
|
+
<zeroOrMore rngui:label="Add Probe">
|
41
|
+
<element name="probe">
|
42
|
+
<element name="name" rngui:label="Label">
|
43
|
+
<data type="string" rngui:label="Label"/>
|
44
|
+
</element>
|
45
|
+
<element name="extractor_type" rngui:label="Extractor Type">
|
46
|
+
<choice>
|
47
|
+
<value id='code'>Code</value>
|
48
|
+
<value id='service'>Service</value>
|
49
|
+
</choice>
|
50
|
+
</element>
|
51
|
+
<element name="extractor_code" rngui:label="Extractor Code" rngui:hint='For extrinsic data'>
|
52
|
+
<text rngui:label="Code"/>
|
53
|
+
</element>
|
54
|
+
<element name="extractor_url" rngui:label="Extractor Service" rngui:hint='For extrinsic & discrete data'>
|
55
|
+
<data type="string" rngui:label="Service Url"/>
|
56
|
+
</element>
|
57
|
+
<element name="extractor_params" rngui:label="Extractor Service Arguments:">
|
58
|
+
<zeroOrMore rngui:label="Create Argument Pairs">
|
59
|
+
<element rngui:label="Name">
|
60
|
+
<anyName/>
|
61
|
+
<data type="string" rngui:label="Value / Json"/>
|
62
|
+
</element>
|
63
|
+
</zeroOrMore>
|
64
|
+
</element>
|
65
|
+
<element name="visualizer_url" rngui:label="Visualizer Url">
|
66
|
+
<data type="string" rngui:label="Service Url"/>
|
67
|
+
</element>
|
68
|
+
<element name="visualizer_params" rngui:label="Visualizer Arguments">
|
69
|
+
<zeroOrMore rngui:label="Create Argument Pairs">
|
70
|
+
<element rngui:label="Name">
|
71
|
+
<anyName/>
|
72
|
+
<data type="string" rngui:label="Value / Json"/>
|
73
|
+
</element>
|
74
|
+
</zeroOrMore>
|
75
|
+
</element>
|
76
|
+
</element>
|
77
|
+
</zeroOrMore>
|
78
|
+
</element>
|
79
|
+
|
80
|
+
<element name="ips" rngui:header="Impact Profiles" rngui:fold="closed">
|
81
|
+
<zeroOrMore rngui:label="Add Impact Profile">
|
82
|
+
<element name="ip">
|
83
|
+
<element name="name" rngui:label="Label">
|
84
|
+
<data type="string" rngui:label="Label"/>
|
85
|
+
</element>
|
86
|
+
<element name="target" rngui:label="Target Value">
|
87
|
+
<data type="string" rngui:label="Value"/>
|
88
|
+
</element>
|
89
|
+
<element name="ifs" rngui:header="Impact Factors">
|
90
|
+
<zeroOrMore rngui:label="Add Impact Factor">
|
91
|
+
<element name="if">
|
92
|
+
<element name="ivs" rngui:header="Impact Values">
|
93
|
+
<zeroOrMore rngui:label="Add Impact Value ">
|
94
|
+
<element name="iv">
|
95
|
+
<element name="extractor_url" rngui:label="Extractor Url">
|
96
|
+
<data type="string" rngui:label="Service Url + Parameters"/>
|
97
|
+
</element>
|
98
|
+
<element name="aggregator_url" rngui:label="Aggregator Url">
|
99
|
+
<data type="string" rngui:label="Service Url + Parameters"/>
|
100
|
+
</element>
|
101
|
+
</element>
|
102
|
+
</zeroOrMore>
|
103
|
+
</element>
|
104
|
+
<element name="aggregator_url" rngui:label="Impact Function Url">
|
105
|
+
<data type="string" rngui:label="Service Url + Parameters"/>
|
106
|
+
</element>
|
107
|
+
</element>
|
108
|
+
</zeroOrMore>
|
109
|
+
</element>
|
110
|
+
<element name="vfunc_url" rngui:label="Violation Function Url">
|
111
|
+
<data type="string" rngui:label="Service Url + Parameters"/>
|
112
|
+
</element>
|
113
|
+
</element>
|
114
|
+
</zeroOrMore>
|
115
|
+
</element>
|
116
|
+
|
117
|
+
</element>
|
118
|
+
<element name="report" rngui:header="Reporting" rngui:fold="closed">
|
119
|
+
<element name="url" rngui:label='HTML Snippet'>
|
120
|
+
<data type="string" rngui:label="url to report snippet"/>
|
121
|
+
</element>
|
122
|
+
</element>
|
123
123
|
<element name="explanations" rngui:header="Explanations">
|
124
124
|
<zeroOrMore rngui:label="Add Explanation">
|
125
125
|
<element name="explanation">
|
@@ -155,29 +155,31 @@
|
|
155
155
|
</element>
|
156
156
|
</element>
|
157
157
|
</element>
|
158
|
-
<element name="input" rngui:header="
|
159
|
-
<
|
160
|
-
<
|
161
|
-
<
|
162
|
-
<
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
<
|
170
|
-
<
|
171
|
-
<
|
172
|
-
<
|
173
|
-
|
174
|
-
|
158
|
+
<element name="input" rngui:header="Documentation">
|
159
|
+
<element name="input" rngui:header="Input Arguments" rngui:fold="closed">
|
160
|
+
<zeroOrMore rngui:label="Create Argument">
|
161
|
+
<element name="item" rngui:label="Description">
|
162
|
+
<attribute name="label" rngui:label="Name">
|
163
|
+
<data type="string"/>
|
164
|
+
</attribute>
|
165
|
+
<text rngui:wrap="true" rngui:label="What does it do?"/>
|
166
|
+
</element>
|
167
|
+
</zeroOrMore>
|
168
|
+
</element>
|
169
|
+
<element name="output" rngui:header="Output Elements" rngui:fold="closed">
|
170
|
+
<zeroOrMore rngui:label="Create Element">
|
171
|
+
<element name="item" rngui:label="Description">
|
172
|
+
<attribute name="label" rngui:label="Name">
|
173
|
+
<data type="string"/>
|
174
|
+
</attribute>
|
175
|
+
<text rngui:wrap="true" rngui:label="What does it do?"/>
|
176
|
+
</element>
|
177
|
+
</zeroOrMore>
|
178
|
+
</element>
|
179
|
+
<element name="implementation" rngui:header="Implementation" rngui:fold="closed">
|
180
|
+
<element name="description" rngui:label="Description">
|
181
|
+
<text rngui:wrap="true" rngui:label="What is supposed to happen?"/>
|
175
182
|
</element>
|
176
|
-
</zeroOrMore>
|
177
|
-
</element>
|
178
|
-
<element name="implementation" rngui:header="Implementation Documentation" rngui:fold="closed">
|
179
|
-
<element name="description" rngui:label="Description">
|
180
|
-
<text rngui:wrap="true" rngui:label="What is supposed to happen?"/>
|
181
183
|
</element>
|
182
184
|
</element>
|
183
185
|
</element>
|
@@ -25,6 +25,67 @@
|
|
25
25
|
</element>
|
26
26
|
</zeroOrMore>
|
27
27
|
</element>
|
28
|
+
</element>
|
29
|
+
<element name="code" rngui:header="Output Handling">
|
30
|
+
<element name="prepare" rngui:header="Prepare" rngui:label="Code" rngui:fold="closed_conditional">
|
31
|
+
<text rngui:label="Script that is executed, before a service call"/>
|
32
|
+
</element>
|
33
|
+
<element name="finalize" rngui:header="Finalize" rngui:label="Code" rngui:fold="closed_conditional">
|
34
|
+
<attribute name="output" rngui:label="Access Variable" rngui:default="result">
|
35
|
+
<data type="string" rngui:readonly="true"/>
|
36
|
+
</attribute>
|
37
|
+
<text rngui:label="Script that is executed, when a service returns data"/>
|
38
|
+
</element>
|
39
|
+
<element name="update" rngui:header="Update" rngui:label="Code" rngui:fold="closed_conditional">
|
40
|
+
<attribute name="output" rngui:label="Access Variable" rngui:default="result">
|
41
|
+
<data type="string" rngui:readonly="true"/>
|
42
|
+
</attribute>
|
43
|
+
<text rngui:label="Script that is executed, when a service sends intermediate data"/>
|
44
|
+
</element>
|
45
|
+
<element name="rescue" rngui:header="Rescue" rngui:label="Code" rngui:fold="closed_conditional">
|
46
|
+
<attribute name="output" rngui:label="Access Variable" rngui:default="result">
|
47
|
+
<data type="string" rngui:readonly="true"/>
|
48
|
+
</attribute>
|
49
|
+
<text rngui:label="Script that is executed, if a service call fails"/>
|
50
|
+
</element>
|
51
|
+
</element>
|
52
|
+
<element name="annotations" rngui:header="Annotations">
|
53
|
+
<element name="_timing" rngui:header="Timing" rngui:fold="closed">
|
54
|
+
<element name="_timing_weight" rngui:label="ω - Weight">
|
55
|
+
<data type="float" rngui:label="[0,1]"/>
|
56
|
+
</element>
|
57
|
+
<element name="_timing_avg" rngui:label="Avg in min">
|
58
|
+
<data type="float" rngui:label="Minutes"/>
|
59
|
+
</element>
|
60
|
+
<element name="explanations" rngui:header="Explanations">
|
61
|
+
<zeroOrMore rngui:label="Add Explanation">
|
62
|
+
<element name="explanation">
|
63
|
+
<element name="type" rngui:label="Type">
|
64
|
+
<choice>
|
65
|
+
<value>></value>
|
66
|
+
<value><</value>
|
67
|
+
</choice>
|
68
|
+
</element>
|
69
|
+
<element name="deviation" rngui:label="Deviation">
|
70
|
+
<data type="float" rngui:label="Minutes"/>
|
71
|
+
</element>
|
72
|
+
<element name="behaviour" rngui:label="Behaviour">
|
73
|
+
<choice>
|
74
|
+
<value>Immediately</value>
|
75
|
+
<value>Wait until next</value>
|
76
|
+
<value>Use grace period value</value>
|
77
|
+
</choice>
|
78
|
+
</element>
|
79
|
+
<element name="grace" rngui:label="Grace Period" rngui:default="0.0">
|
80
|
+
<data type="float" rngui:label="Minutes"/>
|
81
|
+
</element>
|
82
|
+
<element name="text" rngui:label="Explanation">
|
83
|
+
<data type="string" rngui:label="Patterns"/>
|
84
|
+
</element>
|
85
|
+
</element>
|
86
|
+
</zeroOrMore>
|
87
|
+
</element>
|
88
|
+
</element>
|
28
89
|
<element name="_context_data_analysis" rngui:header="Context Data Analysis" rngui:hint="All data returned from the endpoint implementing this task as well as arbitray external data streams can be consumed and transformed in data probes. All probes can be the basis for impact factors. Please go to start to define instance data probes.">
|
29
90
|
|
30
91
|
<element name="probes" rngui:header="Data Probes - Context Data Extraction" rngui:fold="closed">
|
@@ -127,101 +188,43 @@
|
|
127
188
|
<data type="string" rngui:label="url to report snippet"/>
|
128
189
|
</element>
|
129
190
|
</element>
|
130
|
-
</element>
|
131
|
-
<element name="code" rngui:header="Output Handling">
|
132
|
-
<element name="prepare" rngui:header="Prepare" rngui:label="Code" rngui:fold="closed_conditional">
|
133
|
-
<text rngui:label="Script that is executed, before a service call"/>
|
134
|
-
</element>
|
135
|
-
<element name="finalize" rngui:header="Finalize" rngui:label="Code" rngui:fold="closed_conditional">
|
136
|
-
<attribute name="output" rngui:label="Access Variable" rngui:default="result">
|
137
|
-
<data type="string" rngui:readonly="true"/>
|
138
|
-
</attribute>
|
139
|
-
<text rngui:label="Script that is executed, when a service returns data"/>
|
140
|
-
</element>
|
141
|
-
<element name="update" rngui:header="Update" rngui:label="Code" rngui:fold="closed_conditional">
|
142
|
-
<attribute name="output" rngui:label="Access Variable" rngui:default="result">
|
143
|
-
<data type="string" rngui:readonly="true"/>
|
144
|
-
</attribute>
|
145
|
-
<text rngui:label="Script that is executed, when a service sends intermediate data"/>
|
146
|
-
</element>
|
147
|
-
<element name="rescue" rngui:header="Rescue" rngui:label="Code" rngui:fold="closed_conditional">
|
148
|
-
<attribute name="output" rngui:label="Access Variable" rngui:default="result">
|
149
|
-
<data type="string" rngui:readonly="true"/>
|
150
|
-
</attribute>
|
151
|
-
<text rngui:label="Script that is executed, if a service call fails"/>
|
152
|
-
</element>
|
153
|
-
</element>
|
154
|
-
<element name="annotations" rngui:header="Annotations">
|
155
|
-
<element name="_timing" rngui:header="Timing" rngui:fold="closed">
|
156
|
-
<element name="_timing_weight" rngui:label="ω - Weight">
|
157
|
-
<data type="float" rngui:label="[0,1]"/>
|
158
|
-
</element>
|
159
|
-
<element name="_timing_avg" rngui:label="Avg in min">
|
160
|
-
<data type="float" rngui:label="Minutes"/>
|
161
|
-
</element>
|
162
|
-
<element name="explanations" rngui:header="Explanations">
|
163
|
-
<zeroOrMore rngui:label="Add Explanation">
|
164
|
-
<element name="explanation">
|
165
|
-
<element name="type" rngui:label="Type">
|
166
|
-
<choice>
|
167
|
-
<value>></value>
|
168
|
-
<value><</value>
|
169
|
-
</choice>
|
170
|
-
</element>
|
171
|
-
<element name="deviation" rngui:label="Deviation">
|
172
|
-
<data type="float" rngui:label="Minutes"/>
|
173
|
-
</element>
|
174
|
-
<element name="behaviour" rngui:label="Behaviour">
|
175
|
-
<choice>
|
176
|
-
<value>Immediately</value>
|
177
|
-
<value>Wait until next</value>
|
178
|
-
<value>Use grace period value</value>
|
179
|
-
</choice>
|
180
|
-
</element>
|
181
|
-
<element name="grace" rngui:label="Grace Period" rngui:default="0.0">
|
182
|
-
<data type="float" rngui:label="Minutes"/>
|
183
|
-
</element>
|
184
|
-
<element name="text" rngui:label="Explanation">
|
185
|
-
<data type="string" rngui:label="Patterns"/>
|
186
|
-
</element>
|
187
|
-
</element>
|
188
|
-
</zeroOrMore>
|
189
|
-
</element>
|
190
|
-
</element>
|
191
191
|
<element name="_notes" rngui:header="Notes" rngui:fold="closed">
|
192
192
|
<element name="_notes_general" rngui:label="General">
|
193
193
|
<text rngui:wrap="true" rngui:label="Notes"/>
|
194
194
|
</element>
|
195
195
|
</element>
|
196
196
|
</element>
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
197
|
+
|
198
|
+
<element name="input" rngui:header="Documentation">
|
199
|
+
<element name="input" rngui:header="Input Arguments" rngui:fold="closed">
|
200
|
+
<zeroOrMore rngui:label="Create Argument">
|
201
|
+
<element name="item" rngui:label="Description">
|
202
|
+
<attribute name="label" rngui:label="Name">
|
203
|
+
<data type="string"/>
|
204
|
+
</attribute>
|
205
|
+
<text rngui:wrap="true" rngui:label="What does it do?"/>
|
206
|
+
</element>
|
207
|
+
</zeroOrMore>
|
208
|
+
</element>
|
209
|
+
<element name="output" rngui:header="Output Elements" rngui:fold="closed">
|
210
|
+
<zeroOrMore rngui:label="Create Element">
|
211
|
+
<element name="item" rngui:label="Description">
|
212
|
+
<attribute name="label" rngui:label="Name">
|
213
|
+
<data type="string"/>
|
214
|
+
</attribute>
|
215
|
+
<text rngui:wrap="true" rngui:label="What does it do?"/>
|
216
|
+
</element>
|
217
|
+
</zeroOrMore>
|
218
|
+
</element>
|
219
|
+
<element name="implementation" rngui:header="Implementation" rngui:fold="closed">
|
220
|
+
<element name="description" rngui:label="Description">
|
221
|
+
<text rngui:wrap="true" rngui:label="What is supposed to happen?"/>
|
214
222
|
</element>
|
215
|
-
</zeroOrMore>
|
216
|
-
</element>
|
217
|
-
<element name="implementation" rngui:header="Implementation Documentation" rngui:fold="closed">
|
218
|
-
<element name="description" rngui:label="Description">
|
219
|
-
<text rngui:wrap="true" rngui:label="What is supposed to happen?"/>
|
220
223
|
</element>
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
224
|
+
<element name="code" rngui:header="Output Handling" rngui:fold="closed">
|
225
|
+
<element name="description" rngui:label="Description">
|
226
|
+
<text rngui:wrap="true" rngui:label="Which output elements are important? How to transform and save them?"/>
|
227
|
+
</element>
|
225
228
|
</element>
|
226
229
|
</element>
|
227
230
|
</element>
|
@@ -1,8 +1,2 @@
|
|
1
1
|
<element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="parallel_branch" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
|
2
|
-
|
3
|
-
<data type="string" rngui:label="Data element passed to the local scope, thus not affected by global changes ..."/>
|
4
|
-
</attribute>
|
5
|
-
<attribute name="local" rngui:label="Local scope">
|
6
|
-
<data type="string" rngui:label="Name of the passed data element in the local scope ..."/>
|
7
|
-
</attribute>
|
8
|
-
</element>
|
2
|
+
</element>
|
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.
|
3
|
+
s.version = "2.1.22"
|
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."
|
@@ -13,6 +13,7 @@
|
|
13
13
|
# <http://www.gnu.org/licenses/>.
|
14
14
|
|
15
15
|
require 'charlock_holmes'
|
16
|
+
require 'mimemagic'
|
16
17
|
require 'base64'
|
17
18
|
|
18
19
|
class ConnectionWrapper < WEEL::ConnectionWrapperBase
|
@@ -199,7 +200,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
|
|
199
200
|
@controller.notify("status/change", :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position, :id => status.id, :message => status.message)
|
200
201
|
end
|
201
202
|
unless changed_dataelements.nil? || changed_dataelements.empty?
|
202
|
-
de = dataelements.slice(*changed_dataelements).transform_values { |v| enc = detect_encoding(v); (enc == '
|
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))) }
|
203
204
|
@controller.notify("dataelements/change", :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position, :changed => changed_dataelements, :values => de)
|
204
205
|
end
|
205
206
|
unless changed_endpoints.nil? || changed_endpoints.empty?
|
@@ -245,19 +246,25 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
|
|
245
246
|
|
246
247
|
def detect_encoding(text)
|
247
248
|
if text.is_a? String
|
248
|
-
|
249
|
-
|
250
|
-
res[:encoding]
|
249
|
+
if text.valid_encoding? && text.encoding.name == 'UTF-8'
|
250
|
+
'UTF-8'
|
251
251
|
else
|
252
|
-
|
252
|
+
res = CharlockHolmes::EncodingDetector.detect(text)
|
253
|
+
if res.is_a?(Hash) && res[:type] == :text && res[:ruby_encoding] != "binary"
|
254
|
+
res[:encoding]
|
255
|
+
elsif res.is_a?(Hash) && res[:type] == :binary
|
256
|
+
'BINARY'
|
257
|
+
else
|
258
|
+
'ISO-8859-1'
|
259
|
+
end
|
253
260
|
end
|
254
261
|
else
|
255
|
-
'
|
262
|
+
'OTHER'
|
256
263
|
end
|
257
264
|
end
|
258
265
|
|
259
266
|
def convert_to_base64(text)
|
260
|
-
'data:application/octet-stream;base64,' + Base64::
|
267
|
+
('data:' + MimeMagic.by_magic(text).type + ';base64,' + Base64::encode64(text)) rescue ('data:application/octet-stream;base64,' + Base64::encode64(text))
|
261
268
|
end
|
262
269
|
|
263
270
|
def structurize_result(result)
|
@@ -266,20 +273,28 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
|
|
266
273
|
{ 'name' => r.name, 'data' => r.value }
|
267
274
|
elsif r.is_a? Riddl::Parameter::Complex
|
268
275
|
res = if r.mimetype == 'application/json'
|
269
|
-
JSON::parse(r.value.read) rescue nil
|
276
|
+
ttt = JSON::parse(r.value.read) rescue nil
|
277
|
+
if ttt.nil?
|
278
|
+
''
|
279
|
+
else
|
280
|
+
enc = detect_encoding(ttt)
|
281
|
+
enc == 'OTHER' ? ttt.inspect : (ttt.encode('UTF-8',enc) rescue convert_to_base64(ttt))
|
282
|
+
end
|
270
283
|
elsif r.mimetype == 'text/plain' || r.mimetype == 'text/html'
|
271
284
|
ttt = r.value.read
|
272
285
|
ttt = ttt.to_f if ttt == ttt.to_f.to_s
|
273
286
|
ttt = ttt.to_i if ttt == ttt.to_i.to_s
|
274
|
-
ttt
|
287
|
+
enc = detect_encoding(ttt)
|
288
|
+
enc == 'OTHER' ? ttt.inspect : (ttt.encode('UTF-8',enc) rescue convert_to_base64(ttt))
|
275
289
|
else
|
276
|
-
r.value.read
|
290
|
+
convert_to_base64(r.value.read)
|
291
|
+
r.value.rewind
|
277
292
|
end
|
278
|
-
|
293
|
+
|
279
294
|
tmp = {
|
280
295
|
'name' => r.name == '' ? 'result' : r.name,
|
281
296
|
'mimetype' => r.mimetype,
|
282
|
-
'data' =>
|
297
|
+
'data' => res.to_s
|
283
298
|
}
|
284
299
|
r.value.rewind
|
285
300
|
tmp
|
data/tools/cpee
CHANGED
@@ -116,6 +116,19 @@ elsif command == 'convert'
|
|
116
116
|
doc.root.prepend('x:executionhandler','ruby')
|
117
117
|
end
|
118
118
|
end rescue nil
|
119
|
+
doc.find('//d:parallel_branch/@pass').delete_all!
|
120
|
+
doc.find('//d:parallel_branch/@local').delete_all!
|
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')
|
124
|
+
if c.find('d:documentation').empty?
|
125
|
+
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]')
|
130
|
+
end
|
131
|
+
end
|
119
132
|
doc.find('//x:handlerwrapper').delete_all!
|
120
133
|
doc.find('//d:finalize | //d:update | //d:prepare | //d:rescue').each do |e|
|
121
134
|
if e.parent.qname.name != 'code'
|
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.
|
4
|
+
version: 2.1.22
|
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-
|
13
|
+
date: 2021-11-03 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: riddl
|