cpee 1.3.185 → 1.3.187
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/cockpit/css/filters.svg +1 -1
- data/cockpit/js/instance.js +20 -15
- data/cockpit/js/wfadaptor.js +9 -3
- data/cockpit/themes/adventure/theme.js +18 -11
- data/cockpit/themes/default/theme.js +18 -11
- data/cpee.gemspec +3 -3
- data/log/log.xml +15 -1
- data/log/logoverlay.xml +10 -0
- data/log/server.rb +12 -9
- data/server/instances/34/properties.xml +149 -0
- data/server/instances/35/properties.xml +149 -0
- data/server/instances/36/properties.xml +164 -0
- data/server/instances/37/properties.xml +113 -0
- data/server/instances/38/notifications/b1c2a4fd87a36e2b663faf2c601499a3/consumer-secret +1 -0
- data/server/instances/38/notifications/b1c2a4fd87a36e2b663faf2c601499a3/producer-secret +1 -0
- data/server/instances/38/notifications/b1c2a4fd87a36e2b663faf2c601499a3/subscription.xml +37 -0
- data/server/instances/38/properties.xml +162 -0
- data/server/server.pid +1 -1
- metadata +19 -10
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: c54e4d196d652abc94c82dddaa76fe4358562c6e
         | 
| 4 | 
            +
              data.tar.gz: d44189598cbc4a914fa6b33d70a7f0cdbbd9ffb7
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: ad3d4d6c8df9ca4e8cf77a1d00561687e155f8e14a5d6fdd51649040e4978e560b4196b6189e36723a0661d5cb061ceac1e549d25cd6d32652de134a5197794a
         | 
| 7 | 
            +
              data.tar.gz: e32c47e5f74aa049cb63bf2e05dfc1b38319b0a4f926ea5734e7909c6e9223f0038f31a77db6d3ced7308c47e447e2189df749aff5ade534085d1b8c11a97ead
         | 
    
        data/cockpit/css/filters.svg
    CHANGED
    
    
    
        data/cockpit/js/instance.js
    CHANGED
    
    | @@ -5,6 +5,7 @@ var subscription_state = 'less'; | |
| 5 5 | 
             
            var save = {};
         | 
| 6 6 | 
             
                save['state']= undefined;
         | 
| 7 7 | 
             
                save['dsl'] = undefined;
         | 
| 8 | 
            +
                save['graph'] = undefined;
         | 
| 8 9 | 
             
                save['endpoints'] = undefined;
         | 
| 9 10 | 
             
                save['dataelements'] = undefined;
         | 
| 10 11 | 
             
                save['attributes'] = undefined;
         | 
| @@ -228,7 +229,7 @@ function monitor_instance(load) {// {{{ | |
| 228 229 | 
             
                            case 'attributes':
         | 
| 229 230 | 
             
                              monitor_instance_values("attributes");
         | 
| 230 231 | 
             
                              monitor_instance_transformation();
         | 
| 231 | 
            -
                              monitor_graph_change();
         | 
| 232 | 
            +
                              monitor_graph_change(true);
         | 
| 232 233 | 
             
                              break;
         | 
| 233 234 | 
             
                            case 'state':
         | 
| 234 235 | 
             
                              monitor_instance_state_change(JSON.parse($('event > notification',data).text()).state);
         | 
| @@ -288,33 +289,37 @@ function adaptor_init(url,theme,dslx) { | |
| 288 289 | 
             
                graphrealization.set_svg_container($('#graphcanvas'));
         | 
| 289 290 | 
             
                graphrealization.set_description($(dslx), true);
         | 
| 290 291 | 
             
                graphrealization.notify = function(svgid) {
         | 
| 292 | 
            +
                  var g = graphrealization.get_description();
         | 
| 293 | 
            +
                  save['graph'] = $X(g);
         | 
| 291 294 | 
             
                  $.ajax({
         | 
| 292 295 | 
             
                    type: "PUT",
         | 
| 293 296 | 
             
                    url: url + "/properties/values/description/",
         | 
| 294 | 
            -
            			 	data: ({'content': '<content>' +  | 
| 297 | 
            +
            			 	data: ({'content': '<content>' + g + '</content>'})
         | 
| 295 298 | 
             
                  });
         | 
| 296 | 
            -
                  manifestation.events.click(svgid | 
| 299 | 
            +
                  manifestation.events.click(svgid);
         | 
| 297 300 | 
             
                };
         | 
| 298 301 | 
             
                monitor_instance_pos();
         | 
| 299 302 | 
             
              });
         | 
| 300 303 | 
             
            }
         | 
| 301 304 |  | 
| 302 | 
            -
            function monitor_graph_change() {
         | 
| 305 | 
            +
            function monitor_graph_change(force) {
         | 
| 303 306 | 
             
              var url = $("#current-instance").text();
         | 
| 304 307 | 
             
              $.ajax({
         | 
| 305 308 | 
             
                type: "GET",
         | 
| 306 309 | 
             
                url: url + "/properties/values/dslx/",
         | 
| 307 310 | 
             
                success: function(dslx){
         | 
| 308 | 
            -
                   | 
| 309 | 
            -
                     | 
| 310 | 
            -
             | 
| 311 | 
            -
             | 
| 312 | 
            -
                       | 
| 313 | 
            -
             | 
| 314 | 
            -
             | 
| 315 | 
            -
                       | 
| 316 | 
            -
             | 
| 317 | 
            -
             | 
| 311 | 
            +
                  if (force || !save['graph'] || (save['graph'] && save['graph'].serializePrettyXML() != $(dslx).serializePrettyXML())) {
         | 
| 312 | 
            +
                    $.ajax({
         | 
| 313 | 
            +
                      type: "GET",
         | 
| 314 | 
            +
                      url: url + "/properties/values/attributes/theme/",
         | 
| 315 | 
            +
                      success: function(res){
         | 
| 316 | 
            +
                        adaptor_init(url,$('value',res).text(),dslx);
         | 
| 317 | 
            +
                      },
         | 
| 318 | 
            +
                      error: function() {
         | 
| 319 | 
            +
                        adaptor_init(url,'default',dslx);
         | 
| 320 | 
            +
                      }
         | 
| 321 | 
            +
                    });
         | 
| 322 | 
            +
                  }
         | 
| 318 323 | 
             
                }
         | 
| 319 324 | 
             
              });
         | 
| 320 325 | 
             
            }
         | 
| @@ -336,7 +341,7 @@ function monitor_instance_dsl() {// {{{ | |
| 336 341 | 
             
                    res = res.replace(/activity\s+\[:([A-Za-z][a-zA-Z0-9_]+)([^\]]*\])/g,"<span class='activities' id=\"activity-$1\">activity [:$1$2</span>");
         | 
| 337 342 |  | 
| 338 343 | 
             
                    ctv.append(res);
         | 
| 339 | 
            -
                    monitor_graph_change();
         | 
| 344 | 
            +
                    monitor_graph_change(false);
         | 
| 340 345 | 
             
                  }
         | 
| 341 346 | 
             
                }
         | 
| 342 347 | 
             
              });
         | 
    
        data/cockpit/js/wfadaptor.js
    CHANGED
    
    | @@ -39,8 +39,8 @@ function WfAdaptor(theme_base,doit) { // Controller {{{ | |
| 39 39 | 
             
              // }}}
         | 
| 40 40 |  | 
| 41 41 | 
             
              // helper funtions
         | 
| 42 | 
            -
              this.set_description = function(desc) { // public {{{
         | 
| 43 | 
            -
                this.description.set_description(desc);
         | 
| 42 | 
            +
              this.set_description = function(desc,auto_update) { // public {{{
         | 
| 43 | 
            +
                this.description.set_description(desc,auto_update);
         | 
| 44 44 | 
             
              } // }}}
         | 
| 45 45 | 
             
              this.get_description = function() { // public {{{
         | 
| 46 46 | 
             
                return description.get_description();
         | 
| @@ -168,6 +168,12 @@ function WfIllustrator(wf_adaptor) { // View  {{{ | |
| 168 168 | 
             
                self.svg.container.attr({'height': (graph.max.row+0.3)*self.height, 'width':(graph.max.col+0.65)*self.width});
         | 
| 169 169 | 
             
                self.svg.container.append(graph.svg);
         | 
| 170 170 | 
             
              } // }}}
         | 
| 171 | 
            +
              this.get_node_by_svg_id = function(svg_id) { // {{{
         | 
| 172 | 
            +
                return $('[element-id = \'' + svg_id + '\'] g.activities', self.svg.container);
         | 
| 173 | 
            +
              } // }}}
         | 
| 174 | 
            +
              this.get_nodes = function() { // {{{
         | 
| 175 | 
            +
                return $('g.activities', self.svg.container);
         | 
| 176 | 
            +
              } // }}}
         | 
| 171 177 | 
             
              // }}}
         | 
| 172 178 | 
             
              // Helper Functions {{{
         | 
| 173 179 | 
             
              var draw_symbol = this.draw.draw_symbol = function (tname, sym_name, id, title, row, col, group) { // {{{
         | 
| @@ -275,7 +281,7 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{ | |
| 275 281 |  | 
| 276 282 | 
             
              // Generic Functions {{{
         | 
| 277 283 | 
             
              this.set_description = function(desc, auto_update) { // public {{{
         | 
| 278 | 
            -
                if(auto_update != undefined) | 
| 284 | 
            +
                if(auto_update != undefined) update_illustrator = auto_update;
         | 
| 279 285 | 
             
                if(typeof desc == "string") {
         | 
| 280 286 | 
             
                  description = $($.parseXML(desc));
         | 
| 281 287 | 
             
                } else if(desc instanceof jQuery) {
         | 
| @@ -30,7 +30,7 @@ function WFAdaptorManifestation(adaptor) { | |
| 30 30 | 
             
                    if(group.length > 0) menu['Insert after'] = group;
         | 
| 31 31 | 
             
                  }
         | 
| 32 32 |  | 
| 33 | 
            -
                  if(xml_node.get(0).tagName != 'description' && !self.elements[xml_node.get(0).tagName].neverdelete)
         | 
| 33 | 
            +
                  if(xml_node.get(0).tagName != 'description' && !self.elements[xml_node.get(0).tagName].neverdelete) {
         | 
| 34 34 | 
             
                    var icon =  self.elements[xml_node.get(0).tagName].illustrator.svg.clone();
         | 
| 35 35 | 
             
                    icon.children('.rfill').css({'fill':'#ff7f7f','fill-opacity':'1'});
         | 
| 36 36 | 
             
                    menu['Delete'] = [{
         | 
| @@ -39,6 +39,7 @@ function WFAdaptorManifestation(adaptor) { | |
| 39 39 | 
             
                      'menu_icon': icon,
         | 
| 40 40 | 
             
                      'params': [null, xml_node]
         | 
| 41 41 | 
             
                    }];
         | 
| 42 | 
            +
                  }
         | 
| 42 43 | 
             
                  if($('> finalize, > update', xml_node).length > 0 && xml_node.get(0).tagName == 'call') {
         | 
| 43 44 | 
             
                    var icon =  self.elements.callmanipulate.illustrator.svg.clone();
         | 
| 44 45 | 
             
                    icon.children('.rfill:last').css({'fill':'#ff7f7f','fill-opacity':'1'});
         | 
| @@ -53,12 +54,20 @@ function WFAdaptorManifestation(adaptor) { | |
| 53 54 | 
             
                }
         | 
| 54 55 | 
             
                return false;
         | 
| 55 56 | 
             
              } // }}}
         | 
| 56 | 
            -
              this.events.click = function(svgid | 
| 57 | 
            +
              this.events.click = function(svgid) { // {{{
         | 
| 58 | 
            +
                var visid = 'details';
         | 
| 59 | 
            +
                var tab   = $('#dat_' + visid);
         | 
| 60 | 
            +
                    tab.empty();
         | 
| 61 | 
            +
             | 
| 57 62 | 
             
                if (self.adaptor.description.get_node_by_svg_id(svgid).length == 0) {
         | 
| 58 63 | 
             
                  return;
         | 
| 59 64 | 
             
                }
         | 
| 60 | 
            -
                 | 
| 61 | 
            -
             | 
| 65 | 
            +
                self.adaptor.illustrator.get_nodes().removeClass('clicked');
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
         | 
| 68 | 
            +
                if (vtarget.length > 0) {
         | 
| 69 | 
            +
                  vtarget.addClass('clicked');
         | 
| 70 | 
            +
                }
         | 
| 62 71 |  | 
| 63 72 | 
             
                if ($('#state').text() != 'finished')
         | 
| 64 73 | 
             
                  $('#main ui-behind button').show();
         | 
| @@ -70,15 +79,13 @@ function WFAdaptorManifestation(adaptor) { | |
| 70 79 | 
             
                    return;
         | 
| 71 80 | 
             
                }
         | 
| 72 81 |  | 
| 73 | 
            -
                var visid = 'details';
         | 
| 74 | 
            -
                var tab   = $('#dat_' + visid);
         | 
| 75 82 | 
             
                var node  = self.adaptor.description.get_node_by_svg_id(svgid).get(0);
         | 
| 76 83 |  | 
| 77 | 
            -
                 | 
| 78 | 
            -
             | 
| 79 | 
            -
             | 
| 80 | 
            -
             | 
| 81 | 
            -
                 | 
| 84 | 
            +
                if (self.adaptor.description.elements[$(node).attr('svg-type')]) {
         | 
| 85 | 
            +
                  save[visid + '_target'] = { 'svgid': svgid, 'model': self.adaptor.description };
         | 
| 86 | 
            +
                  save[visid] = new RelaxNGui(self.adaptor.description.elements[$(node).attr('svg-type')],tab,self.adaptor.description.context_eval);
         | 
| 87 | 
            +
                  save[visid].content(node);
         | 
| 88 | 
            +
                }
         | 
| 82 89 | 
             
              } // }}}
         | 
| 83 90 | 
             
              this.events.dblclick = function(svgid, e) { // {{{
         | 
| 84 91 | 
             
              } // }}}
         | 
| @@ -30,7 +30,7 @@ function WFAdaptorManifestation(adaptor) { | |
| 30 30 | 
             
                    if(group.length > 0) menu['Insert after'] = group;
         | 
| 31 31 | 
             
                  }
         | 
| 32 32 |  | 
| 33 | 
            -
                  if(xml_node.get(0).tagName != 'description' && !self.elements[xml_node.get(0).tagName].neverdelete)
         | 
| 33 | 
            +
                  if(xml_node.get(0).tagName != 'description' && !self.elements[xml_node.get(0).tagName].neverdelete) {
         | 
| 34 34 | 
             
                    var icon =  self.elements[xml_node.get(0).tagName].illustrator.svg.clone();
         | 
| 35 35 | 
             
                    icon.children('.rfill').css({'fill':'#ff7f7f','fill-opacity':'1'});
         | 
| 36 36 | 
             
                    menu['Delete'] = [{
         | 
| @@ -39,6 +39,7 @@ function WFAdaptorManifestation(adaptor) { | |
| 39 39 | 
             
                      'menu_icon': icon,
         | 
| 40 40 | 
             
                      'params': [null, xml_node]
         | 
| 41 41 | 
             
                    }];
         | 
| 42 | 
            +
                  }
         | 
| 42 43 | 
             
                  if($('> finalize, > update', xml_node).length > 0 && xml_node.get(0).tagName == 'call') {
         | 
| 43 44 | 
             
                    var icon =  self.elements.callmanipulate.illustrator.svg.clone();
         | 
| 44 45 | 
             
                    icon.children('.rfill:last').css({'fill':'#ff7f7f','fill-opacity':'1'});
         | 
| @@ -53,12 +54,20 @@ function WFAdaptorManifestation(adaptor) { | |
| 53 54 | 
             
                }
         | 
| 54 55 | 
             
                return false;
         | 
| 55 56 | 
             
              } // }}}
         | 
| 56 | 
            -
              this.events.click = function(svgid | 
| 57 | 
            +
              this.events.click = function(svgid) { // {{{
         | 
| 58 | 
            +
                var visid = 'details';
         | 
| 59 | 
            +
                var tab   = $('#dat_' + visid);
         | 
| 60 | 
            +
                    tab.empty();
         | 
| 61 | 
            +
             | 
| 57 62 | 
             
                if (self.adaptor.description.get_node_by_svg_id(svgid).length == 0) {
         | 
| 58 63 | 
             
                  return;
         | 
| 59 64 | 
             
                }
         | 
| 60 | 
            -
                 | 
| 61 | 
            -
             | 
| 65 | 
            +
                self.adaptor.illustrator.get_nodes().removeClass('clicked');
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
         | 
| 68 | 
            +
                if (vtarget.length > 0) {
         | 
| 69 | 
            +
                  vtarget.addClass('clicked');
         | 
| 70 | 
            +
                }
         | 
| 62 71 |  | 
| 63 72 | 
             
                if ($('#state').text() != 'finished')
         | 
| 64 73 | 
             
                  $('#main ui-behind button').show();
         | 
| @@ -70,15 +79,13 @@ function WFAdaptorManifestation(adaptor) { | |
| 70 79 | 
             
                    return;
         | 
| 71 80 | 
             
                }
         | 
| 72 81 |  | 
| 73 | 
            -
                var visid = 'details';
         | 
| 74 | 
            -
                var tab   = $('#dat_' + visid);
         | 
| 75 82 | 
             
                var node  = self.adaptor.description.get_node_by_svg_id(svgid).get(0);
         | 
| 76 83 |  | 
| 77 | 
            -
                 | 
| 78 | 
            -
             | 
| 79 | 
            -
             | 
| 80 | 
            -
             | 
| 81 | 
            -
                 | 
| 84 | 
            +
                if (self.adaptor.description.elements[$(node).attr('svg-type')]) {
         | 
| 85 | 
            +
                  save[visid + '_target'] = { 'svgid': svgid, 'model': self.adaptor.description };
         | 
| 86 | 
            +
                  save[visid] = new RelaxNGui(self.adaptor.description.elements[$(node).attr('svg-type')],tab,self.adaptor.description.context_eval);
         | 
| 87 | 
            +
                  save[visid].content(node);
         | 
| 88 | 
            +
                }
         | 
| 82 89 | 
             
              } // }}}
         | 
| 83 90 | 
             
              this.events.dblclick = function(svgid, e) { // {{{
         | 
| 84 91 | 
             
              } // }}}
         | 
    
        data/cpee.gemspec
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            Gem::Specification.new do |s|
         | 
| 2 2 | 
             
              s.name             = "cpee"
         | 
| 3 | 
            -
              s.version          = "1.3. | 
| 3 | 
            +
              s.version          = "1.3.187"
         | 
| 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). If you just need workflow execution, without a rest/xmpp service exposing it, then use WEEL"
         | 
| @@ -19,8 +19,8 @@ Gem::Specification.new do |s| | |
| 19 19 | 
             
              s.email            = 'juergen.mangler@gmail.com'
         | 
| 20 20 | 
             
              s.homepage         = 'http://cpee.org/'
         | 
| 21 21 |  | 
| 22 | 
            -
              s.add_runtime_dependency 'riddl', ' | 
| 23 | 
            -
              s.add_runtime_dependency 'weel', ' | 
| 22 | 
            +
              s.add_runtime_dependency 'riddl', '~> 0.99'
         | 
| 23 | 
            +
              s.add_runtime_dependency 'weel', '~> 1.99'
         | 
| 24 24 | 
             
              s.add_runtime_dependency 'savon', '~> 2'
         | 
| 25 25 | 
             
              s.add_runtime_dependency 'highline', '~> 1.6'
         | 
| 26 26 | 
             
            end
         | 
    
        data/log/log.xml
    CHANGED
    
    | @@ -1,13 +1,27 @@ | |
| 1 1 | 
             
            <declaration xmlns="http://riddl.org/ns/declaration/1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
         | 
| 2 | 
            -
              <interface name="events"> | 
| 2 | 
            +
              <interface name="events">
         | 
| 3 3 | 
             
                <xi:include href="http://www.riddl.org/ns/common-patterns/notifications-consumer/1.0/consumer.xml"/>
         | 
| 4 4 | 
             
              </interface>
         | 
| 5 | 
            +
              <interface name="cpee" location="http://cpee.org:9298">
         | 
| 6 | 
            +
                <xi:include href="http://cpee.org:9298/?riddl-description"/>
         | 
| 7 | 
            +
              </interface>
         | 
| 8 | 
            +
              <interface name="logoverlay">
         | 
| 9 | 
            +
                <xi:include href="logoverlay.xml"/>
         | 
| 10 | 
            +
              </interface>
         | 
| 5 11 |  | 
| 6 12 | 
             
              <facade>
         | 
| 13 | 
            +
                <tile>
         | 
| 14 | 
            +
                  <layer name="cpee"/>
         | 
| 15 | 
            +
                </tile>
         | 
| 7 16 | 
             
                <tile>
         | 
| 8 17 | 
             
                  <layer name="events">
         | 
| 9 18 | 
             
                    <apply-to>/log</apply-to>
         | 
| 10 19 | 
             
                  </layer>
         | 
| 11 20 | 
             
                </tile>
         | 
| 21 | 
            +
                <tile>
         | 
| 22 | 
            +
                  <layer name="logoverlay">
         | 
| 23 | 
            +
                    <apply-to>/{}/log</apply-to>
         | 
| 24 | 
            +
                  </layer>
         | 
| 25 | 
            +
                </tile>
         | 
| 12 26 | 
             
              </facade>
         | 
| 13 27 | 
             
            </declaration>
         | 
    
        data/log/logoverlay.xml
    ADDED
    
    | @@ -0,0 +1,10 @@ | |
| 1 | 
            +
            <description datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://riddl.org/ns/description/1.0" xmlns:xi="http://www.w3.org/2001/XInclude">                        
         | 
| 2 | 
            +
              <message name="logresponse">
         | 
| 3 | 
            +
                <parameter name="file" mimetype="text/xml"/>
         | 
| 4 | 
            +
              </message>
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              <resource>
         | 
| 7 | 
            +
                <get out="logresponse"/>
         | 
| 8 | 
            +
              </resource>
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            </description>
         | 
    
        data/log/server.rb
    CHANGED
    
    | @@ -15,7 +15,7 @@ class Logging < Riddl::Implementation #{{{ | |
| 15 15 | 
             
              def response
         | 
| 16 16 | 
             
                topic = @p[1].value
         | 
| 17 17 | 
             
                event = @p[2].value
         | 
| 18 | 
            -
                if(topic == 'activity' && (event=='done' || event == 'calling')) | 
| 18 | 
            +
                if(topic == 'activity' && (event=='done' || event == 'calling'))
         | 
| 19 19 | 
             
                  log_dir = ::File.dirname(__FILE__) + "/logs"
         | 
| 20 20 | 
             
                  instancenr = @h['CPEE_INSTANCE'].split('/').last
         | 
| 21 21 | 
             
                  notification = JSON.parse(@p[3].value)
         | 
| @@ -35,7 +35,6 @@ class Logging < Riddl::Implementation #{{{ | |
| 35 35 | 
             
                    event = trace.add "event"
         | 
| 36 36 | 
             
                    event.add 'string', :key => "concept:name", :value => log_hash["label"]
         | 
| 37 37 | 
             
                    event.add 'string', :key => "lifecycle:transition", :value => event=='done'?"complete":"start"
         | 
| 38 | 
            -
                    pp log_hash
         | 
| 39 38 | 
             
                    if log_hash.has_key?("data_send")
         | 
| 40 39 | 
             
                      list = event.add 'list', :key => "data_send"
         | 
| 41 40 | 
             
                      log_hash["data_send"].each do |k,v|
         | 
| @@ -57,27 +56,31 @@ class Logging < Riddl::Implementation #{{{ | |
| 57 56 | 
             
                        log_hash["data_received"].each{|e| list.add 'string', :key => e.keys[0] , :value => e.values[0]}
         | 
| 58 57 | 
             
                      end
         | 
| 59 58 | 
             
                    end
         | 
| 60 | 
            -
                    event.add 'date', :key => "time:timestamp", :value => Time.now unless time_added | 
| 59 | 
            +
                    event.add 'date', :key => "time:timestamp", :value => Time.now unless time_added
         | 
| 61 60 | 
             
                  end
         | 
| 62 61 | 
             
                else
         | 
| 63 | 
            -
                  pp "Something wrong" | 
| 62 | 
            +
                  pp "Something wrong"
         | 
| 64 63 | 
             
                end
         | 
| 65 64 |  | 
| 66 65 |  | 
| 67 66 |  | 
| 68 67 |  | 
| 69 68 | 
             
              end
         | 
| 70 | 
            -
            end  #}}} | 
| 69 | 
            +
            end  #}}}
         | 
| 71 70 |  | 
| 72 71 |  | 
| 73 | 
            -
            Riddl::Server.new(::File.dirname(__FILE__) + '/log.xml', :host => " | 
| 72 | 
            +
            Riddl::Server.new(::File.dirname(__FILE__) + '/log.xml', :host => "cpee.org", :port => 9299) do #{{{
         | 
| 74 73 | 
             
              accessible_description true
         | 
| 75 74 | 
             
              cross_site_xhr true
         | 
| 75 | 
            +
              log_path = "/home/demo/Projects/cpee-helpers/log/logs"
         | 
| 76 76 |  | 
| 77 | 
            -
             | 
| 78 | 
            -
              interface 'events' do                                                                                                                                                                    
         | 
| 77 | 
            +
              interface 'events' do
         | 
| 79 78 | 
             
            	    run Logging if post 'event'
         | 
| 80 79 | 
             
            	    #run CB if post 'vote'
         | 
| 81 80 | 
             
              end
         | 
| 82 | 
            -
             
         | 
| 81 | 
            +
              interface 'logoverlay' do |r|
         | 
| 82 | 
            +
                run Riddl::Utils::FileServe, log_path + r[:h]["RIDDL_DECLARATION_PATH"]+ ".xes","text/xml" if get
         | 
| 83 | 
            +
              end
         | 
| 84 | 
            +
             | 
| 85 | 
            +
             | 
| 83 86 | 
             
            end.loop! #}}}
         | 
| @@ -0,0 +1,149 @@ | |
| 1 | 
            +
            <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
         | 
| 2 | 
            +
              <attributes>
         | 
| 3 | 
            +
                <info>Enter info here</info>
         | 
| 4 | 
            +
                <modeltype>CPEE</modeltype>
         | 
| 5 | 
            +
                <theme>default</theme>
         | 
| 6 | 
            +
              </attributes>
         | 
| 7 | 
            +
              <state>ready</state>
         | 
| 8 | 
            +
              <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
         | 
| 9 | 
            +
              <positions/>
         | 
| 10 | 
            +
              <dataelements>
         | 
| 11 | 
            +
                <persons>3</persons>
         | 
| 12 | 
            +
                <card>Visa_12345</card>
         | 
| 13 | 
            +
                <airline>null</airline>
         | 
| 14 | 
            +
                <hotels>[]</hotels>
         | 
| 15 | 
            +
                <from>Vienna</from>
         | 
| 16 | 
            +
                <to>Prague</to>
         | 
| 17 | 
            +
                <costs>0</costs>
         | 
| 18 | 
            +
              </dataelements>
         | 
| 19 | 
            +
              <endpoints>
         | 
| 20 | 
            +
                <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
         | 
| 21 | 
            +
                <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
         | 
| 22 | 
            +
                <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
         | 
| 23 | 
            +
              </endpoints>
         | 
| 24 | 
            +
              <dsl>call :a1, :bookAir, parameters: { :method => :post, :arguments => {:from => data.from, :to => data.to, :persons => data.persons} }, finalize: <<-END
         | 
| 25 | 
            +
              data.airline = result.value('id')
         | 
| 26 | 
            +
                data.costs += result.value('costs').to_f
         | 
| 27 | 
            +
                status.update 1, 'Hotel'
         | 
| 28 | 
            +
            END
         | 
| 29 | 
            +
            parallel do
         | 
| 30 | 
            +
              loop pre_test{data.persons > 0}  do
         | 
| 31 | 
            +
                parallel_branch data.persons do |p|
         | 
| 32 | 
            +
                  call :a2, :bookHotel, parameters: { :method => :post, :arguments => {:to => data.to} }, finalize: <<-END
         | 
| 33 | 
            +
                    data.hotels << result.value('id')
         | 
| 34 | 
            +
                      data.costs += result.value('costs').to_f
         | 
| 35 | 
            +
                  END
         | 
| 36 | 
            +
                end
         | 
| 37 | 
            +
                manipulate :a3, <<-END
         | 
| 38 | 
            +
                  data.persons -= 1
         | 
| 39 | 
            +
                END
         | 
| 40 | 
            +
              end
         | 
| 41 | 
            +
            end
         | 
| 42 | 
            +
            choose :inclusive do
         | 
| 43 | 
            +
              alternative "data.costs > 700" do
         | 
| 44 | 
            +
                call :a4, :approve, parameters: { :method => :post, :arguments => {:costs => data.costs} }
         | 
| 45 | 
            +
              end
         | 
| 46 | 
            +
            end
         | 
| 47 | 
            +
            </dsl>
         | 
| 48 | 
            +
              <dslx>
         | 
| 49 | 
            +
                <description xmlns="http://cpee.org/ns/description/1.0">
         | 
| 50 | 
            +
                  <call id="a1" endpoint="bookAir">
         | 
| 51 | 
            +
                    <parameters>
         | 
| 52 | 
            +
                      <method>:post</method>
         | 
| 53 | 
            +
                      <arguments>
         | 
| 54 | 
            +
                        <from>data.from</from>
         | 
| 55 | 
            +
                        <to>data.to</to>
         | 
| 56 | 
            +
                        <persons>data.persons</persons>
         | 
| 57 | 
            +
                      </arguments>
         | 
| 58 | 
            +
                    </parameters>
         | 
| 59 | 
            +
                    <finalize output="result">  data.airline = result.value('id')
         | 
| 60 | 
            +
                data.costs += result.value('costs').to_f
         | 
| 61 | 
            +
                status.update 1, 'Hotel'</finalize>
         | 
| 62 | 
            +
                  </call>
         | 
| 63 | 
            +
                  <parallel>
         | 
| 64 | 
            +
                    <loop mode="pre_test" condition="data.persons > 0">
         | 
| 65 | 
            +
                      <parallel_branch pass="data.persons" local="p">
         | 
| 66 | 
            +
                        <call id="a2" endpoint="bookHotel">
         | 
| 67 | 
            +
                          <parameters>
         | 
| 68 | 
            +
                            <method>:post</method>
         | 
| 69 | 
            +
                            <arguments>
         | 
| 70 | 
            +
                              <to>data.to</to>
         | 
| 71 | 
            +
                            </arguments>
         | 
| 72 | 
            +
                          </parameters>
         | 
| 73 | 
            +
                          <finalize output="result">        data.hotels << result.value('id')
         | 
| 74 | 
            +
                      data.costs += result.value('costs').to_f</finalize>
         | 
| 75 | 
            +
                        </call>
         | 
| 76 | 
            +
                      </parallel_branch>
         | 
| 77 | 
            +
                      <manipulate id="a3">      data.persons -= 1</manipulate>
         | 
| 78 | 
            +
                    </loop>
         | 
| 79 | 
            +
                  </parallel>
         | 
| 80 | 
            +
                  <choose>
         | 
| 81 | 
            +
                    <alternative condition="data.costs > 700">
         | 
| 82 | 
            +
                      <call id="a4" endpoint="approve">
         | 
| 83 | 
            +
                        <parameters>
         | 
| 84 | 
            +
                          <method>:post</method>
         | 
| 85 | 
            +
                          <arguments>
         | 
| 86 | 
            +
                            <costs>data.costs</costs>
         | 
| 87 | 
            +
                          </arguments>
         | 
| 88 | 
            +
                        </parameters>
         | 
| 89 | 
            +
                      </call>
         | 
| 90 | 
            +
                    </alternative>
         | 
| 91 | 
            +
                  </choose>
         | 
| 92 | 
            +
                </description>
         | 
| 93 | 
            +
              </dslx>
         | 
| 94 | 
            +
              <status>
         | 
| 95 | 
            +
                <id>0</id>
         | 
| 96 | 
            +
                <message>undefined</message>
         | 
| 97 | 
            +
              </status>
         | 
| 98 | 
            +
              <description>
         | 
| 99 | 
            +
                <description xmlns="http://cpee.org/ns/description/1.0">
         | 
| 100 | 
            +
                  <call id="a1" endpoint="bookAir">
         | 
| 101 | 
            +
                    <parameters>
         | 
| 102 | 
            +
                      <method>:post</method>
         | 
| 103 | 
            +
                      <arguments>
         | 
| 104 | 
            +
                        <from>data.from</from>
         | 
| 105 | 
            +
                        <to>data.to</to>
         | 
| 106 | 
            +
                        <persons>data.persons</persons>
         | 
| 107 | 
            +
                      </arguments>
         | 
| 108 | 
            +
                    </parameters>
         | 
| 109 | 
            +
                    <finalize output="result">  data.airline = result.value('id')
         | 
| 110 | 
            +
                data.costs += result.value('costs').to_f
         | 
| 111 | 
            +
                status.update 1, 'Hotel'</finalize>
         | 
| 112 | 
            +
                  </call>
         | 
| 113 | 
            +
                  <parallel>
         | 
| 114 | 
            +
                    <loop mode="pre_test" condition="data.persons > 0">
         | 
| 115 | 
            +
                      <parallel_branch pass="data.persons" local="p">
         | 
| 116 | 
            +
                        <call id="a2" endpoint="bookHotel">
         | 
| 117 | 
            +
                          <parameters>
         | 
| 118 | 
            +
                            <method>:post</method>
         | 
| 119 | 
            +
                            <arguments>
         | 
| 120 | 
            +
                              <to>data.to</to>
         | 
| 121 | 
            +
                            </arguments>
         | 
| 122 | 
            +
                          </parameters>
         | 
| 123 | 
            +
                          <finalize output="result">        data.hotels << result.value('id')
         | 
| 124 | 
            +
                      data.costs += result.value('costs').to_f</finalize>
         | 
| 125 | 
            +
                        </call>
         | 
| 126 | 
            +
                      </parallel_branch>
         | 
| 127 | 
            +
                      <manipulate id="a3">      data.persons -= 1</manipulate>
         | 
| 128 | 
            +
                    </loop>
         | 
| 129 | 
            +
                  </parallel>
         | 
| 130 | 
            +
                  <choose>
         | 
| 131 | 
            +
                    <alternative condition="data.costs > 700">
         | 
| 132 | 
            +
                      <call id="a4" endpoint="approve">
         | 
| 133 | 
            +
                        <parameters>
         | 
| 134 | 
            +
                          <method>:post</method>
         | 
| 135 | 
            +
                          <arguments>
         | 
| 136 | 
            +
                            <costs>data.costs</costs>
         | 
| 137 | 
            +
                          </arguments>
         | 
| 138 | 
            +
                        </parameters>
         | 
| 139 | 
            +
                      </call>
         | 
| 140 | 
            +
                    </alternative>
         | 
| 141 | 
            +
                  </choose>
         | 
| 142 | 
            +
                </description>
         | 
| 143 | 
            +
              </description>
         | 
| 144 | 
            +
              <transformation>
         | 
| 145 | 
            +
                <description type="copy"/>
         | 
| 146 | 
            +
                <dataelements type="rest"/>
         | 
| 147 | 
            +
                <endpoints type="rest"/>
         | 
| 148 | 
            +
              </transformation>
         | 
| 149 | 
            +
            </properties>
         | 
| @@ -0,0 +1,149 @@ | |
| 1 | 
            +
            <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
         | 
| 2 | 
            +
              <attributes>
         | 
| 3 | 
            +
                <info>Linear</info>
         | 
| 4 | 
            +
                <modeltype>CPEE</modeltype>
         | 
| 5 | 
            +
                <theme>default</theme>
         | 
| 6 | 
            +
              </attributes>
         | 
| 7 | 
            +
              <state>ready</state>
         | 
| 8 | 
            +
              <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
         | 
| 9 | 
            +
              <positions/>
         | 
| 10 | 
            +
              <dataelements>
         | 
| 11 | 
            +
                <persons>3</persons>
         | 
| 12 | 
            +
                <card>Visa_12345</card>
         | 
| 13 | 
            +
                <airline>null</airline>
         | 
| 14 | 
            +
                <hotels>[]</hotels>
         | 
| 15 | 
            +
                <from>Vienna</from>
         | 
| 16 | 
            +
                <to>Prague</to>
         | 
| 17 | 
            +
                <costs>0</costs>
         | 
| 18 | 
            +
              </dataelements>
         | 
| 19 | 
            +
              <endpoints>
         | 
| 20 | 
            +
                <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
         | 
| 21 | 
            +
                <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
         | 
| 22 | 
            +
                <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
         | 
| 23 | 
            +
              </endpoints>
         | 
| 24 | 
            +
              <dsl>call :a1, :bookAir, parameters: { :method => :post, :arguments => {:from => data.from, :to => data.to, :persons => data.persons} }, finalize: <<-END
         | 
| 25 | 
            +
              data.airline = result.value('id')
         | 
| 26 | 
            +
                data.costs += result.value('costs').to_f
         | 
| 27 | 
            +
                status.update 1, 'Hotel'
         | 
| 28 | 
            +
            END
         | 
| 29 | 
            +
            parallel do
         | 
| 30 | 
            +
              loop pre_test{data.persons > 0}  do
         | 
| 31 | 
            +
                parallel_branch data.persons do |p|
         | 
| 32 | 
            +
                  call :a2, :bookHotel, parameters: { :method => :post, :arguments => {:to => data.to} }, finalize: <<-END
         | 
| 33 | 
            +
                    data.hotels << result.value('id')
         | 
| 34 | 
            +
                      data.costs += result.value('costs').to_f
         | 
| 35 | 
            +
                  END
         | 
| 36 | 
            +
                end
         | 
| 37 | 
            +
                manipulate :a3, <<-END
         | 
| 38 | 
            +
                  data.persons -= 1
         | 
| 39 | 
            +
                END
         | 
| 40 | 
            +
              end
         | 
| 41 | 
            +
            end
         | 
| 42 | 
            +
            choose :inclusive do
         | 
| 43 | 
            +
              alternative "data.costs > 700" do
         | 
| 44 | 
            +
                call :a4, :approve, parameters: { :method => :post, :arguments => {:costs => data.costs} }
         | 
| 45 | 
            +
              end
         | 
| 46 | 
            +
            end
         | 
| 47 | 
            +
            </dsl>
         | 
| 48 | 
            +
              <dslx>
         | 
| 49 | 
            +
                <description xmlns="http://cpee.org/ns/description/1.0">
         | 
| 50 | 
            +
                  <call id="a1" endpoint="bookAir">
         | 
| 51 | 
            +
                    <parameters>
         | 
| 52 | 
            +
                      <method>:post</method>
         | 
| 53 | 
            +
                      <arguments>
         | 
| 54 | 
            +
                        <from>data.from</from>
         | 
| 55 | 
            +
                        <to>data.to</to>
         | 
| 56 | 
            +
                        <persons>data.persons</persons>
         | 
| 57 | 
            +
                      </arguments>
         | 
| 58 | 
            +
                    </parameters>
         | 
| 59 | 
            +
                    <finalize output="result">  data.airline = result.value('id')
         | 
| 60 | 
            +
                data.costs += result.value('costs').to_f
         | 
| 61 | 
            +
                status.update 1, 'Hotel'</finalize>
         | 
| 62 | 
            +
                  </call>
         | 
| 63 | 
            +
                  <parallel>
         | 
| 64 | 
            +
                    <loop mode="pre_test" condition="data.persons > 0">
         | 
| 65 | 
            +
                      <parallel_branch pass="data.persons" local="p">
         | 
| 66 | 
            +
                        <call id="a2" endpoint="bookHotel">
         | 
| 67 | 
            +
                          <parameters>
         | 
| 68 | 
            +
                            <method>:post</method>
         | 
| 69 | 
            +
                            <arguments>
         | 
| 70 | 
            +
                              <to>data.to</to>
         | 
| 71 | 
            +
                            </arguments>
         | 
| 72 | 
            +
                          </parameters>
         | 
| 73 | 
            +
                          <finalize output="result">        data.hotels << result.value('id')
         | 
| 74 | 
            +
                      data.costs += result.value('costs').to_f</finalize>
         | 
| 75 | 
            +
                        </call>
         | 
| 76 | 
            +
                      </parallel_branch>
         | 
| 77 | 
            +
                      <manipulate id="a3">      data.persons -= 1</manipulate>
         | 
| 78 | 
            +
                    </loop>
         | 
| 79 | 
            +
                  </parallel>
         | 
| 80 | 
            +
                  <choose>
         | 
| 81 | 
            +
                    <alternative condition="data.costs > 700">
         | 
| 82 | 
            +
                      <call id="a4" endpoint="approve">
         | 
| 83 | 
            +
                        <parameters>
         | 
| 84 | 
            +
                          <method>:post</method>
         | 
| 85 | 
            +
                          <arguments>
         | 
| 86 | 
            +
                            <costs>data.costs</costs>
         | 
| 87 | 
            +
                          </arguments>
         | 
| 88 | 
            +
                        </parameters>
         | 
| 89 | 
            +
                      </call>
         | 
| 90 | 
            +
                    </alternative>
         | 
| 91 | 
            +
                  </choose>
         | 
| 92 | 
            +
                </description>
         | 
| 93 | 
            +
              </dslx>
         | 
| 94 | 
            +
              <status>
         | 
| 95 | 
            +
                <id>0</id>
         | 
| 96 | 
            +
                <message>undefined</message>
         | 
| 97 | 
            +
              </status>
         | 
| 98 | 
            +
              <description>
         | 
| 99 | 
            +
                <description xmlns="http://cpee.org/ns/description/1.0">
         | 
| 100 | 
            +
                  <call id="a1" endpoint="bookAir">
         | 
| 101 | 
            +
                    <parameters>
         | 
| 102 | 
            +
                      <method>:post</method>
         | 
| 103 | 
            +
                      <arguments>
         | 
| 104 | 
            +
                        <from>data.from</from>
         | 
| 105 | 
            +
                        <to>data.to</to>
         | 
| 106 | 
            +
                        <persons>data.persons</persons>
         | 
| 107 | 
            +
                      </arguments>
         | 
| 108 | 
            +
                    </parameters>
         | 
| 109 | 
            +
                    <finalize output="result">  data.airline = result.value('id')
         | 
| 110 | 
            +
                data.costs += result.value('costs').to_f
         | 
| 111 | 
            +
                status.update 1, 'Hotel'</finalize>
         | 
| 112 | 
            +
                  </call>
         | 
| 113 | 
            +
                  <parallel>
         | 
| 114 | 
            +
                    <loop mode="pre_test" condition="data.persons > 0">
         | 
| 115 | 
            +
                      <parallel_branch pass="data.persons" local="p">
         | 
| 116 | 
            +
                        <call id="a2" endpoint="bookHotel">
         | 
| 117 | 
            +
                          <parameters>
         | 
| 118 | 
            +
                            <method>:post</method>
         | 
| 119 | 
            +
                            <arguments>
         | 
| 120 | 
            +
                              <to>data.to</to>
         | 
| 121 | 
            +
                            </arguments>
         | 
| 122 | 
            +
                          </parameters>
         | 
| 123 | 
            +
                          <finalize output="result">        data.hotels << result.value('id')
         | 
| 124 | 
            +
                      data.costs += result.value('costs').to_f</finalize>
         | 
| 125 | 
            +
                        </call>
         | 
| 126 | 
            +
                      </parallel_branch>
         | 
| 127 | 
            +
                      <manipulate id="a3">      data.persons -= 1</manipulate>
         | 
| 128 | 
            +
                    </loop>
         | 
| 129 | 
            +
                  </parallel>
         | 
| 130 | 
            +
                  <choose>
         | 
| 131 | 
            +
                    <alternative condition="data.costs > 700">
         | 
| 132 | 
            +
                      <call id="a4" endpoint="approve">
         | 
| 133 | 
            +
                        <parameters>
         | 
| 134 | 
            +
                          <method>:post</method>
         | 
| 135 | 
            +
                          <arguments>
         | 
| 136 | 
            +
                            <costs>data.costs</costs>
         | 
| 137 | 
            +
                          </arguments>
         | 
| 138 | 
            +
                        </parameters>
         | 
| 139 | 
            +
                      </call>
         | 
| 140 | 
            +
                    </alternative>
         | 
| 141 | 
            +
                  </choose>
         | 
| 142 | 
            +
                </description>
         | 
| 143 | 
            +
              </description>
         | 
| 144 | 
            +
              <transformation>
         | 
| 145 | 
            +
                <description type="copy"/>
         | 
| 146 | 
            +
                <dataelements type="rest"/>
         | 
| 147 | 
            +
                <endpoints type="rest"/>
         | 
| 148 | 
            +
              </transformation>
         | 
| 149 | 
            +
            </properties>
         | 
| @@ -0,0 +1,164 @@ | |
| 1 | 
            +
            <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
         | 
| 2 | 
            +
              <attributes>
         | 
| 3 | 
            +
                <info>Enter info here</info>
         | 
| 4 | 
            +
                <modeltype>CPEE</modeltype>
         | 
| 5 | 
            +
                <theme>default</theme>
         | 
| 6 | 
            +
              </attributes>
         | 
| 7 | 
            +
              <state>ready</state>
         | 
| 8 | 
            +
              <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
         | 
| 9 | 
            +
              <positions/>
         | 
| 10 | 
            +
              <dataelements>
         | 
| 11 | 
            +
                <persons>3</persons>
         | 
| 12 | 
            +
                <card>Visa_12345</card>
         | 
| 13 | 
            +
                <airline>null</airline>
         | 
| 14 | 
            +
                <hotels>[]</hotels>
         | 
| 15 | 
            +
                <from>Vienna</from>
         | 
| 16 | 
            +
                <to>Prague</to>
         | 
| 17 | 
            +
                <costs>0</costs>
         | 
| 18 | 
            +
              </dataelements>
         | 
| 19 | 
            +
              <endpoints>
         | 
| 20 | 
            +
                <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
         | 
| 21 | 
            +
                <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
         | 
| 22 | 
            +
                <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
         | 
| 23 | 
            +
              </endpoints>
         | 
| 24 | 
            +
              <dsl>call :a1, :bookAir, parameters: { :method => :post, :arguments => {:from => data.from, :to => data.to, :persons => data.persons} }, finalize: <<-END
         | 
| 25 | 
            +
              data.airline = result.value('id')
         | 
| 26 | 
            +
                data.costs += result.value('costs').to_f
         | 
| 27 | 
            +
                status.update 1, 'Hotel'
         | 
| 28 | 
            +
            END
         | 
| 29 | 
            +
            call :a5, nil, parameters: {  }
         | 
| 30 | 
            +
            parallel do
         | 
| 31 | 
            +
              loop pre_test{data.persons > 0}  do
         | 
| 32 | 
            +
                parallel_branch data.persons do |p|
         | 
| 33 | 
            +
                  call :a2, :bookHotel, parameters: { :method => :post, :arguments => {:to => data.to} }, finalize: <<-END
         | 
| 34 | 
            +
                    data.hotels << result.value('id')
         | 
| 35 | 
            +
                      data.costs += result.value('costs').to_f
         | 
| 36 | 
            +
                  END
         | 
| 37 | 
            +
                end
         | 
| 38 | 
            +
                manipulate :a3, <<-END
         | 
| 39 | 
            +
                  data.persons -= 1
         | 
| 40 | 
            +
                END
         | 
| 41 | 
            +
              end
         | 
| 42 | 
            +
            end
         | 
| 43 | 
            +
            choose :inclusive do
         | 
| 44 | 
            +
              alternative "data.costs > 700" do
         | 
| 45 | 
            +
                call :a4, :approve, parameters: { :method => :post, :arguments => {:costs => data.costs} }
         | 
| 46 | 
            +
              end
         | 
| 47 | 
            +
            end
         | 
| 48 | 
            +
            </dsl>
         | 
| 49 | 
            +
              <dslx>
         | 
| 50 | 
            +
                <description xmlns="http://cpee.org/ns/description/1.0">
         | 
| 51 | 
            +
                  <call id="a1" endpoint="bookAir">
         | 
| 52 | 
            +
                    <parameters>
         | 
| 53 | 
            +
                      <method>:post</method>
         | 
| 54 | 
            +
                      <arguments>
         | 
| 55 | 
            +
                        <from>data.from</from>
         | 
| 56 | 
            +
                        <to>data.to</to>
         | 
| 57 | 
            +
                        <persons>data.persons</persons>
         | 
| 58 | 
            +
                      </arguments>
         | 
| 59 | 
            +
                    </parameters>
         | 
| 60 | 
            +
                    <finalize output="result">  data.airline = result.value('id')
         | 
| 61 | 
            +
                data.costs += result.value('costs').to_f
         | 
| 62 | 
            +
                status.update 1, 'Hotel'</finalize>
         | 
| 63 | 
            +
                  </call>
         | 
| 64 | 
            +
                  <call xmlns="" id="a5" endpoint="">
         | 
| 65 | 
            +
                    <parameters>
         | 
| 66 | 
            +
                      <label/>
         | 
| 67 | 
            +
                      <method>:post</method>
         | 
| 68 | 
            +
                      <arguments/>
         | 
| 69 | 
            +
                    </parameters>
         | 
| 70 | 
            +
                  </call>
         | 
| 71 | 
            +
                  <parallel>
         | 
| 72 | 
            +
                    <loop mode="pre_test" condition="data.persons > 0">
         | 
| 73 | 
            +
                      <parallel_branch pass="data.persons" local="p">
         | 
| 74 | 
            +
                        <call id="a2" endpoint="bookHotel">
         | 
| 75 | 
            +
                          <parameters>
         | 
| 76 | 
            +
                            <method>:post</method>
         | 
| 77 | 
            +
                            <arguments>
         | 
| 78 | 
            +
                              <to>data.to</to>
         | 
| 79 | 
            +
                            </arguments>
         | 
| 80 | 
            +
                          </parameters>
         | 
| 81 | 
            +
                          <finalize output="result">        data.hotels << result.value('id')
         | 
| 82 | 
            +
                      data.costs += result.value('costs').to_f</finalize>
         | 
| 83 | 
            +
                        </call>
         | 
| 84 | 
            +
                      </parallel_branch>
         | 
| 85 | 
            +
                      <manipulate id="a3">      data.persons -= 1</manipulate>
         | 
| 86 | 
            +
                    </loop>
         | 
| 87 | 
            +
                  </parallel>
         | 
| 88 | 
            +
                  <choose>
         | 
| 89 | 
            +
                    <alternative condition="data.costs > 700">
         | 
| 90 | 
            +
                      <call id="a4" endpoint="approve">
         | 
| 91 | 
            +
                        <parameters>
         | 
| 92 | 
            +
                          <method>:post</method>
         | 
| 93 | 
            +
                          <arguments>
         | 
| 94 | 
            +
                            <costs>data.costs</costs>
         | 
| 95 | 
            +
                          </arguments>
         | 
| 96 | 
            +
                        </parameters>
         | 
| 97 | 
            +
                      </call>
         | 
| 98 | 
            +
                    </alternative>
         | 
| 99 | 
            +
                  </choose>
         | 
| 100 | 
            +
                </description>
         | 
| 101 | 
            +
              </dslx>
         | 
| 102 | 
            +
              <status>
         | 
| 103 | 
            +
                <id>0</id>
         | 
| 104 | 
            +
                <message>undefined</message>
         | 
| 105 | 
            +
              </status>
         | 
| 106 | 
            +
              <description>
         | 
| 107 | 
            +
                <description xmlns="http://cpee.org/ns/description/1.0">
         | 
| 108 | 
            +
                  <call id="a1" endpoint="bookAir">
         | 
| 109 | 
            +
                    <parameters>
         | 
| 110 | 
            +
                      <method>:post</method>
         | 
| 111 | 
            +
                      <arguments>
         | 
| 112 | 
            +
                        <from>data.from</from>
         | 
| 113 | 
            +
                        <to>data.to</to>
         | 
| 114 | 
            +
                        <persons>data.persons</persons>
         | 
| 115 | 
            +
                      </arguments>
         | 
| 116 | 
            +
                    </parameters>
         | 
| 117 | 
            +
                    <finalize output="result">  data.airline = result.value('id')
         | 
| 118 | 
            +
                data.costs += result.value('costs').to_f
         | 
| 119 | 
            +
                status.update 1, 'Hotel'</finalize>
         | 
| 120 | 
            +
                  </call>
         | 
| 121 | 
            +
                  <call xmlns="" id="a5" endpoint="">
         | 
| 122 | 
            +
                    <parameters>
         | 
| 123 | 
            +
                      <label/>
         | 
| 124 | 
            +
                      <method>:post</method>
         | 
| 125 | 
            +
                      <arguments/>
         | 
| 126 | 
            +
                    </parameters>
         | 
| 127 | 
            +
                  </call>
         | 
| 128 | 
            +
                  <parallel>
         | 
| 129 | 
            +
                    <loop mode="pre_test" condition="data.persons > 0">
         | 
| 130 | 
            +
                      <parallel_branch pass="data.persons" local="p">
         | 
| 131 | 
            +
                        <call id="a2" endpoint="bookHotel">
         | 
| 132 | 
            +
                          <parameters>
         | 
| 133 | 
            +
                            <method>:post</method>
         | 
| 134 | 
            +
                            <arguments>
         | 
| 135 | 
            +
                              <to>data.to</to>
         | 
| 136 | 
            +
                            </arguments>
         | 
| 137 | 
            +
                          </parameters>
         | 
| 138 | 
            +
                          <finalize output="result">        data.hotels << result.value('id')
         | 
| 139 | 
            +
                      data.costs += result.value('costs').to_f</finalize>
         | 
| 140 | 
            +
                        </call>
         | 
| 141 | 
            +
                      </parallel_branch>
         | 
| 142 | 
            +
                      <manipulate id="a3">      data.persons -= 1</manipulate>
         | 
| 143 | 
            +
                    </loop>
         | 
| 144 | 
            +
                  </parallel>
         | 
| 145 | 
            +
                  <choose>
         | 
| 146 | 
            +
                    <alternative condition="data.costs > 700">
         | 
| 147 | 
            +
                      <call id="a4" endpoint="approve">
         | 
| 148 | 
            +
                        <parameters>
         | 
| 149 | 
            +
                          <method>:post</method>
         | 
| 150 | 
            +
                          <arguments>
         | 
| 151 | 
            +
                            <costs>data.costs</costs>
         | 
| 152 | 
            +
                          </arguments>
         | 
| 153 | 
            +
                        </parameters>
         | 
| 154 | 
            +
                      </call>
         | 
| 155 | 
            +
                    </alternative>
         | 
| 156 | 
            +
                  </choose>
         | 
| 157 | 
            +
                </description>
         | 
| 158 | 
            +
              </description>
         | 
| 159 | 
            +
              <transformation>
         | 
| 160 | 
            +
                <description type="copy"/>
         | 
| 161 | 
            +
                <dataelements type="rest"/>
         | 
| 162 | 
            +
                <endpoints type="rest"/>
         | 
| 163 | 
            +
              </transformation>
         | 
| 164 | 
            +
            </properties>
         | 
| @@ -0,0 +1,113 @@ | |
| 1 | 
            +
            <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
         | 
| 2 | 
            +
              <attributes>
         | 
| 3 | 
            +
                <info>Linear</info>
         | 
| 4 | 
            +
                <modeltype>CPEE</modeltype>
         | 
| 5 | 
            +
                <theme>default</theme>
         | 
| 6 | 
            +
              </attributes>
         | 
| 7 | 
            +
              <state>ready</state>
         | 
| 8 | 
            +
              <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
         | 
| 9 | 
            +
              <positions>
         | 
| 10 | 
            +
                <a1>after</a1>
         | 
| 11 | 
            +
              </positions>
         | 
| 12 | 
            +
              <dataelements>
         | 
| 13 | 
            +
                <x/>
         | 
| 14 | 
            +
              </dataelements>
         | 
| 15 | 
            +
              <endpoints>
         | 
| 16 | 
            +
                <timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
         | 
| 17 | 
            +
              </endpoints>
         | 
| 18 | 
            +
              <dsl>call :a1, :timeout, parameters: { :method => :post, :arguments => {:timeout => 2} }, finalize: <<-END
         | 
| 19 | 
            +
              data.x += "a1,"
         | 
| 20 | 
            +
            END
         | 
| 21 | 
            +
            call :a2, :timeout, parameters: { :method => :post, :arguments => {:timeout => 4} }, finalize: <<-END
         | 
| 22 | 
            +
              data.x += "a2,"
         | 
| 23 | 
            +
            END
         | 
| 24 | 
            +
            call :a3, :timeout, parameters: { :method => :post, :arguments => {:timeout => 4} }, finalize: <<-END
         | 
| 25 | 
            +
              data.x += "a3,"
         | 
| 26 | 
            +
            END
         | 
| 27 | 
            +
            </dsl>
         | 
| 28 | 
            +
              <dslx>
         | 
| 29 | 
            +
                <description xmlns="http://cpee.org/ns/description/1.0">
         | 
| 30 | 
            +
                  <!--{{{-->
         | 
| 31 | 
            +
                  <call id="a1" endpoint="timeout">
         | 
| 32 | 
            +
                    <parameters>
         | 
| 33 | 
            +
                      <!--{{{-->
         | 
| 34 | 
            +
                      <method>:post</method>
         | 
| 35 | 
            +
                      <arguments>
         | 
| 36 | 
            +
                        <timeout>2</timeout>
         | 
| 37 | 
            +
                      </arguments>
         | 
| 38 | 
            +
                    </parameters>
         | 
| 39 | 
            +
                    <!--}}}-->
         | 
| 40 | 
            +
                    <finalize output="result">  data.x += "a1,"</finalize>
         | 
| 41 | 
            +
                  </call>
         | 
| 42 | 
            +
                  <call id="a2" endpoint="timeout">
         | 
| 43 | 
            +
                    <parameters>
         | 
| 44 | 
            +
                      <!--{{{-->
         | 
| 45 | 
            +
                      <method>:post</method>
         | 
| 46 | 
            +
                      <arguments>
         | 
| 47 | 
            +
                        <timeout>4</timeout>
         | 
| 48 | 
            +
                      </arguments>
         | 
| 49 | 
            +
                    </parameters>
         | 
| 50 | 
            +
                    <!--}}}-->
         | 
| 51 | 
            +
                    <finalize output="result">  data.x += "a2,"</finalize>
         | 
| 52 | 
            +
                  </call>
         | 
| 53 | 
            +
                  <call id="a3" endpoint="timeout">
         | 
| 54 | 
            +
                    <parameters>
         | 
| 55 | 
            +
                      <!--{{{-->
         | 
| 56 | 
            +
                      <method>:post</method>
         | 
| 57 | 
            +
                      <arguments>
         | 
| 58 | 
            +
                        <timeout>4</timeout>
         | 
| 59 | 
            +
                      </arguments>
         | 
| 60 | 
            +
                    </parameters>
         | 
| 61 | 
            +
                    <!--}}}-->
         | 
| 62 | 
            +
                    <finalize output="result">  data.x += "a3,"</finalize>
         | 
| 63 | 
            +
                  </call>
         | 
| 64 | 
            +
                </description>
         | 
| 65 | 
            +
              </dslx>
         | 
| 66 | 
            +
              <status>
         | 
| 67 | 
            +
                <id>0</id>
         | 
| 68 | 
            +
                <message>undefined</message>
         | 
| 69 | 
            +
              </status>
         | 
| 70 | 
            +
              <description>
         | 
| 71 | 
            +
                <description xmlns="http://cpee.org/ns/description/1.0">
         | 
| 72 | 
            +
                  <!--{{{-->
         | 
| 73 | 
            +
                  <call id="a1" endpoint="timeout">
         | 
| 74 | 
            +
                    <parameters>
         | 
| 75 | 
            +
                      <!--{{{-->
         | 
| 76 | 
            +
                      <method>:post</method>
         | 
| 77 | 
            +
                      <arguments>
         | 
| 78 | 
            +
                        <timeout>2</timeout>
         | 
| 79 | 
            +
                      </arguments>
         | 
| 80 | 
            +
                    </parameters>
         | 
| 81 | 
            +
                    <!--}}}-->
         | 
| 82 | 
            +
                    <finalize output="result">  data.x += "a1,"</finalize>
         | 
| 83 | 
            +
                  </call>
         | 
| 84 | 
            +
                  <call id="a2" endpoint="timeout">
         | 
| 85 | 
            +
                    <parameters>
         | 
| 86 | 
            +
                      <!--{{{-->
         | 
| 87 | 
            +
                      <method>:post</method>
         | 
| 88 | 
            +
                      <arguments>
         | 
| 89 | 
            +
                        <timeout>4</timeout>
         | 
| 90 | 
            +
                      </arguments>
         | 
| 91 | 
            +
                    </parameters>
         | 
| 92 | 
            +
                    <!--}}}-->
         | 
| 93 | 
            +
                    <finalize output="result">  data.x += "a2,"</finalize>
         | 
| 94 | 
            +
                  </call>
         | 
| 95 | 
            +
                  <call id="a3" endpoint="timeout">
         | 
| 96 | 
            +
                    <parameters>
         | 
| 97 | 
            +
                      <!--{{{-->
         | 
| 98 | 
            +
                      <method>:post</method>
         | 
| 99 | 
            +
                      <arguments>
         | 
| 100 | 
            +
                        <timeout>4</timeout>
         | 
| 101 | 
            +
                      </arguments>
         | 
| 102 | 
            +
                    </parameters>
         | 
| 103 | 
            +
                    <!--}}}-->
         | 
| 104 | 
            +
                    <finalize output="result">  data.x += "a3,"</finalize>
         | 
| 105 | 
            +
                  </call>
         | 
| 106 | 
            +
                </description>
         | 
| 107 | 
            +
              </description>
         | 
| 108 | 
            +
              <transformation>
         | 
| 109 | 
            +
                <description type="copy"/>
         | 
| 110 | 
            +
                <dataelements type="rest"/>
         | 
| 111 | 
            +
                <endpoints type="rest"/>
         | 
| 112 | 
            +
              </transformation>
         | 
| 113 | 
            +
            </properties>
         | 
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            deee158f0fe356a100a1b741621085b4
         | 
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            86e851fc3e212be9933792da7e9fc796
         | 
| @@ -0,0 +1,37 @@ | |
| 1 | 
            +
            <subscription xmlns="http://riddl.org/ns/common-patterns/notifications-producer/1.0">
         | 
| 2 | 
            +
              <topic id="activity">
         | 
| 3 | 
            +
                <event>calling</event>
         | 
| 4 | 
            +
                <event>status</event>
         | 
| 5 | 
            +
                <event>manipulating</event>
         | 
| 6 | 
            +
                <event>failed</event>
         | 
| 7 | 
            +
                <event>done</event>
         | 
| 8 | 
            +
              </topic>
         | 
| 9 | 
            +
              <topic id="position">
         | 
| 10 | 
            +
                <event>change</event>
         | 
| 11 | 
            +
              </topic>
         | 
| 12 | 
            +
              <topic id="description">
         | 
| 13 | 
            +
                <event>change</event>
         | 
| 14 | 
            +
                <event>error</event>
         | 
| 15 | 
            +
              </topic>
         | 
| 16 | 
            +
              <topic id="state">
         | 
| 17 | 
            +
                <event>change</event>
         | 
| 18 | 
            +
              </topic>
         | 
| 19 | 
            +
              <topic id="dataelements">
         | 
| 20 | 
            +
                <event>change</event>
         | 
| 21 | 
            +
              </topic>
         | 
| 22 | 
            +
              <topic id="endpoints">
         | 
| 23 | 
            +
                <event>change</event>
         | 
| 24 | 
            +
              </topic>
         | 
| 25 | 
            +
              <topic id="attributes">
         | 
| 26 | 
            +
                <event>change</event>
         | 
| 27 | 
            +
              </topic>
         | 
| 28 | 
            +
              <topic id="transformation">
         | 
| 29 | 
            +
                <event>change</event>
         | 
| 30 | 
            +
              </topic>
         | 
| 31 | 
            +
              <topic id="handlerwrapper">
         | 
| 32 | 
            +
                <event>result</event>
         | 
| 33 | 
            +
              </topic>
         | 
| 34 | 
            +
              <topic id="handlers">
         | 
| 35 | 
            +
                <event>change</event>
         | 
| 36 | 
            +
              </topic>
         | 
| 37 | 
            +
            </subscription>
         | 
| @@ -0,0 +1,162 @@ | |
| 1 | 
            +
            <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
         | 
| 2 | 
            +
              <attributes>
         | 
| 3 | 
            +
                <info>Enter info here</info>
         | 
| 4 | 
            +
                <modeltype>CPEE</modeltype>
         | 
| 5 | 
            +
                <theme>default</theme>
         | 
| 6 | 
            +
              </attributes>
         | 
| 7 | 
            +
              <state>ready</state>
         | 
| 8 | 
            +
              <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
         | 
| 9 | 
            +
              <positions/>
         | 
| 10 | 
            +
              <dataelements>
         | 
| 11 | 
            +
                <persons>3</persons>
         | 
| 12 | 
            +
                <card>Visa_12345</card>
         | 
| 13 | 
            +
                <airline>null</airline>
         | 
| 14 | 
            +
                <hotels>[]</hotels>
         | 
| 15 | 
            +
                <from>Vienna</from>
         | 
| 16 | 
            +
                <to>Prague</to>
         | 
| 17 | 
            +
                <costs>0</costs>
         | 
| 18 | 
            +
              </dataelements>
         | 
| 19 | 
            +
              <endpoints>
         | 
| 20 | 
            +
                <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
         | 
| 21 | 
            +
                <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
         | 
| 22 | 
            +
                <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
         | 
| 23 | 
            +
              </endpoints>
         | 
| 24 | 
            +
              <dsl>manipulate :a5
         | 
| 25 | 
            +
            call :a1, :bookAir, parameters: { :label => nil, :method => :post, :arguments => {:from => data.from, :to => data.to, :persons => data.persons} }, finalize: <<-END, update: <<-END
         | 
| 26 | 
            +
            data.airline = result.value('id')
         | 
| 27 | 
            +
            data.costs += result.value('costs').to_f
         | 
| 28 | 
            +
            status.update 1, 'Hotel'
         | 
| 29 | 
            +
            END
         | 
| 30 | 
            +
            aaa
         | 
| 31 | 
            +
            END
         | 
| 32 | 
            +
            parallel do
         | 
| 33 | 
            +
              loop pre_test{data.persons > 0}  do
         | 
| 34 | 
            +
                parallel_branch data.persons do |p|
         | 
| 35 | 
            +
                  call :a2, :bookHotel, parameters: { :label => nil, :method => :post, :arguments => {:to => data.to} }, finalize: <<-END, update: <<-END
         | 
| 36 | 
            +
            data.hotels << result.value('id')
         | 
| 37 | 
            +
            data.costs += result.value('costs').to_f
         | 
| 38 | 
            +
                  END
         | 
| 39 | 
            +
                end
         | 
| 40 | 
            +
                manipulate :a3, <<-END
         | 
| 41 | 
            +
                  data.persons -= 1
         | 
| 42 | 
            +
                END
         | 
| 43 | 
            +
              end
         | 
| 44 | 
            +
            end
         | 
| 45 | 
            +
            choose :inclusive do
         | 
| 46 | 
            +
              alternative "data.costs > 700" do
         | 
| 47 | 
            +
                call :a4, :approve, parameters: { :method => :post, :arguments => {:costs => data.costs} }
         | 
| 48 | 
            +
              end
         | 
| 49 | 
            +
            end
         | 
| 50 | 
            +
            </dsl>
         | 
| 51 | 
            +
              <dslx>
         | 
| 52 | 
            +
                <description xmlns="http://cpee.org/ns/description/1.0">
         | 
| 53 | 
            +
                  <manipulate xmlns="" id="a5"/>
         | 
| 54 | 
            +
                  <call id="a1" endpoint="bookAir">
         | 
| 55 | 
            +
                    <parameters>
         | 
| 56 | 
            +
                      <label/>
         | 
| 57 | 
            +
                      <method>:post</method>
         | 
| 58 | 
            +
                      <arguments>
         | 
| 59 | 
            +
                        <from>data.from</from>
         | 
| 60 | 
            +
                        <to>data.to</to>
         | 
| 61 | 
            +
                        <persons>data.persons</persons>
         | 
| 62 | 
            +
                      </arguments>
         | 
| 63 | 
            +
                    </parameters>
         | 
| 64 | 
            +
                    <finalize output="result">data.airline = result.value('id')
         | 
| 65 | 
            +
            data.costs += result.value('costs').to_f
         | 
| 66 | 
            +
            status.update 1, 'Hotel'</finalize>
         | 
| 67 | 
            +
                    <update output="result">aaa</update>
         | 
| 68 | 
            +
                  </call>
         | 
| 69 | 
            +
                  <parallel>
         | 
| 70 | 
            +
                    <loop mode="pre_test" condition="data.persons > 0">
         | 
| 71 | 
            +
                      <parallel_branch pass="data.persons" local="p">
         | 
| 72 | 
            +
                        <call id="a2" endpoint="bookHotel">
         | 
| 73 | 
            +
                          <parameters>
         | 
| 74 | 
            +
                            <label/>
         | 
| 75 | 
            +
                            <method>:post</method>
         | 
| 76 | 
            +
                            <arguments>
         | 
| 77 | 
            +
                              <to>data.to</to>
         | 
| 78 | 
            +
                            </arguments>
         | 
| 79 | 
            +
                          </parameters>
         | 
| 80 | 
            +
                          <finalize output="result">data.hotels << result.value('id')
         | 
| 81 | 
            +
            data.costs += result.value('costs').to_f</finalize>
         | 
| 82 | 
            +
                          <update output="result"/>
         | 
| 83 | 
            +
                        </call>
         | 
| 84 | 
            +
                      </parallel_branch>
         | 
| 85 | 
            +
                      <manipulate id="a3">      data.persons -= 1</manipulate>
         | 
| 86 | 
            +
                    </loop>
         | 
| 87 | 
            +
                  </parallel>
         | 
| 88 | 
            +
                  <choose>
         | 
| 89 | 
            +
                    <alternative condition="data.costs > 700">
         | 
| 90 | 
            +
                      <call id="a4" endpoint="approve">
         | 
| 91 | 
            +
                        <parameters>
         | 
| 92 | 
            +
                          <method>:post</method>
         | 
| 93 | 
            +
                          <arguments>
         | 
| 94 | 
            +
                            <costs>data.costs</costs>
         | 
| 95 | 
            +
                          </arguments>
         | 
| 96 | 
            +
                        </parameters>
         | 
| 97 | 
            +
                      </call>
         | 
| 98 | 
            +
                    </alternative>
         | 
| 99 | 
            +
                  </choose>
         | 
| 100 | 
            +
                </description>
         | 
| 101 | 
            +
              </dslx>
         | 
| 102 | 
            +
              <status>
         | 
| 103 | 
            +
                <id>0</id>
         | 
| 104 | 
            +
                <message>undefined</message>
         | 
| 105 | 
            +
              </status>
         | 
| 106 | 
            +
              <description>
         | 
| 107 | 
            +
                <description xmlns="http://cpee.org/ns/description/1.0">
         | 
| 108 | 
            +
                  <manipulate xmlns="" id="a5"/>
         | 
| 109 | 
            +
                  <call id="a1" endpoint="bookAir">
         | 
| 110 | 
            +
                    <parameters>
         | 
| 111 | 
            +
                      <label/>
         | 
| 112 | 
            +
                      <method>:post</method>
         | 
| 113 | 
            +
                      <arguments>
         | 
| 114 | 
            +
                        <from>data.from</from>
         | 
| 115 | 
            +
                        <to>data.to</to>
         | 
| 116 | 
            +
                        <persons>data.persons</persons>
         | 
| 117 | 
            +
                      </arguments>
         | 
| 118 | 
            +
                    </parameters>
         | 
| 119 | 
            +
                    <finalize output="result">data.airline = result.value('id')
         | 
| 120 | 
            +
            data.costs += result.value('costs').to_f
         | 
| 121 | 
            +
            status.update 1, 'Hotel'</finalize>
         | 
| 122 | 
            +
                    <update output="result">aaa</update>
         | 
| 123 | 
            +
                  </call>
         | 
| 124 | 
            +
                  <parallel>
         | 
| 125 | 
            +
                    <loop mode="pre_test" condition="data.persons > 0">
         | 
| 126 | 
            +
                      <parallel_branch pass="data.persons" local="p">
         | 
| 127 | 
            +
                        <call id="a2" endpoint="bookHotel">
         | 
| 128 | 
            +
                          <parameters>
         | 
| 129 | 
            +
                            <label/>
         | 
| 130 | 
            +
                            <method>:post</method>
         | 
| 131 | 
            +
                            <arguments>
         | 
| 132 | 
            +
                              <to>data.to</to>
         | 
| 133 | 
            +
                            </arguments>
         | 
| 134 | 
            +
                          </parameters>
         | 
| 135 | 
            +
                          <finalize output="result">data.hotels << result.value('id')
         | 
| 136 | 
            +
            data.costs += result.value('costs').to_f</finalize>
         | 
| 137 | 
            +
                          <update output="result"/>
         | 
| 138 | 
            +
                        </call>
         | 
| 139 | 
            +
                      </parallel_branch>
         | 
| 140 | 
            +
                      <manipulate id="a3">      data.persons -= 1</manipulate>
         | 
| 141 | 
            +
                    </loop>
         | 
| 142 | 
            +
                  </parallel>
         | 
| 143 | 
            +
                  <choose>
         | 
| 144 | 
            +
                    <alternative condition="data.costs > 700">
         | 
| 145 | 
            +
                      <call id="a4" endpoint="approve">
         | 
| 146 | 
            +
                        <parameters>
         | 
| 147 | 
            +
                          <method>:post</method>
         | 
| 148 | 
            +
                          <arguments>
         | 
| 149 | 
            +
                            <costs>data.costs</costs>
         | 
| 150 | 
            +
                          </arguments>
         | 
| 151 | 
            +
                        </parameters>
         | 
| 152 | 
            +
                      </call>
         | 
| 153 | 
            +
                    </alternative>
         | 
| 154 | 
            +
                  </choose>
         | 
| 155 | 
            +
                </description>
         | 
| 156 | 
            +
              </description>
         | 
| 157 | 
            +
              <transformation>
         | 
| 158 | 
            +
                <description type="copy"/>
         | 
| 159 | 
            +
                <dataelements type="rest"/>
         | 
| 160 | 
            +
                <endpoints type="rest"/>
         | 
| 161 | 
            +
              </transformation>
         | 
| 162 | 
            +
            </properties>
         | 
    
        data/server/server.pid
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            22667
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: cpee
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.3. | 
| 4 | 
            +
              version: 1.3.187
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Juergen eTM Mangler
         | 
| @@ -11,36 +11,36 @@ authors: | |
| 11 11 | 
             
            autorequire: 
         | 
| 12 12 | 
             
            bindir: bin
         | 
| 13 13 | 
             
            cert_chain: []
         | 
| 14 | 
            -
            date: 2016-11- | 
| 14 | 
            +
            date: 2016-11-18 00:00:00.000000000 Z
         | 
| 15 15 | 
             
            dependencies:
         | 
| 16 16 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 17 17 | 
             
              name: riddl
         | 
| 18 18 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 19 19 | 
             
                requirements:
         | 
| 20 | 
            -
                - - " | 
| 20 | 
            +
                - - "~>"
         | 
| 21 21 | 
             
                  - !ruby/object:Gem::Version
         | 
| 22 | 
            -
                    version: 0.99 | 
| 22 | 
            +
                    version: '0.99'
         | 
| 23 23 | 
             
              type: :runtime
         | 
| 24 24 | 
             
              prerelease: false
         | 
| 25 25 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 26 26 | 
             
                requirements:
         | 
| 27 | 
            -
                - - " | 
| 27 | 
            +
                - - "~>"
         | 
| 28 28 | 
             
                  - !ruby/object:Gem::Version
         | 
| 29 | 
            -
                    version: 0.99 | 
| 29 | 
            +
                    version: '0.99'
         | 
| 30 30 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 31 31 | 
             
              name: weel
         | 
| 32 32 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 33 33 | 
             
                requirements:
         | 
| 34 | 
            -
                - - " | 
| 34 | 
            +
                - - "~>"
         | 
| 35 35 | 
             
                  - !ruby/object:Gem::Version
         | 
| 36 | 
            -
                    version: 1.99 | 
| 36 | 
            +
                    version: '1.99'
         | 
| 37 37 | 
             
              type: :runtime
         | 
| 38 38 | 
             
              prerelease: false
         | 
| 39 39 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 40 40 | 
             
                requirements:
         | 
| 41 | 
            -
                - - " | 
| 41 | 
            +
                - - "~>"
         | 
| 42 42 | 
             
                  - !ruby/object:Gem::Version
         | 
| 43 | 
            -
                    version: 1.99 | 
| 43 | 
            +
                    version: '1.99'
         | 
| 44 44 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 45 45 | 
             
              name: savon
         | 
| 46 46 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -269,6 +269,7 @@ files: | |
| 269 269 | 
             
            - lib/engine/instance-info.rng
         | 
| 270 270 | 
             
            - lib/engine/instances.rng
         | 
| 271 271 | 
             
            - log/log.xml
         | 
| 272 | 
            +
            - log/logoverlay.xml
         | 
| 272 273 | 
             
            - log/logs/1/test
         | 
| 273 274 | 
             
            - log/server.rb
         | 
| 274 275 | 
             
            - log/template.xes
         | 
| @@ -309,6 +310,14 @@ files: | |
| 309 310 | 
             
            - server/instances/31/properties.xml
         | 
| 310 311 | 
             
            - server/instances/32/properties.xml
         | 
| 311 312 | 
             
            - server/instances/33/properties.xml
         | 
| 313 | 
            +
            - server/instances/34/properties.xml
         | 
| 314 | 
            +
            - server/instances/35/properties.xml
         | 
| 315 | 
            +
            - server/instances/36/properties.xml
         | 
| 316 | 
            +
            - server/instances/37/properties.xml
         | 
| 317 | 
            +
            - server/instances/38/notifications/b1c2a4fd87a36e2b663faf2c601499a3/consumer-secret
         | 
| 318 | 
            +
            - server/instances/38/notifications/b1c2a4fd87a36e2b663faf2c601499a3/producer-secret
         | 
| 319 | 
            +
            - server/instances/38/notifications/b1c2a4fd87a36e2b663faf2c601499a3/subscription.xml
         | 
| 320 | 
            +
            - server/instances/38/properties.xml
         | 
| 312 321 | 
             
            - server/instances/4/properties.xml
         | 
| 313 322 | 
             
            - server/instances/5/properties.xml
         | 
| 314 323 | 
             
            - server/instances/6/properties.xml
         |