cpee 1.5.27 → 2.0
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.
- checksums.yaml +4 -4
- data/{FEATURES → FEATURES.md} +7 -6
- data/INSTALL.md +1 -0
- data/{README → README.md} +3 -3
- data/Rakefile +1 -0
- data/cockpit/index.html +7 -7
- data/cockpit/js/details.js +13 -14
- data/cockpit/js/instance.js +186 -284
- data/cockpit/js/parameters.js +13 -3
- data/cockpit/js/ui.js +2 -2
- data/cockpit/rngs/attributes.rng +1 -1
- data/cockpit/rngs/dataelements.rng +1 -1
- data/cockpit/rngs/endpoints.rng +1 -1
- data/cockpit/templates.legacy/Async.xml +7 -7
- data/cockpit/templates.legacy/BCO.xml +7 -10
- data/cockpit/templates.legacy/BCS.xml +7 -10
- data/cockpit/templates.legacy/Centurio.xml +6 -6
- data/cockpit/templates.legacy/Concurrent.xml +6 -6
- data/cockpit/templates.legacy/Coopis Testset.xml +6 -6
- data/cockpit/templates.legacy/Endpoints and Data Manipulation.xml +6 -6
- data/cockpit/templates.legacy/ICSOC Testset.xml +6 -6
- data/cockpit/templates.legacy/Infinity.xml +3 -3
- data/cockpit/templates.legacy/Lego Boxer.xml +7 -7
- data/cockpit/templates.legacy/Lego Conveyor.xml +7 -7
- data/cockpit/templates.legacy/Lego Crane.xml +7 -7
- data/cockpit/templates.legacy/Lego Ejector.xml +7 -7
- data/cockpit/templates.legacy/Lego Full.xml +7 -7
- data/cockpit/templates.legacy/Lego Liddy.xml +7 -7
- data/cockpit/templates.legacy/Lego Plate.xml +7 -7
- data/cockpit/templates.legacy/Lego Transporter.xml +7 -7
- data/cockpit/templates.legacy/Lego_Part_1.xml +7 -7
- data/cockpit/templates.legacy/LgLinear.xml +6 -10
- data/cockpit/templates.legacy/Linear.xml +7 -7
- data/cockpit/templates.legacy/Log.xml +7 -7
- data/cockpit/templates.legacy/Mangler 1.xml +6 -6
- data/cockpit/templates.legacy/Mangler 2.xml +6 -6
- data/cockpit/templates.legacy/Manuel Labels.xml +7 -7
- data/cockpit/templates.legacy/Promise.xml +7 -7
- data/cockpit/templates.legacy/SOPROMO Test Sonification.xml +6 -6
- data/cockpit/templates.legacy/Subprocess.xml +56 -0
- 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 +6 -6
- data/cockpit/templates.legacy/TEST - Wrong Positions.xml +6 -6
- data/cockpit/templates.legacy/Take_5.xml +48 -0
- data/cockpit/templates.legacy/Update.xml +7 -7
- data/cockpit/templates.legacy/Worklist Parallel.xml +7 -7
- data/cockpit/templates.legacy/Worklist Test CPEE.xml +7 -7
- data/cockpit/templates.legacy/Worklist Test.xml +7 -7
- data/cockpit/templates.legacy/Worklist Test2.xml +7 -7
- data/cockpit/templates.legacy/convert_cpee2.rb +15 -0
- data/cockpit/templates.legacy/testsets.xml +1 -1
- data/cockpit/templates/BPM 2020 Manual Adjust.xml +18 -71
- data/cockpit/templates/BPM 2020 Solution Baseline.xml +17 -71
- data/cockpit/templates/BPM 2020 Solution NN.xml +25 -71
- data/cockpit/templates/BPM 2020 Solution View.xml +15 -71
- data/cockpit/templates/BPM 2020.xml +17 -6
- data/cockpit/templates/Coopis 2010.xml +16 -7
- data/cockpit/templates/IUPC arXiv:1104.3609 P34 1.xml +8 -11
- data/cockpit/templates/IUPC arXiv:1104.3609 P34 2.xml +8 -11
- data/cockpit/templates/IUPC arXiv:1104.3609 P34 3.xml +8 -11
- data/cockpit/templates/Worklist.xml +7 -7
- data/cockpit/templates/convert_cpee2.rb +15 -0
- data/cockpit/themes/compact/rngs/alternative.rng +25 -0
- data/cockpit/themes/compact/rngs/call.rng +18 -18
- data/cockpit/themes/compact/rngs/callmanipulate.rng +26 -26
- data/cockpit/themes/compact/rngs/choose.rng +14 -0
- data/cockpit/themes/compact/rngs/critical.rng +5 -0
- data/cockpit/themes/compact/rngs/escape.rng +1 -0
- data/cockpit/themes/compact/rngs/group.rng +3 -0
- data/cockpit/themes/compact/rngs/loop.rng +22 -0
- data/cockpit/themes/compact/rngs/manipulate.rng +9 -0
- data/cockpit/themes/compact/rngs/otherwise.rng +22 -0
- data/cockpit/themes/compact/rngs/parallel.rng +21 -0
- data/cockpit/themes/compact/rngs/parallel_branch.rng +8 -0
- data/cockpit/themes/compact/rngs/scripts.rng +10 -11
- data/cockpit/themes/compact/rngs/stop.rng +5 -0
- data/cockpit/themes/compact/rngs/terminate.rng +1 -0
- data/cockpit/themes/convert_cpee2.rb +8 -0
- data/cockpit/themes/default/rngs/alternative.rng +8 -8
- data/cockpit/themes/default/rngs/call.rng +85 -49
- data/cockpit/themes/default/rngs/callmanipulate.rng +103 -64
- data/cockpit/themes/default/rngs/choose.rng +5 -3
- data/cockpit/themes/default/rngs/critical.rng +2 -2
- data/cockpit/themes/default/rngs/escape.rng +1 -1
- data/cockpit/themes/default/rngs/group.rng +3 -3
- data/cockpit/themes/default/rngs/loop.rng +8 -8
- data/cockpit/themes/default/rngs/manipulate.rng +3 -3
- data/cockpit/themes/default/rngs/otherwise.rng +8 -8
- data/cockpit/themes/default/rngs/parallel.rng +14 -6
- data/cockpit/themes/default/rngs/parallel_branch.rng +2 -2
- data/cockpit/themes/default/rngs/scripts.rng +23 -0
- data/cockpit/themes/default/rngs/stop.rng +2 -2
- data/cockpit/themes/default/rngs/terminate.rng +1 -1
- data/cockpit/themes/extended/rngs/alternative.rng +25 -0
- data/cockpit/themes/extended/rngs/call.rng +18 -18
- data/cockpit/themes/extended/rngs/callmanipulate.rng +26 -26
- data/cockpit/themes/extended/rngs/choose.rng +14 -0
- data/cockpit/themes/extended/rngs/critical.rng +5 -0
- data/cockpit/themes/extended/rngs/escape.rng +1 -0
- data/cockpit/themes/extended/rngs/group.rng +3 -0
- data/cockpit/themes/extended/rngs/loop.rng +22 -0
- data/cockpit/themes/extended/rngs/manipulate.rng +9 -0
- data/cockpit/themes/extended/rngs/otherwise.rng +22 -0
- data/cockpit/themes/extended/rngs/parallel.rng +21 -0
- data/cockpit/themes/extended/rngs/parallel_branch.rng +8 -0
- data/cockpit/themes/extended/rngs/scripts.rng +10 -11
- data/cockpit/themes/extended/rngs/stop.rng +5 -0
- data/cockpit/themes/extended/rngs/terminate.rng +1 -0
- data/cockpit/themes/extended/theme.js +7 -6
- data/cockpit/themes/model/rngs/alternative.rng +1 -1
- data/cockpit/themes/model/rngs/call.rng +16 -16
- data/cockpit/themes/model/rngs/callmanipulate.rng +17 -17
- data/cockpit/themes/model/rngs/choose.rng +1 -1
- data/cockpit/themes/model/rngs/critical.rng +1 -1
- data/cockpit/themes/model/rngs/escape.rng +1 -1
- data/cockpit/themes/model/rngs/group.rng +1 -1
- data/cockpit/themes/model/rngs/loop.rng +1 -1
- data/cockpit/themes/model/rngs/manipulate.rng +1 -1
- data/cockpit/themes/model/rngs/otherwise.rng +1 -1
- data/cockpit/themes/model/rngs/parallel.rng +1 -1
- data/cockpit/themes/model/rngs/parallel_branch.rng +1 -1
- data/cockpit/themes/model/rngs/scripts.rng +3 -4
- data/cockpit/themes/model/rngs/stop.rng +1 -1
- data/cockpit/themes/model/rngs/terminate.rng +1 -1
- data/cockpit/themes/model/theme.js +7 -6
- data/cockpit/themes/packed/rngs/alternative.rng +25 -0
- data/cockpit/themes/packed/rngs/call.rng +18 -18
- data/cockpit/themes/packed/rngs/callmanipulate.rng +26 -26
- data/cockpit/themes/packed/rngs/choose.rng +14 -0
- data/cockpit/themes/packed/rngs/critical.rng +5 -0
- data/cockpit/themes/packed/rngs/escape.rng +1 -0
- data/cockpit/themes/packed/rngs/group.rng +3 -0
- data/cockpit/themes/packed/rngs/loop.rng +22 -0
- data/cockpit/themes/packed/rngs/manipulate.rng +9 -0
- data/cockpit/themes/packed/rngs/otherwise.rng +22 -0
- data/cockpit/themes/packed/rngs/parallel.rng +21 -0
- data/cockpit/themes/packed/rngs/parallel_branch.rng +8 -0
- data/cockpit/themes/packed/rngs/scripts.rng +10 -11
- data/cockpit/themes/packed/rngs/stop.rng +5 -0
- data/cockpit/themes/packed/rngs/terminate.rng +1 -0
- data/cockpit/themes/packed/theme.js +7 -6
- data/cockpit/themes/preset/rngs/alternative.rng +25 -0
- data/cockpit/themes/preset/rngs/call.rng +18 -18
- data/cockpit/themes/preset/rngs/callmanipulate.rng +26 -26
- data/cockpit/themes/preset/rngs/choose.rng +14 -0
- data/cockpit/themes/preset/rngs/critical.rng +5 -0
- data/cockpit/themes/preset/rngs/escape.rng +1 -0
- data/cockpit/themes/preset/rngs/group.rng +3 -0
- data/cockpit/themes/preset/rngs/loop.rng +22 -0
- data/cockpit/themes/preset/rngs/manipulate.rng +9 -0
- data/cockpit/themes/preset/rngs/otherwise.rng +22 -0
- data/cockpit/themes/preset/rngs/parallel.rng +21 -0
- data/cockpit/themes/preset/rngs/parallel_branch.rng +8 -0
- data/cockpit/themes/preset/rngs/scripts.rng +10 -11
- data/cockpit/themes/preset/rngs/stop.rng +5 -0
- data/cockpit/themes/preset/rngs/terminate.rng +1 -0
- data/cockpit/themes/preset/theme.js +7 -6
- data/cpee.gemspec +9 -10
- data/{log/topics.xml → lib/callbacks.xml} +16 -6
- data/lib/{engine → callbacks}/callbacks.rng +2 -8
- data/lib/cpee.xml +10 -4
- data/lib/cpee/attributes_helper.rb +27 -0
- data/lib/cpee/controller.rb +113 -596
- data/lib/cpee/implementation.rb +152 -191
- data/lib/cpee/implementation_callbacks.rb +77 -0
- data/lib/cpee/implementation_notifications.rb +189 -0
- data/lib/cpee/implementation_properties.rb +707 -0
- data/lib/cpee/{callback.rb → message.rb} +20 -18
- data/lib/cpee/persistence.rb +135 -0
- data/lib/cpee/statemachine.rb +20 -0
- data/lib/cpee/transform.rb +95 -0
- data/lib/engine.xml +1 -59
- data/lib/properties.xml +236 -0
- data/lib/properties/arbitrary.rng +26 -0
- data/lib/properties/attributes.rng +10 -0
- data/lib/properties/dataelements.rng +10 -0
- data/lib/properties/description.rng +8 -0
- data/lib/properties/dsl.rng +7 -0
- data/lib/properties/dslx.rng +8 -0
- data/lib/properties/endpoints.rng +10 -0
- data/lib/properties/handlerwrapper.rng +9 -0
- data/lib/properties/position.rng +15 -0
- data/lib/properties/positions.rng +10 -0
- data/lib/properties/properties.rng +29 -0
- data/lib/properties/set-properties.rng +25 -0
- data/lib/properties/set-some-properties.rng +45 -0
- data/lib/properties/simple.rng +8 -0
- data/lib/properties/state.rng +33 -0
- data/lib/properties/status.rng +12 -0
- data/lib/properties/t_attributes.rng +7 -0
- data/lib/properties/t_dataelements.rng +7 -0
- data/lib/properties/t_endpoints.rng +7 -0
- data/lib/properties/t_position.rng +7 -0
- data/lib/properties/t_positions.rng +7 -0
- data/lib/properties/t_simple.rng +7 -0
- data/lib/properties/t_status.rng +7 -0
- data/lib/properties/t_transformation.rng +7 -0
- data/lib/properties/transformation.rng +40 -0
- data/server/dev.rb +1 -0
- data/server/handlerwrappers/default.rb +40 -38
- data/server/resources/backend/README.md +17 -0
- data/server/resources/backend/instance.rb +23 -0
- data/server/resources/backend/instance.template +19 -0
- data/server/resources/backend/opts.yaml +6 -0
- data/server/resources/backend/run +29 -0
- data/server/resources/notifications/logging/subscription.xml +19 -0
- data/server/resources/properties.empty +38 -0
- data/server/resources/properties.init +11 -11
- data/server/resources/states.dot +19 -0
- data/server/resources/states.xml +49 -0
- data/server/resources/transformation_dslx.xsl +3 -12
- data/server/routing/end.rb +44 -0
- data/server/routing/forward-events.rb +59 -0
- data/server/routing/forward-votes.rb +108 -0
- data/server/routing/persist.rb +155 -0
- data/server/server.rb +1 -0
- data/tools/cpee +19 -15
- data/tools/instantiation/instantiation +0 -1
- data/tools/server/server.rb +0 -1
- metadata +77 -132
- data/INSTALL +0 -23
- data/cockpit/templates/convert_preset.rb +0 -32
- data/cockpit/templates/testsets.xml +0 -11
- data/cockpit/templates/transformations.xml +0 -4
- data/cockpit/themes/compact/rngs/alternative.rng +0 -1
- data/cockpit/themes/compact/rngs/choose.rng +0 -1
- data/cockpit/themes/compact/rngs/critical.rng +0 -1
- data/cockpit/themes/compact/rngs/escape.rng +0 -1
- data/cockpit/themes/compact/rngs/group.rng +0 -1
- data/cockpit/themes/compact/rngs/loop.rng +0 -1
- data/cockpit/themes/compact/rngs/manipulate.rng +0 -1
- data/cockpit/themes/compact/rngs/otherwise.rng +0 -1
- data/cockpit/themes/compact/rngs/parallel.rng +0 -1
- data/cockpit/themes/compact/rngs/parallel_branch.rng +0 -1
- data/cockpit/themes/compact/rngs/stop.rng +0 -1
- data/cockpit/themes/compact/rngs/terminate.rng +0 -1
- data/cockpit/themes/default/rngs/finalize.rng +0 -6
- data/cockpit/themes/default/rngs/update.rng +0 -6
- data/cockpit/themes/default/theme.js +0 -1286
- data/cockpit/themes/extended/rngs/alternative.rng +0 -1
- data/cockpit/themes/extended/rngs/choose.rng +0 -1
- data/cockpit/themes/extended/rngs/critical.rng +0 -1
- data/cockpit/themes/extended/rngs/escape.rng +0 -1
- data/cockpit/themes/extended/rngs/group.rng +0 -1
- data/cockpit/themes/extended/rngs/loop.rng +0 -1
- data/cockpit/themes/extended/rngs/manipulate.rng +0 -1
- data/cockpit/themes/extended/rngs/otherwise.rng +0 -1
- data/cockpit/themes/extended/rngs/parallel.rng +0 -1
- data/cockpit/themes/extended/rngs/parallel_branch.rng +0 -1
- data/cockpit/themes/extended/rngs/stop.rng +0 -1
- data/cockpit/themes/extended/rngs/terminate.rng +0 -1
- data/cockpit/themes/labels/rngs/alternative.rng +0 -25
- data/cockpit/themes/labels/rngs/call.rng +0 -81
- data/cockpit/themes/labels/rngs/callmanipulate.rng +0 -101
- data/cockpit/themes/labels/rngs/choose.rng +0 -12
- data/cockpit/themes/labels/rngs/critical.rng +0 -5
- data/cockpit/themes/labels/rngs/escape.rng +0 -1
- data/cockpit/themes/labels/rngs/finalize.rng +0 -6
- data/cockpit/themes/labels/rngs/group.rng +0 -3
- data/cockpit/themes/labels/rngs/loop.rng +0 -22
- data/cockpit/themes/labels/rngs/manipulate.rng +0 -9
- data/cockpit/themes/labels/rngs/otherwise.rng +0 -22
- data/cockpit/themes/labels/rngs/parallel.rng +0 -13
- data/cockpit/themes/labels/rngs/parallel_branch.rng +0 -8
- data/cockpit/themes/labels/rngs/stop.rng +0 -5
- data/cockpit/themes/labels/rngs/terminate.rng +0 -1
- data/cockpit/themes/labels/rngs/update.rng +0 -6
- data/cockpit/themes/labels/symbols/alternative.svg +0 -5
- data/cockpit/themes/labels/symbols/arrow.svg +0 -3
- data/cockpit/themes/labels/symbols/call.svg +0 -6
- data/cockpit/themes/labels/symbols/callmanipulate.svg +0 -8
- data/cockpit/themes/labels/symbols/choose.svg +0 -5
- data/cockpit/themes/labels/symbols/choose_exclusive.svg +0 -5
- data/cockpit/themes/labels/symbols/choose_inclusive.svg +0 -4
- data/cockpit/themes/labels/symbols/complex.svg +0 -8
- data/cockpit/themes/labels/symbols/critical.svg +0 -4
- data/cockpit/themes/labels/symbols/end.svg +0 -3
- data/cockpit/themes/labels/symbols/escape.svg +0 -5
- data/cockpit/themes/labels/symbols/event_end.svg +0 -3
- data/cockpit/themes/labels/symbols/loop.svg +0 -5
- data/cockpit/themes/labels/symbols/manipulate.svg +0 -4
- data/cockpit/themes/labels/symbols/otherwise.svg +0 -5
- data/cockpit/themes/labels/symbols/parallel.svg +0 -5
- data/cockpit/themes/labels/symbols/parallel_branch.svg +0 -5
- data/cockpit/themes/labels/symbols/parallel_branch_compact.svg +0 -4
- data/cockpit/themes/labels/symbols/parallel_branch_event.svg +0 -14
- data/cockpit/themes/labels/symbols/parallel_branch_normal.svg +0 -5
- data/cockpit/themes/labels/symbols/scripts.svg +0 -4
- data/cockpit/themes/labels/symbols/start.svg +0 -3
- data/cockpit/themes/labels/symbols/stop.svg +0 -5
- data/cockpit/themes/labels/symbols/terminate.svg +0 -4
- data/cockpit/themes/packed/rngs/alternative.rng +0 -1
- data/cockpit/themes/packed/rngs/choose.rng +0 -1
- data/cockpit/themes/packed/rngs/critical.rng +0 -1
- data/cockpit/themes/packed/rngs/escape.rng +0 -1
- data/cockpit/themes/packed/rngs/group.rng +0 -1
- data/cockpit/themes/packed/rngs/loop.rng +0 -1
- data/cockpit/themes/packed/rngs/manipulate.rng +0 -1
- data/cockpit/themes/packed/rngs/otherwise.rng +0 -1
- data/cockpit/themes/packed/rngs/parallel.rng +0 -1
- data/cockpit/themes/packed/rngs/parallel_branch.rng +0 -1
- data/cockpit/themes/packed/rngs/stop.rng +0 -1
- data/cockpit/themes/packed/rngs/terminate.rng +0 -1
- data/cockpit/themes/preset/rngs/alternative.rng +0 -1
- data/cockpit/themes/preset/rngs/choose.rng +0 -1
- data/cockpit/themes/preset/rngs/critical.rng +0 -1
- data/cockpit/themes/preset/rngs/escape.rng +0 -1
- data/cockpit/themes/preset/rngs/group.rng +0 -1
- data/cockpit/themes/preset/rngs/loop.rng +0 -1
- data/cockpit/themes/preset/rngs/manipulate.rng +0 -1
- data/cockpit/themes/preset/rngs/otherwise.rng +0 -1
- data/cockpit/themes/preset/rngs/parallel.rng +0 -1
- data/cockpit/themes/preset/rngs/parallel_branch.rng +0 -1
- data/cockpit/themes/preset/rngs/stop.rng +0 -1
- data/cockpit/themes/preset/rngs/terminate.rng +0 -1
- data/lib/cpee/empty_workflow.rb +0 -28
- data/lib/cpee/handler_notifications.rb +0 -47
- data/lib/cpee/handler_properties.rb +0 -50
- data/lib/cpee/instantiation.rb +0 -369
- data/lib/cpee/processtransformation/bpel/Repository/booking.bpel +0 -125
- data/lib/cpee/processtransformation/bpel/Repository/booking.wsdl +0 -72
- data/lib/cpee/processtransformation/bpel/Repository/booking/airline.wsdl +0 -71
- data/lib/cpee/processtransformation/bpel/Repository/booking/hotel.wsdl +0 -64
- data/lib/cpee/processtransformation/bpel/Repository/booking/report.wsdl +0 -71
- data/lib/cpee/processtransformation/bpel/bpel2wee.rb +0 -34
- data/lib/cpee/processtransformation/bpel/bpelserver.ru +0 -64
- data/lib/cpee/processtransformation/bpel/bpelserver.xml +0 -70
- data/lib/cpee/processtransformation/bpel/lib/BPEL_Transform.rb +0 -367
- data/lib/cpee/processtransformation/bpmn2.rb +0 -297
- data/lib/cpee/processtransformation/cpee.rb +0 -119
- data/lib/cpee/processtransformation/structures.rb +0 -465
- data/lib/cpee/processtransformation/target.rb +0 -50
- data/log/azure.rb +0 -10
- data/log/azure_logger.rb +0 -136
- data/log/chain.xml +0 -27
- data/log/elasticsearch.rb +0 -15
- data/log/elasticsearch_logging.rb +0 -377
- data/log/legacy/test_es.rb +0 -26
- data/log/legacy/test_split.rb +0 -211
- data/log/log.xml +0 -13
- data/log/non_tamp.rb +0 -156
- data/log/sic.rb +0 -64
- data/log/template.xes_xml +0 -23
- data/log/template.xes_yaml +0 -28
- data/log/trace.yaml +0 -17717
- data/log/trace_sic.yaml +0 -18343
- data/log/xes_xml.rb +0 -121
- data/log/xes_yaml.rb +0 -96
- data/server/handlerwrappers/soap.rb +0 -146
- data/server/resources/properties.schema.active +0 -139
- data/server/resources/properties.schema.finished +0 -139
- data/server/resources/properties.schema.inactive +0 -136
- data/server/transformation_dslx.xsl +0 -790
- data/test/callback.rb +0 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 97540332122030fa3cc477f5f47bcff6ddbd5f0977a530075c9c901cfdd2d9b1
|
|
4
|
+
data.tar.gz: 0a7e55a6145144ab94b304e202b0d550489dd3868b8fa0cf015bf0427c358c50
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b69f463b07d093c897b2d1b39bbb089b8a9e6e32cd2ae58632111c72b3d9e0c1945f31e67059f524ba2d1b822e84e75b3cbd8150c6849ae52779ac95950aef32
|
|
7
|
+
data.tar.gz: ab3ab54ff2bb5956ab00fd1b5bbc1b76258fdd6e3f2b96754131d90ad29a44a36072799e2898b61b1840d87ee238d342dde66e8f94d9f265101355f24878d457
|
data/{FEATURES → FEATURES.md}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
CPEE Features
|
|
1
|
+
# CPEE Features
|
|
2
2
|
* The engine itself is a RESTful web service for simple integration into
|
|
3
3
|
websites and existing information systems.
|
|
4
4
|
* Instances can be created, started, stopped, and modified through simple HTTP
|
|
@@ -12,18 +12,19 @@ CPEE Features
|
|
|
12
12
|
* It provides better coverage of workflow patterns compared to Oracle BPELPM,
|
|
13
13
|
jBOSS jBPM, and Apache Ode.
|
|
14
14
|
|
|
15
|
-
CPEE Technical Details
|
|
15
|
+
# CPEE Technical Details
|
|
16
16
|
* Reuses an existing virtual machine for executing control flow
|
|
17
17
|
* Supports BPEL and other languages through transformation to a directly
|
|
18
18
|
executable DSL.
|
|
19
19
|
* The engine (named WEEL and available as a separate package) has a core size
|
|
20
|
-
of ~
|
|
21
|
-
*
|
|
20
|
+
of ~ 1110 LOC.
|
|
21
|
+
* Each instance runs in its own OS process, can be seperately monitored and killed.
|
|
22
|
+
* Uses ~ 50 MiB of RAM per instance (depending on storage backend and data
|
|
22
23
|
available in instance)
|
|
23
24
|
* Can utilize multiple threads per instance.
|
|
24
|
-
*
|
|
25
|
+
* Can be restarted in while instances are running.
|
|
25
26
|
|
|
26
|
-
CPEE Applied Benefits
|
|
27
|
+
# CPEE Applied Benefits
|
|
27
28
|
* Interprocess Synchronization as a Service
|
|
28
29
|
* Service Replacement (Repair) Service
|
|
29
30
|
* Plain HTML & JavaScript instance editor that allows to modify all aspects of
|
data/INSTALL.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# TODO
|
data/{README → README.md}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
All code in this package is provided under the LGPL-3 license.
|
|
2
|
-
Please read the file COPYING.
|
|
2
|
+
Please read the file COPYING in the main directory.
|
|
3
3
|
|
|
4
|
-
Tested for MRI
|
|
4
|
+
Tested for MRI 2.6, 2.7
|
|
5
5
|
|
|
6
6
|
Searching for mem-leaks:
|
|
7
|
-
valgrind --num-callers=50 --error-limit=no --partial-loads-ok=yes --undef-value-errors=no ./server.rb -v start
|
|
7
|
+
valgrind --num-callers=50 --error-limit=no --partial-loads-ok=yes --undef-value-errors=no ./server/server.rb -v start
|
data/Rakefile
CHANGED
data/cockpit/index.html
CHANGED
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
<form id='fuckchrome'>
|
|
150
150
|
<input type='file' name='testsetfile' id='testsetfile'/>
|
|
151
151
|
</form>
|
|
152
|
-
<button title='a
|
|
152
|
+
<button title='a template includes various settings, subscriptions or a (partial) model' name="loadtestset">load template</button><button title='a testset includes various settings, subscriptions or a model' name="loadtestsetfile">load testset</button>
|
|
153
153
|
</div>
|
|
154
154
|
<div>
|
|
155
155
|
<input type='file' name='modelfile' id='modelfile'/>
|
|
@@ -182,15 +182,15 @@
|
|
|
182
182
|
<td>State:</td>
|
|
183
183
|
<td id='state'>
|
|
184
184
|
<span id="state_text"></span>
|
|
185
|
-
<span id="state_any">
|
|
185
|
+
<span id="state_any" style='display:none'>
|
|
186
186
|
<span> ⇒ </span>
|
|
187
|
-
<button name="state_start" title='start'>Start</button>
|
|
188
|
-
<button name="state_stop" title='stop'>Stop</button>
|
|
189
|
-
<span id="state_extended">
|
|
187
|
+
<button name="state_start" title='start' style='display:none'>Start</button>
|
|
188
|
+
<button name="state_stop" title='stop' style='display:none'>Stop</button>
|
|
189
|
+
<span id="state_extended" style='display:none'>
|
|
190
190
|
<span> / </span>
|
|
191
|
-
<button name="state_replay" title='replay'>Replay</button>
|
|
191
|
+
<button name="state_replay" title='replay' style='display:none'>Replay</button>
|
|
192
192
|
<span> / </span>
|
|
193
|
-
<button name="state_abandon" title='abandon'>Abandon</button>
|
|
193
|
+
<button name="state_abandon" title='abandon' style='display:none'>Abandon</button>
|
|
194
194
|
</span>
|
|
195
195
|
</span>
|
|
196
196
|
</td>
|
data/cockpit/js/details.js
CHANGED
|
@@ -48,27 +48,21 @@ function do_main_work() { //{{{
|
|
|
48
48
|
var orignode = save['graph_adaptor'].illustrator.get_node_by_svg_id(svgid).parents('g.element[element-id]');
|
|
49
49
|
var origtype = orignode.attr('element-type') + '_' + orignode.attr('element-endpoint');
|
|
50
50
|
|
|
51
|
-
|
|
52
51
|
var url = $('body').attr('current-instance');
|
|
53
52
|
$('#main ui-tabbar ui-behind button').removeClass('highlight');
|
|
54
53
|
save['details'].set_checkpoint();
|
|
55
54
|
|
|
56
|
-
// pull out xml and add XMLNS
|
|
57
|
-
// sadly we have to serialze, add in string and then parse again
|
|
58
|
-
// as adding namespaces to nodes is not supported
|
|
59
|
-
// serialization and reparsing is faster and more robust than xslt option
|
|
60
55
|
var nnew = $(save['details'].save().documentElement);
|
|
61
56
|
nnew.attr('svg-id',svgid);
|
|
62
|
-
nnew.attr('trans-xmlns','http://cpee.org/ns/description/1.0');
|
|
63
57
|
|
|
64
58
|
if ($('*[svg-id]',node).length > 0) {
|
|
65
59
|
nnew.append(node.children().filter(function(){ return this.attributes['svg-id'] != undefined; }));
|
|
66
60
|
}
|
|
67
61
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
node.replaceWith(
|
|
62
|
+
if (node[0].namespaceURI == nnew.attr('xmlns')) { // remove xmlns when it is the same as in the parent node
|
|
63
|
+
nnew[0].removeAttribute('xmlns');
|
|
64
|
+
}
|
|
65
|
+
node.replaceWith(nnew);
|
|
72
66
|
|
|
73
67
|
var ttarget = manifestation.adaptor.illustrator.get_node_by_svg_id(svgid);
|
|
74
68
|
var tnewnode = ttarget.parents('g.element[element-id]');
|
|
@@ -86,7 +80,10 @@ function do_main_work() { //{{{
|
|
|
86
80
|
var newtype = newnode.attr('element-type') + '_' + newnode.attr('element-endpoint');
|
|
87
81
|
var g = graphrealization.get_description();
|
|
88
82
|
save['graph'] = $X(g);
|
|
89
|
-
save['graph'].
|
|
83
|
+
save['graph'].removeAttr('svg-id');
|
|
84
|
+
save['graph'].removeAttr('svg-type');
|
|
85
|
+
save['graph'].removeAttr('svg-subtype');
|
|
86
|
+
save['graph'].removeAttr('svg-label');
|
|
90
87
|
|
|
91
88
|
if (newtype != origtype) {
|
|
92
89
|
manifestation.update_details(svgid);
|
|
@@ -94,11 +91,13 @@ function do_main_work() { //{{{
|
|
|
94
91
|
} else {
|
|
95
92
|
$.ajax({
|
|
96
93
|
type: "PUT",
|
|
97
|
-
url: url + "/properties/
|
|
94
|
+
url: url + "/properties/description/",
|
|
95
|
+
contentType: 'text/xml',
|
|
98
96
|
headers: {
|
|
99
|
-
|
|
97
|
+
'Content-ID': 'description',
|
|
98
|
+
'CPEE-Event-Source': myid
|
|
100
99
|
},
|
|
101
|
-
data:
|
|
100
|
+
data: desc.get_description()
|
|
102
101
|
});
|
|
103
102
|
adaptor_update();
|
|
104
103
|
format_instance_pos();
|
data/cockpit/js/instance.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var es;
|
|
2
2
|
var suspended_monitoring = false;
|
|
3
3
|
var myid = ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16));
|
|
4
4
|
var paths = '#dat_details input, #dat_details textarea, #dat_details select, #dat_details button, #dat_details [contenteditable], #dat_dataelements input, #dat_dataelements textarea, #dat_dataelements select, #dat_dataelements button, #dat_dataelements [contenteditable], #dat_endpoints input, #dat_endpoints textarea, #dat_endpoints select, #dat_endpoints button, #dat_endpoints [contenteditable], #dat_attributes input, #dat_attributes textarea, #dat_attributes select, #dat_attributes button, #dat_attributes [contenteditable]';
|
|
@@ -7,20 +7,32 @@ var subscription;
|
|
|
7
7
|
var subscription_state = 'less';
|
|
8
8
|
var graph_changed = new Event("graph:changed", {"bubbles":true, "cancelable":false});
|
|
9
9
|
var save = {};
|
|
10
|
-
save['state']= undefined;
|
|
11
|
-
save['dsl'] = undefined;
|
|
12
|
-
save['graph'] = undefined;
|
|
13
|
-
save['graph_theme'] = undefined;
|
|
14
|
-
save['graph_adaptor'] = undefined;
|
|
15
10
|
save['endpoints'] = undefined;
|
|
16
|
-
save['endpoints_cache'] = {};
|
|
17
|
-
save['endpoints_list'] = {};
|
|
18
11
|
save['dataelements'] = undefined;
|
|
19
12
|
save['attributes'] = undefined;
|
|
20
|
-
save['details'] = undefined;
|
|
21
|
-
save['details_target'] = undefined;
|
|
22
|
-
save['instance_pos'] = [];
|
|
23
13
|
var node_state = {};
|
|
14
|
+
|
|
15
|
+
function global_init() {
|
|
16
|
+
suspended_monitoring = false;
|
|
17
|
+
loading = false;
|
|
18
|
+
subscription = undefined;
|
|
19
|
+
subscription_state = 'less';
|
|
20
|
+
save['state']= undefined;
|
|
21
|
+
save['dsl'] = undefined;
|
|
22
|
+
save['activity_states'] = {}
|
|
23
|
+
save['graph'] = undefined;
|
|
24
|
+
save['graph_theme'] = undefined;
|
|
25
|
+
save['graph_adaptor'] = undefined;
|
|
26
|
+
save['endpoints_cache'] = {};
|
|
27
|
+
save['endpoints_list'] = {};
|
|
28
|
+
save['details'] = undefined;
|
|
29
|
+
save['details_target'] = undefined;
|
|
30
|
+
save['instance_pos'] = [];
|
|
31
|
+
node_state = {};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
global_init();
|
|
35
|
+
|
|
24
36
|
var sub_more = 'topic' + '=' + 'activity' + '&' +// {{{
|
|
25
37
|
'events' + '=' + 'calling,status,manipulating,failed,done' + '&' +
|
|
26
38
|
'topic' + '=' + 'activity' + '&' +
|
|
@@ -77,16 +89,16 @@ function cockpit() { //{{{
|
|
|
77
89
|
$("button[name=loadmodeltype]").click(function(e){new CustomMenu(e).menu($('#modeltypes'),load_modeltype, $("button[name=loadmodeltype]")); });
|
|
78
90
|
$("button[name=savetestsetfile]").click(function(){ save_testsetfile(); });
|
|
79
91
|
$("button[name=savesvgfile]").click(function(){ save_svgfile(); });
|
|
80
|
-
$("button[name=state_start]").click(function(){ $(this).attr("disabled","disabled");start_instance(); });
|
|
81
|
-
$("button[name=state_stop]").click(function(){ $(this).attr("disabled","disabled");stop_instance(); });
|
|
82
|
-
$("button[name=state_replay]").click(function(){ $(this).attr("disabled","disabled");replay_instance(); });
|
|
92
|
+
$("button[name=state_start]").click(function(){ $(this).parent().find('button').attr("disabled","disabled");start_instance(); });
|
|
93
|
+
$("button[name=state_stop]").click(function(){ $(this).parent().find('button').attr("disabled","disabled");stop_instance(); });
|
|
94
|
+
$("button[name=state_replay]").click(function(){ $(this).parent().find('button').attr("disabled","disabled");replay_instance(); });
|
|
83
95
|
$("button[name=state_abandon]").click(function(){ aba_instance(); });
|
|
84
96
|
$("input[name=votecontinue]").click(check_subscription);
|
|
85
97
|
$("input[name=testsetfile]").change(load_testsetfile_after);
|
|
86
98
|
$("input[name=modelfile]").change(load_modelfile_after);
|
|
87
99
|
|
|
88
100
|
$.ajax({
|
|
89
|
-
url: $('body').attr('current-
|
|
101
|
+
url: $('body').attr('current-templates') + ".templates.xml",
|
|
90
102
|
dataType: 'xml',
|
|
91
103
|
success: function(res){
|
|
92
104
|
$('testset',res).each(function(){
|
|
@@ -145,7 +157,7 @@ function cockpit() { //{{{
|
|
|
145
157
|
}
|
|
146
158
|
});
|
|
147
159
|
$.ajax({
|
|
148
|
-
url: $('body').attr('current-
|
|
160
|
+
url: $('body').attr('current-templates') + ".transformations.xml",
|
|
149
161
|
dataType: 'xml',
|
|
150
162
|
success: function(res){
|
|
151
163
|
$('transformation',res).each(function(){
|
|
@@ -171,27 +183,18 @@ function check_subscription() { // {{{
|
|
|
171
183
|
if (num > 0 && subscription_state == 'less') {
|
|
172
184
|
$.ajax({
|
|
173
185
|
type: "PUT",
|
|
174
|
-
url: url + "/notifications/subscriptions/" + subscription,
|
|
175
|
-
data:
|
|
176
|
-
sub_more + '&' +
|
|
177
|
-
'message-uid' + '=' + 'xxx' + '&' +
|
|
178
|
-
'fingerprint-with-producer-secret' + '=' + 'xxx'
|
|
179
|
-
)
|
|
186
|
+
url: url + "/notifications/subscriptions/" + subscription + '/',
|
|
187
|
+
data: sub_more
|
|
180
188
|
});
|
|
181
189
|
subscription_state = 'more';
|
|
182
190
|
}
|
|
183
191
|
if (num == 0 && subscription_state == 'more') {
|
|
184
192
|
$.ajax({
|
|
185
193
|
type: "PUT",
|
|
186
|
-
url: url + "/notifications/subscriptions/" + subscription,
|
|
187
|
-
data:
|
|
188
|
-
sub_less + '&' +
|
|
189
|
-
'message-uid' + '=' + 'xxx' + '&' +
|
|
190
|
-
'fingerprint-with-producer-secret' + '=' + 'xxx'
|
|
191
|
-
)
|
|
194
|
+
url: url + "/notifications/subscriptions/" + subscription + '/',
|
|
195
|
+
data: sub_less
|
|
192
196
|
});
|
|
193
197
|
subscription_state = 'less';
|
|
194
|
-
format_visual_vote_clear();
|
|
195
198
|
}
|
|
196
199
|
}// }}}
|
|
197
200
|
|
|
@@ -246,18 +249,16 @@ function create_instance(base,name,load,exec) {// {{{
|
|
|
246
249
|
}
|
|
247
250
|
}// }}}
|
|
248
251
|
|
|
249
|
-
function
|
|
252
|
+
function sse() { //{{{
|
|
250
253
|
var url = $('body').attr('current-instance');
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
ws = new Socket(url.replace(/http/,'ws') + "/notifications/subscriptions/" + subscription + "/ws/");
|
|
254
|
-
ws.onopen = function() {
|
|
254
|
+
es = new EventSource(url + "/notifications/subscriptions/" + subscription + "/sse/");
|
|
255
|
+
es.onopen = function() {
|
|
255
256
|
append_to_log("monitoring", "opened", "");
|
|
256
257
|
};
|
|
257
|
-
|
|
258
|
-
data =
|
|
259
|
-
if (
|
|
260
|
-
switch(
|
|
258
|
+
es.onmessage = function(e) {
|
|
259
|
+
data = JSON.parse(e.data);
|
|
260
|
+
if (data['type'] == 'event') {
|
|
261
|
+
switch(data['topic']) {
|
|
261
262
|
case 'dataelements':
|
|
262
263
|
monitor_instance_values("dataelements");
|
|
263
264
|
break;
|
|
@@ -270,39 +271,34 @@ function websocket() { //{{{
|
|
|
270
271
|
case 'attributes':
|
|
271
272
|
monitor_instance_values("attributes");
|
|
272
273
|
monitor_instance_transformation();
|
|
273
|
-
if (!suspended_monitoring) { // or else it would load twice, because dsl changes also
|
|
274
|
+
if (!suspended_monitoring) { // or else it would load twice, because dsl changes also trigger
|
|
274
275
|
monitor_graph_change(true);
|
|
275
276
|
}
|
|
276
277
|
break;
|
|
277
278
|
case 'task':
|
|
278
279
|
if ($('#trackcolumn').length > 0) {
|
|
279
|
-
|
|
280
|
-
$('#trackcolumn').append($('<iframe src="track.html?monitor=' + details.received['CPEE-INSTANCE-URL'].replace(/\/*$/,'/') + '"></iframe>'));
|
|
280
|
+
$('#trackcolumn').append($('<iframe src="track.html?monitor=' + data.content.received['CPEE-INSTANCE-URL'].replace(/\/*$/,'/') + '"></iframe>'));
|
|
281
281
|
}
|
|
282
282
|
break;
|
|
283
283
|
case 'state':
|
|
284
|
-
monitor_instance_state_change(
|
|
284
|
+
monitor_instance_state_change(data['content']['state']);
|
|
285
285
|
break;
|
|
286
286
|
case 'position':
|
|
287
|
-
monitor_instance_pos_change(
|
|
288
|
-
break;
|
|
289
|
-
case 'transformation':
|
|
290
|
-
monitor_instance_transformation();
|
|
287
|
+
monitor_instance_pos_change(data['content']);
|
|
291
288
|
break;
|
|
292
289
|
case 'activity':
|
|
293
|
-
monitor_instance_running(
|
|
290
|
+
monitor_instance_running(data['content'],data['name']);
|
|
294
291
|
break;
|
|
295
292
|
}
|
|
296
|
-
append_to_log("event", $('event > topic',data).text() + "/" + $('event > event',data).text(), $('event > notification',data).text());
|
|
297
293
|
}
|
|
298
|
-
if (
|
|
299
|
-
|
|
300
|
-
append_to_log("vote", $('vote > topic',data).text() + "/" + $('vote > vote',data).text(), notification);
|
|
301
|
-
monitor_instance_vote_add(notification);
|
|
294
|
+
if (data['type'] == 'vote') {
|
|
295
|
+
monitor_instance_vote_add(data['content']);
|
|
302
296
|
}
|
|
297
|
+
append_to_log(data['type'], data['topic'] + '/' + data['name'], JSON.stringify(data['content']));
|
|
303
298
|
};
|
|
304
|
-
|
|
299
|
+
es.onerror = function() {
|
|
305
300
|
append_to_log("monitoring", "closed", "server down i assume.");
|
|
301
|
+
// setTimeout(sse,10000);
|
|
306
302
|
};
|
|
307
303
|
|
|
308
304
|
monitor_instance_values("dataelements");
|
|
@@ -314,6 +310,10 @@ function websocket() { //{{{
|
|
|
314
310
|
} //}}}
|
|
315
311
|
|
|
316
312
|
function monitor_instance(cin,rep,load,exec) {// {{{
|
|
313
|
+
global_init();
|
|
314
|
+
format_visual_clear();
|
|
315
|
+
format_visual_vote_clear();
|
|
316
|
+
|
|
317
317
|
$("body").attr('current-instance',sanitize_url(cin));
|
|
318
318
|
$("body").attr('current-resources',sanitize_url(rep));
|
|
319
319
|
|
|
@@ -327,7 +327,7 @@ function monitor_instance(cin,rep,load,exec) {// {{{
|
|
|
327
327
|
|
|
328
328
|
$.ajax({
|
|
329
329
|
type: "GET",
|
|
330
|
-
url: url
|
|
330
|
+
url: url,
|
|
331
331
|
success: function(res){
|
|
332
332
|
$("ui-tabbed.hidden, ui-rest.hidden").removeClass("hidden");
|
|
333
333
|
$("ui-resizehandle.hidden").removeClass("hidden");
|
|
@@ -347,21 +347,15 @@ function monitor_instance(cin,rep,load,exec) {// {{{
|
|
|
347
347
|
|
|
348
348
|
// Change url to return to current instance when reloading (because new subscription is made)
|
|
349
349
|
$("input[name=votecontinue]").prop( "checked", false );
|
|
350
|
-
subscription_state = 'less';
|
|
351
350
|
|
|
352
351
|
$.ajax({
|
|
353
352
|
type: "POST",
|
|
354
353
|
url: url + "/notifications/subscriptions/",
|
|
355
354
|
data: sub_less,
|
|
356
355
|
success: function(res){
|
|
357
|
-
|
|
358
|
-
$.each(res,function(a,b){
|
|
359
|
-
if (b[0] == 'key') {
|
|
360
|
-
subscription = b[1];
|
|
361
|
-
}
|
|
362
|
-
});
|
|
356
|
+
subscription = res;
|
|
363
357
|
append_to_log("monitoring", "id", subscription);
|
|
364
|
-
|
|
358
|
+
sse();
|
|
365
359
|
if (load || exec) {
|
|
366
360
|
load_testset(exec);
|
|
367
361
|
}
|
|
@@ -382,13 +376,13 @@ function monitor_instance_values(val) {// {{{
|
|
|
382
376
|
|
|
383
377
|
$.ajax({
|
|
384
378
|
type: "GET",
|
|
385
|
-
url: url + "/properties/
|
|
379
|
+
url: url + "/properties/" + val + "/",
|
|
386
380
|
success: function(res){
|
|
387
381
|
save[val].content(res);
|
|
388
382
|
if (val == "endpoints") {
|
|
389
383
|
save['endpoints_list'] = {};
|
|
390
384
|
var tmp = {};
|
|
391
|
-
$(res).find(" >
|
|
385
|
+
$(res).find(" > endpoints > *").each(function(k,v) {
|
|
392
386
|
save['endpoints_list'][v.localName] = v.lastChild.nodeValue;
|
|
393
387
|
$.ajax({
|
|
394
388
|
url: rep + encodeURIComponent($(v).text()),
|
|
@@ -429,7 +423,7 @@ function monitor_instance_values(val) {// {{{
|
|
|
429
423
|
});
|
|
430
424
|
});
|
|
431
425
|
} else if(val == "attributes") {
|
|
432
|
-
var text = $(" >
|
|
426
|
+
var text = $(" > attributes > info",res).text() + " (" + url.replace(/\/$/,'').split(/[\\/]/).pop() + ")";
|
|
433
427
|
$('#title').text(text);
|
|
434
428
|
document.title = text;
|
|
435
429
|
}
|
|
@@ -511,12 +505,21 @@ function adaptor_init(url,theme,dslx) { //{{{
|
|
|
511
505
|
graphrealization.notify = function(svgid) {
|
|
512
506
|
var g = graphrealization.get_description();
|
|
513
507
|
save['graph'] = $X(g);
|
|
514
|
-
save['graph'].
|
|
508
|
+
save['graph'].removeAttr('svg-id');
|
|
509
|
+
save['graph'].removeAttr('svg-type');
|
|
510
|
+
save['graph'].removeAttr('svg-subtype');
|
|
511
|
+
save['graph'].removeAttr('svg-label');
|
|
515
512
|
document.dispatchEvent(graph_changed);
|
|
516
513
|
$.ajax({
|
|
517
514
|
type: "PUT",
|
|
518
|
-
url: url + "/properties/
|
|
519
|
-
|
|
515
|
+
url: url + "/properties/description/",
|
|
516
|
+
contentType: 'text/xml',
|
|
517
|
+
headers: {
|
|
518
|
+
'Content-ID': 'description',
|
|
519
|
+
'CPEE-Event-Source': myid
|
|
520
|
+
},
|
|
521
|
+
data: g,
|
|
522
|
+
error: report_failure
|
|
520
523
|
});
|
|
521
524
|
adaptor_update();
|
|
522
525
|
manifestation.events.click(svgid);
|
|
@@ -544,14 +547,14 @@ function monitor_graph_change(force) { //{{{
|
|
|
544
547
|
var url = $('body').attr('current-instance');
|
|
545
548
|
$.ajax({
|
|
546
549
|
type: "GET",
|
|
547
|
-
url: url + "/properties/
|
|
550
|
+
url: url + "/properties/dslx/",
|
|
548
551
|
success: function(dslx){
|
|
549
|
-
if (force || !save['graph'] || (save['graph'] && save['graph'].serializePrettyXML() != $(dslx).serializePrettyXML())) {
|
|
552
|
+
if (force || !save['graph'] || (save['graph'] && save['graph'].serializePrettyXML() != $(dslx.documentElement).serializePrettyXML())) {
|
|
550
553
|
$.ajax({
|
|
551
554
|
type: "GET",
|
|
552
|
-
url: url + "/properties/
|
|
555
|
+
url: url + "/properties/attributes/theme/",
|
|
553
556
|
success: function(res){
|
|
554
|
-
adaptor_init(url
|
|
557
|
+
adaptor_init(url,res,dslx);
|
|
555
558
|
},
|
|
556
559
|
error: function() {
|
|
557
560
|
adaptor_init(url,'preset',dslx);
|
|
@@ -567,7 +570,7 @@ function monitor_instance_dsl() {// {{{
|
|
|
567
570
|
$.ajax({
|
|
568
571
|
type: "GET",
|
|
569
572
|
dataType: "text",
|
|
570
|
-
url: url + "/properties/
|
|
573
|
+
url: url + "/properties/dsl/",
|
|
571
574
|
success: function(res){
|
|
572
575
|
if (res != save['dsl']) {
|
|
573
576
|
save['dsl'] = res;
|
|
@@ -589,7 +592,7 @@ function monitor_instance_state() {// {{{
|
|
|
589
592
|
var url = $('body').attr('current-instance');
|
|
590
593
|
$.ajax({
|
|
591
594
|
type: "GET",
|
|
592
|
-
url: url + "/properties/
|
|
595
|
+
url: url + "/properties/state/",
|
|
593
596
|
dataType: "text",
|
|
594
597
|
success: function(res){
|
|
595
598
|
monitor_instance_state_change(res);
|
|
@@ -600,9 +603,9 @@ function monitor_instance_transformation() {// {{{
|
|
|
600
603
|
var url = $('body').attr('current-instance');
|
|
601
604
|
$.ajax({
|
|
602
605
|
type: "GET",
|
|
603
|
-
url: url + "/properties/
|
|
606
|
+
url: url + "/properties/attributes/modeltype",
|
|
604
607
|
success: function(res){
|
|
605
|
-
$("#currentmodel").text(
|
|
608
|
+
$("#currentmodel").text(res);
|
|
606
609
|
},
|
|
607
610
|
error: function() {
|
|
608
611
|
$("#currentmodel").text('???');
|
|
@@ -614,22 +617,30 @@ function monitor_instance_pos() {// {{{
|
|
|
614
617
|
var url = $('body').attr('current-instance');
|
|
615
618
|
$.ajax({
|
|
616
619
|
type: "GET",
|
|
617
|
-
url: url + "/properties/
|
|
620
|
+
url: url + "/properties/positions/",
|
|
618
621
|
success: function(res){
|
|
619
|
-
save['instance_pos'] = $("
|
|
622
|
+
save['instance_pos'] = $("positions > *",res);
|
|
620
623
|
format_visual_clear();
|
|
621
624
|
format_instance_pos();
|
|
622
625
|
}
|
|
623
626
|
});
|
|
624
627
|
}// }}}
|
|
625
628
|
|
|
626
|
-
function monitor_instance_running(
|
|
629
|
+
function monitor_instance_running(content,event) {// {{{
|
|
627
630
|
if (save['state'] == "stopping") return;
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
format_visual_add(
|
|
631
|
-
|
|
632
|
-
|
|
631
|
+
if (event == "calling") {
|
|
632
|
+
save['activity_states'][content.activity_uuid] = true
|
|
633
|
+
format_visual_add(content.activity,"active")
|
|
634
|
+
}
|
|
635
|
+
if (event == "manipulating") {
|
|
636
|
+
if (!save['activity_states'][content.activity_uuid]) {
|
|
637
|
+
format_visual_add(content.activity,"active")
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
if (event == "done") {
|
|
641
|
+
delete save['activity_states'][content.activity_uuid];
|
|
642
|
+
format_visual_remove(content.activity,"active")
|
|
643
|
+
}
|
|
633
644
|
} // }}}
|
|
634
645
|
function monitor_instance_state_change(notification) { //{{{
|
|
635
646
|
if ($('#trackcolumn').length > 0) {
|
|
@@ -668,6 +679,12 @@ function monitor_instance_state_change(notification) { //{{{
|
|
|
668
679
|
$("button[name=state_stop]").show();
|
|
669
680
|
$("button[name=state_replay]").hide();
|
|
670
681
|
$("button[name=state_abandon]").hide();
|
|
682
|
+
} else {
|
|
683
|
+
$('#state_extended').hide();
|
|
684
|
+
$("button[name=state_start]").hide();
|
|
685
|
+
$("button[name=state_stop]").hide();
|
|
686
|
+
$("button[name=state_replay]").hide();
|
|
687
|
+
$("button[name=state_abandon]").hide();
|
|
671
688
|
}
|
|
672
689
|
|
|
673
690
|
// disable all input, also check themes
|
|
@@ -677,40 +694,39 @@ function monitor_instance_state_change(notification) { //{{{
|
|
|
677
694
|
save['graph_adaptor'].illustrator.get_elements().removeClass('marked');
|
|
678
695
|
}
|
|
679
696
|
|
|
680
|
-
if (notification
|
|
697
|
+
if (notification != "ready" && notification != "stopped" && notification != "running") {
|
|
681
698
|
$('.tabbehind button').hide();
|
|
682
699
|
$('#state_any').hide();
|
|
683
700
|
} else {
|
|
684
701
|
$('#parameters .tabbehind button').show();
|
|
702
|
+
$('#state_any').show();
|
|
685
703
|
}
|
|
686
704
|
|
|
687
705
|
$("#state_text").text(notification);
|
|
688
706
|
}
|
|
689
707
|
} //}}}
|
|
690
|
-
function monitor_instance_pos_change(
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
$.each(parts['unmark'],function(a,b){
|
|
708
|
+
function monitor_instance_pos_change(content) {// {{{
|
|
709
|
+
if (content['unmark']) {
|
|
710
|
+
$.each(content['unmark'],function(a,b){
|
|
694
711
|
format_visual_remove(b.position,"passive")
|
|
695
712
|
});
|
|
696
713
|
}
|
|
697
|
-
if (
|
|
698
|
-
$.each(
|
|
699
|
-
format_visual_add(b.position,"passive")
|
|
714
|
+
if (content['at']) {
|
|
715
|
+
$.each(content['at'],function(a,b){
|
|
716
|
+
format_visual_add(b.position,"passive");
|
|
700
717
|
});
|
|
701
718
|
}
|
|
702
|
-
if (!
|
|
719
|
+
if (!content['at'] && !content['unmark'] && !content['after'] && !content['wait']) {
|
|
703
720
|
monitor_instance_pos();
|
|
704
721
|
}
|
|
705
722
|
} // }}}
|
|
706
723
|
|
|
707
|
-
function monitor_instance_vote_add(
|
|
708
|
-
var parts = JSON.parse(notification);
|
|
724
|
+
function monitor_instance_vote_add(parts) {// {{{
|
|
709
725
|
var ctv = $("#votes");
|
|
710
726
|
|
|
711
727
|
astr = '';
|
|
712
728
|
if ($("input[name=votecontinue]").is(':checked'))
|
|
713
|
-
astr += "<button id='vote_to_continue-" + parts.activity + "-" + parts.
|
|
729
|
+
astr += "<button id='vote_to_continue-" + parts.activity + "-" + parts.key + "' onclick='$(this).attr(\"disabled\",\"disabled\");monitor_instance_vote_remove(\"" + parts.activity + "\",\"" + parts.key + "\",\"true\");'>" + parts.activity + "</button>";
|
|
714
730
|
ctv.append(astr);
|
|
715
731
|
format_visual_add(parts.activity,"vote")
|
|
716
732
|
}// }}}
|
|
@@ -730,7 +746,7 @@ function start_instance() {// {{{
|
|
|
730
746
|
var url = $('body').attr('current-instance');
|
|
731
747
|
$.ajax({
|
|
732
748
|
type: "PUT",
|
|
733
|
-
url: url + "/properties/
|
|
749
|
+
url: url + "/properties/state",
|
|
734
750
|
data: ({value: "running"}),
|
|
735
751
|
error: report_failure
|
|
736
752
|
});
|
|
@@ -739,7 +755,7 @@ function replay_instance() {// {{{
|
|
|
739
755
|
var url = $('body').attr('current-instance');
|
|
740
756
|
$.ajax({
|
|
741
757
|
type: "PUT",
|
|
742
|
-
url: url + "/properties/
|
|
758
|
+
url: url + "/properties/state",
|
|
743
759
|
data: ({value: "replaying"}),
|
|
744
760
|
error: report_failure
|
|
745
761
|
});
|
|
@@ -749,7 +765,7 @@ function aba_instance() {// {{{
|
|
|
749
765
|
var url = $('body').attr('current-instance');
|
|
750
766
|
$.ajax({
|
|
751
767
|
type: "PUT",
|
|
752
|
-
url: url + "/properties/
|
|
768
|
+
url: url + "/properties/state",
|
|
753
769
|
data: ({value: "abandoned"}),
|
|
754
770
|
error: report_failure
|
|
755
771
|
});
|
|
@@ -758,7 +774,7 @@ function stop_instance() {// {{{
|
|
|
758
774
|
var url = $('body').attr('current-instance');
|
|
759
775
|
$.ajax({
|
|
760
776
|
type: "PUT",
|
|
761
|
-
url: url + "/properties/
|
|
777
|
+
url: url + "/properties/state",
|
|
762
778
|
data: ({value: "stopping"}),
|
|
763
779
|
error: report_failure
|
|
764
780
|
});
|
|
@@ -777,59 +793,25 @@ function save_testsetfile() {// {{{
|
|
|
777
793
|
|
|
778
794
|
function get_testset(deferred) {// {{{
|
|
779
795
|
var url = $('body').attr('current-instance');
|
|
780
|
-
var testset = $X('<testset/>');
|
|
781
796
|
|
|
782
797
|
$.ajax({
|
|
783
798
|
type: "GET",
|
|
784
|
-
url: url + "/properties/
|
|
799
|
+
url: url + "/properties/",
|
|
785
800
|
success: function(res){
|
|
786
|
-
var
|
|
787
|
-
|
|
788
|
-
testset.
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
pars.append($(res.documentElement).children());
|
|
801
|
-
testset.append(pars);
|
|
802
|
-
$.ajax({
|
|
803
|
-
type: "GET",
|
|
804
|
-
url: url + "/properties/values/dslx/",
|
|
805
|
-
success: function(res){
|
|
806
|
-
var pars = $X('<description/>');
|
|
807
|
-
pars.append($(res.documentElement));
|
|
808
|
-
testset.append(pars);
|
|
809
|
-
pars = $X("<transformation><description type='copy'/><dataelements type='none'/><endpoints type='none'/></transformation>");
|
|
810
|
-
testset.append(pars);
|
|
811
|
-
$.ajax({
|
|
812
|
-
type: "GET",
|
|
813
|
-
url: url + "/properties/values/attributes/",
|
|
814
|
-
success: function(res){
|
|
815
|
-
var name = $("value > info",res).text();
|
|
816
|
-
var pars = $X('<attributes/>');
|
|
817
|
-
pars.append($(res.documentElement).children());
|
|
818
|
-
pars.find('uuid').remove();
|
|
819
|
-
testset.append(pars);
|
|
820
|
-
deferred.resolve(name,testset);
|
|
821
|
-
},
|
|
822
|
-
error: function() { deferred.reject(); report_failure(); }
|
|
823
|
-
});
|
|
824
|
-
},
|
|
825
|
-
error: function() { deferred.reject(); report_failure(); }
|
|
826
|
-
});
|
|
827
|
-
},
|
|
828
|
-
error: function() { deferred.reject(); report_failure(); }
|
|
829
|
-
});
|
|
830
|
-
},
|
|
831
|
-
error: function() { deferred.reject(); report_failure(); }
|
|
832
|
-
});
|
|
801
|
+
var testset = $X('<testset xmlns="http://cpee.org/ns/properties/2.0"/>');
|
|
802
|
+
testset.append($(res.documentElement).children());
|
|
803
|
+
$('testset > state',testset).remove();
|
|
804
|
+
$('testset > status',testset).remove();
|
|
805
|
+
$('testset > positions',testset).remove();
|
|
806
|
+
$('testset > dsl',testset).remove();
|
|
807
|
+
$('testset > description > *',testset).remove();
|
|
808
|
+
$('testset > description',testset).append($('testset > dslx',testset).children());
|
|
809
|
+
$('testset > transformation',testset).remove();
|
|
810
|
+
$('testset > dsl',testset).remove();
|
|
811
|
+
$('testset > dslx',testset).remove();
|
|
812
|
+
testset.append($X('<transformation xmlns="http://cpee.org/ns/properties/2.0"><description type="copy"/><dataelements type="none"/><endpoints type="none"/></transformation>'));
|
|
813
|
+
var name = $('testset > attributes > info',testset).text();
|
|
814
|
+
deferred.resolve(name,testset);
|
|
833
815
|
},
|
|
834
816
|
error: function() { deferred.reject(); report_failure(); }
|
|
835
817
|
});
|
|
@@ -870,7 +852,7 @@ function save_svgfile() {// {{{
|
|
|
870
852
|
});
|
|
871
853
|
$.ajax({
|
|
872
854
|
type: "GET",
|
|
873
|
-
url: url + "/properties/
|
|
855
|
+
url: url + "/properties/attributes/info/",
|
|
874
856
|
success: function(res){
|
|
875
857
|
var name = $(res.documentElement).text();
|
|
876
858
|
|
|
@@ -889,6 +871,15 @@ async function set_testset(testset,exec) {// {{{
|
|
|
889
871
|
|
|
890
872
|
var promises = [];
|
|
891
873
|
|
|
874
|
+
var tset = $X('<properties xmlns="http://cpee.org/ns/properties/2.0"/>');
|
|
875
|
+
tset.append($("testset > handlerwrapper",testset));
|
|
876
|
+
tset.append($("testset > positions",testset));
|
|
877
|
+
tset.append($("testset > dataelements",testset));
|
|
878
|
+
tset.append($("testset > endpoints",testset));
|
|
879
|
+
tset.append($("testset > attributes",testset));
|
|
880
|
+
tset.append($("testset > description",testset));
|
|
881
|
+
tset.append($("testset > transformation",testset));
|
|
882
|
+
|
|
892
883
|
promises.push(
|
|
893
884
|
$.ajax({
|
|
894
885
|
type: "GET",
|
|
@@ -903,44 +894,32 @@ async function set_testset(testset,exec) {// {{{
|
|
|
903
894
|
});
|
|
904
895
|
await load_testset_handlers(url,testset,vals);
|
|
905
896
|
})
|
|
906
|
-
)
|
|
907
|
-
promises.push(
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
type: "PUT",
|
|
921
|
-
url: url + "/properties/values/transformation",
|
|
922
|
-
data: ({content: val}),
|
|
923
|
-
error: report_failure
|
|
924
|
-
}).then(async function(){
|
|
925
|
-
await load_testset_des(url,testset);
|
|
926
|
-
})
|
|
927
|
-
);
|
|
928
|
-
} else {
|
|
929
|
-
promises.push(load_testset_des(url,testset));
|
|
930
|
-
}
|
|
897
|
+
);
|
|
898
|
+
promises.push(
|
|
899
|
+
$.ajax({
|
|
900
|
+
type: 'PATCH',
|
|
901
|
+
url: url + "/properties/",
|
|
902
|
+
contentType: 'text/xml',
|
|
903
|
+
headers: {
|
|
904
|
+
'Content-ID': 'properties',
|
|
905
|
+
'CPEE-Event-Source': myid
|
|
906
|
+
},
|
|
907
|
+
data: tset.serializeXML(),
|
|
908
|
+
error: report_failure
|
|
909
|
+
})
|
|
910
|
+
);
|
|
931
911
|
|
|
932
|
-
promises.push(load_testset_hw(url,testset));
|
|
933
912
|
await Promise.all(promises);
|
|
934
913
|
suspended_monitoring = false;
|
|
935
914
|
|
|
936
915
|
$.ajax({
|
|
937
916
|
type: "GET",
|
|
938
|
-
url: url + "/properties/
|
|
917
|
+
url: url + "/properties/state/",
|
|
939
918
|
dataType: "text",
|
|
940
919
|
success: function(res){
|
|
941
920
|
$.ajax({
|
|
942
921
|
type: "PUT",
|
|
943
|
-
url: url + "/properties/
|
|
922
|
+
url: url + "/properties/state",
|
|
944
923
|
data: ({value: res}),
|
|
945
924
|
error: report_failure,
|
|
946
925
|
success: function(res){
|
|
@@ -1004,7 +983,7 @@ function load_testset(exec) {// {{{
|
|
|
1004
983
|
var name = $("#templates div.menuitem[data-selected=selected]").text();
|
|
1005
984
|
var url;
|
|
1006
985
|
if (name) {
|
|
1007
|
-
url = $('body').attr('current-
|
|
986
|
+
url = $('body').attr('current-templates') + name + ".xml";
|
|
1008
987
|
} else {
|
|
1009
988
|
if ($('body').attr('load-testset').length > 0) {
|
|
1010
989
|
url = $('body').attr('load-testset');
|
|
@@ -1038,11 +1017,11 @@ function load_modeltype() {// {{{
|
|
|
1038
1017
|
$.ajax({
|
|
1039
1018
|
cache: false,
|
|
1040
1019
|
dataType: 'xml',
|
|
1041
|
-
url: $('body').attr('current-
|
|
1020
|
+
url: $('body').attr('current-templates') + "." + name + ".xml",
|
|
1042
1021
|
success: function(res){
|
|
1043
1022
|
$.ajax({
|
|
1044
1023
|
type: "PUT",
|
|
1045
|
-
url: url + "/properties/
|
|
1024
|
+
url: url + "/properties/attributes/modeltype",
|
|
1046
1025
|
data: ({value: name}),
|
|
1047
1026
|
success: function(){
|
|
1048
1027
|
set_testset(res,false);
|
|
@@ -1057,116 +1036,25 @@ function load_modeltype() {// {{{
|
|
|
1057
1036
|
}// }}}
|
|
1058
1037
|
|
|
1059
1038
|
async function load_des(url,model) { //{{{
|
|
1060
|
-
model = model.replace(/<\?[^\?]+\?>/,'');
|
|
1061
|
-
var val = "<content>" + model + "</content>";
|
|
1062
1039
|
return $.ajax({
|
|
1063
1040
|
type: "PUT",
|
|
1064
|
-
url: url + "/properties/
|
|
1065
|
-
|
|
1041
|
+
url: url + "/properties/description/",
|
|
1042
|
+
contentType: 'text/xml',
|
|
1043
|
+
headers: {
|
|
1044
|
+
'Content-ID': 'description',
|
|
1045
|
+
'CPEE-Event-Source': myid
|
|
1046
|
+
},
|
|
1047
|
+
data: model,
|
|
1066
1048
|
error: report_failure
|
|
1067
1049
|
});
|
|
1068
1050
|
} //}}}
|
|
1069
|
-
|
|
1070
|
-
async function load_testset_des(url,testset) {// {{{
|
|
1071
|
-
if ($("testset > description",testset).length == 0) { return; }
|
|
1072
|
-
var ser = '';
|
|
1073
|
-
$("testset > description > *",testset).each(function(){
|
|
1074
|
-
ser += $(this).serializeXML() + "\n";
|
|
1075
|
-
});
|
|
1076
|
-
return load_des(url,ser);
|
|
1077
|
-
} // }}}
|
|
1078
|
-
async function load_testset_hw(url,testset) {// {{{
|
|
1079
|
-
var promises = [];
|
|
1080
|
-
$("testset > handlerwrapper",testset).each(function(){
|
|
1081
|
-
var val = $(this).text();
|
|
1082
|
-
promises.push(
|
|
1083
|
-
$.ajax({
|
|
1084
|
-
type: "PUT",
|
|
1085
|
-
url: url + "/properties/values/handlerwrapper",
|
|
1086
|
-
data: ({value: val}),
|
|
1087
|
-
error: report_failure
|
|
1088
|
-
})
|
|
1089
|
-
);
|
|
1090
|
-
});
|
|
1091
|
-
return Promise.all(promises);
|
|
1092
|
-
} // }}}
|
|
1093
|
-
async function load_testset_dataelements(url,testset) {// {{{
|
|
1094
|
-
if ($("testset > dataelements",testset).length == 0) { return; }
|
|
1095
|
-
var ser = '';
|
|
1096
|
-
$("testset > dataelements > *",testset).each(function(){
|
|
1097
|
-
ser += $(this).serializeXML() + "\n";
|
|
1098
|
-
});
|
|
1099
|
-
var val = "<content>" + ser + "</content>";
|
|
1100
|
-
return $.ajax({
|
|
1101
|
-
type: "PUT",
|
|
1102
|
-
url: url + "/properties/values/dataelements",
|
|
1103
|
-
data: ({content: val}),
|
|
1104
|
-
error: report_failure
|
|
1105
|
-
});
|
|
1106
|
-
}// }}}
|
|
1107
|
-
async function load_testset_attributes(url,testset) {// {{{
|
|
1108
|
-
var promises = [];
|
|
1109
|
-
if ($("testset > attributes",testset).length == 0) { return; }
|
|
1110
|
-
var ser = '';
|
|
1111
|
-
$.ajax({
|
|
1112
|
-
type: "GET",
|
|
1113
|
-
url: url + "/properties/values/attributes/uuid",
|
|
1114
|
-
success: function(res){
|
|
1115
|
-
var uuid = $X('<uuid xmlns="http://riddl.org/ns/common-patterns/properties/1.0"/>');
|
|
1116
|
-
uuid.text($('value',res).text());
|
|
1117
|
-
$("testset > attributes",testset).prepend(uuid);
|
|
1118
|
-
$("testset > attributes > *",testset).each(function(){
|
|
1119
|
-
ser += $(this).serializeXML() + "\n";
|
|
1120
|
-
});
|
|
1121
|
-
var val = "<content>" + ser + "</content>";
|
|
1122
|
-
promises.push(
|
|
1123
|
-
$.ajax({
|
|
1124
|
-
type: "PUT",
|
|
1125
|
-
url: url + "/properties/values/attributes",
|
|
1126
|
-
data: ({content: val}),
|
|
1127
|
-
error: report_failure
|
|
1128
|
-
})
|
|
1129
|
-
);
|
|
1130
|
-
}
|
|
1131
|
-
});
|
|
1132
|
-
return Promise.all(promises);
|
|
1133
|
-
}// }}}
|
|
1134
|
-
async function load_testset_endpoints(url,testset) {// {{{
|
|
1135
|
-
if ($("testset > endpoints",testset).length == 0) { return; }
|
|
1136
|
-
var ser = '';
|
|
1137
|
-
$("testset > endpoints > *",testset).each(function(){
|
|
1138
|
-
ser += $(this).serializeXML() + "\n";
|
|
1139
|
-
});
|
|
1140
|
-
var val = "<content>" + ser + "</content>";
|
|
1141
|
-
return $.ajax({
|
|
1142
|
-
type: "PUT",
|
|
1143
|
-
url: url + "/properties/values/endpoints/",
|
|
1144
|
-
data: ({content: val}),
|
|
1145
|
-
error: report_failure
|
|
1146
|
-
});
|
|
1147
|
-
}// }}}
|
|
1148
|
-
async function load_testset_pos(url,testset) {// {{{
|
|
1149
|
-
if ($("testset > positions",testset).length == 0) { return; }
|
|
1150
|
-
var ser = '';
|
|
1151
|
-
$("testset > positions > *",testset).each(function(){
|
|
1152
|
-
ser += $(this).serializeXML() + "\n";
|
|
1153
|
-
});
|
|
1154
|
-
var val = "<content>" + ser + "</content>";
|
|
1155
|
-
return $.ajax({
|
|
1156
|
-
type: "PUT",
|
|
1157
|
-
url: url + "/properties/values/positions/",
|
|
1158
|
-
data: ({content: val}),
|
|
1159
|
-
success: monitor_instance_pos,
|
|
1160
|
-
error: report_failure
|
|
1161
|
-
});
|
|
1162
|
-
}// }}}
|
|
1163
1051
|
async function load_testset_handlers(url,testset,vals) {// {{{
|
|
1164
1052
|
var promises = [];
|
|
1165
1053
|
$("testset > handlers > *",testset).each(async function(){
|
|
1166
1054
|
var han = this;
|
|
1167
1055
|
var suburl = $(han).attr('url');
|
|
1168
1056
|
if ($.inArray(suburl,vals) == -1) {
|
|
1169
|
-
var inp = "url="+encodeURIComponent(suburl);
|
|
1057
|
+
var inp = "url="+encodeURIComponent(suburl).replace(/~/,'%7E');
|
|
1170
1058
|
$("*",han).each(function(){
|
|
1171
1059
|
inp += "&topic=" + $(this).attr('topic');
|
|
1172
1060
|
inp += "&" + this.nodeName + "=" + $(this).text();
|
|
@@ -1197,6 +1085,8 @@ function format_visual_remove(what,cls) {//{{{
|
|
|
1197
1085
|
if (node_state[what][cls] == undefined)
|
|
1198
1086
|
node_state[what][cls] = 0;
|
|
1199
1087
|
node_state[what][cls] -= 1;
|
|
1088
|
+
if (node_state[what][cls] < 0)
|
|
1089
|
+
node_state[what][cls] = 0;
|
|
1200
1090
|
format_visual_set(what);
|
|
1201
1091
|
}//}}}
|
|
1202
1092
|
|
|
@@ -1280,6 +1170,7 @@ function format_visual_clear() {//{{{
|
|
|
1280
1170
|
}
|
|
1281
1171
|
});
|
|
1282
1172
|
$('#votes').empty();
|
|
1173
|
+
|
|
1283
1174
|
}//}}}
|
|
1284
1175
|
function format_visual_vote_clear() {//{{{
|
|
1285
1176
|
node_state = {};
|
|
@@ -1371,7 +1262,13 @@ function append_to_log(what,type,message) {//{{{
|
|
|
1371
1262
|
message = message.replace(/:\"/g,': "');
|
|
1372
1263
|
message = message.replace(/:\{/g,': {');
|
|
1373
1264
|
message = message.replace(/:\[/g,': [');
|
|
1374
|
-
$("#dat_log").
|
|
1265
|
+
$("#dat_log").prepend("<tr><td class='fixed'><a title=\"" + d.strftime("[%d/%b/%Y %H:%M:%S]") + "\">D</a></td><td class='fixed'> - </td><td class='fixed'><a title=\"" + what + "\">T</a></td><td class='fixed'> - </td><td class='fixed'>" + type + "</td><td class='fixed'> - </td><td class='long'>" + message + "</td></tr>");
|
|
1266
|
+
var dle = $("#dat_log").children();
|
|
1267
|
+
if (dle.length > 100) {
|
|
1268
|
+
dle.slice(100).each((k,ele) => {
|
|
1269
|
+
$(ele).remove();
|
|
1270
|
+
});
|
|
1271
|
+
}
|
|
1375
1272
|
}//}}}
|
|
1376
1273
|
|
|
1377
1274
|
function report_failure(){}
|
|
@@ -1387,11 +1284,16 @@ function ui_pos(e,bl) {
|
|
|
1387
1284
|
$(coll).each(function(k,ele){
|
|
1388
1285
|
vals += "<" + ele + ">at</" + ele + ">";
|
|
1389
1286
|
});
|
|
1390
|
-
vals = "<
|
|
1287
|
+
vals = "<positions xmlns='http://cpee.org/ns/properties/2.0'>" + vals + "</positions>";
|
|
1391
1288
|
$.ajax({
|
|
1392
1289
|
type: "PUT",
|
|
1393
|
-
url: url + "/properties/
|
|
1394
|
-
|
|
1290
|
+
url: url + "/properties/positions/",
|
|
1291
|
+
contentType: 'application/xml',
|
|
1292
|
+
headers: {
|
|
1293
|
+
'Content-ID': 'positions',
|
|
1294
|
+
'CPEE-Event-Source': myid
|
|
1295
|
+
},
|
|
1296
|
+
data: vals,
|
|
1395
1297
|
success: monitor_instance_pos,
|
|
1396
1298
|
error: report_failure
|
|
1397
1299
|
});
|