cpee 2.0.28 → 2.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/cockpit/config.json +1 -1
- data/cockpit/config.json.example +7 -0
- data/cockpit/css/wfadaptor.css +11 -0
- data/cockpit/js/instance.js +101 -26
- data/cockpit/js/wfadaptor.js +2 -0
- data/cockpit/templates.legacy/Async.xml +12 -12
- data/cockpit/templates.legacy/BCO.xml +9 -11
- data/cockpit/templates.legacy/BCS.xml +9 -11
- data/cockpit/templates.legacy/Centurio.xml +7 -7
- data/cockpit/templates.legacy/Concurrent.xml +7 -7
- data/cockpit/templates.legacy/Coopis Testset.xml +7 -7
- data/cockpit/templates.legacy/Endpoints and Data Manipulation.xml +6 -7
- data/cockpit/templates.legacy/ICSOC Testset.xml +7 -7
- data/cockpit/templates.legacy/Infinity.xml +7 -7
- data/cockpit/templates.legacy/Lego Boxer.xml +13 -13
- data/cockpit/templates.legacy/Lego Conveyor.xml +13 -13
- data/cockpit/templates.legacy/Lego Crane.xml +16 -16
- data/cockpit/templates.legacy/Lego Ejector.xml +16 -16
- data/cockpit/templates.legacy/Lego Full.xml +12 -12
- data/cockpit/templates.legacy/Lego Liddy.xml +13 -13
- data/cockpit/templates.legacy/Lego Plate.xml +13 -13
- data/cockpit/templates.legacy/Lego Transporter.xml +14 -14
- data/cockpit/templates.legacy/Lego_Part_1.xml +12 -12
- data/cockpit/templates.legacy/LgLinear.xml +7 -10
- data/cockpit/templates.legacy/Linear.xml +11 -14
- data/cockpit/templates.legacy/Log.xml +11 -12
- data/cockpit/templates.legacy/Mangler 1.xml +7 -7
- data/cockpit/templates.legacy/Mangler 2.xml +7 -7
- data/cockpit/templates.legacy/Manuel Labels.xml +11 -11
- data/cockpit/templates.legacy/Promise.xml +30 -30
- data/cockpit/templates.legacy/SOPROMO Test Sonification.xml +7 -7
- data/cockpit/templates.legacy/Subprocess.xml +15 -15
- data/cockpit/templates.legacy/Syncing P34 1.xml +8 -11
- data/cockpit/templates.legacy/Syncing P34 2.xml +8 -11
- data/cockpit/templates.legacy/Syncing P34 3.xml +8 -11
- data/cockpit/templates.legacy/Syncing P34.xml +8 -11
- data/cockpit/templates.legacy/TEST - Bad Loop.xml +7 -7
- data/cockpit/templates.legacy/TEST - Wrong Positions.xml +7 -7
- data/cockpit/templates.legacy/Take_5.xml +14 -14
- data/cockpit/templates.legacy/Update.xml +11 -11
- data/cockpit/templates.legacy/Worklist Parallel.xml +17 -17
- data/cockpit/templates.legacy/Worklist Test CPEE.xml +14 -14
- data/cockpit/templates.legacy/Worklist Test.xml +14 -14
- data/cockpit/templates.legacy/Worklist Test2.xml +14 -14
- data/cockpit/templates/Coopis 2010.xml +19 -11
- data/cockpit/templates/Coopis 2010.xml.active +1 -0
- data/cockpit/templates/Coopis 2010.xml.active-uuid +1 -0
- data/cockpit/templates/IUPC arXiv:1104.3609 P34 1.xml +13 -12
- data/cockpit/templates/IUPC arXiv:1104.3609 P34 2.xml +13 -12
- data/cockpit/templates/IUPC arXiv:1104.3609 P34 3.xml +13 -12
- data/cockpit/templates/Track Test Local.xml +3 -3
- data/cockpit/templates/Track Test.xml +2 -2
- data/cockpit/templates/UR-VUE 2020 Manual Adjust.xml +2 -2
- data/cockpit/templates/UR-VUE 2020 Solution Baseline.xml +2 -2
- data/cockpit/templates/UR-VUE 2020 Solution NN.xml +2 -2
- data/cockpit/templates/UR-VUE 2020 Solution View.xml +2 -2
- data/cockpit/templates/UR-VUE 2020.xml +4 -2
- data/cockpit/templates/Worklist.xml +19 -14
- data/cockpit/templates/instantiate.local/Take_Sub.xml +2 -2
- data/cockpit/templates/instantiate/Take_Perf.xml +1 -1
- data/cockpit/templates/instantiate/Take_Sub.xml +2 -2
- data/cockpit/templates/instantiate/Take_X.xml +2 -2
- data/cockpit/themes/compact/rngs/call.rng +17 -8
- data/cockpit/themes/compact/rngs/callmanipulate.rng +18 -9
- data/cockpit/themes/compact/rngs/parallel.rng +6 -0
- data/cockpit/themes/compact/rngs/start.rng +83 -0
- data/cockpit/themes/compact/symbols/parallel_branch_event.svg +2 -2
- data/cockpit/themes/compact/symbols/parallel_eventbased_exclusive.svg +9 -0
- data/cockpit/themes/compact/symbols/parallel_eventbased_parallel.svg +8 -0
- data/cockpit/themes/compact/symbols/start.svg +1 -1
- data/cockpit/themes/compact/theme.js +46 -3
- data/cockpit/themes/control/rngs/call.rng +17 -8
- data/cockpit/themes/control/rngs/callmanipulate.rng +18 -9
- data/cockpit/themes/control/rngs/parallel.rng +6 -0
- data/cockpit/themes/control/rngs/start.rng +83 -0
- data/cockpit/themes/control/symbols/parallel_branch_event.svg +2 -2
- data/cockpit/themes/control/symbols/parallel_eventbased_exclusive.svg +9 -0
- data/cockpit/themes/control/symbols/parallel_eventbased_parallel.svg +8 -0
- data/cockpit/themes/control/symbols/start.svg +1 -1
- data/cockpit/themes/control/theme.js +45 -2
- data/cockpit/themes/default/rngs/call.rng +17 -8
- data/cockpit/themes/default/rngs/callmanipulate.rng +18 -9
- data/cockpit/themes/default/rngs/parallel.rng +6 -0
- data/cockpit/themes/default/rngs/start.rng +83 -0
- data/cockpit/themes/default/symbols/parallel_branch_event.svg +2 -2
- data/cockpit/themes/default/symbols/parallel_eventbased_exclusive.svg +9 -0
- data/cockpit/themes/default/symbols/parallel_eventbased_parallel.svg +8 -0
- data/cockpit/themes/default/symbols/start.svg +1 -1
- data/cockpit/themes/default/theme.js +46 -3
- data/cockpit/themes/extended/rngs/call.rng +17 -8
- data/cockpit/themes/extended/rngs/callmanipulate.rng +18 -9
- data/cockpit/themes/extended/rngs/parallel.rng +6 -0
- data/cockpit/themes/extended/rngs/start.rng +83 -0
- data/cockpit/themes/extended/symbols/parallel_branch_event.svg +2 -2
- data/cockpit/themes/extended/symbols/parallel_eventbased_exclusive.svg +9 -0
- data/cockpit/themes/extended/symbols/parallel_eventbased_parallel.svg +8 -0
- data/cockpit/themes/extended/symbols/start.svg +1 -1
- data/cockpit/themes/extended/theme.js +46 -3
- data/cockpit/themes/model/symbols/parallel_branch_event.svg +2 -2
- data/cockpit/themes/model/symbols/parallel_eventbased_exclusive.svg +9 -0
- data/cockpit/themes/model/symbols/parallel_eventbased_parallel.svg +8 -0
- data/cockpit/themes/model/symbols/start.svg +1 -1
- data/cockpit/themes/model/theme.js +45 -2
- data/cockpit/themes/packed/rngs/call.rng +17 -8
- data/cockpit/themes/packed/rngs/callmanipulate.rng +18 -9
- data/cockpit/themes/packed/rngs/parallel.rng +6 -0
- data/cockpit/themes/packed/rngs/start.rng +83 -0
- data/cockpit/themes/packed/symbols/parallel_branch_event.svg +2 -2
- data/cockpit/themes/packed/symbols/parallel_eventbased_exclusive.svg +9 -0
- data/cockpit/themes/packed/symbols/parallel_eventbased_parallel.svg +8 -0
- data/cockpit/themes/packed/symbols/start.svg +1 -1
- data/cockpit/themes/packed/theme.js +46 -3
- data/cockpit/themes/preset/rngs/call.rng +17 -8
- data/cockpit/themes/preset/rngs/callmanipulate.rng +18 -9
- data/cockpit/themes/preset/rngs/parallel.rng +6 -0
- data/cockpit/themes/preset/rngs/start.rng +83 -0
- data/cockpit/themes/preset/symbols/parallel_branch_event.svg +2 -2
- data/cockpit/themes/preset/symbols/parallel_eventbased_exclusive.svg +9 -0
- data/cockpit/themes/preset/symbols/parallel_eventbased_parallel.svg +8 -0
- data/cockpit/themes/preset/symbols/start.svg +1 -1
- data/cockpit/themes/preset/theme.js +46 -3
- data/cpee.gemspec +3 -3
- data/lib/cpee/attributes_helper.rb +14 -0
- data/lib/cpee/implementation.rb +10 -8
- data/lib/cpee/implementation_callbacks.rb +14 -0
- data/lib/cpee/implementation_notifications.rb +19 -5
- data/lib/cpee/implementation_properties.rb +128 -24
- data/lib/cpee/persistence.rb +0 -27
- data/lib/cpee/statemachine.rb +14 -0
- data/lib/cpee/value_helper.rb +14 -0
- data/lib/properties.xml +4 -4
- data/lib/properties/{handlerwrapper.rng → executionhandler.rng} +3 -3
- data/lib/properties/properties.rng +2 -2
- data/lib/properties/set-properties.rng +2 -2
- data/lib/properties/set-some-properties.rng +2 -2
- data/server/{resources → executionhandlers/ruby}/backend/README.md +0 -0
- data/server/{resources → executionhandlers/ruby}/backend/instance.template +2 -4
- data/server/{resources → executionhandlers/ruby}/backend/opts.yaml +2 -2
- data/server/executionhandlers/ruby/backend/run +37 -0
- data/server/{handlerwrappers/default.rb → executionhandlers/ruby/connection.rb} +3 -3
- data/server/executionhandlers/ruby/controller.rb +195 -0
- data/server/{resources/transformation_dslx.xsl → executionhandlers/ruby/dsl_to_dslx.xsl} +57 -8
- data/server/executionhandlers/ruby/execution.rb +81 -0
- data/server/resources/properties.empty +1 -1
- data/server/resources/properties.init +1 -1
- data/server/resources/topics.xml +2 -2
- data/server/routing/end.pid +1 -1
- data/server/routing/forward-events.pid +1 -1
- data/server/routing/forward-votes.pid +1 -1
- data/server/routing/persist.pid +1 -1
- data/server/routing/persist.rb +3 -3
- data/tools/cpee +16 -10
- data/tools/server/cpee +1 -1
- data/tools/server/resources/properties.init +1 -1
- metadata +39 -238
- data/cockpit/js_libs.zip +0 -0
- data/cockpit/templates.legacy/convert_cpee2.rb +0 -15
- data/lib/cpee/controller.rb +0 -199
- data/lib/cpee/transform.rb +0 -95
- data/lib/instantiation.xml +0 -125
- data/server/resources/backend/instance.rb +0 -23
- data/server/resources/backend/run +0 -33
- data/server/server.pid +0 -1
- data/tools/test/README +0 -4
- data/tools/test/config.json +0 -3
- data/tools/test/contrib/graph_example.svg +0 -1166
- data/tools/test/contrib/legend.svg +0 -817
- data/tools/test/contrib/symbols.svg +0 -224
- data/tools/test/contrib/transformation1.xsl +0 -264
- data/tools/test/contrib/transformation2.xsl +0 -10
- data/tools/test/contrib/tree_example.svg +0 -788
- data/tools/test/css/model.css +0 -24
- data/tools/test/css/track.css +0 -60
- data/tools/test/css/ui.css +0 -214
- data/tools/test/css/wfadaptor.css +0 -422
- data/tools/test/edit.html +0 -258
- data/tools/test/graph.html +0 -69
- data/tools/test/index.html +0 -258
- data/tools/test/js/details.js +0 -109
- data/tools/test/js/instance.js +0 -1344
- data/tools/test/js/model.js +0 -41
- data/tools/test/js/parameters.js +0 -82
- data/tools/test/js/track.js +0 -18
- data/tools/test/js/ui.js +0 -104
- data/tools/test/js/wfadaptor.js +0 -763
- data/tools/test/js_libs.zip +0 -0
- data/tools/test/js_libs/Makefile +0 -2
- data/tools/test/js_libs/ansi_up.js +0 -333
- data/tools/test/js_libs/console.js +0 -80
- data/tools/test/js_libs/custommenu.css +0 -84
- data/tools/test/js_libs/custommenu.js +0 -104
- data/tools/test/js_libs/experiments1/relaxngui.css +0 -185
- data/tools/test/js_libs/experiments1/relaxngui.js +0 -488
- data/tools/test/js_libs/experiments1/rngtest9.html +0 -60
- data/tools/test/js_libs/experiments1/rngtest9.rng +0 -35
- data/tools/test/js_libs/experiments1/rngtest9.xml +0 -8
- data/tools/test/js_libs/jquery-2.2.4.min.js +0 -4
- data/tools/test/js_libs/jquery-3.2.1.min.js +0 -4
- data/tools/test/js_libs/jquery-3.3.1.min.js +0 -2
- data/tools/test/js_libs/jquery.browser.js +0 -40
- data/tools/test/js_libs/jquery.caret.min.js +0 -10
- data/tools/test/js_libs/jquery.cookie.js +0 -117
- data/tools/test/js_libs/jquery.min.js +0 -1
- data/tools/test/js_libs/jquery.svg.min.js +0 -6
- data/tools/test/js_libs/jquery.svgdom.min.js +0 -6
- data/tools/test/js_libs/markdown.min.js +0 -1
- data/tools/test/js_libs/parsequery.js +0 -21
- data/tools/test/js_libs/printf.js +0 -368
- data/tools/test/js_libs/relaxngui.css +0 -213
- data/tools/test/js_libs/relaxngui.js +0 -543
- data/tools/test/js_libs/strftime.min.js +0 -1
- data/tools/test/js_libs/tests/dataelements.html +0 -59
- data/tools/test/js_libs/tests/dataelements.rng +0 -8
- data/tools/test/js_libs/tests/dataelements.xml +0 -3
- data/tools/test/js_libs/tests/relaxngui.css +0 -203
- data/tools/test/js_libs/tests/relaxngui.js +0 -502
- data/tools/test/js_libs/tests/rngtest1.html +0 -66
- data/tools/test/js_libs/tests/rngtest1.rng +0 -147
- data/tools/test/js_libs/tests/rngtest1.xml +0 -13
- data/tools/test/js_libs/tests/rngtest2.html +0 -60
- data/tools/test/js_libs/tests/rngtest2.rng +0 -6
- data/tools/test/js_libs/tests/rngtest2.xml +0 -3
- data/tools/test/js_libs/tests/rngtest3.html +0 -60
- data/tools/test/js_libs/tests/rngtest3.rng +0 -23
- data/tools/test/js_libs/tests/rngtest3.xml +0 -9
- data/tools/test/js_libs/tests/rngtest4.html +0 -60
- data/tools/test/js_libs/tests/rngtest4.rng +0 -19
- data/tools/test/js_libs/tests/rngtest4.xml +0 -12
- data/tools/test/js_libs/tests/rngtest5.html +0 -60
- data/tools/test/js_libs/tests/rngtest5.rng +0 -75
- data/tools/test/js_libs/tests/rngtest5.xml +0 -40
- data/tools/test/js_libs/tests/rngtest6.html +0 -60
- data/tools/test/js_libs/tests/rngtest6.rng +0 -24
- data/tools/test/js_libs/tests/rngtest6.xml +0 -6
- data/tools/test/js_libs/tests/rngtest8.html +0 -60
- data/tools/test/js_libs/tests/rngtest8.rng +0 -13
- data/tools/test/js_libs/tests/rngtest8.xml +0 -2
- data/tools/test/js_libs/tests/rngtest9.html +0 -60
- data/tools/test/js_libs/tests/rngtest9.rng +0 -31
- data/tools/test/js_libs/tests/rngtest9.xml +0 -8
- data/tools/test/js_libs/ui.css +0 -333
- data/tools/test/js_libs/ui.html +0 -168
- data/tools/test/js_libs/ui.js +0 -177
- data/tools/test/js_libs/underscore.min.js +0 -27
- data/tools/test/js_libs/util.js +0 -81
- data/tools/test/js_libs/vkbeautify.0.99.00.beta.js +0 -358
- data/tools/test/js_libs/vkbeautify.js +0 -1
- data/tools/test/js_libs/webcomponents.min.js +0 -196
- data/tools/test/model.html +0 -192
- data/tools/test/rngs/attributes.rng +0 -8
- data/tools/test/rngs/dataelements.rng +0 -8
- data/tools/test/rngs/endpoints.rng +0 -8
- data/tools/test/templates.legacy/Async.xml +0 -46
- data/tools/test/templates.legacy/BCO.xml +0 -70
- data/tools/test/templates.legacy/BCS.xml +0 -70
- data/tools/test/templates.legacy/Centurio.xml +0 -75
- data/tools/test/templates.legacy/Concurrent.xml +0 -40
- data/tools/test/templates.legacy/Coopis Testset.xml +0 -76
- data/tools/test/templates.legacy/Endpoints and Data Manipulation.xml +0 -30
- data/tools/test/templates.legacy/ICSOC Testset.xml +0 -95
- data/tools/test/templates.legacy/Infinity.xml +0 -28
- data/tools/test/templates.legacy/Lego Boxer.xml +0 -31
- data/tools/test/templates.legacy/Lego Conveyor.xml +0 -31
- data/tools/test/templates.legacy/Lego Crane.xml +0 -87
- data/tools/test/templates.legacy/Lego Ejector.xml +0 -55
- data/tools/test/templates.legacy/Lego Full.xml +0 -142
- data/tools/test/templates.legacy/Lego Liddy.xml +0 -40
- data/tools/test/templates.legacy/Lego Plate.xml +0 -31
- data/tools/test/templates.legacy/Lego Transporter.xml +0 -43
- data/tools/test/templates.legacy/Lego_Part_1.xml +0 -85
- data/tools/test/templates.legacy/LgLinear.xml +0 -65
- data/tools/test/templates.legacy/Linear.xml +0 -77
- data/tools/test/templates.legacy/Log.xml +0 -117
- data/tools/test/templates.legacy/Mangler 1.xml +0 -87
- data/tools/test/templates.legacy/Mangler 2.xml +0 -103
- data/tools/test/templates.legacy/Manuel Labels.xml +0 -55
- data/tools/test/templates.legacy/Promise.xml +0 -275
- data/tools/test/templates.legacy/SOPROMO Test Sonification.xml +0 -83
- data/tools/test/templates.legacy/Subprocess.xml +0 -56
- data/tools/test/templates.legacy/Syncing P34 1.xml +0 -77
- data/tools/test/templates.legacy/Syncing P34 2.xml +0 -77
- data/tools/test/templates.legacy/Syncing P34 3.xml +0 -77
- data/tools/test/templates.legacy/Syncing P34.xml +0 -77
- data/tools/test/templates.legacy/TEST - Bad Loop.xml +0 -173
- data/tools/test/templates.legacy/TEST - Wrong Positions.xml +0 -174
- data/tools/test/templates.legacy/Take_5.xml +0 -48
- data/tools/test/templates.legacy/Update.xml +0 -32
- data/tools/test/templates.legacy/Worklist Parallel.xml +0 -104
- data/tools/test/templates.legacy/Worklist Test CPEE.xml +0 -40
- data/tools/test/templates.legacy/Worklist Test.xml +0 -42
- data/tools/test/templates.legacy/Worklist Test2.xml +0 -43
- data/tools/test/templates.legacy/convert_cpee2.rb +0 -15
- data/tools/test/templates.legacy/convert_preset.rb +0 -32
- data/tools/test/templates.legacy/testsets.xml +0 -37
- data/tools/test/templates.legacy/transformations.xml +0 -4
- data/tools/test/templates/Coopis 2010.xml +0 -76
- data/tools/test/templates/IUPC arXiv:1104.3609 P34 1.xml +0 -77
- data/tools/test/templates/IUPC arXiv:1104.3609 P34 2.xml +0 -77
- data/tools/test/templates/IUPC arXiv:1104.3609 P34 3.xml +0 -77
- data/tools/test/templates/Track Test Local.xml +0 -82
- data/tools/test/templates/Track Test.xml +0 -82
- data/tools/test/templates/UR-VUE 2020 Manual Adjust.xml +0 -182
- data/tools/test/templates/UR-VUE 2020 Solution Baseline.xml +0 -203
- data/tools/test/templates/UR-VUE 2020 Solution NN.xml +0 -197
- data/tools/test/templates/UR-VUE 2020 Solution View.xml +0 -151
- data/tools/test/templates/UR-VUE 2020.xml +0 -26
- data/tools/test/templates/Worklist.xml +0 -42
- data/tools/test/templates/instantiate.local/Take_Sub.xml +0 -59
- data/tools/test/templates/instantiate/Take_Perf.xml +0 -46
- data/tools/test/templates/instantiate/Take_Sub.xml +0 -58
- data/tools/test/templates/instantiate/Take_X.xml +0 -48
- data/tools/test/themes/compact/theme.js +0 -1285
- data/tools/test/themes/diana/theme.js +0 -1650
- data/tools/test/themes/extended/theme.js +0 -1325
- data/tools/test/themes/model/rngs/alternative.rng +0 -1
- data/tools/test/themes/model/rngs/call.rng +0 -67
- data/tools/test/themes/model/rngs/callmanipulate.rng +0 -72
- data/tools/test/themes/model/rngs/choose.rng +0 -1
- data/tools/test/themes/model/rngs/critical.rng +0 -1
- data/tools/test/themes/model/rngs/escape.rng +0 -1
- data/tools/test/themes/model/rngs/group.rng +0 -1
- data/tools/test/themes/model/rngs/loop.rng +0 -1
- data/tools/test/themes/model/rngs/manipulate.rng +0 -1
- data/tools/test/themes/model/rngs/otherwise.rng +0 -1
- data/tools/test/themes/model/rngs/parallel.rng +0 -1
- data/tools/test/themes/model/rngs/parallel_branch.rng +0 -1
- data/tools/test/themes/model/rngs/scripts.rng +0 -7
- data/tools/test/themes/model/rngs/stop.rng +0 -1
- data/tools/test/themes/model/rngs/terminate.rng +0 -1
- data/tools/test/themes/model/theme.js +0 -1268
- data/tools/test/themes/packed/theme.js +0 -1286
- data/tools/test/themes/preset/rngs/alternative.rng +0 -25
- data/tools/test/themes/preset/rngs/call.rng +0 -122
- data/tools/test/themes/preset/rngs/callmanipulate.rng +0 -145
- data/tools/test/themes/preset/rngs/choose.rng +0 -14
- data/tools/test/themes/preset/rngs/closed_loop.rng +0 -62
- data/tools/test/themes/preset/rngs/closed_loop_cancel.rng +0 -5
- data/tools/test/themes/preset/rngs/closed_loop_control.rng +0 -31
- data/tools/test/themes/preset/rngs/closed_loop_measuring.rng +0 -12
- data/tools/test/themes/preset/rngs/critical.rng +0 -5
- data/tools/test/themes/preset/rngs/escape.rng +0 -1
- data/tools/test/themes/preset/rngs/group.rng +0 -3
- data/tools/test/themes/preset/rngs/loop.rng +0 -22
- data/tools/test/themes/preset/rngs/manipulate.rng +0 -9
- data/tools/test/themes/preset/rngs/otherwise.rng +0 -22
- data/tools/test/themes/preset/rngs/parallel.rng +0 -21
- data/tools/test/themes/preset/rngs/parallel_branch.rng +0 -8
- data/tools/test/themes/preset/rngs/scripts.rng +0 -23
- data/tools/test/themes/preset/rngs/stop.rng +0 -5
- data/tools/test/themes/preset/rngs/terminate.rng +0 -1
- data/tools/test/themes/preset/symbols/alternative.svg +0 -5
- data/tools/test/themes/preset/symbols/arrow.svg +0 -3
- data/tools/test/themes/preset/symbols/call.svg +0 -6
- data/tools/test/themes/preset/symbols/callmanipulate.svg +0 -8
- data/tools/test/themes/preset/symbols/choose.svg +0 -5
- data/tools/test/themes/preset/symbols/choose_exclusive.svg +0 -5
- data/tools/test/themes/preset/symbols/choose_inclusive.svg +0 -4
- data/tools/test/themes/preset/symbols/closed_loop.svg +0 -5
- data/tools/test/themes/preset/symbols/closed_loop_cancel.svg +0 -5
- data/tools/test/themes/preset/symbols/closed_loop_control.svg +0 -5
- data/tools/test/themes/preset/symbols/closed_loop_measuring.svg +0 -6
- data/tools/test/themes/preset/symbols/complex.svg +0 -8
- data/tools/test/themes/preset/symbols/critical.svg +0 -4
- data/tools/test/themes/preset/symbols/end.svg +0 -3
- data/tools/test/themes/preset/symbols/escape.svg +0 -5
- data/tools/test/themes/preset/symbols/event_end.svg +0 -3
- data/tools/test/themes/preset/symbols/loop.svg +0 -5
- data/tools/test/themes/preset/symbols/manipulate.svg +0 -4
- data/tools/test/themes/preset/symbols/otherwise.svg +0 -5
- data/tools/test/themes/preset/symbols/parallel.svg +0 -5
- data/tools/test/themes/preset/symbols/parallel_branch.svg +0 -5
- data/tools/test/themes/preset/symbols/parallel_branch_compact.svg +0 -4
- data/tools/test/themes/preset/symbols/parallel_branch_event.svg +0 -14
- data/tools/test/themes/preset/symbols/parallel_branch_normal.svg +0 -5
- data/tools/test/themes/preset/symbols/scripts.svg +0 -4
- data/tools/test/themes/preset/symbols/start.svg +0 -3
- data/tools/test/themes/preset/symbols/stop.svg +0 -5
- data/tools/test/themes/preset/symbols/terminate.svg +0 -4
- data/tools/test/themes/preset/theme.js +0 -1287
- data/tools/test/track.html +0 -142
@@ -481,8 +481,12 @@ function WFAdaptorManifestation(adaptor) {
|
|
481
481
|
'endnodes': 'this',
|
482
482
|
'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
|
483
483
|
'resolve_symbol': function(node) {
|
484
|
-
if($(node).attr('wait') == '-1') {
|
484
|
+
if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
|
485
485
|
return 'parallel_simple';
|
486
|
+
} else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == '-1') {
|
487
|
+
return 'parallel_event_all';
|
488
|
+
} else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == '1') {
|
489
|
+
return 'parallel_event_one';
|
486
490
|
} else {
|
487
491
|
return 'parallel_complex';
|
488
492
|
}
|
@@ -849,7 +853,16 @@ function WFAdaptorManifestation(adaptor) {
|
|
849
853
|
'col_shift': function(node) {
|
850
854
|
return true;
|
851
855
|
},
|
852
|
-
'svg': self.adaptor.theme_dir + 'symbols/parallel.svg'
|
856
|
+
'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
|
857
|
+
'resolve_symbol': function(node) {
|
858
|
+
if($(node).attr('cancel') == 'last') {
|
859
|
+
return 'parallel_start';
|
860
|
+
} else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == 1) {
|
861
|
+
return 'parallel_eventbased_exclusive';
|
862
|
+
} else {
|
863
|
+
return 'parallel_eventbased_parallel';
|
864
|
+
}
|
865
|
+
},
|
853
866
|
},//}}}
|
854
867
|
'description': self.adaptor.theme_dir + 'rngs/parallel.rng',
|
855
868
|
'permissible_children': function(node,mode) { //{{{
|
@@ -1142,7 +1155,7 @@ function WFAdaptorManifestation(adaptor) {
|
|
1142
1155
|
},
|
1143
1156
|
'svg': self.adaptor.theme_dir + 'symbols/start.svg'
|
1144
1157
|
},//}}}
|
1145
|
-
'description':
|
1158
|
+
'description': self.adaptor.theme_dir + 'rngs/start.rng',
|
1146
1159
|
'permissible_children': function(node,mode) { //{{{
|
1147
1160
|
var func = null;
|
1148
1161
|
if (mode == 'into') { func = self.adaptor.description.insert_first_into }
|
@@ -1276,6 +1289,24 @@ function WFAdaptorManifestation(adaptor) {
|
|
1276
1289
|
'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
|
1277
1290
|
},//}}}
|
1278
1291
|
}; /*}}}*/
|
1292
|
+
this.elements.parallel_start = { /*{{{*/
|
1293
|
+
'parent': 'parallel',
|
1294
|
+
'illustrator': {//{{{
|
1295
|
+
'svg': self.adaptor.theme_dir + 'symbols/parallel.svg'
|
1296
|
+
}//}}}
|
1297
|
+
}; /*}}}*/
|
1298
|
+
this.elements.parallel_eventbased_exclusive = { /*{{{*/
|
1299
|
+
'parent': 'parallel',
|
1300
|
+
'illustrator': {//{{{
|
1301
|
+
'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_exclusive.svg'
|
1302
|
+
}//}}}
|
1303
|
+
}; /*}}}*/
|
1304
|
+
this.elements.parallel_eventbased_parallel = { /*{{{*/
|
1305
|
+
'parent': 'parallel',
|
1306
|
+
'illustrator': {//{{{
|
1307
|
+
'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_parallel.svg'
|
1308
|
+
}//}}}
|
1309
|
+
}; /*}}}*/
|
1279
1310
|
this.elements.parallel_simple = { /*{{{*/
|
1280
1311
|
'parent': 'parallel_finish',
|
1281
1312
|
'illustrator': {//{{{
|
@@ -1288,6 +1319,18 @@ function WFAdaptorManifestation(adaptor) {
|
|
1288
1319
|
'svg': self.adaptor.theme_dir + 'symbols/complex.svg'
|
1289
1320
|
},//}}}
|
1290
1321
|
}; /*}}}*/
|
1322
|
+
this.elements.parallel_event_all = { /*{{{*/
|
1323
|
+
'parent': 'parallel_finish',
|
1324
|
+
'illustrator': {//{{{
|
1325
|
+
'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_parallel.svg'
|
1326
|
+
}//}}}
|
1327
|
+
}; /*}}}*/
|
1328
|
+
this.elements.parallel_event_one = { /*{{{*/
|
1329
|
+
'parent': 'parallel_finish',
|
1330
|
+
'illustrator': {//{{{
|
1331
|
+
'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_exclusive.svg'
|
1332
|
+
}//}}}
|
1333
|
+
}; /*}}}*/
|
1291
1334
|
this.elements.parallel_branch_normal = { /*{{{*/
|
1292
1335
|
'parent': 'parallel_branch',
|
1293
1336
|
'illustrator': {//{{{
|
data/cpee.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "cpee"
|
3
|
-
s.version = "2.
|
3
|
+
s.version = "2.1.4"
|
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."
|
@@ -21,8 +21,8 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.email = 'juergen.mangler@gmail.com'
|
22
22
|
s.homepage = 'http://cpee.org/'
|
23
23
|
|
24
|
-
s.add_runtime_dependency 'riddl', '~> 0.
|
25
|
-
s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.
|
24
|
+
s.add_runtime_dependency 'riddl', '~> 0.114'
|
25
|
+
s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.99'
|
26
26
|
s.add_runtime_dependency 'highline', '~> 2.0'
|
27
27
|
s.add_runtime_dependency 'json', '~>2.1'
|
28
28
|
s.add_runtime_dependency 'redis', '~> 4.1'
|
@@ -1,3 +1,17 @@
|
|
1
|
+
# This file is part of CPEE.
|
2
|
+
#
|
3
|
+
# CPEE is free software: you can redistribute it and/or modify it under the terms
|
4
|
+
# of the GNU General Public License as published by the Free Software Foundation,
|
5
|
+
# either version 3 of the License, or (at your option) any later version.
|
6
|
+
#
|
7
|
+
# CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
|
8
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
9
|
+
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
10
|
+
#
|
11
|
+
# You should have received a copy of the GNU General Public License along with
|
12
|
+
# CPEE (file COPYING in the main directory). If not, see
|
13
|
+
# <http://www.gnu.org/licenses/>.
|
14
|
+
|
1
15
|
require 'weel'
|
2
16
|
|
3
17
|
class AttributesHelper
|
data/lib/cpee/implementation.rb
CHANGED
@@ -28,7 +28,7 @@ module CPEE
|
|
28
28
|
|
29
29
|
SERVER = File.expand_path(File.join(__dir__,'..','cpee.xml'))
|
30
30
|
PROPERTIES_PATHS_FULL = %w{
|
31
|
-
/p:properties/p:
|
31
|
+
/p:properties/p:executionhandler
|
32
32
|
/p:properties/p:positions/p:*
|
33
33
|
/p:properties/p:positions/p:*/@*
|
34
34
|
/p:properties/p:dataelements/p:*
|
@@ -54,22 +54,17 @@ module CPEE
|
|
54
54
|
}
|
55
55
|
def self::implementation(opts)
|
56
56
|
opts[:instances] ||= File.expand_path(File.join(__dir__,'..','..','server','instances'))
|
57
|
-
opts[:
|
58
|
-
opts[:
|
57
|
+
opts[:global_executionhandlers] ||= File.expand_path(File.join(__dir__,'..','..','server','executionhandlers'))
|
58
|
+
opts[:executionhandlers] ||= ''
|
59
59
|
opts[:topics] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','topics.xml'))
|
60
60
|
opts[:properties_init] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','properties.init'))
|
61
61
|
opts[:properties_empty] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','properties.empty'))
|
62
|
-
opts[:transformation_dslx] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','transformation_dslx.xsl'))
|
63
62
|
opts[:transformation_service] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','transformation.xml'))
|
64
63
|
opts[:empty_dslx] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','empty_dslx.xml'))
|
65
64
|
opts[:notifications_init] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','notifications'))
|
66
65
|
opts[:states] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','states.xml'))
|
67
|
-
opts[:backend_run] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','backend','run'))
|
68
|
-
opts[:backend_template] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','backend','instance.template'))
|
69
|
-
opts[:backend_opts] ||= 'opts.yaml'
|
70
66
|
opts[:watchdog_frequency] ||= 7
|
71
67
|
opts[:watchdog_start_off] ||= false
|
72
|
-
opts[:backend_instance] ||= 'instance.rb'
|
73
68
|
opts[:infinite_loop_stop] ||= 10000
|
74
69
|
|
75
70
|
### set redis_cmd to nil if you want to do global
|
@@ -100,6 +95,13 @@ module CPEE
|
|
100
95
|
]
|
101
96
|
|
102
97
|
Proc.new do
|
98
|
+
Dir[File.join(opts[:global_executionhandlers],'*','execution.rb')].each do |h|
|
99
|
+
require h
|
100
|
+
end unless opts[:global_executionhandlers].nil? || opts[:global_executionhandlers].strip == ''
|
101
|
+
Dir[File.join(opts[:executionhandlers],'*','execution.rb')].each do |h|
|
102
|
+
require h
|
103
|
+
end unless opts[:executionhandlers].nil? || opts[:executionhandlers].strip == ''
|
104
|
+
|
103
105
|
parallel do
|
104
106
|
CPEE::watch_services(opts[:watchdog_start_off],opts[:redis_url],File.join(opts[:basepath],opts[:redis_path]),opts[:redis_db])
|
105
107
|
EM.add_periodic_timer(opts[:watchdog_frequency]) do ### start services
|
@@ -1,3 +1,17 @@
|
|
1
|
+
# This file is part of CPEE.
|
2
|
+
#
|
3
|
+
# CPEE is free software: you can redistribute it and/or modify it under the terms
|
4
|
+
# of the GNU General Public License as published by the Free Software Foundation,
|
5
|
+
# either version 3 of the License, or (at your option) any later version.
|
6
|
+
#
|
7
|
+
# CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
|
8
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
9
|
+
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
10
|
+
#
|
11
|
+
# You should have received a copy of the GNU General Public License along with
|
12
|
+
# CPEE (file COPYING in the main directory). If not, see
|
13
|
+
# <http://www.gnu.org/licenses/>.
|
14
|
+
|
1
15
|
require 'json'
|
2
16
|
|
3
17
|
module CPEE
|
@@ -1,3 +1,17 @@
|
|
1
|
+
# This file is part of CPEE.
|
2
|
+
#
|
3
|
+
# CPEE is free software: you can redistribute it and/or modify it under the terms
|
4
|
+
# of the GNU General Public License as published by the Free Software Foundation,
|
5
|
+
# either version 3 of the License, or (at your option) any later version.
|
6
|
+
#
|
7
|
+
# CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
|
8
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
9
|
+
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
10
|
+
#
|
11
|
+
# You should have received a copy of the GNU General Public License along with
|
12
|
+
# CPEE (file COPYING in the main directory). If not, see
|
13
|
+
# <http://www.gnu.org/licenses/>.
|
14
|
+
|
1
15
|
require 'json'
|
2
16
|
|
3
17
|
module CPEE
|
@@ -12,10 +26,10 @@ module CPEE
|
|
12
26
|
end
|
13
27
|
on resource "subscriptions" do
|
14
28
|
run CPEE::Notifications::Subscriptions, id, opts if get
|
15
|
-
run CPEE::Notifications::CreateSubscription, id, opts if post '
|
29
|
+
run CPEE::Notifications::CreateSubscription, id, opts if post 'create_subscription'
|
16
30
|
on resource do
|
17
31
|
run CPEE::Notifications::Subscription, id, opts if get
|
18
|
-
run CPEE::Notifications::UpdateSubscription, id, opts if put '
|
32
|
+
run CPEE::Notifications::UpdateSubscription, id, opts if put 'change_subscription'
|
19
33
|
run CPEE::Notifications::DeleteSubscription, id, opts if delete
|
20
34
|
on resource 'sse' do
|
21
35
|
run CPEE::Notifications::SSE, id, opts if sse
|
@@ -78,7 +92,8 @@ module CPEE
|
|
78
92
|
ret = XML::Smart::string <<-END
|
79
93
|
<subscription xmlns='http://riddl.org/ns/common-patterns/notifications-producer/2.0'/>
|
80
94
|
END
|
81
|
-
url = CPEE::Persistence::extract_item(id,opts,File.join('
|
95
|
+
url = CPEE::Persistence::extract_item(id,opts,File.join('handlers',key,'url'))
|
96
|
+
ret.root.attributes['id'] = key
|
82
97
|
ret.root.attributes['url'] = url if url && !url.empty?
|
83
98
|
items = {}
|
84
99
|
CPEE::Persistence::extract_handler(id,opts,key).each do |h|
|
@@ -107,8 +122,7 @@ module CPEE
|
|
107
122
|
id = @a[0]
|
108
123
|
opts = @a[1]
|
109
124
|
|
110
|
-
key = Digest::MD5.hexdigest(Kernel::rand().to_s)
|
111
|
-
|
125
|
+
key = @p[0].name == 'id' ? @p.shift.value : Digest::MD5.hexdigest(Kernel::rand().to_s)
|
112
126
|
url = @p[0].name == 'url' ? @p.shift.value : nil
|
113
127
|
values = []
|
114
128
|
while @p.length > 0
|
@@ -1,6 +1,19 @@
|
|
1
|
+
# This file is part of CPEE.
|
2
|
+
#
|
3
|
+
# CPEE is free software: you can redistribute it and/or modify it under the terms
|
4
|
+
# of the GNU General Public License as published by the Free Software Foundation,
|
5
|
+
# either version 3 of the License, or (at your option) any later version.
|
6
|
+
#
|
7
|
+
# CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
|
8
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
9
|
+
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
10
|
+
#
|
11
|
+
# You should have received a copy of the GNU General Public License along with
|
12
|
+
# CPEE (file COPYING in the main directory). If not, see
|
13
|
+
# <http://www.gnu.org/licenses/>.
|
14
|
+
|
1
15
|
require_relative 'attributes_helper'
|
2
16
|
require_relative 'value_helper'
|
3
|
-
require_relative 'transform'
|
4
17
|
require 'json'
|
5
18
|
require 'erb'
|
6
19
|
require 'yaml'
|
@@ -31,9 +44,9 @@ module CPEE
|
|
31
44
|
run CPEE::Properties::GetStatusMessage, id, opts if get
|
32
45
|
end
|
33
46
|
end
|
34
|
-
on resource '
|
35
|
-
run CPEE::Properties::
|
36
|
-
run CPEE::Properties::
|
47
|
+
on resource 'executionhandler' do
|
48
|
+
run CPEE::Properties::GetExecutionHandler, id, opts if get
|
49
|
+
run CPEE::Properties::PutExecutionHandler, id, opts if put 'executionhandler'
|
37
50
|
end
|
38
51
|
on resource 'positions' do
|
39
52
|
run CPEE::Properties::GetPositions, id, opts if get
|
@@ -128,8 +141,8 @@ module CPEE
|
|
128
141
|
if (node = doc.find('/p:properties/p:status')).any?
|
129
142
|
CPEE::Properties::PutStatus::set id, opts, node.first.dump
|
130
143
|
end
|
131
|
-
if (node = doc.find('/p:properties/p:
|
132
|
-
CPEE::Properties::
|
144
|
+
if (node = doc.find('/p:properties/p:executionhandler')).any?
|
145
|
+
CPEE::Properties::PutExecutionHandler::set id, opts, node.first.text
|
133
146
|
end
|
134
147
|
|
135
148
|
%w{dataelements endpoints attributes}.each do |item|
|
@@ -169,8 +182,8 @@ module CPEE
|
|
169
182
|
if (node = doc.find('/p:properties/p:status')).any?
|
170
183
|
CPEE::Properties::PutStatus::set id, opts, node.first.dump
|
171
184
|
end
|
172
|
-
if (node = doc.find('/p:properties/p:
|
173
|
-
CPEE::Properties::
|
185
|
+
if (node = doc.find('/p:properties/p:executionhandler')).any?
|
186
|
+
CPEE::Properties::PutExecutionHandler::set id, opts, node.first.text
|
174
187
|
end
|
175
188
|
|
176
189
|
%w{dataelements endpoints attributes}.each do |item|
|
@@ -211,19 +224,14 @@ module CPEE
|
|
211
224
|
end
|
212
225
|
|
213
226
|
def self::run(id,opts,state)
|
214
|
-
exe = File.join(opts[:instances],id.to_s,File.basename(opts[:backend_run]))
|
215
227
|
case state
|
216
228
|
when 'running'
|
217
|
-
CPEE::Persistence::
|
218
|
-
|
219
|
-
|
220
|
-
File.write(exe + '.pid',pid)
|
229
|
+
seh = Object.const_get('CPEE::ExecutionHandler::' + CPEE::Persistence::extract_item(id,opts,'executionhandler').capitalize)
|
230
|
+
seh::prepare(id,opts)
|
231
|
+
seh::run(id,opts)
|
221
232
|
when 'stopping'
|
222
|
-
|
223
|
-
if
|
224
|
-
Process.kill('HUP', pid.to_i) rescue nil
|
225
|
-
else
|
226
|
-
File.unlink(exe + '.pid') rescue nil
|
233
|
+
seh = Object.const_get('CPEE::ExecutionHandler::' + CPEE::Persistence::extract_item(id,opts,'executionhandler').capitalize)
|
234
|
+
if seh::stop(id,opts) # process is not running anyway, so change redis
|
227
235
|
PutState::set id, opts, 'stopped'
|
228
236
|
end
|
229
237
|
else
|
@@ -302,16 +310,16 @@ module CPEE
|
|
302
310
|
Riddl::Parameter::Simple.new('value',CPEE::Persistence::extract_item(id,opts,'status/message'))
|
303
311
|
end
|
304
312
|
end #}}}
|
305
|
-
class
|
313
|
+
class GetExecutionHandler < Riddl::Implementation #{{{
|
306
314
|
def response
|
307
315
|
id = @a[0]
|
308
316
|
opts = @a[1]
|
309
|
-
Riddl::Parameter::Simple.new('value',CPEE::Persistence::extract_item(id,opts,'
|
317
|
+
Riddl::Parameter::Simple.new('value',CPEE::Persistence::extract_item(id,opts,'executionhandler'))
|
310
318
|
end
|
311
319
|
end #}}}
|
312
|
-
class
|
320
|
+
class PutExecutionHandler < Riddl::Implementation #{{{
|
313
321
|
def self::set(id,opts,hw)
|
314
|
-
CPEE::Persistence::set_item(id,opts,'
|
322
|
+
CPEE::Persistence::set_item(id,opts,'executionhandler',:executionhandler => hw)
|
315
323
|
end
|
316
324
|
def response
|
317
325
|
id = @a[0]
|
@@ -319,7 +327,7 @@ module CPEE
|
|
319
327
|
if opts[:statemachine].readonly? id
|
320
328
|
@status = 423
|
321
329
|
else
|
322
|
-
|
330
|
+
PutExecutionHandler::set(id,opts,@p[0].value)
|
323
331
|
end
|
324
332
|
nil
|
325
333
|
end
|
@@ -633,8 +641,103 @@ module CPEE
|
|
633
641
|
end #}}}
|
634
642
|
|
635
643
|
class PutDescription < Riddl::Implementation #{{{
|
644
|
+
def self::transform(descxml,tdesc,tdesctype,tdata,tdatatype,tendp,tendptype,hw,opts) #{{{
|
645
|
+
desc = XML::Smart::string(descxml)
|
646
|
+
desc.register_namespace 'p', 'http://cpee.org/ns/description/1.0'
|
647
|
+
|
648
|
+
dslx = nil
|
649
|
+
dsl = nil
|
650
|
+
de = {}
|
651
|
+
ep = {}
|
652
|
+
|
653
|
+
if desc.root.children.empty?
|
654
|
+
tdesctype = tdatatype = tendptype = 'clean'
|
655
|
+
end
|
656
|
+
|
657
|
+
### description transformation, including dslx to dsl
|
658
|
+
addit = if tdesctype == 'copy' || tdesc.empty?
|
659
|
+
desc
|
660
|
+
elsif tdesctype == 'rest' && !tdesc.empty?
|
661
|
+
srv = Riddl::Client.interface(tdesc,opts[:transformation_service])
|
662
|
+
status, res = srv.post [
|
663
|
+
Riddl::Parameter::Complex.new("description","text/xml",descxml),
|
664
|
+
Riddl::Parameter::Simple.new("type","description")
|
665
|
+
]
|
666
|
+
if status >= 200 && status < 300
|
667
|
+
XML::Smart::string(res[0].value.read).root
|
668
|
+
else
|
669
|
+
raise 'Could not extract dslx'
|
670
|
+
end
|
671
|
+
elsif tdesctype == 'xslt' && !tdesc.empty?
|
672
|
+
trans = XML::Smart::open_unprotected(tdesc)
|
673
|
+
desc.transform_with(trans).root
|
674
|
+
elsif tdesctype == 'clean'
|
675
|
+
XML::Smart::open_unprotected(opts[:empty_dslx]).root
|
676
|
+
else
|
677
|
+
nil
|
678
|
+
end
|
679
|
+
unless addit.nil?
|
680
|
+
dslx = addit.to_s
|
681
|
+
dsl = Object.const_get('CPEE::ExecutionHandler::' + hw.capitalize)::dslx_to_dsl(addit)
|
682
|
+
end
|
683
|
+
|
684
|
+
### dataelements extraction
|
685
|
+
addit = if tdatatype == 'rest' && !tdata.empty?
|
686
|
+
srv = Riddl::Client.interface(tdata,@opts[:transformation_service])
|
687
|
+
status, res = srv.post [
|
688
|
+
Riddl::Parameter::Complex.new("description","text/xml",descxml),
|
689
|
+
Riddl::Parameter::Simple.new("type","dataelements")
|
690
|
+
]
|
691
|
+
if status >= 200 && status < 300
|
692
|
+
res
|
693
|
+
else
|
694
|
+
raise 'Could not extract dataelements'
|
695
|
+
end
|
696
|
+
elsif tdatatype == 'xslt' && !tdata.empty?
|
697
|
+
trans = XML::Smart::open_unprotected(tdata)
|
698
|
+
desc.transform_with(trans)
|
699
|
+
elsif tdatatype == 'clean'
|
700
|
+
[]
|
701
|
+
else
|
702
|
+
nil
|
703
|
+
end
|
704
|
+
unless addit.nil?
|
705
|
+
addit.each_slice(2).each do |k,v|
|
706
|
+
de[k.value.to_sym] = v.value
|
707
|
+
end
|
708
|
+
end
|
709
|
+
|
710
|
+
### endpoints extraction
|
711
|
+
addit = if tendptype == 'rest' && !tdata.empty?
|
712
|
+
srv = Riddl::Client.interface(tendp,@opts[:transformation_service])
|
713
|
+
status, res = srv.post [
|
714
|
+
Riddl::Parameter::Complex.new("description","text/xml",descxml),
|
715
|
+
Riddl::Parameter::Simple.new("type","endpoints")
|
716
|
+
]
|
717
|
+
if status >= 200 && status < 300
|
718
|
+
res
|
719
|
+
else
|
720
|
+
raise 'Could not extract endpoints'
|
721
|
+
end
|
722
|
+
elsif tendptype == 'xslt' && !tdata.empty?
|
723
|
+
trans = XML::Smart::open_unprotected(tendp.text)
|
724
|
+
desc.transform_with(trans)
|
725
|
+
elsif tendptype == 'clean'
|
726
|
+
[]
|
727
|
+
else
|
728
|
+
nil
|
729
|
+
end
|
730
|
+
unless addit.nil?
|
731
|
+
addit.each_slice(2).each do |k,v|
|
732
|
+
ep[k.value.to_sym] = v.value
|
733
|
+
end
|
734
|
+
end
|
735
|
+
|
736
|
+
[dslx, dsl, de, ep]
|
737
|
+
end #}}}
|
738
|
+
|
636
739
|
def self::set(id,opts,xml)
|
637
|
-
dslx, dsl, de, ep = transform(
|
740
|
+
dslx, dsl, de, ep = PutDescription::transform(
|
638
741
|
xml,
|
639
742
|
CPEE::Persistence::extract_item(id,opts,'transformation/description'),
|
640
743
|
CPEE::Persistence::extract_item(id,opts,'transformation/description/@type'),
|
@@ -642,6 +745,7 @@ module CPEE
|
|
642
745
|
CPEE::Persistence::extract_item(id,opts,'transformation/dataelements/@type'),
|
643
746
|
CPEE::Persistence::extract_item(id,opts,'transformation/endpoints'),
|
644
747
|
CPEE::Persistence::extract_item(id,opts,'transformation/endpoints/@type'),
|
748
|
+
CPEE::Persistence::extract_item(id,opts,'executionhandler'),
|
645
749
|
opts
|
646
750
|
)
|
647
751
|
CPEE::Persistence::set_item(id,opts,'description',
|