cpee 1.3.204 → 1.3.205
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/cockpit/css/ui.css +9 -5
- data/cockpit/css/wfadaptor.css +13 -1
- data/cockpit/js/instance.js +26 -17
- data/cockpit/testsets/Concurrent.xml +19 -17
- data/cockpit/testsets/Lego Crane.xml +2 -2
- data/cockpit/testsets/Worklist Parallel.xml +17 -17
- data/cockpit/testsets/Worklist Test CPEE.xml +4 -4
- data/cockpit/testsets/Worklist Test.xml +5 -5
- data/cockpit/testsets/Worklist Test2.xml +4 -4
- data/cockpit/themes/default/symbols/callcorrelationreceive.svg +6 -0
- data/cockpit/themes/default/symbols/callcorrelationsend.svg +6 -0
- data/cockpit/themes/default/symbols/callinstantiation.svg +3 -0
- data/cockpit/themes/default/symbols/callmanipulateworklist.svg +6 -0
- data/cockpit/themes/default/symbols/callworklist.svg +4 -0
- data/cockpit/themes/default/theme.js +45 -3
- data/cpee.gemspec +1 -1
- data/lib/cpee/implementation.rb +7 -2
- data/log/server.rb +71 -65
- data/server/instances/20/properties.xml +68 -0
- data/server/instances/21/properties.xml +118 -0
- data/server/instances/22/properties.xml +525 -0
- data/server/instances/23/properties.xml +65 -0
- data/server/instances/24/properties.xml +65 -0
- data/server/instances/25/properties.xml +65 -0
- data/server/instances/26/properties.xml +65 -0
- data/server/instances/27/properties.xml +65 -0
- data/server/instances/28/properties.xml +65 -0
- data/server/instances/29/properties.xml +67 -0
- data/server/instances/30/notifications/f7afc30fd195bc06ac100a9b848c5da3/consumer-secret +1 -0
- data/server/instances/30/notifications/f7afc30fd195bc06ac100a9b848c5da3/producer-secret +1 -0
- data/server/instances/30/notifications/f7afc30fd195bc06ac100a9b848c5da3/subscription.xml +42 -0
- data/server/instances/30/properties.xml +65 -0
- metadata +21 -3
- data/server/weel.rb +0 -1
@@ -0,0 +1,6 @@
|
|
1
|
+
<svg class="clickable" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<circle cx="15" cy="15" r="14" class="stand"/>
|
3
|
+
<circle cx="15" cy="15" r="11" class="stand"/>
|
4
|
+
<rect x="9" y="11" width="12" height="8" class="black" style="fill: none"/>
|
5
|
+
<path d="m 9,11 6,4 6,-4" class="black" style="fill: none"/>
|
6
|
+
</svg>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<svg class="clickable" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<circle cx="15" cy="15" r="14" class="stand"/>
|
3
|
+
<circle cx="15" cy="15" r="11" class="stand"/>
|
4
|
+
<rect x="9" y="11" width="12" height="8" class="black"/>
|
5
|
+
<path d="m 9,11 6,3 6,-3" class="white" style="fill: none;"/>
|
6
|
+
</svg>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<svg class="clickable" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<rect x="1" y="1" width="28" height="28" rx="4" class="rfill stand"/>
|
3
|
+
<path transform="translate(-2,-2)" class="normal" style="fill:#000000;" d="m 15,6.5 a 3.9999995,4 0 0 0 -4,4 3.9999995,4 0 0 0 4,4 3.9999995,4 0 0 0 4,-4 3.9999995,4 0 0 0 -4,-4 z m 0,8 -3.5,0 c -1.108,0 -2,0.892 -2,2 l 0,5 c 0,1.108 0.892,2 2,2 l 7,0 c 1.108,0 2,-0.892 2,-2 l 0,-5 c 0,-1.108 -0.892,-2 -2,-2 l -3.5,0 z"/>
|
4
|
+
<circle cx="28" cy="27" r="9" class="rfill stand"/>
|
5
|
+
<text transform="translate(28,31)" class="small">s</text>
|
6
|
+
</svg>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<svg class="clickable" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<rect x="1" y="1" width="28" height="28" rx="4" class="rfill stand"/>
|
3
|
+
<path class="normal" style="fill:#000000;" d="m 15,6.5 a 3.9999995,4 0 0 0 -4,4 3.9999995,4 0 0 0 4,4 3.9999995,4 0 0 0 4,-4 3.9999995,4 0 0 0 -4,-4 z m 0,8 -3.5,0 c -1.108,0 -2,0.892 -2,2 l 0,5 c 0,1.108 0.892,2 2,2 l 7,0 c 1.108,0 2,-0.892 2,-2 l 0,-5 c 0,-1.108 -0.892,-2 -2,-2 l -3.5,0 z"/>
|
4
|
+
</svg>
|
@@ -111,10 +111,16 @@ function WFAdaptorManifestation(adaptor) {
|
|
111
111
|
'illustrator': {//{{{
|
112
112
|
'endnodes' : 'this',
|
113
113
|
'resolve_symbol' : function(node) {
|
114
|
-
if($(node).attr('endpoint')
|
114
|
+
if($(node).attr('endpoint').match(/^instantiation/)) {
|
115
115
|
return 'callinstantiation';
|
116
|
-
} else if($(node).attr('endpoint')
|
117
|
-
return '
|
116
|
+
} else if($(node).attr('endpoint').match(/^correlation_send/)) {
|
117
|
+
return 'callcorrelationsend';
|
118
|
+
} else if($(node).attr('endpoint').match(/^correlation_receive/)) {
|
119
|
+
return 'callcorrelationreceive';
|
120
|
+
} else if($(node).attr('endpoint').match(/^worklist/) && $('finalize,update', node).length > 0) {
|
121
|
+
return 'callmanipulateworklist';
|
122
|
+
} else if($(node).attr('endpoint').match(/^worklist/)) {
|
123
|
+
return 'callworklist';
|
118
124
|
} else if($('parameters > service', node).length > 0) {
|
119
125
|
return 'callinjection';
|
120
126
|
} else if($('finalize,update', node).length > 0) {
|
@@ -740,4 +746,40 @@ function WFAdaptorManifestation(adaptor) {
|
|
740
746
|
'type' : 'abstract',
|
741
747
|
'description': [self.adaptor.theme_dir + 'rngs/update.rng',self.adaptor.theme_dir + 'rngs/finalize.rng']
|
742
748
|
}; /*}}}*/
|
749
|
+
this.elements.callinstantiation = { /*{{{*/
|
750
|
+
'type' : 'abstract',
|
751
|
+
'parent': 'call',
|
752
|
+
'illustrator': {//{{{
|
753
|
+
'svg': self.adaptor.theme_dir + 'symbols/callinstantiation.svg'
|
754
|
+
},//}}}
|
755
|
+
}; /*}}}*/
|
756
|
+
this.elements.callcorrelationsend = { /*{{{*/
|
757
|
+
'type' : 'abstract',
|
758
|
+
'parent': 'call',
|
759
|
+
'illustrator': {//{{{
|
760
|
+
'svg': self.adaptor.theme_dir + 'symbols/callcorrelationsend.svg'
|
761
|
+
},//}}}
|
762
|
+
}; /*}}}*/
|
763
|
+
this.elements.callcorrelationreceive = { /*{{{*/
|
764
|
+
'type' : 'abstract',
|
765
|
+
'parent': 'call',
|
766
|
+
'illustrator': {//{{{
|
767
|
+
'svg': self.adaptor.theme_dir + 'symbols/callcorrelationreceive.svg'
|
768
|
+
},//}}}
|
769
|
+
}; /*}}}*/
|
770
|
+
this.elements.callworklist = { /*{{{*/
|
771
|
+
'type' : 'abstract',
|
772
|
+
'parent': 'call',
|
773
|
+
'illustrator': {//{{{
|
774
|
+
'svg': self.adaptor.theme_dir + 'symbols/callworklist.svg'
|
775
|
+
},//}}}
|
776
|
+
}; /*}}}*/
|
777
|
+
this.elements.callmanipulateworklist = { /*{{{*/
|
778
|
+
'type' : 'abstract',
|
779
|
+
'parent': 'call',
|
780
|
+
'description': self.adaptor.theme_dir + 'rngs/callmanipulate.rng',
|
781
|
+
'illustrator': {//{{{
|
782
|
+
'svg': self.adaptor.theme_dir + 'symbols/callmanipulateworklist.svg'
|
783
|
+
},//}}}
|
784
|
+
}; /*}}}*/
|
743
785
|
}
|
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.205"
|
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"
|
data/lib/cpee/implementation.rb
CHANGED
@@ -20,8 +20,13 @@ require 'riddl/utils/properties'
|
|
20
20
|
require ::File.dirname(__FILE__) + '/controller'
|
21
21
|
|
22
22
|
require 'ostruct'
|
23
|
-
|
24
|
-
def
|
23
|
+
class ParaStruct < OpenStruct
|
24
|
+
def to_json(*a)
|
25
|
+
table.to_json
|
26
|
+
end
|
27
|
+
end
|
28
|
+
def →(a); ParaStruct.new(a); end
|
29
|
+
def ⭐(a); ParaStruct.new(a); end
|
25
30
|
|
26
31
|
module CPEE
|
27
32
|
|
data/log/server.rb
CHANGED
@@ -18,85 +18,91 @@ class Logging < Riddl::Implementation #{{{
|
|
18
18
|
<extension name="Concept" prefix="concept" uri="http://www.xes-standard.org/concept.xesext"/>
|
19
19
|
<extension name="Organizational" prefix="org" uri="http://www.xes-standard.org/org.xesext"/>
|
20
20
|
<extension name="Lifecycle" prefix="lifecycle" uri="http://www.xes-standard.org/lifecycle.xesext"/>
|
21
|
+
<global scope="trace">
|
22
|
+
<string key="concept:name" value="__INVALID__"/>
|
23
|
+
</global>
|
24
|
+
<global scope="event">
|
25
|
+
<string key="concept:name" value="__INVALID__"/>
|
26
|
+
<string key="concept:endpoint" value=""/>
|
27
|
+
<string key="id:id" value=""/>
|
28
|
+
<string key="lifecycle:transition" value="complete" />
|
29
|
+
<date key="time:timestamp" value=""/>
|
30
|
+
</global>
|
31
|
+
<classifier name="Data" keys="data_send data_received"/>
|
32
|
+
<classifier name="Data_Received" keys="data_received"/>
|
33
|
+
<classifier name="Data_Send" keys="data_send"/>
|
21
34
|
<trace/>
|
22
35
|
</log>
|
23
36
|
END
|
24
|
-
def
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
event
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
end
|
46
|
-
event.add 'string', :key => "concept:instance", :value => notification["endpoint"] if notification["endpoint"]
|
47
|
-
event.add 'string', :key => "id:id", :value => activity
|
37
|
+
def doc(event_name,log_dir,instancenr,notification)
|
38
|
+
uuid = notification['instance_uuid']
|
39
|
+
activity = notification["activity"]
|
40
|
+
parameters = notification['parameters']
|
41
|
+
receiving = notification['received']
|
42
|
+
pp notification
|
43
|
+
Dir.mkdir(log_dir+'/'+uuid) unless Dir.exist?(log_dir+'/'+uuid)
|
44
|
+
time_added=false
|
45
|
+
XML::Smart.modify(log_dir+'/'+uuid+'/log.xes',LOGTEMPLATE) do |xml|
|
46
|
+
begin
|
47
|
+
trace = xml.find("/xmlns:log/xmlns:trace").first
|
48
|
+
trace.add 'string', :key => "concept:name", :value => "Instance #{instancenr}" if trace.find('xmlns:string').empty?
|
49
|
+
event = trace.add "event"
|
50
|
+
if parameters && parameters.has_key?('label')
|
51
|
+
event.add 'string', :key => "concept:name", :value => parameters["label"]
|
52
|
+
else
|
53
|
+
event.add 'string', :key => "concept:name", :value => trace.find("string(xmlns:event[xmlns:string[@key='id:id' and @value='#{activity}']]/xmlns:string[@key='concept:name']/@value)")
|
54
|
+
end
|
55
|
+
event.add 'string', :key => "concept:endpoint", :value => notification["endpoint"] if notification["endpoint"]
|
56
|
+
event.add 'string', :key => "id:id", :value => activity
|
57
|
+
unless event_name=='receiving'
|
48
58
|
event.add 'string', :key => "lifecycle:transition", :value => event_name=='done'?"complete":"start"
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
59
|
+
else
|
60
|
+
event.add 'string', :key => "lifecycle:transition", :value => "unknown"
|
61
|
+
end
|
62
|
+
data_send = ((parameters[:arguments].nil? ? [] : parameters[:arguments]) rescue [])
|
63
|
+
if data_send && data_send.any?
|
64
|
+
list = event.add 'list', :key => "data_send"
|
65
|
+
data_send.each do |k,v|
|
66
|
+
list.add 'string', :key => k , :value => v
|
55
67
|
end
|
56
|
-
event.add 'date', :key => "time:timestamp", :value => Time.now.iso8601 unless time_added
|
57
|
-
rescue => e
|
58
|
-
puts e.message
|
59
|
-
puts e.backtrace
|
60
68
|
end
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
trace.add 'string', :key => "concept:name", :value => "Instance #{instancenr}" if trace.find('xmlns:string').empty?
|
75
|
-
event = trace.add "event"
|
76
|
-
event.add 'string', :key => "concept:name", :value => trace.find("string(xmlns:event[xmlns:string[@key='id:id' and @value='#{activity}']]/xmlns:string[@key='concept:name']/@value)")
|
77
|
-
event.add 'string', :key => "concept:instance", :value => notification["endpoint"] if notification["endpoint"]
|
78
|
-
event.add 'string', :key => "id:id", :value => notification["activity"]
|
79
|
-
event.add 'string', :key => "lifecycle:transition", :value => "unknown"
|
80
|
-
if receiving.any?
|
81
|
-
list = event.add 'list', :key => "data_received"
|
82
|
-
receiving.each do |k,v|
|
83
|
-
list.add 'string', :key => k, :value => v
|
69
|
+
if receiving && receiving.any?
|
70
|
+
list = event.add 'list', :key => "data_received"
|
71
|
+
if receiving.is_a? Array
|
72
|
+
receiving.each do |e|
|
73
|
+
e.each do |k,v|
|
74
|
+
case v['mimetype']
|
75
|
+
when /\/xml$/
|
76
|
+
node = list.add 'string', :key => k
|
77
|
+
node.add XML::Smart.string(v['content']).root
|
78
|
+
else
|
79
|
+
list.add 'string', :key => k, :value => v['content']
|
80
|
+
end
|
81
|
+
end
|
84
82
|
end
|
83
|
+
else
|
84
|
+
pp receiving
|
85
85
|
end
|
86
|
-
event.add 'date', :key => "time:timestamp", :value => Time.now.iso8601 unless time_added
|
87
|
-
rescue => e
|
88
|
-
puts e.message
|
89
|
-
puts e.backtrace
|
90
86
|
end
|
91
|
-
|
92
|
-
|
93
|
-
|
87
|
+
event.add 'date', :key => "time:timestamp", :value => Time.now.iso8601 unless time_added
|
88
|
+
rescue => e
|
89
|
+
puts e.message
|
90
|
+
puts e.backtrace
|
91
|
+
end
|
94
92
|
end
|
95
93
|
end
|
94
|
+
def response
|
95
|
+
topic = @p[1].value
|
96
|
+
event_name = @p[2].value
|
97
|
+
log_dir = ::File.dirname(__FILE__) + "/logs"
|
98
|
+
instancenr = @h['CPEE_INSTANCE'].split('/').last
|
99
|
+
notification = JSON.parse(@p[3].value)
|
100
|
+
doc(event_name,log_dir,instancenr,notification)
|
101
|
+
end
|
96
102
|
end #}}}
|
97
103
|
|
98
104
|
|
99
|
-
Riddl::Server.new(::File.dirname(__FILE__) + '/log.xml', :host => "
|
105
|
+
Riddl::Server.new(::File.dirname(__FILE__) + '/log.xml', :host => "coruscant.wst.univie.ac.at", :port => 9299) do #{{{
|
100
106
|
accessible_description true
|
101
107
|
cross_site_xhr true
|
102
108
|
log_path = "/home/demo/Projects/cpee-helpers/log/logs"
|
@@ -0,0 +1,68 @@
|
|
1
|
+
<properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
|
2
|
+
<attributes>
|
3
|
+
<uuid>8ef13d4b-8709-4556-838a-38f48cad63ba</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
|
+
<persons>3</persons>
|
13
|
+
<hotels>[]</hotels>
|
14
|
+
<costs>0</costs>
|
15
|
+
</dataelements>
|
16
|
+
<endpoints>
|
17
|
+
<bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
|
18
|
+
</endpoints>
|
19
|
+
<dsl><?xml version="1.0"?>
|
20
|
+
</dsl>
|
21
|
+
<dslx>
|
22
|
+
<parallel xmlns="http://cpee.org/ns/description/1.0">
|
23
|
+
<loop mode="pre_test" condition="data.persons > 0">
|
24
|
+
<parallel_branch pass="data.persons" local="p">
|
25
|
+
<call id="a2" endpoint="bookHotel">
|
26
|
+
<parameters>
|
27
|
+
<method>:post</method>
|
28
|
+
<arguments>
|
29
|
+
<to>"Vienna"</to>
|
30
|
+
</arguments>
|
31
|
+
</parameters>
|
32
|
+
<finalize output="result">data.hotels << result.value('id')
|
33
|
+
data.costs += result.value('costs').to_f</finalize>
|
34
|
+
</call>
|
35
|
+
</parallel_branch>
|
36
|
+
<manipulate id="a3">data.persons -= 1</manipulate>
|
37
|
+
</loop>
|
38
|
+
</parallel>
|
39
|
+
</dslx>
|
40
|
+
<status>
|
41
|
+
<id>0</id>
|
42
|
+
<message>undefined</message>
|
43
|
+
</status>
|
44
|
+
<description>
|
45
|
+
<parallel xmlns="http://cpee.org/ns/description/1.0">
|
46
|
+
<loop mode="pre_test" condition="data.persons > 0">
|
47
|
+
<parallel_branch pass="data.persons" local="p">
|
48
|
+
<call id="a2" endpoint="bookHotel">
|
49
|
+
<parameters>
|
50
|
+
<method>:post</method>
|
51
|
+
<arguments>
|
52
|
+
<to>"Vienna"</to>
|
53
|
+
</arguments>
|
54
|
+
</parameters>
|
55
|
+
<finalize output="result">data.hotels << result.value('id')
|
56
|
+
data.costs += result.value('costs').to_f</finalize>
|
57
|
+
</call>
|
58
|
+
</parallel_branch>
|
59
|
+
<manipulate id="a3">data.persons -= 1</manipulate>
|
60
|
+
</loop>
|
61
|
+
</parallel>
|
62
|
+
</description>
|
63
|
+
<transformation>
|
64
|
+
<description type="copy"/>
|
65
|
+
<dataelements type="rest"/>
|
66
|
+
<endpoints type="rest"/>
|
67
|
+
</transformation>
|
68
|
+
</properties>
|
@@ -0,0 +1,118 @@
|
|
1
|
+
<properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
|
2
|
+
<attributes>
|
3
|
+
<uuid>b27da837-73a2-418d-aad1-bc834317256e</uuid>
|
4
|
+
<info>BulkBuyer</info>
|
5
|
+
<modeltype>CPEE</modeltype>
|
6
|
+
<theme>default</theme>
|
7
|
+
</attributes>
|
8
|
+
<state>stopped</state>
|
9
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
10
|
+
<positions/>
|
11
|
+
<dataelements>
|
12
|
+
<instance>1</instance>
|
13
|
+
</dataelements>
|
14
|
+
<endpoints>
|
15
|
+
<corr>http://cpee.org/~demo/corr/corr.php</corr>
|
16
|
+
<mesg>http://cpee.org/~demo/corr/mesg.php</mesg>
|
17
|
+
</endpoints>
|
18
|
+
<dsl>call :a4, :mesg, parameters: { :label => "\"order\"", :method => :post, :arguments => [⭐(:name => :url, :value => "http://cpee.org/~demo/generated_data/instance_" + data.instance + "/m1.xml")] }
|
19
|
+
call :a2, :corr, parameters: { :label => "\"status report production start\"", :method => :post, :arguments => [⭐(:name => :correlate, :value => "/order/id"), ⭐(:name => :value, :value => "m13_" + data.instance )] }
|
20
|
+
call :a3, :corr, parameters: { :label => "\"status report end production\"", :method => :post, :arguments => [⭐(:name => :correlate, :value => "/order/id"), ⭐(:name => :value, :value => "m14_" + data.instance )] }
|
21
|
+
call :a5, :corr, parameters: { :label => "\"delivery of product\"", :method => :post, :arguments => [⭐(:name => :correlate, :value => "/order/id"), ⭐(:name => :value, :value => "m15_" + data.instance )] }
|
22
|
+
</dsl>
|
23
|
+
<dslx>
|
24
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
25
|
+
<call id="a4" endpoint="mesg">
|
26
|
+
<parameters>
|
27
|
+
<label>"order"</label>
|
28
|
+
<method>:post</method>
|
29
|
+
<arguments>
|
30
|
+
<url>"http://cpee.org/~demo/generated_data/instance_" + data.instance + "/m1.xml"</url>
|
31
|
+
</arguments>
|
32
|
+
</parameters>
|
33
|
+
</call>
|
34
|
+
<call id="a2" endpoint="corr">
|
35
|
+
<parameters>
|
36
|
+
<label>"status report production start"</label>
|
37
|
+
<method>:post</method>
|
38
|
+
<arguments>
|
39
|
+
<correlate>"/order/id"</correlate>
|
40
|
+
<value>"m13_" + data.instance </value>
|
41
|
+
</arguments>
|
42
|
+
</parameters>
|
43
|
+
</call>
|
44
|
+
<call id="a3" endpoint="corr">
|
45
|
+
<parameters>
|
46
|
+
<label>"status report end production"</label>
|
47
|
+
<method>:post</method>
|
48
|
+
<arguments>
|
49
|
+
<correlate>"/order/id"</correlate>
|
50
|
+
<value>"m14_" + data.instance </value>
|
51
|
+
</arguments>
|
52
|
+
</parameters>
|
53
|
+
</call>
|
54
|
+
<call id="a5" endpoint="corr">
|
55
|
+
<parameters>
|
56
|
+
<label>"delivery of product"</label>
|
57
|
+
<method>:post</method>
|
58
|
+
<arguments>
|
59
|
+
<correlate>"/order/id"</correlate>
|
60
|
+
<value>"m15_" + data.instance </value>
|
61
|
+
</arguments>
|
62
|
+
</parameters>
|
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
|
+
<call id="a4" endpoint="mesg">
|
73
|
+
<parameters>
|
74
|
+
<label>"order"</label>
|
75
|
+
<method>:post</method>
|
76
|
+
<arguments>
|
77
|
+
<url>"http://cpee.org/~demo/generated_data/instance_" + data.instance + "/m1.xml"</url>
|
78
|
+
</arguments>
|
79
|
+
</parameters>
|
80
|
+
</call>
|
81
|
+
<call id="a2" endpoint="corr">
|
82
|
+
<parameters>
|
83
|
+
<label>"status report production start"</label>
|
84
|
+
<method>:post</method>
|
85
|
+
<arguments>
|
86
|
+
<correlate>"/order/id"</correlate>
|
87
|
+
<value>"m13_" + data.instance </value>
|
88
|
+
</arguments>
|
89
|
+
</parameters>
|
90
|
+
</call>
|
91
|
+
<call id="a3" endpoint="corr">
|
92
|
+
<parameters>
|
93
|
+
<label>"status report end production"</label>
|
94
|
+
<method>:post</method>
|
95
|
+
<arguments>
|
96
|
+
<correlate>"/order/id"</correlate>
|
97
|
+
<value>"m14_" + data.instance </value>
|
98
|
+
</arguments>
|
99
|
+
</parameters>
|
100
|
+
</call>
|
101
|
+
<call id="a5" endpoint="corr">
|
102
|
+
<parameters>
|
103
|
+
<label>"delivery of product"</label>
|
104
|
+
<method>:post</method>
|
105
|
+
<arguments>
|
106
|
+
<correlate>"/order/id"</correlate>
|
107
|
+
<value>"m15_" + data.instance </value>
|
108
|
+
</arguments>
|
109
|
+
</parameters>
|
110
|
+
</call>
|
111
|
+
</description>
|
112
|
+
</description>
|
113
|
+
<transformation>
|
114
|
+
<description type="copy"/>
|
115
|
+
<dataelements type="none"/>
|
116
|
+
<endpoints type="none"/>
|
117
|
+
</transformation>
|
118
|
+
</properties>
|