cpee 1.3.209 → 1.3.211
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +5 -5
- data/cockpit/contrib/transformation1.xsl +9 -9
- data/cockpit/index.html +6 -4
- data/cockpit/js/details.js +54 -56
- data/cockpit/js/instance.js +15 -5
- data/cockpit/js/parameters.js +28 -28
- data/cockpit/js/wfadaptor.js +32 -16
- data/cockpit/testsets/Centurio.xml +72 -0
- data/cockpit/testsets/Lego Plate.xml +1 -1
- data/cockpit/testsets/Lego Transporter.xml +11 -147
- data/cockpit/testsets/Linear.xml +3 -0
- data/cockpit/testsets/Syncing P34 1.xml +9 -1
- data/cockpit/testsets/Syncing P34 2.xml +9 -1
- data/cockpit/testsets/Syncing P34 3.xml +9 -1
- data/cockpit/testsets/Syncing P34.xml +9 -1
- data/cockpit/testsets/testsets.xml +1 -0
- data/cockpit/themes/default/theme.js +22 -21
- data/cockpit/themes/labels/theme.js +786 -0
- data/cpee.gemspec +4 -2
- data/lib/cpee/controller.rb +0 -5
- data/server/handlerwrappers/default.rb +9 -15
- data/server/handlerwrappers/soap.rb +10 -10
- data/server/instances/10/notifications/182434032285ca1d06a8b6554b8889c8/consumer-secret +1 -0
- data/server/instances/10/notifications/182434032285ca1d06a8b6554b8889c8/producer-secret +1 -0
- data/server/instances/{6/notifications/0e9f3728f00c0562870110697bd8819c → 10/notifications/182434032285ca1d06a8b6554b8889c8}/subscription.xml +6 -21
- data/server/instances/10/notifications/512a3785631a5245dbb45fa150ea72ed/consumer-secret +1 -0
- data/server/instances/10/notifications/512a3785631a5245dbb45fa150ea72ed/producer-secret +1 -0
- data/server/instances/10/notifications/512a3785631a5245dbb45fa150ea72ed/subscription.xml +6 -0
- data/server/instances/10/properties.xml +187 -0
- data/server/instances/11/properties.xml +191 -0
- data/server/instances/12/properties.xml +191 -0
- data/server/instances/13/properties.xml +204 -0
- data/server/instances/14/properties.xml +31 -0
- data/server/instances/15/properties.xml +30 -0
- data/server/instances/16/properties.xml +29 -0
- data/server/instances/17/properties.xml +29 -0
- data/server/instances/18/properties.xml +31 -0
- data/server/instances/19/properties.xml +31 -0
- data/server/instances/20/properties.xml +191 -0
- data/server/instances/7/properties.xml +120 -0
- data/server/instances/8/properties.xml +118 -0
- data/server/instances/9/properties.xml +120 -0
- data/test/callback.rb +2 -2
- data/tools/cpee +38 -0
- data/tools/server/resources/notifications/logging/consumer-secret +1 -0
- data/tools/server/resources/notifications/logging/producer-secret +1 -0
- data/tools/server/resources/notifications/logging/subscription.xml +7 -0
- data/tools/server/resources/properties.init +47 -0
- data/tools/server/server.rb +14 -0
- metadata +33 -7
- data/server/instances/6/notifications/0e9f3728f00c0562870110697bd8819c/consumer-secret +0 -1
- 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.
|
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'
|
data/lib/cpee/controller.rb
CHANGED
@@ -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
|
-
|
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
|
-
"
|
40
|
-
"
|
41
|
-
"
|
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="
|
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="
|
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,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 => :post, :arguments => [⭐(:name => :timeout, :value => 4), ⭐(:name => :bug, :value => data.nasty)] }, finalize: <<-END
|
18
|
+
data.x += "done"
|
19
|
+
END
|
20
|
+
parallel :wait => 2 do
|
21
|
+
parallel_branch do
|
22
|
+
call :a2_1, :timeout, parameters: { :method => :post, :arguments => [⭐(:name => :timeout, :value => 6)] }
|
23
|
+
end
|
24
|
+
parallel_branch do
|
25
|
+
call :a2_2, :timeout, parameters: { :method => :post, :arguments => [⭐(:name => :timeout, :value => 2)] }
|
26
|
+
end
|
27
|
+
end
|
28
|
+
manipulate :a3, <<-END
|
29
|
+
data.x += '_end'
|
30
|
+
END
|
31
|
+
choose :inclusive do
|
32
|
+
alternative "data.x != nil" do
|
33
|
+
call :a4_1, :timeout, parameters: { :method => :post, :arguments => [⭐(:name => :timeout, :value => 4)] }
|
34
|
+
end
|
35
|
+
otherwise do
|
36
|
+
call :a4_2, :timeout, parameters: { :method => :post, :arguments => [⭐(:name => :timeout, :value => 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 => :post, :arguments => [⭐(:name => :timeout, :value => 4)] }
|
21
|
+
call :validate, :timeout, parameters: { :method => :post, :arguments => [⭐(:name => :timeout, :value => 2)] }
|
22
|
+
call :publish, :timeout, parameters: { :method => :post, :arguments => [⭐(:name => :timeout, :value => 1)] }
|
23
|
+
end
|
24
|
+
end
|
25
|
+
parallel_branch do
|
26
|
+
loop pre_test{data.feedback} do
|
27
|
+
call :prepare, :timeout, parameters: { :method => :post, :arguments => [⭐(:name => :timeout, :value => 4)] }
|
28
|
+
call :fab, :timeout, parameters: { :method => :post, :arguments => [⭐(:name => :timeout, :value => 4)] }
|
29
|
+
call :evaluate, :timeout, parameters: { :method => :post, :arguments => [⭐(:name => :timeout, :value => 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>
|