cpee 1.3.209 → 1.3.211

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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +5 -5
  3. data/cockpit/contrib/transformation1.xsl +9 -9
  4. data/cockpit/index.html +6 -4
  5. data/cockpit/js/details.js +54 -56
  6. data/cockpit/js/instance.js +15 -5
  7. data/cockpit/js/parameters.js +28 -28
  8. data/cockpit/js/wfadaptor.js +32 -16
  9. data/cockpit/testsets/Centurio.xml +72 -0
  10. data/cockpit/testsets/Lego Plate.xml +1 -1
  11. data/cockpit/testsets/Lego Transporter.xml +11 -147
  12. data/cockpit/testsets/Linear.xml +3 -0
  13. data/cockpit/testsets/Syncing P34 1.xml +9 -1
  14. data/cockpit/testsets/Syncing P34 2.xml +9 -1
  15. data/cockpit/testsets/Syncing P34 3.xml +9 -1
  16. data/cockpit/testsets/Syncing P34.xml +9 -1
  17. data/cockpit/testsets/testsets.xml +1 -0
  18. data/cockpit/themes/default/theme.js +22 -21
  19. data/cockpit/themes/labels/theme.js +786 -0
  20. data/cpee.gemspec +4 -2
  21. data/lib/cpee/controller.rb +0 -5
  22. data/server/handlerwrappers/default.rb +9 -15
  23. data/server/handlerwrappers/soap.rb +10 -10
  24. data/server/instances/10/notifications/182434032285ca1d06a8b6554b8889c8/consumer-secret +1 -0
  25. data/server/instances/10/notifications/182434032285ca1d06a8b6554b8889c8/producer-secret +1 -0
  26. data/server/instances/{6/notifications/0e9f3728f00c0562870110697bd8819c → 10/notifications/182434032285ca1d06a8b6554b8889c8}/subscription.xml +6 -21
  27. data/server/instances/10/notifications/512a3785631a5245dbb45fa150ea72ed/consumer-secret +1 -0
  28. data/server/instances/10/notifications/512a3785631a5245dbb45fa150ea72ed/producer-secret +1 -0
  29. data/server/instances/10/notifications/512a3785631a5245dbb45fa150ea72ed/subscription.xml +6 -0
  30. data/server/instances/10/properties.xml +187 -0
  31. data/server/instances/11/properties.xml +191 -0
  32. data/server/instances/12/properties.xml +191 -0
  33. data/server/instances/13/properties.xml +204 -0
  34. data/server/instances/14/properties.xml +31 -0
  35. data/server/instances/15/properties.xml +30 -0
  36. data/server/instances/16/properties.xml +29 -0
  37. data/server/instances/17/properties.xml +29 -0
  38. data/server/instances/18/properties.xml +31 -0
  39. data/server/instances/19/properties.xml +31 -0
  40. data/server/instances/20/properties.xml +191 -0
  41. data/server/instances/7/properties.xml +120 -0
  42. data/server/instances/8/properties.xml +118 -0
  43. data/server/instances/9/properties.xml +120 -0
  44. data/test/callback.rb +2 -2
  45. data/tools/cpee +38 -0
  46. data/tools/server/resources/notifications/logging/consumer-secret +1 -0
  47. data/tools/server/resources/notifications/logging/producer-secret +1 -0
  48. data/tools/server/resources/notifications/logging/subscription.xml +7 -0
  49. data/tools/server/resources/properties.init +47 -0
  50. data/tools/server/server.rb +14 -0
  51. metadata +33 -7
  52. data/server/instances/6/notifications/0e9f3728f00c0562870110697bd8819c/consumer-secret +0 -1
  53. data/server/instances/6/notifications/0e9f3728f00c0562870110697bd8819c/producer-secret +0 -1
data/cpee.gemspec CHANGED
@@ -1,15 +1,17 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cpee"
3
- s.version = "1.3.209"
3
+ s.version = "1.3.211"
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"
7
7
 
8
8
  s.description = "see http://cpee.org"
9
9
 
10
- s.files = Dir['{example/**/*,server/**/*,lib/**/*,cockpit/**/*,contrib/logo*,contrib/Screen*,log/**/*}'] + %w(COPYING FEATURES INSTALL Rakefile cpee.gemspec README AUTHORS)
10
+ s.files = Dir['{example/**/*,server/**/*,tools/**/*,lib/**/*,cockpit/**/*,contrib/logo*,contrib/Screen*,log/**/*}'] + %w(COPYING FEATURES INSTALL Rakefile cpee.gemspec README AUTHORS)
11
11
  s.require_path = 'lib'
12
12
  s.extra_rdoc_files = ['README']
13
+ s.bindir = 'tools'
14
+ s.executables = ['cpee']
13
15
  s.test_files = Dir['{test/*,test/*/tc_*.rb}']
14
16
 
15
17
  s.required_ruby_version = '>=2.0.0'
@@ -494,8 +494,6 @@ module CPEE
494
494
  if url.class == String
495
495
  client = Riddl::Client.new(url,'http://riddl.org/ns/common-patterns/notifications-consumer/1.0/consumer.xml',:xmpp => @opts[:xmpp])
496
496
  params = notf.map{|ke,va|Riddl::Parameter::Simple.new(ke,va)}
497
- params << Riddl::Header.new("CPEE_BASE",self.base)
498
- params << Riddl::Header.new("CPEE_INSTANCE",self.instance)
499
497
  params << Riddl::Header.new("CPEE-BASE",self.base)
500
498
  params << Riddl::Header.new("CPEE-INSTANCE",self.instance)
501
499
  client.post params
@@ -535,9 +533,6 @@ module CPEE
535
533
  if u.class == String
536
534
  client = Riddl::Client.new(u,'http://riddl.org/ns/common-patterns/notifications-consumer/1.0/consumer.xml',:xmpp => @opts[:xmpp])
537
535
  params = notf.map{|ke,va|Riddl::Parameter::Simple.new(ke,va)}
538
- params << Riddl::Header.new("CPEE_BASE",self.base_url)
539
- params << Riddl::Header.new("CPEE_INSTANCE",self.instance_url)
540
- params << Riddl::Header.new("CPEE_CALLBACK",self.instance_url + '/callbacks/' + callback)
541
536
  params << Riddl::Header.new("CPEE-BASE",self.base_url)
542
537
  params << Riddl::Header.new("CPEE-INSTANCE",self.instance_url)
543
538
  params << Riddl::Header.new("CPEE-CALLBACK",self.instance_url + '/callbacks/' + callback)
@@ -43,7 +43,7 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
43
43
  end # }}}
44
44
 
45
45
  def activity_handle(passthrough, parameters) # {{{
46
- @controller.notify("activity/calling", :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters)
46
+ @controller.notify("activity/calling", :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters, :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
47
47
  if passthrough.nil?
48
48
  params = []
49
49
  callback = Digest::MD5.hexdigest(Kernel::rand().to_s)
@@ -54,12 +54,7 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
54
54
  params << Riddl::Parameter::Simple.new(s.name.to_s,CPEE::ValueHelper::generate(s.value))
55
55
  end
56
56
  end
57
- params << Riddl::Header.new("CPEE_BASE",@controller.base_url)
58
- params << Riddl::Header.new("CPEE_INSTANCE",@controller.instance_url)
59
- params << Riddl::Header.new("CPEE_CALLBACK",@controller.instance_url + '/callbacks/' + callback)
60
- params << Riddl::Header.new("CPEE_CALLBACK_ID",callback)
61
- params << Riddl::Header.new("CPEE_ACTIVITY",@handler_position)
62
- params << Riddl::Header.new("CPEE_LABEL",parameters[:label])
57
+
63
58
  params << Riddl::Header.new("CPEE-BASE",@controller.base_url)
64
59
  params << Riddl::Header.new("CPEE-INSTANCE",@controller.instance_url)
65
60
  params << Riddl::Header.new("CPEE-CALLBACK",@controller.instance_url + '/callbacks/' + callback)
@@ -67,7 +62,6 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
67
62
  params << Riddl::Header.new("CPEE-ACTIVITY",@handler_position)
68
63
  params << Riddl::Header.new("CPEE-LABEL",parameters[:label])
69
64
  @controller.attributes.each do |key,value|
70
- params << Riddl::Header.new("CPEE_ATTR_#{key}",value)
71
65
  params << Riddl::Header.new("CPEE-ATTR-#{key.gsub(/_/,'-')}",value)
72
66
  end
73
67
 
@@ -111,15 +105,15 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
111
105
  end # }}}
112
106
 
113
107
  def inform_activity_done # {{{
114
- @controller.notify("activity/done", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position)
108
+ @controller.notify("activity/done", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
115
109
  end # }}}
116
110
  def inform_activity_manipulate # {{{
117
- @controller.notify("activity/manipulating", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position)
111
+ @controller.notify("activity/manipulating", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
118
112
  end # }}}
119
113
  def inform_activity_failed(err) # {{{
120
114
  puts err.message
121
115
  puts err.backtrace
122
- @controller.notify("activity/failed", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :message => err.message, :line => err.backtrace[0].match(/(.*?):(\d+):/)[2], :where => err.backtrace[0].match(/(.*?):(\d+):/)[1])
116
+ @controller.notify("activity/failed", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :message => err.message, :line => err.backtrace[0].match(/(.*?):(\d+):/)[2], :where => err.backtrace[0].match(/(.*?):(\d+):/)[1], :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
123
117
  end # }}}
124
118
  def inform_manipulate_change(status,changed_dataelements,changed_endpoints,dataelements,endpoints) # {{{
125
119
  unless status.nil?
@@ -137,10 +131,10 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
137
131
  end # }}}
138
132
 
139
133
  def vote_sync_after # {{{
140
- @controller.call_vote("activity/syncing_after", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position)
134
+ @controller.call_vote("activity/syncing_after", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
141
135
  end # }}}
142
136
  def vote_sync_before(parameters=nil) # {{{
143
- @controller.call_vote("activity/syncing_before", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :parameters => parameters)
137
+ @controller.call_vote("activity/syncing_before", :endpoint => @handler_endpoint, :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :parameters => parameters, :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
144
138
  end # }}}
145
139
 
146
140
  def simplify_result(result)
@@ -186,12 +180,12 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
186
180
  end
187
181
 
188
182
  def callback(result=nil,options={})
189
- @controller.notify("activity/receiving", :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :endpoint => @handler_endpoint, :received => structurize_result(result))
183
+ @controller.notify("activity/receiving", :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :endpoint => @handler_endpoint, :received => structurize_result(result), :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
190
184
  result = simplify_result(result)
191
185
  if options['CPEE_UPDATE']
192
186
  @handler_returnValue = result
193
187
  if options['CPEE_UPDATE_STATUS']
194
- @controller.notify("activity/status", :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :endpoint => @handler_endpoint, :status => options['CPEE_UPDATE_STATUS'])
188
+ @controller.notify("activity/status", :instance => @controller.instance, :instance_uuid => @controller.uuid, :activity => @handler_position, :endpoint => @handler_endpoint, :status => options['CPEE_UPDATE_STATUS'], :time=>Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z"))
195
189
  end
196
190
  @handler_continue.continue WEEL::Signal::Again
197
191
  else
@@ -31,30 +31,30 @@ class SOAPHandlerWrapper < WEEL::HandlerWrapperBase
31
31
  if passthrough.nil?
32
32
  callback = Digest::MD5.hexdigest(Kernel::rand().to_s)
33
33
  begin
34
- client = Savon.client do
34
+ client = Savon.client do
35
35
  wsdl @handler_endpoint
36
36
  log false
37
37
  log_level :info
38
38
  soap_header(
39
- "CPEE_BASE" => @url,
40
- "CPEE_INSTANCE" => "#{@url}/#{@controller.id}",
41
- "CPEE_CALLBACK" => callback
39
+ "CPEE-BASE" => @url,
40
+ "CPEE-INSTANCE" => "#{@url}/#{@controller.id}",
41
+ "CPEE-CALLBACK" => callback
42
42
  )
43
- end
43
+ end
44
44
  params = {}
45
45
  (parameters[:parameters] || {}).each do |h|
46
46
  if h.class == Hash
47
47
  h.each do |k,v|
48
48
  params[k] = JSON::generate(v)
49
- end
50
- end
49
+ end
50
+ end
51
51
  end
52
52
  response = client.call parameters[:method].to_sym, params
53
53
  result = response.body.first[1].first[1]
54
54
  rescue Savon::Error => error
55
55
  raise "Could not soap #{@handler_endpoint}->#{parameters[:method].to_sym}'s back: #{error.to_s}"
56
56
  end
57
-
57
+
58
58
  if response.http.headers["CPEE_CALLBACK"] && response.http.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
@@ -112,7 +112,7 @@ class SOAPHandlerWrapper < WEEL::HandlerWrapperBase
112
112
  unless status.nil?
113
113
  @controller.serialize_status!
114
114
  @controller.notify("status/change", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :id => status.id, :message => status.message)
115
- end
115
+ end
116
116
  unless dataelements.nil?
117
117
  @controller.serialize_dataelements!
118
118
  @controller.notify("dataelements/change", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :changed => dataelements)
@@ -120,7 +120,7 @@ class SOAPHandlerWrapper < WEEL::HandlerWrapperBase
120
120
  unless endpoints.nil?
121
121
  @controller.serialize_endpoints!
122
122
  @controller.notify("endpoints/change", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :changed => endpoints)
123
- end
123
+ end
124
124
  end # }}}
125
125
  def inform_position_change(ipc={}) # {{{
126
126
  @controller.serialize_positions!
@@ -0,0 +1 @@
1
+ 67c4f55a8651a9e6638dabb3162e59c5
@@ -0,0 +1 @@
1
+ a80086de3fde314651e73260eef88b7f
@@ -1,38 +1,23 @@
1
- <subscription xmlns="http://riddl.org/ns/common-patterns/notifications-producer/1.0">
1
+ <subscription xmlns="http://riddl.org/ns/common-patterns/notifications-producer/1.0" url="http://localhost:9299/events">
2
2
  <topic id="activity">
3
3
  <event>calling</event>
4
- <event>status</event>
5
- <event>manipulating</event>
6
4
  <event>failed</event>
5
+ <event>manipulating</event>
7
6
  <event>done</event>
8
7
  </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
8
  <topic id="dataelements">
20
9
  <event>change</event>
21
10
  </topic>
22
11
  <topic id="endpoints">
23
12
  <event>change</event>
24
13
  </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">
14
+ <topic id="description">
32
15
  <event>error</event>
16
+ </topic>
17
+ <topic id="state">
33
18
  <event>change</event>
34
19
  </topic>
35
- <topic id="handlers">
20
+ <topic id="status">
36
21
  <event>change</event>
37
22
  </topic>
38
23
  </subscription>
@@ -0,0 +1 @@
1
+ f1b893f930441651cf29a0d5cc655934
@@ -0,0 +1 @@
1
+ 27c304e972512ee874969576adcf3c6c
@@ -0,0 +1,6 @@
1
+ <subscription xmlns="http://riddl.org/ns/common-patterns/notifications-producer/1.0" url="http://solo.wst.univie.ac.at:9299/log">
2
+ <topic id="activity">
3
+ <event>calling</event>
4
+ <event>done</event>
5
+ </topic>
6
+ </subscription>
@@ -0,0 +1,187 @@
1
+ <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
2
+ <attributes>
3
+ <uuid>cb9f41ef-e119-43a5-b8fa-5851ec3faef1</uuid>
4
+ <info>s</info>
5
+ <modeltype>Signavio</modeltype>
6
+ </attributes>
7
+ <state>ready</state>
8
+ <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
9
+ <positions/>
10
+ <dataelements>
11
+ <x>_begin</x>
12
+ <nasty>What a nasty bug</nasty>
13
+ </dataelements>
14
+ <endpoints>
15
+ <timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
16
+ </endpoints>
17
+ <dsl>call :a1, :timeout, parameters: { :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; 4), ⭐(:name =&gt; :bug, :value =&gt; data.nasty)] }, finalize: &lt;&lt;-END
18
+ data.x += "done"
19
+ END
20
+ parallel :wait =&gt; 2 do
21
+ parallel_branch do
22
+ call :a2_1, :timeout, parameters: { :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; 6)] }
23
+ end
24
+ parallel_branch do
25
+ call :a2_2, :timeout, parameters: { :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; 2)] }
26
+ end
27
+ end
28
+ manipulate :a3, &lt;&lt;-END
29
+ data.x += '_end'
30
+ END
31
+ choose :inclusive do
32
+ alternative "data.x != nil" do
33
+ call :a4_1, :timeout, parameters: { :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; 4)] }
34
+ end
35
+ otherwise do
36
+ call :a4_2, :timeout, parameters: { :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; 10)] }
37
+ end
38
+ end
39
+ </dsl>
40
+ <dslx>
41
+ <description xmlns="http://cpee.org/ns/description/1.0">
42
+ <call id="a1" endpoint="timeout">
43
+ <parameters>
44
+ <!--{{{-->
45
+ <method>:post</method>
46
+ <arguments>
47
+ <timeout>4</timeout>
48
+ <bug>data.nasty</bug>
49
+ </arguments>
50
+ </parameters>
51
+ <!--}}}-->
52
+ <finalize output="result">data.x += "done"</finalize>
53
+ </call>
54
+ <parallel wait="2">
55
+ <parallel_branch>
56
+ <call id="a2_1" endpoint="timeout">
57
+ <parameters>
58
+ <!--{{{-->
59
+ <method>:post</method>
60
+ <arguments>
61
+ <timeout>6</timeout>
62
+ </arguments>
63
+ </parameters>
64
+ <!--}}}-->
65
+ </call>
66
+ </parallel_branch>
67
+ <parallel_branch>
68
+ <call id="a2_2" endpoint="timeout">
69
+ <parameters>
70
+ <!--{{{-->
71
+ <method>:post</method>
72
+ <arguments>
73
+ <timeout>2</timeout>
74
+ </arguments>
75
+ </parameters>
76
+ <!--}}}-->
77
+ </call>
78
+ </parallel_branch>
79
+ </parallel>
80
+ <manipulate id="a3">data.x += '_end'</manipulate>
81
+ <choose>
82
+ <alternative condition="data.x != nil">
83
+ <call id="a4_1" endpoint="timeout">
84
+ <parameters>
85
+ <!--{{{-->
86
+ <method>:post</method>
87
+ <arguments>
88
+ <timeout>4</timeout>
89
+ </arguments>
90
+ </parameters>
91
+ <!--}}}-->
92
+ </call>
93
+ </alternative>
94
+ <otherwise>
95
+ <call id="a4_2" endpoint="timeout">
96
+ <parameters>
97
+ <!--{{{-->
98
+ <method>:post</method>
99
+ <arguments>
100
+ <timeout>10</timeout>
101
+ </arguments>
102
+ </parameters>
103
+ <!--}}}-->
104
+ </call>
105
+ </otherwise>
106
+ </choose>
107
+ </description>
108
+ </dslx>
109
+ <status>
110
+ <id>0</id>
111
+ <message>undefined</message>
112
+ </status>
113
+ <description>
114
+ <description xmlns="http://cpee.org/ns/description/1.0">
115
+ <call id="a1" endpoint="timeout">
116
+ <parameters>
117
+ <!--{{{-->
118
+ <method>:post</method>
119
+ <arguments>
120
+ <timeout>4</timeout>
121
+ <bug>data.nasty</bug>
122
+ </arguments>
123
+ </parameters>
124
+ <!--}}}-->
125
+ <finalize output="result">data.x += "done"</finalize>
126
+ </call>
127
+ <parallel wait="2">
128
+ <parallel_branch>
129
+ <call id="a2_1" endpoint="timeout">
130
+ <parameters>
131
+ <!--{{{-->
132
+ <method>:post</method>
133
+ <arguments>
134
+ <timeout>6</timeout>
135
+ </arguments>
136
+ </parameters>
137
+ <!--}}}-->
138
+ </call>
139
+ </parallel_branch>
140
+ <parallel_branch>
141
+ <call id="a2_2" endpoint="timeout">
142
+ <parameters>
143
+ <!--{{{-->
144
+ <method>:post</method>
145
+ <arguments>
146
+ <timeout>2</timeout>
147
+ </arguments>
148
+ </parameters>
149
+ <!--}}}-->
150
+ </call>
151
+ </parallel_branch>
152
+ </parallel>
153
+ <manipulate id="a3">data.x += '_end'</manipulate>
154
+ <choose>
155
+ <alternative condition="data.x != nil">
156
+ <call id="a4_1" endpoint="timeout">
157
+ <parameters>
158
+ <!--{{{-->
159
+ <method>:post</method>
160
+ <arguments>
161
+ <timeout>4</timeout>
162
+ </arguments>
163
+ </parameters>
164
+ <!--}}}-->
165
+ </call>
166
+ </alternative>
167
+ <otherwise>
168
+ <call id="a4_2" endpoint="timeout">
169
+ <parameters>
170
+ <!--{{{-->
171
+ <method>:post</method>
172
+ <arguments>
173
+ <timeout>10</timeout>
174
+ </arguments>
175
+ </parameters>
176
+ <!--}}}-->
177
+ </call>
178
+ </otherwise>
179
+ </choose>
180
+ </description>
181
+ </description>
182
+ <transformation>
183
+ <description type="copy"/>
184
+ <dataelements type="rest"/>
185
+ <endpoints type="rest"/>
186
+ </transformation>
187
+ </properties>
@@ -0,0 +1,191 @@
1
+ <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
2
+ <attributes>
3
+ <uuid>c2358d41-8c8e-4113-8e4c-88b5ff490985</uuid>
4
+ <info>Enter info here</info>
5
+ <modeltype>CPEE</modeltype>
6
+ <theme>default</theme>
7
+ </attributes>
8
+ <state>ready</state>
9
+ <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
10
+ <positions/>
11
+ <dataelements>
12
+ <feedback>true</feedback>
13
+ </dataelements>
14
+ <endpoints>
15
+ <timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
16
+ </endpoints>
17
+ <dsl>parallel do
18
+ parallel_branch do
19
+ loop pre_test{data.feedback} do
20
+ call :design, :timeout, parameters: { :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; 4)] }
21
+ call :validate, :timeout, parameters: { :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; 2)] }
22
+ call :publish, :timeout, parameters: { :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; 1)] }
23
+ end
24
+ end
25
+ parallel_branch do
26
+ loop pre_test{data.feedback} do
27
+ call :prepare, :timeout, parameters: { :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; 4)] }
28
+ call :fab, :timeout, parameters: { :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; 4)] }
29
+ call :evaluate, :timeout, parameters: { :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; 4)] }
30
+ end
31
+ end
32
+ end
33
+ </dsl>
34
+ <dslx>
35
+ <description xmlns="http://cpee.org/ns/description/1.0">
36
+ <parallel>
37
+ <parallel_branch>
38
+ <loop mode="pre_test" condition="data.feedback">
39
+ <call id="design" endpoint="timeout">
40
+ <parameters>
41
+ <!--{{{-->
42
+ <method>:post</method>
43
+ <arguments>
44
+ <timeout>4</timeout>
45
+ </arguments>
46
+ </parameters>
47
+ <!--}}}-->
48
+ </call>
49
+ <call id="validate" endpoint="timeout">
50
+ <parameters>
51
+ <!--{{{-->
52
+ <method>:post</method>
53
+ <arguments>
54
+ <timeout>2</timeout>
55
+ </arguments>
56
+ </parameters>
57
+ <!--}}}-->
58
+ </call>
59
+ <call id="publish" endpoint="timeout">
60
+ <parameters>
61
+ <!--{{{-->
62
+ <method>:post</method>
63
+ <arguments>
64
+ <timeout>1</timeout>
65
+ </arguments>
66
+ </parameters>
67
+ <!--}}}-->
68
+ </call>
69
+ </loop>
70
+ </parallel_branch>
71
+ <parallel_branch>
72
+ <loop mode="pre_test" condition="data.feedback">
73
+ <call id="prepare" endpoint="timeout">
74
+ <parameters>
75
+ <!--{{{-->
76
+ <method>:post</method>
77
+ <arguments>
78
+ <timeout>4</timeout>
79
+ </arguments>
80
+ </parameters>
81
+ <!--}}}-->
82
+ </call>
83
+ <call id="fab" endpoint="timeout">
84
+ <parameters>
85
+ <!--{{{-->
86
+ <method>:post</method>
87
+ <arguments>
88
+ <timeout>4</timeout>
89
+ </arguments>
90
+ </parameters>
91
+ <!--}}}-->
92
+ </call>
93
+ <call id="evaluate" endpoint="timeout">
94
+ <parameters>
95
+ <!--{{{-->
96
+ <method>:post</method>
97
+ <arguments>
98
+ <timeout>4</timeout>
99
+ </arguments>
100
+ </parameters>
101
+ <!--}}}-->
102
+ </call>
103
+ </loop>
104
+ </parallel_branch>
105
+ </parallel>
106
+ </description>
107
+ </dslx>
108
+ <status>
109
+ <id>0</id>
110
+ <message>undefined</message>
111
+ </status>
112
+ <description>
113
+ <description xmlns="http://cpee.org/ns/description/1.0">
114
+ <parallel>
115
+ <parallel_branch>
116
+ <loop mode="pre_test" condition="data.feedback">
117
+ <call id="design" endpoint="timeout">
118
+ <parameters>
119
+ <!--{{{-->
120
+ <method>:post</method>
121
+ <arguments>
122
+ <timeout>4</timeout>
123
+ </arguments>
124
+ </parameters>
125
+ <!--}}}-->
126
+ </call>
127
+ <call id="validate" endpoint="timeout">
128
+ <parameters>
129
+ <!--{{{-->
130
+ <method>:post</method>
131
+ <arguments>
132
+ <timeout>2</timeout>
133
+ </arguments>
134
+ </parameters>
135
+ <!--}}}-->
136
+ </call>
137
+ <call id="publish" endpoint="timeout">
138
+ <parameters>
139
+ <!--{{{-->
140
+ <method>:post</method>
141
+ <arguments>
142
+ <timeout>1</timeout>
143
+ </arguments>
144
+ </parameters>
145
+ <!--}}}-->
146
+ </call>
147
+ </loop>
148
+ </parallel_branch>
149
+ <parallel_branch>
150
+ <loop mode="pre_test" condition="data.feedback">
151
+ <call id="prepare" endpoint="timeout">
152
+ <parameters>
153
+ <!--{{{-->
154
+ <method>:post</method>
155
+ <arguments>
156
+ <timeout>4</timeout>
157
+ </arguments>
158
+ </parameters>
159
+ <!--}}}-->
160
+ </call>
161
+ <call id="fab" endpoint="timeout">
162
+ <parameters>
163
+ <!--{{{-->
164
+ <method>:post</method>
165
+ <arguments>
166
+ <timeout>4</timeout>
167
+ </arguments>
168
+ </parameters>
169
+ <!--}}}-->
170
+ </call>
171
+ <call id="evaluate" endpoint="timeout">
172
+ <parameters>
173
+ <!--{{{-->
174
+ <method>:post</method>
175
+ <arguments>
176
+ <timeout>4</timeout>
177
+ </arguments>
178
+ </parameters>
179
+ <!--}}}-->
180
+ </call>
181
+ </loop>
182
+ </parallel_branch>
183
+ </parallel>
184
+ </description>
185
+ </description>
186
+ <transformation>
187
+ <description type="copy"/>
188
+ <dataelements type="rest"/>
189
+ <endpoints type="rest"/>
190
+ </transformation>
191
+ </properties>