cpee 1.3.175 → 1.3.176

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/index.html +1 -1
  3. data/cockpit/js/instance.js +40 -37
  4. data/cockpit/lib/relaxngui.js +4 -0
  5. data/cockpit/lib/ui.css +0 -5
  6. data/cockpit/lib/ui.js +6 -2
  7. data/cockpit/rngtest.html +74 -0
  8. data/cockpit/rngtest.rng +60 -0
  9. data/cockpit/rngtest.xml +15 -0
  10. data/cockpit/testsets/Concurrent.xml +2 -2
  11. data/cockpit/testsets/Coopis Testset.xml +4 -4
  12. data/cockpit/testsets/Linear.xml +3 -3
  13. data/cockpit/testsets/Mangler 1.xml +1 -1
  14. data/cockpit/testsets/Mangler 2.xml +8 -8
  15. data/cockpit/testsets/SOPROMO Test Sonification.xml +10 -10
  16. data/cockpit/testsets/Syncing P34 1.xml +4 -4
  17. data/cockpit/testsets/Syncing P34 2.xml +4 -4
  18. data/cockpit/testsets/Syncing P34 3.xml +4 -4
  19. data/cockpit/testsets/Syncing P34.xml +4 -4
  20. data/cockpit/testsets/TEST - Wrong Positions.xml +20 -20
  21. data/cockpit/testsets/Update.xml +11 -0
  22. data/cockpit/testsets/Worklist Test.xml +39 -0
  23. data/cockpit/testsets/testsets.xml +4 -0
  24. data/cpee.gemspec +1 -1
  25. data/lib/cpee/callback.rb +6 -2
  26. data/lib/cpee/controller.rb +8 -8
  27. data/lib/cpee/handler_notifications.rb +4 -4
  28. data/lib/cpee/handler_properties.rb +5 -5
  29. data/lib/cpee/implementation.rb +1 -1
  30. data/server/handlerwrappers/default.rb +30 -25
  31. data/server/handlerwrappers/soap.rb +13 -13
  32. data/server/instances/1/properties.xml +69 -101
  33. data/server/instances/10/properties.xml +106 -70
  34. data/server/instances/11/properties.xml +133 -73
  35. data/server/instances/12/properties.xml +1 -0
  36. data/server/instances/14/notifications/5bcce90b170116a77fb25aea4e133acc/consumer-secret +1 -0
  37. data/server/instances/14/notifications/5bcce90b170116a77fb25aea4e133acc/producer-secret +1 -0
  38. data/server/instances/{13/notifications/4ff0cde5161c44dae49b263cbc12eaf8 → 14/notifications/5bcce90b170116a77fb25aea4e133acc}/subscription.xml +0 -0
  39. data/server/instances/14/properties.xml +160 -160
  40. data/server/instances/15/properties.xml +28 -314
  41. data/server/instances/16/properties.xml +28 -249
  42. data/server/instances/17/properties.xml +28 -130
  43. data/server/instances/18/properties.xml +3 -2
  44. data/server/instances/19/properties.xml +0 -1
  45. data/server/instances/2/properties.xml +191 -44
  46. data/server/instances/20/properties.xml +46 -0
  47. data/server/instances/21/properties.xml +46 -0
  48. data/server/instances/22/notifications/f9c504b8c715ec94a99fc3c6a660c53a/consumer-secret +1 -0
  49. data/server/instances/22/notifications/f9c504b8c715ec94a99fc3c6a660c53a/producer-secret +1 -0
  50. data/server/instances/22/notifications/f9c504b8c715ec94a99fc3c6a660c53a/subscription.xml +23 -0
  51. data/server/instances/22/properties.xml +112 -0
  52. data/server/instances/23/notifications/0a5a059f4ae897aee1446d560210dec0/consumer-secret +1 -0
  53. data/server/instances/23/notifications/0a5a059f4ae897aee1446d560210dec0/producer-secret +1 -0
  54. data/server/instances/23/notifications/0a5a059f4ae897aee1446d560210dec0/subscription.xml +23 -0
  55. data/server/instances/23/properties.xml +148 -0
  56. data/server/instances/24/properties.xml +66 -0
  57. data/server/instances/25/properties.xml +46 -0
  58. data/server/instances/26/properties.xml +112 -0
  59. data/server/instances/27/properties.xml +212 -0
  60. data/server/instances/28/properties.xml +363 -0
  61. data/server/instances/29/properties.xml +148 -0
  62. data/server/instances/3/properties.xml +70 -44
  63. data/server/instances/30/properties.xml +150 -0
  64. data/server/instances/31/properties.xml +52 -0
  65. data/server/instances/32/properties.xml +52 -0
  66. data/server/instances/33/properties.xml +60 -0
  67. data/server/instances/34/properties.xml +148 -0
  68. data/server/instances/35/properties.xml +148 -0
  69. data/server/instances/36/properties.xml +150 -0
  70. data/server/instances/37/notifications/2b67c793efcea22d88beaa28249001be/consumer-secret +1 -0
  71. data/server/instances/37/notifications/2b67c793efcea22d88beaa28249001be/producer-secret +1 -0
  72. data/server/instances/37/notifications/2b67c793efcea22d88beaa28249001be/subscription.xml +34 -0
  73. data/server/instances/37/notifications/5f979ed943f91ff75d75e551ba0642d6/consumer-secret +1 -0
  74. data/server/instances/37/notifications/5f979ed943f91ff75d75e551ba0642d6/producer-secret +1 -0
  75. data/server/instances/37/notifications/5f979ed943f91ff75d75e551ba0642d6/subscription.xml +33 -0
  76. data/server/instances/37/properties.xml +57 -0
  77. data/server/instances/4/properties.xml +28 -68
  78. data/server/instances/5/properties.xml +10 -70
  79. data/server/instances/6/properties.xml +175 -55
  80. data/server/instances/7/properties.xml +118 -52
  81. data/server/instances/8/properties.xml +112 -50
  82. data/server/instances/9/properties.xml +115 -47
  83. data/server/resources/topics.xml +15 -15
  84. data/server/resources/transformation_dslx.xsl +43 -5
  85. data/test/cb.rb +9 -0
  86. metadata +44 -9
  87. data/server/instances/12/notifications/8d7f2ae546a742fce3a0a488266ea51d/consumer-secret +0 -1
  88. data/server/instances/12/notifications/8d7f2ae546a742fce3a0a488266ea51d/producer-secret +0 -1
  89. data/server/instances/12/notifications/8d7f2ae546a742fce3a0a488266ea51d/subscription.xml +0 -6
  90. data/server/instances/13/notifications/4ff0cde5161c44dae49b263cbc12eaf8/consumer-secret +0 -1
  91. data/server/instances/13/notifications/4ff0cde5161c44dae49b263cbc12eaf8/producer-secret +0 -1
@@ -18,7 +18,7 @@ class NotificationsHandler < Riddl::Utils::Notifications::Producer::HandlerBase
18
18
  end
19
19
  def ws_close
20
20
  @data.unserialize_notifications!(:del,@key)
21
- @data.notify('properties/handlers/change', :instance => @data.instance)
21
+ @data.notify('handler/change', :instance => @data.instance)
22
22
  end
23
23
  def ws_message(data)
24
24
  begin
@@ -34,14 +34,14 @@ class NotificationsHandler < Riddl::Utils::Notifications::Producer::HandlerBase
34
34
 
35
35
  def create
36
36
  @data.unserialize_notifications!(:cre,@key)
37
- @data.notify('properties/handlers/change', :instance => @data.instance)
37
+ @data.notify('handler/change', :instance => @data.instance)
38
38
  end
39
39
  def delete
40
40
  @data.unserialize_notifications!(:del,@key)
41
- @data.notify('properties/handlers/change', :instance => @data.instance)
41
+ @data.notify('handler/change', :instance => @data.instance)
42
42
  end
43
43
  def update
44
44
  @data.unserialize_notifications!(:upd,@key)
45
- @data.notify('properties/handlers/change', :instance => @data.instance)
45
+ @data.notify('handler/change', :instance => @data.instance)
46
46
  end
47
47
  end
@@ -17,7 +17,7 @@ class PropertiesHandler < Riddl::Utils::Properties::HandlerBase
17
17
  case @property
18
18
  when 'handlerwrapper'
19
19
  @data.unserialize_handlerwrapper!
20
- @data.notify('properties/handlerwrapper/change', :instance => @data.instance)
20
+ @data.notify('handlerwrapper/change', :instance => @data.instance)
21
21
  when 'description'
22
22
  nots = @data.unserialize_description!
23
23
  nots.uniq.each do |noti|
@@ -25,17 +25,17 @@ class PropertiesHandler < Riddl::Utils::Properties::HandlerBase
25
25
  end
26
26
  when 'endpoints'
27
27
  @data.unserialize_endpoints!
28
- @data.notify('properties/endpoints/change', :instance => @data.instance)
28
+ @data.notify('endpoints/change', :instance => @data.instance)
29
29
  when 'dataelements'
30
30
  @data.unserialize_dataelements!
31
- @data.notify('properties/dataelements/change', :instance => @data.instance)
31
+ @data.notify('dataelements/change', :instance => @data.instance)
32
32
  when 'attributes'
33
33
  @data.unserialize_attributes!
34
34
  when 'positions'
35
35
  @data.unserialize_positions!
36
- @data.notify('properties/position/change', :instance => @data.instance)
36
+ @data.notify('position/change', :instance => @data.instance)
37
37
  when 'transformation'
38
- @data.notify('properties/transformation/change', :instance => @data.instance)
38
+ @data.notify('transformation/change', :instance => @data.instance)
39
39
  when 'state'
40
40
  @data.unserialize_state!
41
41
  else
@@ -84,7 +84,7 @@ module CPEE
84
84
  callback = @r[2]
85
85
  controller[id].mutex.synchronize do
86
86
  if controller[id].callbacks.has_key?(callback)
87
- controller[id].callbacks[callback].callback(@p)
87
+ controller[id].callbacks[callback].callback(@p,@h)
88
88
  end
89
89
  end
90
90
  end
@@ -23,8 +23,9 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
23
23
  end # }}}
24
24
 
25
25
  def activity_handle(passthrough, parameters) # {{{
26
- @controller.notify("running/activity_calling", :instance => @controller.instance, :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters)
26
+ @controller.notify("activity/calling", :instance => @controller.instance, :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters)
27
27
 
28
+ result = []
28
29
  if passthrough.nil?
29
30
  params = []
30
31
  callback = Digest::MD5.hexdigest(Kernel::rand().to_s)
@@ -53,21 +54,17 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
53
54
 
54
55
  status, result, headers = client.request type => params
55
56
  raise "Could not #{parameters[:method] || 'post'} #{@handler_endpoint}" if status != 200
56
- result = simplify_result(result)
57
57
 
58
58
  if headers["CPEE_CALLBACK"] && headers["CPEE_CALLBACK"] == 'true'
59
59
  @controller.callbacks[callback] = CPEE::Callback.new("callback activity: #{@handler_position}",self,:callback,nil,nil,:http)
60
60
  @handler_passthrough = callback
61
- return
61
+ else
62
+ callback result
62
63
  end
63
64
  else
64
65
  @controller.callbacks[passthrough] = CPEE::Callback.new("callback activity: #{@handler_position}",self,:callback,nil,nil,:http)
65
66
  @handler_passthrough = passthrough
66
- return
67
67
  end
68
-
69
- @handler_returnValue = result
70
- @handler_continue.continue
71
68
  end # }}}
72
69
 
73
70
  def activity_result_status # {{{
@@ -92,51 +89,51 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
92
89
  end # }}}
93
90
 
94
91
  def inform_activity_done # {{{
95
- @controller.notify("running/activity_done", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position)
92
+ @controller.notify("activity/done", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position)
96
93
  end # }}}
97
94
  def inform_activity_manipulate # {{{
98
- @controller.notify("running/activity_manipulating", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position)
95
+ @controller.notify("activity/manipulating", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position)
99
96
  end # }}}
100
97
  def inform_activity_failed(err) # {{{
101
98
  puts err.message
102
99
  puts err.backtrace
103
- @controller.notify("running/activity_failed", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position, :message => err.message, :line => err.backtrace[0].match(/(.*?):(\d+):/)[2], :where => err.backtrace[0].match(/(.*?):(\d+):/)[1])
100
+ @controller.notify("activity/failed", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position, :message => err.message, :line => err.backtrace[0].match(/(.*?):(\d+):/)[2], :where => err.backtrace[0].match(/(.*?):(\d+):/)[1])
104
101
  end # }}}
105
102
 
106
103
  def inform_syntax_error(err,code)# {{{
107
- @controller.notify("properties/description/error", :instance => @controller.instance, :message => err.message)
104
+ @controller.notify("description/error", :instance => @controller.instance, :message => err.message)
108
105
  end# }}}
109
106
  def inform_manipulate_change(status,changed_dataelements,changed_endpoints,dataelements,endpoints) # {{{
110
107
  unless status.nil?
111
108
  @controller.serialize_status!
112
- @controller.notify("properties/status/change", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position, :id => status.id, :message => status.message)
109
+ @controller.notify("status/change", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position, :id => status.id, :message => status.message)
113
110
  end
114
- unless dataelements.nil?
111
+ unless changed_dataelements.nil?
115
112
  @controller.serialize_dataelements!
116
- @controller.notify("properties/dataelements/change", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position, :changed => changed_dataelements)
113
+ @controller.notify("dataelements/change", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position, :changed => changed_dataelements)
117
114
  end
118
- unless endpoints.nil?
115
+ unless changed_endpoints.nil?
119
116
  @controller.serialize_endpoints!
120
- @controller.notify("properties/endpoints/change", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position, :changed => changed_endpoints)
117
+ @controller.notify("endpoints/change", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position, :changed => changed_endpoints)
121
118
  end
122
119
  end # }}}
123
120
  def inform_position_change(ipc={}) # {{{
124
121
  @controller.serialize_positions!
125
122
  ipc[:instance] = @controller.instance
126
- @controller.notify("properties/position/change", ipc)
123
+ @controller.notify("position/change", ipc)
127
124
  end # }}}
128
125
  def inform_state_change(newstate) # {{{
129
126
  if @controller
130
127
  @controller.serialize_state!
131
- @controller.notify("properties/state/change", :instance => @controller.instance, :state => newstate)
128
+ @controller.notify("state/change", :instance => @controller.instance, :state => newstate)
132
129
  end
133
130
  end # }}}
134
131
 
135
132
  def vote_sync_after # {{{
136
- @controller.call_vote("running/syncing_after", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position)
133
+ @controller.call_vote("activity/syncing_after", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position)
137
134
  end # }}}
138
135
  def vote_sync_before(parameters=nil) # {{{
139
- @controller.call_vote("running/syncing_before", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position)
136
+ @controller.call_vote("activity/syncing_before", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position)
140
137
  end # }}}
141
138
 
142
139
  def simplify_result(result)
@@ -158,12 +155,20 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
158
155
  result
159
156
  end
160
157
 
161
- def callback(result)
158
+ def callback(result=nil,options={})
162
159
  result = simplify_result(result)
163
- @handler_returnValue = result
164
- @controller.callbacks.delete(@handler_passthrough)
165
- @handler_passthrough = nil
166
- @handler_continue.continue
160
+ if options['CPEE_UPDATE']
161
+ @handler_returnValue = result
162
+ if options['CPEE_UPDATE_STATUS']
163
+ @controller.notify("activity/status", :instance => @controller.instance, :activity => @handler_position, :endpoint => @handler_endpoint, :status => options['CPEE_UPDATE_STATUS'])
164
+ end
165
+ @handler_continue.continue WEEL::Signal::Again
166
+ else
167
+ @controller.callbacks.delete(@handler_passthrough)
168
+ @handler_returnValue = result
169
+ @handler_passthrough = nil
170
+ @handler_continue.continue
171
+ end
167
172
  end
168
173
 
169
174
  def simulate(type,nesting,tid,parent,parameters={}) #{{{
@@ -26,7 +26,7 @@ class SOAPHandlerWrapper < WEEL::HandlerWrapperBase
26
26
  end # }}}
27
27
 
28
28
  def activity_handle(passthrough, parameters) # {{{
29
- @controller.notify("running/activity_calling", :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters)
29
+ @controller.notify("activity/calling", :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters)
30
30
 
31
31
  if passthrough.nil?
32
32
  callback = Digest::MD5.hexdigest(Kernel::rand().to_s)
@@ -92,56 +92,56 @@ class SOAPHandlerWrapper < WEEL::HandlerWrapperBase
92
92
  end # }}}
93
93
 
94
94
  def inform_activity_done # {{{
95
- @controller.notify("running/activity_done", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position)
95
+ @controller.notify("activity/done", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position)
96
96
  end # }}}
97
97
  def inform_activity_manipulate # {{{
98
- @controller.notify("running/activity_manipulating", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position)
98
+ @controller.notify("activity/manipulating", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position)
99
99
  end # }}}
100
100
  def inform_activity_failed(err) # {{{
101
101
  puts err.message
102
102
  puts err.backtrace
103
- @controller.notify("running/activity_failed", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :message => err.message, :line => err.backtrace[0].match(/(.*?):(\d+):/)[2], :where => err.backtrace[0].match(/(.*?):(\d+):/)[1])
103
+ @controller.notify("activity/failed", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :message => err.message, :line => err.backtrace[0].match(/(.*?):(\d+):/)[2], :where => err.backtrace[0].match(/(.*?):(\d+):/)[1])
104
104
  end # }}}
105
105
 
106
106
  def inform_syntax_error(err,code)# {{{
107
107
  puts err.message
108
108
  puts err.backtrace
109
- @controller.notify("properties/description/error", :instance => "#{@url}/#{@controller.id}", :message => err.message)
109
+ @controller.notify("description/error", :instance => "#{@url}/#{@controller.id}", :message => err.message)
110
110
  end# }}}
111
111
  def inform_manipulate_change(status,dataelements,endpoints) # {{{
112
112
  unless status.nil?
113
113
  @controller.serialize_status!
114
- @controller.notify("properties/status/change", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :id => status.id, :message => status.message)
114
+ @controller.notify("status/change", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :id => status.id, :message => status.message)
115
115
  end
116
116
  unless dataelements.nil?
117
117
  @controller.serialize_dataelements!
118
- @controller.notify("properties/dataelements/change", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :changed => dataelements)
118
+ @controller.notify("dataelements/change", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :changed => dataelements)
119
119
  end
120
120
  unless endpoints.nil?
121
121
  @controller.serialize_endpoints!
122
- @controller.notify("properties/endpoints/change", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :changed => endpoints)
122
+ @controller.notify("endpoints/change", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :changed => endpoints)
123
123
  end
124
124
  end # }}}
125
125
  def inform_position_change(ipc={}) # {{{
126
126
  @controller.serialize_positions!
127
127
  ipc[:instance] = "#{@url}/#{@controller.id}"
128
- @controller.notify("properties/position/change", ipc)
128
+ @controller.notify("position/change", ipc)
129
129
  end # }}}
130
130
  def inform_state_change(newstate) # {{{
131
131
  if @controller
132
132
  @controller.serialize_state!
133
- @controller.notify("properties/state/change", :instance => "#{@url}/#{@controller.id}", :state => newstate)
133
+ @controller.notify("state/change", :instance => "#{@url}/#{@controller.id}", :state => newstate)
134
134
  end
135
135
  end # }}}
136
136
 
137
137
  def vote_sync_after # {{{
138
- @controller.call_vote("running/syncing_after", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position)
138
+ @controller.call_vote("activity/syncing_after", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position)
139
139
  end # }}}
140
140
  def vote_sync_before # {{{
141
- @controller.call_vote("running/syncing_before", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position)
141
+ @controller.call_vote("activity/syncing_before", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position)
142
142
  end # }}}
143
143
 
144
- def callback(result)
144
+ def callback(result=nil,options={})
145
145
  @handler_returnValue = result
146
146
  @controller.callbacks.delete(@handler_passthrough)
147
147
  @handler_passthrough = nil
@@ -1,90 +1,65 @@
1
1
  <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
2
- <info>Enter info here</info>
3
- <state>ready</state>
2
+ <info>asd</info>
3
+ <state>stopped</state>
4
4
  <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
5
- <positions/>
5
+ <positions>
6
+ <a1>after</a1>
7
+ </positions>
6
8
  <dataelements>
7
- <persons>3</persons>
8
- <card>Visa_12345</card>
9
- <airline>null</airline>
10
- <hotels>[]</hotels>
11
- <from>Vienna</from>
12
- <to>Prague</to>
13
- <costs>0</costs>
9
+ <x/>
14
10
  </dataelements>
15
11
  <endpoints>
16
- <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
17
- <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
18
- <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
12
+ <timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
19
13
  </endpoints>
20
- <dsl>call :a1, :bookAir, { :method =&gt; "post", :parameters =&gt; { :from =&gt; data.from, :to =&gt; data.to, :persons =&gt; data.persons } }, &lt;&lt;-end
21
- data.airline = result.value('id')
22
- data.costs += result.value('costs').to_f
23
- status.update 1, 'Hotel'
24
- end
25
- parallel do
26
- loop pre_test{data.persons &gt; 0} do
27
- parallel_branch data.persons do |p|
28
- call :a2, :bookHotel, { :method =&gt; "post", :parameters =&gt; { :to =&gt; data.to } }, &lt;&lt;-end
29
- data.hotels &lt;&lt; result.value('id')
30
- data.costs += result.value('costs').to_f
31
- end
32
- end
33
- manipulate :a3, &lt;&lt;-end
34
- data.persons -= 1
35
- end
14
+ <dsl>parallel do
15
+ parallel_branch do
16
+ call :a4, :timeout, { :label =&gt; nil, :method =&gt; "post", :parameters =&gt; { :timeout =&gt; a } }
36
17
  end
37
- end
38
- choose do
39
- alternative data.costs &gt; 700 do
40
- call :a4, :approve, { :method =&gt; "post", :parameters =&gt; { :costs =&gt; data.costs } }
18
+ parallel_branch do
19
+ call :a5, :timeout, { :label =&gt; nil, :method =&gt; "post", :parameters =&gt; { :timeout =&gt; a } }
41
20
  end
42
21
  end
22
+ call :a2, :timeout, { :label =&gt; nil, :method =&gt; "post", :parameters =&gt; { :timeout =&gt; b } }, &lt;&lt;-end
23
+ data.x += "a2,"
24
+ end
43
25
  </dsl>
44
26
  <dslx>
45
27
  <description xmlns="http://cpee.org/ns/description/1.0">
46
- <call id="a1" endpoint="bookAir">
47
- <parameters>
48
- <method>post</method>
49
- <parameters>
50
- <from>data.from</from>
51
- <to>data.to</to>
52
- <persons>data.persons</persons>
53
- </parameters>
54
- </parameters>
55
- <manipulate output="result"> data.airline = result.value('id')
56
- data.costs += result.value('costs').to_f
57
- status.update 1, 'Hotel'</manipulate>
58
- </call>
59
- <parallel>
60
- <loop pre_test="data.persons &gt; 0">
61
- <parallel_branch pass="data.persons" local="p">
62
- <call id="a2" endpoint="bookHotel">
28
+ <!--{{{-->
29
+ <parallel svg-label="">
30
+ <parallel_branch svg-label="">
31
+ <call id="a4" endpoint="timeout" svg-label="">
32
+ <parameters>
33
+ <label/>
34
+ <method>post</method>
63
35
  <parameters>
64
- <method>post</method>
65
- <parameters>
66
- <to>data.to</to>
67
- </parameters>
36
+ <timeout>a</timeout>
68
37
  </parameters>
69
- <manipulate output="result"> data.hotels &lt;&lt; result.value('id')
70
- data.costs += result.value('costs').to_f</manipulate>
71
- </call>
72
- </parallel_branch>
73
- <manipulate id="a3"> data.persons -= 1</manipulate>
74
- </loop>
75
- </parallel>
76
- <choose>
77
- <alternative condition="data.costs &gt; 700">
78
- <call id="a4" endpoint="approve">
38
+ </parameters>
39
+ </call>
40
+ </parallel_branch>
41
+ <parallel_branch svg-label="">
42
+ <call id="a5" endpoint="timeout" svg-label="">
79
43
  <parameters>
44
+ <label/>
80
45
  <method>post</method>
81
46
  <parameters>
82
- <costs>data.costs</costs>
47
+ <timeout>a</timeout>
83
48
  </parameters>
84
49
  </parameters>
85
50
  </call>
86
- </alternative>
87
- </choose>
51
+ </parallel_branch>
52
+ </parallel>
53
+ <call id="a2" endpoint="timeout">
54
+ <parameters>
55
+ <label/>
56
+ <method>post</method>
57
+ <parameters>
58
+ <timeout>b</timeout>
59
+ </parameters>
60
+ </parameters>
61
+ <manipulate>data.x += "a2,"</manipulate>
62
+ </call>
88
63
  </description>
89
64
  </dslx>
90
65
  <status>
@@ -93,48 +68,41 @@ end
93
68
  </status>
94
69
  <description>
95
70
  <description xmlns="http://cpee.org/ns/description/1.0">
96
- <call id="a1" endpoint="bookAir">
97
- <parameters>
98
- <method>post</method>
99
- <parameters>
100
- <from>data.from</from>
101
- <to>data.to</to>
102
- <persons>data.persons</persons>
103
- </parameters>
104
- </parameters>
105
- <manipulate output="result"> data.airline = result.value('id')
106
- data.costs += result.value('costs').to_f
107
- status.update 1, 'Hotel'</manipulate>
108
- </call>
109
- <parallel>
110
- <loop pre_test="data.persons &gt; 0">
111
- <parallel_branch pass="data.persons" local="p">
112
- <call id="a2" endpoint="bookHotel">
71
+ <!--{{{-->
72
+ <parallel svg-label="">
73
+ <parallel_branch svg-label="">
74
+ <call id="a4" endpoint="timeout" svg-label="">
75
+ <parameters>
76
+ <label/>
77
+ <method>post</method>
113
78
  <parameters>
114
- <method>post</method>
115
- <parameters>
116
- <to>data.to</to>
117
- </parameters>
79
+ <timeout>a</timeout>
118
80
  </parameters>
119
- <manipulate output="result"> data.hotels &lt;&lt; result.value('id')
120
- data.costs += result.value('costs').to_f</manipulate>
121
- </call>
122
- </parallel_branch>
123
- <manipulate id="a3"> data.persons -= 1</manipulate>
124
- </loop>
125
- </parallel>
126
- <choose>
127
- <alternative condition="data.costs &gt; 700">
128
- <call id="a4" endpoint="approve">
81
+ </parameters>
82
+ </call>
83
+ </parallel_branch>
84
+ <parallel_branch svg-label="">
85
+ <call id="a5" endpoint="timeout" svg-label="">
129
86
  <parameters>
87
+ <label/>
130
88
  <method>post</method>
131
89
  <parameters>
132
- <costs>data.costs</costs>
90
+ <timeout>a</timeout>
133
91
  </parameters>
134
92
  </parameters>
135
93
  </call>
136
- </alternative>
137
- </choose>
94
+ </parallel_branch>
95
+ </parallel>
96
+ <call id="a2" endpoint="timeout">
97
+ <parameters>
98
+ <label/>
99
+ <method>post</method>
100
+ <parameters>
101
+ <timeout>b</timeout>
102
+ </parameters>
103
+ </parameters>
104
+ <manipulate>data.x += "a2,"</manipulate>
105
+ </call>
138
106
  </description>
139
107
  </description>
140
108
  <transformation>