cpee 2.1.125 → 2.1.126

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/compliance.html +301 -0
  3. data/cockpit/css/compliance.css +38 -0
  4. data/cockpit/css/llm.css +15 -4
  5. data/cockpit/css/llm_active.svg +43 -0
  6. data/cockpit/css/llm_inactive.svg +43 -0
  7. data/cockpit/css/mode_active.svg +85 -0
  8. data/cockpit/css/mode_inactive.svg +77 -0
  9. data/cockpit/css/ui.css +10 -1
  10. data/cockpit/js/compliance.js +134 -0
  11. data/cockpit/js/instance.js +6 -1
  12. data/cockpit/js/llm.js +254 -86
  13. data/cockpit/js/parameters.js +19 -12
  14. data/cockpit/js/wfadaptor.js +49 -12
  15. data/cockpit/llm.html +34 -7
  16. data/cockpit/only_llm.html +15 -7
  17. data/cockpit/rngs/requirements.rng +8 -0
  18. data/cockpit/themes/base.js +1 -0
  19. data/cockpit/themes/control/rngs/choose.rng +8 -1
  20. data/cockpit/themes/control/rngs/parallel.rng +4 -10
  21. data/cockpit/themes/dataflow/rngs/choose.rng +8 -1
  22. data/cockpit/themes/dataflow/rngs/parallel.rng +4 -10
  23. data/cockpit/themes/default/rngs/choose.rng +8 -1
  24. data/cockpit/themes/default/rngs/parallel.rng +4 -10
  25. data/cockpit/themes/extended/rngs/choose.rng +8 -1
  26. data/cockpit/themes/extended/rngs/parallel.rng +4 -10
  27. data/cockpit/themes/packed/rngs/choose.rng +8 -1
  28. data/cockpit/themes/packed/rngs/parallel.rng +4 -10
  29. data/cockpit/themes/preset/rngs/choose.rng +8 -1
  30. data/cockpit/themes/preset/rngs/parallel.rng +4 -10
  31. data/cockpit/themes/presetaltid/rngs/choose.rng +8 -1
  32. data/cockpit/themes/presetaltid/rngs/parallel.rng +4 -10
  33. data/cockpit/themes/presetid/rngs/choose.rng +8 -1
  34. data/cockpit/themes/presetid/rngs/parallel.rng +4 -10
  35. data/cockpit/themes/reduced/rngs/choose.rng +8 -1
  36. data/cockpit/themes/reduced/rngs/parallel.rng +4 -10
  37. data/cpee.gemspec +1 -1
  38. data/server/executionhandlers/ruby/connection.rb +2 -2
  39. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +20 -3
  40. data/server/routing/persist.rb +1 -5
  41. metadata +9 -1
data/cockpit/llm.html CHANGED
@@ -261,17 +261,44 @@
261
261
  </ui-tabbar>
262
262
  <ui-content>
263
263
  <ui-area data-belongs-to-tab="details" id='graphcolumn' oncontextmenu='return false'>
264
- <div id="modelling">
264
+ <ui-part id="modelling">
265
265
  <div id='graphgrid'>
266
266
  <div class="resource-label" style="display: none"></div>
267
267
  <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' class='graphcolumn' width='1' height='1'></svg>
268
268
  </div>
269
- </div>
270
- <div id='status'></div>
271
- <div id='prompt_container' class="max">
272
- <div id='prompt' contenteditable="true" title="Please enter your modelling instructions here..." placeholder="Please enter your modelling instructions here..."></div>
273
- <div id='prompt_submit_container' class="single"><button id='prompt_submit_button' title="CTRL-ENTER to Submit" class="llm_button small">➤</button><button id='prompt_reset_button' title="Reset Context" class="llm_button small">🗲</button></div>
274
- </div>
269
+ </ui-part>
270
+ <ui-resizehandle class='hidden'>drag to resize</ui-resizehandle>
271
+ <ui-part id='input'>
272
+ <div id='status'></div>
273
+ <div id='prompt_container' class="max">
274
+ <div id='prompt' contenteditable="true" title="Please enter your modelling instructions here..." placeholder="Please enter your modelling instructions here..."></div>
275
+ <div id='prompt_submit_container' class="single">
276
+ <select name="generation" id="generation" class='hidden'>
277
+ <option value="model">Only Model</option>
278
+ <option value="dataflow" selected="selected">Model and Dataflow</option>
279
+ </select>
280
+ <select name="mode" id="mode" class='hidden'>
281
+ <option value="noendpoints" selected="selected">Generate/Adapt from Scratch</option>
282
+ <option value="endpoints">Generate/Adapt with Endpoint Knowledge</option>
283
+ </select>
284
+ <button id='prompt_submit_button' title="CTRL-ENTER to Submit" class="llm_button small">➤</button>
285
+ <button id='prompt_reset_button' title="Reset Context" class="llm_button small">🗲</button>
286
+ <button id='prompt_prop_button' title="Properties" class="llm_button small">⚙</button>
287
+ <select name="llms" id="llms" class='hidden'>
288
+ <option value="gemini-3.1-flash-lite" selected="selected">gemini 3.1 Flash Lite</option>
289
+ <option value="gemini-3.1-flash">gemini 3.1 Flash</option>
290
+ <option value="gemini-3.1-pro">gemini 3.1 Pro</option>
291
+ <option value="gpt-4o">gpt 4o</option>
292
+ <option value="gpt-4o-mini">gpt 4o mini</option>
293
+ <option value="gpt-5.4-nano-2026-03-17">gpt 5.4 nano</option>
294
+ <option value="mistralai/Ministral-3-14B-Reasoning-2512"> Morp. Ministral 3</option>
295
+ <option value="google/gemma-4-31B-it">Morp. Gemma 4</option>
296
+ <option value="Qwen/Qwen3.6-35B-A3B">Morp. Qwen 3.6</option>
297
+ <option value="qwen-35-35b-coding">Morp. Qwen 35B Coding</option>
298
+ </select>
299
+ </div>
300
+ </div>
301
+ </ui-part>
275
302
  </ui-area>
276
303
  <ui-resizehandle data-belongs-to-tab="details" data-label="drag to resize"></ui-resizehandle>
277
304
  <ui-area data-belongs-to-tab="details" id="detailcolumn">
@@ -215,19 +215,26 @@
215
215
  <ui-content>
216
216
  <ui-area data-belongs-to-tab="details" id='graphcolumn' oncontextmenu='return false'>
217
217
  <div id='prompt_container' class="stand_alone">
218
- <div id='prompt' contenteditable="true" title="Please enter your modelling instructions here... CTRL-ENTER or press '➤' to submit ..." placeholder="Please enter your modelling instructions here... CTRL-ENTER or press '➤' to submit ..."></div>
218
+ <div id='prompt' contenteditable="true" title="CTRL-ENTER or press '➤' to submit ..." placeholder="Please enter your modelling instructions here..."></div>
219
219
  </div>
220
220
  <div id='status'></div>
221
221
  <div id='llm_params' class="multi">
222
- <label id="llmlabel" for="llms">Choose LLM:</label>
222
+ <select name="generation" id="generation" class='hidden'>
223
+ <option value="model" selected="selected">Only Model</option>
224
+ <option value="dataflow">Model and Dataflow</option>
225
+ <option value="endpointsfirst">Model and Dataflow Alternative</option>
226
+ </select>
227
+ <select name="mode" id="mode" class='hidden'>
228
+ <option value="noendpoints" selected="selected">Generate/Adapt from Scratch</option>
229
+ <option value="endpoints">Generate/Adapt with Endpoint Knowledge</option>
230
+ </select>
223
231
  <select name="llms" id="llms">
224
- <!--<option value="gemini-2.0-flash" selected>gemini 2 Flash</option>-->
225
- <option value="gemini-2.5-flash-lite" selected>gemini 2.5 Flash Lite</option>
226
- <option value="gemini-2.5-flash">gemini 2.5 Flash</option>
227
- <option value="gemini-2.5-pro">gemini 2.5 Pro</option>
228
- <option value="gpt-4">gpt 4</option>
232
+ <option value="gemini-3.1-flash-lite" selected="selected">gemini 3.1 Flash Lite</option>
233
+ <option value="gemini-3.1-flash">gemini 3.1 Flash</option>
234
+ <option value="gemini-3.1-pro">gemini 3.1 Pro</option>
229
235
  <option value="gpt-4o">gpt 4o</option>
230
236
  <option value="gpt-4o-mini">gpt 4o mini</option>
237
+ <option value="gpt-5.4-nano-2026-03-17">gpt 5.4 nano</option>
231
238
  <option value="mistralai/Ministral-3-14B-Reasoning-2512"> Morp. Ministral 3</option>
232
239
  <option value="google/gemma-4-31B-it">Morp. Gemma 4</option>
233
240
  <option value="Qwen/Qwen3.6-35B-A3B">Morp. Qwen 3.6</option>
@@ -240,6 +247,7 @@
240
247
  <div><input id="loadtxt" accept=".txt" type="file"/></div>
241
248
  <div id='prompt_submit_container' class="multi">
242
249
  <button id='prompt_undo_button' class='llm_button' title='undo (reset to state before your last submit)'>&#10554;</button>
250
+ <button id='prompt_reset_button' title="Reset Context" class="llm_button">🗲</button>
243
251
  <button id='prompt_attach_button' class='llm_button' title='load text from (txt) file'>&#128206;</button>
244
252
  <button id='prompt_submit_button' class='llm_button' title='submit'>&#x27A4;</button>
245
253
  </div>
@@ -0,0 +1,8 @@
1
+ <element rngui:version="1.2" name="requirements" ns="http://cpee.org/ns/properties/2.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
2
+ <zeroOrMore rngui:label="Create Requirement">
3
+ <element rngui:label='name'>
4
+ <anyName/>
5
+ <data type="string" rngui:label="value"/>
6
+ </element>
7
+ </zeroOrMore>
8
+ </element>
@@ -14,6 +14,7 @@ function WFAdaptorManifestationBase(adaptor) {
14
14
  this.source = function(base,opts) {
15
15
  if (base[0].namespaceURI == "http://relaxng.org/ns/structure/1.0") {
16
16
  $('#relaxngworker').empty();
17
+ self.adaptor.description.reset_used_id_list();
17
18
  var rngw = new RelaxNGui(base,$('#relaxngworker'),self.adaptor.description.context_eval);
18
19
  var nnew = $(rngw.save().documentElement);
19
20
  return(nnew);
@@ -12,9 +12,16 @@
12
12
  <data type="string" rngui:label="Label"/>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="alternative">
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
17
+ </attribute>
15
18
  <attribute name="condition">
16
19
  <data type="string"/>
17
20
  </attribute>
18
21
  </element>
19
- <element rngui:ignore="true" name="otherwise"/>
22
+ <element rngui:ignore="true" name="otherwise">
23
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
24
+ <data type="string" rngui:readonly="true"/>
25
+ </attribute>
26
+ </element>
20
27
  </element>
@@ -12,19 +12,13 @@
12
12
  </choice>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="parallel_branch">
15
- <attribute name="pass">
16
- <data type="string"/>
17
- </attribute>
18
- <attribute name="local">
19
- <data type="string"/>
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
20
17
  </attribute>
21
18
  </element>
22
19
  <element rngui:ignore="true" name="parallel_branch">
23
- <attribute name="pass">
24
- <data type="string"/>
25
- </attribute>
26
- <attribute name="local">
27
- <data type="string"/>
20
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
21
+ <data type="string" rngui:readonly="true"/>
28
22
  </attribute>
29
23
  </element>
30
24
  </element>
@@ -12,9 +12,16 @@
12
12
  <data type="string" rngui:label="Label"/>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="alternative">
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
17
+ </attribute>
15
18
  <attribute name="condition">
16
19
  <data type="string"/>
17
20
  </attribute>
18
21
  </element>
19
- <element rngui:ignore="true" name="otherwise"/>
22
+ <element rngui:ignore="true" name="otherwise">
23
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
24
+ <data type="string" rngui:readonly="true"/>
25
+ </attribute>
26
+ </element>
20
27
  </element>
@@ -12,19 +12,13 @@
12
12
  </choice>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="parallel_branch">
15
- <attribute name="pass">
16
- <data type="string"/>
17
- </attribute>
18
- <attribute name="local">
19
- <data type="string"/>
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
20
17
  </attribute>
21
18
  </element>
22
19
  <element rngui:ignore="true" name="parallel_branch">
23
- <attribute name="pass">
24
- <data type="string"/>
25
- </attribute>
26
- <attribute name="local">
27
- <data type="string"/>
20
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
21
+ <data type="string" rngui:readonly="true"/>
28
22
  </attribute>
29
23
  </element>
30
24
  </element>
@@ -12,9 +12,16 @@
12
12
  <data type="string" rngui:label="Label"/>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="alternative">
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
17
+ </attribute>
15
18
  <attribute name="condition">
16
19
  <data type="string"/>
17
20
  </attribute>
18
21
  </element>
19
- <element rngui:ignore="true" name="otherwise"/>
22
+ <element rngui:ignore="true" name="otherwise">
23
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
24
+ <data type="string" rngui:readonly="true"/>
25
+ </attribute>
26
+ </element>
20
27
  </element>
@@ -12,19 +12,13 @@
12
12
  </choice>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="parallel_branch">
15
- <attribute name="pass">
16
- <data type="string"/>
17
- </attribute>
18
- <attribute name="local">
19
- <data type="string"/>
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
20
17
  </attribute>
21
18
  </element>
22
19
  <element rngui:ignore="true" name="parallel_branch">
23
- <attribute name="pass">
24
- <data type="string"/>
25
- </attribute>
26
- <attribute name="local">
27
- <data type="string"/>
20
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
21
+ <data type="string" rngui:readonly="true"/>
28
22
  </attribute>
29
23
  </element>
30
24
  </element>
@@ -12,9 +12,16 @@
12
12
  <data type="string" rngui:label="Label"/>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="alternative">
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
17
+ </attribute>
15
18
  <attribute name="condition">
16
19
  <data type="string"/>
17
20
  </attribute>
18
21
  </element>
19
- <element rngui:ignore="true" name="otherwise"/>
22
+ <element rngui:ignore="true" name="otherwise">
23
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
24
+ <data type="string" rngui:readonly="true"/>
25
+ </attribute>
26
+ </element>
20
27
  </element>
@@ -12,19 +12,13 @@
12
12
  </choice>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="parallel_branch">
15
- <attribute name="pass">
16
- <data type="string"/>
17
- </attribute>
18
- <attribute name="local">
19
- <data type="string"/>
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
20
17
  </attribute>
21
18
  </element>
22
19
  <element rngui:ignore="true" name="parallel_branch">
23
- <attribute name="pass">
24
- <data type="string"/>
25
- </attribute>
26
- <attribute name="local">
27
- <data type="string"/>
20
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
21
+ <data type="string" rngui:readonly="true"/>
28
22
  </attribute>
29
23
  </element>
30
24
  </element>
@@ -12,9 +12,16 @@
12
12
  <data type="string" rngui:label="Label"/>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="alternative">
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
17
+ </attribute>
15
18
  <attribute name="condition">
16
19
  <data type="string"/>
17
20
  </attribute>
18
21
  </element>
19
- <element rngui:ignore="true" name="otherwise"/>
22
+ <element rngui:ignore="true" name="otherwise">
23
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
24
+ <data type="string" rngui:readonly="true"/>
25
+ </attribute>
26
+ </element>
20
27
  </element>
@@ -12,19 +12,13 @@
12
12
  </choice>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="parallel_branch">
15
- <attribute name="pass">
16
- <data type="string"/>
17
- </attribute>
18
- <attribute name="local">
19
- <data type="string"/>
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
20
17
  </attribute>
21
18
  </element>
22
19
  <element rngui:ignore="true" name="parallel_branch">
23
- <attribute name="pass">
24
- <data type="string"/>
25
- </attribute>
26
- <attribute name="local">
27
- <data type="string"/>
20
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
21
+ <data type="string" rngui:readonly="true"/>
28
22
  </attribute>
29
23
  </element>
30
24
  </element>
@@ -12,9 +12,16 @@
12
12
  <data type="string" rngui:label="Label"/>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="alternative">
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
17
+ </attribute>
15
18
  <attribute name="condition">
16
19
  <data type="string"/>
17
20
  </attribute>
18
21
  </element>
19
- <element rngui:ignore="true" name="otherwise"/>
22
+ <element rngui:ignore="true" name="otherwise">
23
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
24
+ <data type="string" rngui:readonly="true"/>
25
+ </attribute>
26
+ </element>
20
27
  </element>
@@ -12,19 +12,13 @@
12
12
  </choice>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="parallel_branch">
15
- <attribute name="pass">
16
- <data type="string"/>
17
- </attribute>
18
- <attribute name="local">
19
- <data type="string"/>
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
20
17
  </attribute>
21
18
  </element>
22
19
  <element rngui:ignore="true" name="parallel_branch">
23
- <attribute name="pass">
24
- <data type="string"/>
25
- </attribute>
26
- <attribute name="local">
27
- <data type="string"/>
20
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
21
+ <data type="string" rngui:readonly="true"/>
28
22
  </attribute>
29
23
  </element>
30
24
  </element>
@@ -12,9 +12,16 @@
12
12
  <data type="string" rngui:label="Label"/>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="alternative">
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
17
+ </attribute>
15
18
  <attribute name="condition">
16
19
  <data type="string"/>
17
20
  </attribute>
18
21
  </element>
19
- <element rngui:ignore="true" name="otherwise"/>
22
+ <element rngui:ignore="true" name="otherwise">
23
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
24
+ <data type="string" rngui:readonly="true"/>
25
+ </attribute>
26
+ </element>
20
27
  </element>
@@ -12,19 +12,13 @@
12
12
  </choice>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="parallel_branch">
15
- <attribute name="pass">
16
- <data type="string"/>
17
- </attribute>
18
- <attribute name="local">
19
- <data type="string"/>
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
20
17
  </attribute>
21
18
  </element>
22
19
  <element rngui:ignore="true" name="parallel_branch">
23
- <attribute name="pass">
24
- <data type="string"/>
25
- </attribute>
26
- <attribute name="local">
27
- <data type="string"/>
20
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
21
+ <data type="string" rngui:readonly="true"/>
28
22
  </attribute>
29
23
  </element>
30
24
  </element>
@@ -12,9 +12,16 @@
12
12
  <data type="string" rngui:label="Label"/>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="alternative">
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
17
+ </attribute>
15
18
  <attribute name="condition">
16
19
  <data type="string"/>
17
20
  </attribute>
18
21
  </element>
19
- <element rngui:ignore="true" name="otherwise"/>
22
+ <element rngui:ignore="true" name="otherwise">
23
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
24
+ <data type="string" rngui:readonly="true"/>
25
+ </attribute>
26
+ </element>
20
27
  </element>
@@ -12,19 +12,13 @@
12
12
  </choice>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="parallel_branch">
15
- <attribute name="pass">
16
- <data type="string"/>
17
- </attribute>
18
- <attribute name="local">
19
- <data type="string"/>
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
20
17
  </attribute>
21
18
  </element>
22
19
  <element rngui:ignore="true" name="parallel_branch">
23
- <attribute name="pass">
24
- <data type="string"/>
25
- </attribute>
26
- <attribute name="local">
27
- <data type="string"/>
20
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
21
+ <data type="string" rngui:readonly="true"/>
28
22
  </attribute>
29
23
  </element>
30
24
  </element>
@@ -12,9 +12,16 @@
12
12
  <data type="string" rngui:label="Label"/>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="alternative">
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
17
+ </attribute>
15
18
  <attribute name="condition">
16
19
  <data type="string"/>
17
20
  </attribute>
18
21
  </element>
19
- <element rngui:ignore="true" name="otherwise"/>
22
+ <element rngui:ignore="true" name="otherwise">
23
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
24
+ <data type="string" rngui:readonly="true"/>
25
+ </attribute>
26
+ </element>
20
27
  </element>
@@ -12,19 +12,13 @@
12
12
  </choice>
13
13
  </attribute>
14
14
  <element rngui:ignore="true" name="parallel_branch">
15
- <attribute name="pass">
16
- <data type="string"/>
17
- </attribute>
18
- <attribute name="local">
19
- <data type="string"/>
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
20
17
  </attribute>
21
18
  </element>
22
19
  <element rngui:ignore="true" name="parallel_branch">
23
- <attribute name="pass">
24
- <data type="string"/>
25
- </attribute>
26
- <attribute name="local">
27
- <data type="string"/>
20
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
21
+ <data type="string" rngui:readonly="true"/>
28
22
  </attribute>
29
23
  </element>
30
24
  </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.125"
3
+ s.version = "2.1.126"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0-or-later"
6
6
  s.summary = "The cloud process execution engine (cpee.org). If you just need workflow execution, without a rest service exposing it, then use WEEL."
@@ -299,7 +299,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
299
299
  end
300
300
 
301
301
  @controller.notify("activity/receiving", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => recv)
302
- if @anno[:_context_data_analysis] && @anno[:_context_data_analysis][:probes] && @anno[:_context_data_analysis][:probes].find{ |p| p.dig(:probe,:extractor_type) == 'extrinsic' }
302
+ if @anno && @anno[:_context_data_analysis] && @anno[:_context_data_analysis][:probes] && @anno[:_context_data_analysis][:probes].find{ |p| p.dig(:probe,:extractor_type) == 'extrinsic' }
303
303
  @controller.notify("task/probe", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => recv, :data => dataelements, :probes => @anno[:_context_data_analysis]&.[](:probes))
304
304
  end
305
305
 
@@ -434,7 +434,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
434
434
  __struct = if status >= 200 && status < 300
435
435
  ret.empty? ? nil : JSON::parse(ret[0].value.read)
436
436
  else
437
- code_error_handling ret, 'Condition ' + code, WEEL::Signal::Error
437
+ code_error_handling ret, 'Condition ' + __code, WEEL::Signal::Error
438
438
  end
439
439
  __struct = 'false' unless __struct
440
440
  __struct = (__struct == 'false' || __struct == 'null' || __struct == 'nil' || __struct == false ? false : true)
@@ -531,7 +531,7 @@
531
531
  </xsl:for-each>
532
532
  </xsl:otherwise>
533
533
  </xsl:choose>
534
- <xsl:for-each select="@*[not(name()='language' or name()='condition' or name()='svg-label')]">
534
+ <xsl:for-each select="@*[not(name()='language' or name()='condition' or name()='eid' or name()='svg-label')]">
535
535
  <xsl:if test="position() &gt;1">, </xsl:if>
536
536
  <xsl:text>:</xsl:text>
537
537
  <xsl:value-of select="name(.)"/>
@@ -596,7 +596,8 @@
596
596
  </xsl:template>
597
597
  <xsl:template match="d:parameters">
598
598
  <xsl:apply-templates select="d:label" mode="parameter"/>
599
- <xsl:apply-templates select="d:*[not(name()='label') and not(name()='color')]" mode="parameter"/>
599
+ <xsl:apply-templates select="d:method" mode="parameter"/>
600
+ <xsl:apply-templates select="d:*[not(name()='label') and not(name()='color') and not(name()='method')]" mode="parameter"/>
600
601
  <xsl:if test="count(*) &gt; 0">, </xsl:if>
601
602
  <xsl:apply-templates select="../d:annotations" mode="annotations"/>
602
603
  </xsl:template>
@@ -607,6 +608,22 @@
607
608
  <xsl:value-of select="str:replace(str:replace(text(),'\','\\'),'&quot;','\&quot;')"/>
608
609
  <xsl:text>"</xsl:text>
609
610
  </xsl:template>
611
+ <xsl:template match="d:method" mode="parameter">
612
+ <xsl:if test="string-length(text()) > 0">
613
+ <xsl:text>, :</xsl:text>
614
+ <xsl:value-of select="name()"/>
615
+ <xsl:text> =&gt; </xsl:text>
616
+ <xsl:choose>
617
+ <xsl:when test="substring(text(),1,1) = ':'">
618
+ <xsl:value-of select="str:replace(str:replace(text(),'\','\\'),'&quot;','\&quot;')"/>
619
+ </xsl:when>
620
+ <xsl:otherwise>
621
+ <xsl:text>:</xsl:text>
622
+ <xsl:value-of select="str:replace(str:replace(text(),'\','\\'),'&quot;','\&quot;')"/>
623
+ </xsl:otherwise>
624
+ </xsl:choose>
625
+ </xsl:if>
626
+ </xsl:template>
610
627
  <xsl:template match="d:annotations" mode="annotations">
611
628
  <xsl:text>:</xsl:text>
612
629
  <xsl:value-of select="name()"/>
@@ -615,7 +632,7 @@
615
632
  <xsl:apply-templates select="d:*" mode="simplemulti"/>
616
633
  <xsl:text> }</xsl:text>
617
634
  </xsl:template>
618
- <xsl:template match="d:*[not(name()='label')]" mode="parameter">
635
+ <xsl:template match="d:*[not(name()='label') and not(name()='color') and not(name()='method')]" mode="parameter">
619
636
  <xsl:if test="count(preceding-sibling::*) &gt; 0">, </xsl:if>
620
637
  <xsl:text>:</xsl:text>
621
638
  <xsl:value-of select="name()"/>
@@ -100,11 +100,7 @@ Daemonite.new do |opts|
100
100
  mess.dig('content','changed')&.each_with_index do |c,i|
101
101
  unless what =~ /event:\d+:attributes\/change/ && c == 'uuid'
102
102
  multi.zadd("instance:#{instance}/#{topic}",max + 1 + i,c,nx: true)
103
- if what =~ /event:\d+:dataelements\/change/
104
- multi.set("instance:#{instance}/#{topic}/#{c}",CPEE::ValueHelper::generate(mess.dig('content','values',c)))
105
- else
106
- multi.set("instance:#{instance}/#{topic}/#{c}",mess.dig('content','values',c))
107
- end
103
+ multi.set("instance:#{instance}/#{topic}/#{c}",CPEE::ValueHelper::generate(mess.dig('content','values',c)))
108
104
  end
109
105
  end
110
106
  mess.dig('content','deleted')&.to_a&.each do |c|