cpee 2.1.17 → 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/lib/cpee/implementation_properties.rb +2 -0
- data/server/executionhandlers/ruby/backend/instance.template +1 -0
- data/server/executionhandlers/ruby/connection.rb +32 -7
- data/tools/cpee +13 -6
- data/tools/server/cpee +1 -1
- metadata +3 -3
@@ -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| detect_encoding(v) == '
|
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?
|
@@ -244,11 +245,26 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
|
|
244
245
|
end
|
245
246
|
|
246
247
|
def detect_encoding(text)
|
247
|
-
|
248
|
+
if text.is_a? String
|
249
|
+
if text.valid_encoding? && text.encoding.name == 'UTF-8'
|
250
|
+
'UTF-8'
|
251
|
+
else
|
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
|
260
|
+
end
|
261
|
+
else
|
262
|
+
'OTHER'
|
263
|
+
end
|
248
264
|
end
|
249
265
|
|
250
266
|
def convert_to_base64(text)
|
251
|
-
'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))
|
252
268
|
end
|
253
269
|
|
254
270
|
def structurize_result(result)
|
@@ -257,19 +273,28 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
|
|
257
273
|
{ 'name' => r.name, 'data' => r.value }
|
258
274
|
elsif r.is_a? Riddl::Parameter::Complex
|
259
275
|
res = if r.mimetype == 'application/json'
|
260
|
-
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
|
261
283
|
elsif r.mimetype == 'text/plain' || r.mimetype == 'text/html'
|
262
284
|
ttt = r.value.read
|
263
285
|
ttt = ttt.to_f if ttt == ttt.to_f.to_s
|
264
286
|
ttt = ttt.to_i if ttt == ttt.to_i.to_s
|
265
|
-
ttt
|
287
|
+
enc = detect_encoding(ttt)
|
288
|
+
enc == 'OTHER' ? ttt.inspect : (ttt.encode('UTF-8',enc) rescue convert_to_base64(ttt))
|
266
289
|
else
|
267
|
-
r.value.read
|
290
|
+
convert_to_base64(r.value.read)
|
291
|
+
r.value.rewind
|
268
292
|
end
|
293
|
+
|
269
294
|
tmp = {
|
270
295
|
'name' => r.name == '' ? 'result' : r.name,
|
271
296
|
'mimetype' => r.mimetype,
|
272
|
-
'data' =>
|
297
|
+
'data' => res.to_s
|
273
298
|
}
|
274
299
|
r.value.rewind
|
275
300
|
tmp
|
data/tools/cpee
CHANGED
@@ -116,13 +116,20 @@ 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
|
-
doc.find('//x:start_url').each do |e|
|
121
|
-
e.text = 'https://cpee.org/flow/start/url/'
|
122
|
-
end rescue nil
|
123
|
-
doc.find('//x:start_git').each do |e|
|
124
|
-
e.text = 'https://cpee.org/flow/start/git/'
|
125
|
-
end rescue nil
|
126
133
|
doc.find('//d:finalize | //d:update | //d:prepare | //d:rescue').each do |e|
|
127
134
|
if e.parent.qname.name != 'code'
|
128
135
|
n = e.parent
|
data/tools/server/cpee
CHANGED
@@ -4,7 +4,7 @@ require 'cpee/implementation'
|
|
4
4
|
|
5
5
|
Riddl::Server.new(CPEE::SERVER, :host => 'localhost', :port => 8298) do |opts|
|
6
6
|
opts[:instances] = File.join(__dir__,'instances')
|
7
|
-
opts[:executionhandlers
|
7
|
+
opts[:executionhandlers] = File.join(__dir__,'executionhandlers')
|
8
8
|
opts[:notifications_init] = File.join(__dir__,'resources','notifications')
|
9
9
|
opts[:properties_init] = File.join(__dir__,'resources','properties.init')
|
10
10
|
|
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
|
@@ -675,7 +675,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
675
675
|
- !ruby/object:Gem::Version
|
676
676
|
version: '0'
|
677
677
|
requirements: []
|
678
|
-
rubygems_version: 3.
|
678
|
+
rubygems_version: 3.2.22
|
679
679
|
signing_key:
|
680
680
|
specification_version: 4
|
681
681
|
summary: Preliminary release of cloud process execution engine (cpee.org). If you
|