cpee 1.3.196 → 1.3.197
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/cockpit/js/instance.js +1 -1
- data/cockpit/testsets/Assline.xml +7 -7
- data/cockpit/testsets/Promise.xml +2 -6
- data/cpee.gemspec +1 -1
- data/lib/cpee/processtransformation/cpee.rb +5 -5
- data/log/server.rb +13 -5
- data/server/instances/57/properties.xml +561 -0
- data/server/instances/58/notifications/8e4a106e59b377b20c9751dd35e459be/consumer-secret +1 -0
- data/server/instances/58/notifications/8e4a106e59b377b20c9751dd35e459be/producer-secret +1 -0
- data/server/instances/{56/notifications/1c2761762b2fde29dbc21c6740a869a5 → 58/notifications/8e4a106e59b377b20c9751dd35e459be}/subscription.xml +0 -0
- data/server/instances/58/properties.xml +550 -0
- data/server/server.pid +1 -0
- metadata +7 -5
- data/server/instances/56/notifications/1c2761762b2fde29dbc21c6740a869a5/consumer-secret +0 -1
- data/server/instances/56/notifications/1c2761762b2fde29dbc21c6740a869a5/producer-secret +0 -1
- data/server/weel.rb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a7db5db9880226cac36d87fcbaac5d6aa79aece
|
4
|
+
data.tar.gz: 900fc76be60a67ac9575d837b17531a76da7e881
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 39b912e7f85a8a880cea4ea3d3c00187996e4a561acff9ae48ae457b73de5b0e1bdbdfc33416bf0514c272cacebc1fa48d46b5401427b88cf1d8d283992c3b13
|
7
|
+
data.tar.gz: dadc1b059cb3ee1d5b36df473b6538c72dff78a29b55cc3e5b553939dc57d0822a8a9f74160f27510db3553f8ac91c694fa01b6c497390ec90628131a0d07844
|
data/cockpit/js/instance.js
CHANGED
@@ -793,7 +793,7 @@ function load_testset_attributes(url,testset) {// {{{
|
|
793
793
|
type: "GET",
|
794
794
|
url: url + "/properties/values/attributes/uuid",
|
795
795
|
success: function(res){
|
796
|
-
var uuid = $X('<uuid/>');
|
796
|
+
var uuid = $X('<uuid xmlns="http://riddl.org/ns/common-patterns/properties/1.0"/>');
|
797
797
|
uuid.text($('value',res).text());
|
798
798
|
$("testset > attributes",testset).prepend(uuid);
|
799
799
|
$("testset > attributes > *",testset).each(function(){
|
@@ -16,44 +16,44 @@
|
|
16
16
|
<parameters>
|
17
17
|
<label>"Kalibrieren"</label>
|
18
18
|
<method>:post</method>
|
19
|
-
<
|
19
|
+
<arguments/>
|
20
20
|
</parameters>
|
21
21
|
</call>
|
22
22
|
<call id="a1" endpoint="centering" >
|
23
23
|
<parameters>
|
24
24
|
<label>"Zentrieren"</label>
|
25
25
|
<method>:post</method>
|
26
|
-
<
|
26
|
+
<arguments/>
|
27
27
|
</parameters>
|
28
28
|
</call>
|
29
29
|
<call id="a3" endpoint="start" >
|
30
30
|
<parameters>
|
31
31
|
<label>"Starten"</label>
|
32
32
|
<method>:post</method>
|
33
|
-
<
|
33
|
+
<arguments/>
|
34
34
|
</parameters>
|
35
35
|
</call>
|
36
36
|
<call id="a4" endpoint="timeout" >
|
37
37
|
<parameters>
|
38
38
|
<label>"Timeout"</label>
|
39
39
|
<method>:post</method>
|
40
|
-
<
|
40
|
+
<arguments>
|
41
41
|
<timeout>6</timeout>
|
42
|
-
</
|
42
|
+
</arguments>
|
43
43
|
</parameters>
|
44
44
|
</call>
|
45
45
|
<call id="a5" endpoint="stop">
|
46
46
|
<parameters>
|
47
47
|
<label>"Stop"</label>
|
48
48
|
<method>:post</method>
|
49
|
-
<
|
49
|
+
<arguments/>
|
50
50
|
</parameters>
|
51
51
|
</call>
|
52
52
|
<call id="a6" endpoint="calibrate">
|
53
53
|
<parameters>
|
54
54
|
<label>"Kalibrieren"</label>
|
55
55
|
<method>:post</method>
|
56
|
-
<
|
56
|
+
<arguments/>
|
57
57
|
</parameters>
|
58
58
|
</call>
|
59
59
|
</description>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
2
|
<testset>
|
3
3
|
<dataelements/>
|
4
|
-
<handlerwrapper>
|
4
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
5
5
|
<endpoints>
|
6
6
|
<timeout xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http://promise.wst.univie.ac.at:9301/timeout</timeout>
|
7
7
|
<timeout1 xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http://promise.wst.univie.ac.at:9301/timeout/1</timeout1>
|
@@ -23,9 +23,6 @@
|
|
23
23
|
<credit_consume xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http://promise.wst.univie.ac.at:9301/credit/consume</credit_consume>
|
24
24
|
<credit_activate xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http://promise.wst.univie.ac.at:9301/credit/activate</credit_activate>
|
25
25
|
</endpoints>
|
26
|
-
<attributes>
|
27
|
-
<theme>promise</theme>
|
28
|
-
</attributes>
|
29
26
|
<positions/>
|
30
27
|
<description>
|
31
28
|
<description xmlns="http://cpee.org/ns/description/1.0">
|
@@ -50,7 +47,6 @@
|
|
50
47
|
</call>
|
51
48
|
<parallel wait="1" svg-label="">
|
52
49
|
<parallel_branch svg-label="">
|
53
|
-
<manipulate id="a16" svg-label="">sleep 2</manipulate>
|
54
50
|
<call id="a14" endpoint="timeout1" svg-label="2-woechige Frist">
|
55
51
|
<parameters>
|
56
52
|
<label>"2-woechige Frist"</label>
|
@@ -73,7 +69,6 @@
|
|
73
69
|
</call>
|
74
70
|
<parallel wait="1" svg-label="">
|
75
71
|
<parallel_branch svg-label="">
|
76
|
-
<manipulate id="a21" svg-label="">sleep 2</manipulate>
|
77
72
|
<call id="a7" endpoint="timeout2" svg-label="2-woechige Frist">
|
78
73
|
<parameters>
|
79
74
|
<label>"2-woechige Frist"</label>
|
@@ -252,6 +247,7 @@
|
|
252
247
|
<endpoints type="none"/>
|
253
248
|
</transformation>
|
254
249
|
<attributes>
|
250
|
+
<theme xmlns="http://riddl.org/ns/common-patterns/properties/1.0">default</theme>
|
255
251
|
<info xmlns="http://riddl.org/ns/common-patterns/properties/1.0">ss</info>
|
256
252
|
<modeltype xmlns="http://riddl.org/ns/common-patterns/properties/1.0">CPEE</modeltype>
|
257
253
|
</attributes>
|
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.197"
|
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"
|
@@ -24,7 +24,7 @@ module CPEE
|
|
24
24
|
|
25
25
|
module ProcessTransformation
|
26
26
|
|
27
|
-
module Target
|
27
|
+
module Target
|
28
28
|
|
29
29
|
class CPEE < Default
|
30
30
|
def generate
|
@@ -39,14 +39,14 @@ module CPEE
|
|
39
39
|
|
40
40
|
def print_Loop(node,res)
|
41
41
|
if node.sub.length == 2 && node.sub[1].condition.empty? && ((node.sub[1].length == 1 && node.sub[1][0].class.name.gsub(/\w+:+/,'') == 'Break') || node.sub[1].length == 0)
|
42
|
-
s1 = res.add('loop', 'pre_test' => node.sub[0].condition.empty? ? 'true' : node.sub[0].condition.join(' && '))
|
42
|
+
s1 = res.add('loop', 'mode' => 'pre_test', 'condition' => node.sub[0].condition.empty? ? 'true' : node.sub[0].condition.join(' && '))
|
43
43
|
s1.attributes['language'] = node.sub[0].condition_type unless node.sub[0].condition_type.nil?
|
44
44
|
node.sub[0].attributes.each do |k,v|
|
45
45
|
s1.attributes[k] = v
|
46
46
|
end
|
47
47
|
generate_for_list(node.sub[0],s1)
|
48
|
-
else
|
49
|
-
s1 = res.add('loop', 'pre_test' => 'true')
|
48
|
+
else
|
49
|
+
s1 = res.add('loop', 'mode' => 'pre_test', 'condition' => 'true')
|
50
50
|
print_Conditional(node,s1)
|
51
51
|
end
|
52
52
|
s1
|
@@ -64,7 +64,7 @@ module CPEE
|
|
64
64
|
p.add('d:method',node.methods.join(',') || 'post')
|
65
65
|
p.add('d:type',":#{node.type}")
|
66
66
|
p.add('d:mid',"'#{node.id}'")
|
67
|
-
par = p.add('d:
|
67
|
+
par = p.add('d:arguments')
|
68
68
|
node.parameters.each do |k,v|
|
69
69
|
par.add(k,v)
|
70
70
|
end
|
data/log/server.rb
CHANGED
@@ -9,7 +9,7 @@ require 'riddl/utils/properties'
|
|
9
9
|
require 'riddl/utils/fileserve'
|
10
10
|
require 'riddl/utils/downloadify'
|
11
11
|
require 'riddl/utils/turtle'
|
12
|
-
|
12
|
+
require 'time'
|
13
13
|
|
14
14
|
class Logging < Riddl::Implementation #{{{
|
15
15
|
LOGTEMPLATE = <<-END
|
@@ -17,6 +17,7 @@ class Logging < Riddl::Implementation #{{{
|
|
17
17
|
<extension name="Time" prefix="time" uri="http://www.xes-standard.org/time.xesext"/>
|
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
|
+
<extension name="Lifecycle" prefix="lifecycle" uri="http://www.xes-standard.org/lifecycle.xesext"/>
|
20
21
|
<trace/>
|
21
22
|
</log>
|
22
23
|
END
|
@@ -28,6 +29,7 @@ class Logging < Riddl::Implementation #{{{
|
|
28
29
|
instancenr = @h['CPEE_INSTANCE'].split('/').last
|
29
30
|
notification = JSON.parse(@p[3].value)
|
30
31
|
uuid = notification['instance_uuid']
|
32
|
+
activity = notification["activity"]
|
31
33
|
parameters = notification['parameters']
|
32
34
|
Dir.mkdir(log_dir+'/'+uuid) unless Dir.exist?(log_dir+'/'+uuid)
|
33
35
|
time_added=false
|
@@ -36,9 +38,13 @@ class Logging < Riddl::Implementation #{{{
|
|
36
38
|
trace = xml.find("/xmlns:log/xmlns:trace").first
|
37
39
|
trace.add 'string', :key => "concept:name", :value => "Instance #{instancenr}" if trace.find('xmlns:string').empty?
|
38
40
|
event = trace.add "event"
|
39
|
-
|
41
|
+
if parameters && parameters.has_key?('label')
|
42
|
+
event.add 'string', :key => "concept:name", :value => parameters["label"]
|
43
|
+
else
|
44
|
+
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)")
|
45
|
+
end
|
40
46
|
event.add 'string', :key => "concept:instance", :value => notification["endpoint"] if notification["endpoint"]
|
41
|
-
event.add 'string', :key => "id:id", :value =>
|
47
|
+
event.add 'string', :key => "id:id", :value => activity
|
42
48
|
event.add 'string', :key => "lifecycle:transition", :value => event_name=='done'?"complete":"start"
|
43
49
|
data_send = ((parameters[:arguments].nil? ? [] : parameters[:arguments]) rescue [])
|
44
50
|
if data_send.any?
|
@@ -47,7 +53,7 @@ class Logging < Riddl::Implementation #{{{
|
|
47
53
|
list.add 'string', :key => k , :value => v
|
48
54
|
end
|
49
55
|
end
|
50
|
-
event.add 'date', :key => "time:timestamp", :value => Time.now unless time_added
|
56
|
+
event.add 'date', :key => "time:timestamp", :value => Time.now.iso8601 unless time_added
|
51
57
|
rescue => e
|
52
58
|
puts e.message
|
53
59
|
puts e.backtrace
|
@@ -58,6 +64,7 @@ class Logging < Riddl::Implementation #{{{
|
|
58
64
|
instancenr = @h['CPEE_INSTANCE'].split('/').last
|
59
65
|
notification = JSON.parse(@p[3].value)
|
60
66
|
uuid = notification['instance_uuid']
|
67
|
+
activity = notification["activity"]
|
61
68
|
receiving = notification['received']
|
62
69
|
Dir.mkdir(log_dir+'/'+uuid) unless Dir.exist?(log_dir+'/'+uuid)
|
63
70
|
time_added=false
|
@@ -66,6 +73,7 @@ class Logging < Riddl::Implementation #{{{
|
|
66
73
|
trace = xml.find("/xmlns:log/xmlns:trace").first
|
67
74
|
trace.add 'string', :key => "concept:name", :value => "Instance #{instancenr}" if trace.find('xmlns:string').empty?
|
68
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)")
|
69
77
|
event.add 'string', :key => "concept:instance", :value => notification["endpoint"] if notification["endpoint"]
|
70
78
|
event.add 'string', :key => "id:id", :value => notification["activity"]
|
71
79
|
event.add 'string', :key => "lifecycle:transition", :value => "unknown"
|
@@ -75,7 +83,7 @@ class Logging < Riddl::Implementation #{{{
|
|
75
83
|
list.add 'string', :key => k, :value => v
|
76
84
|
end
|
77
85
|
end
|
78
|
-
event.add 'date', :key => "time:timestamp", :value => Time.now unless time_added
|
86
|
+
event.add 'date', :key => "time:timestamp", :value => Time.now.iso8601 unless time_added
|
79
87
|
rescue => e
|
80
88
|
puts e.message
|
81
89
|
puts e.backtrace
|
@@ -0,0 +1,561 @@
|
|
1
|
+
<properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
|
2
|
+
<attributes>
|
3
|
+
<uuid>d8b178e9-1e48-4855-b678-c78f9c84f55b</uuid>
|
4
|
+
<theme>promise</theme>
|
5
|
+
<uuid>d8b178e9-1e48-4855-b678-c78f9c84f55b</uuid>
|
6
|
+
<info>ss</info>
|
7
|
+
<modeltype>CPEE</modeltype>
|
8
|
+
</attributes>
|
9
|
+
<state>ready</state>
|
10
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
11
|
+
<positions/>
|
12
|
+
<dataelements/>
|
13
|
+
<endpoints>
|
14
|
+
<timeout>http://promise.wst.univie.ac.at:9301/timeout</timeout>
|
15
|
+
<timeout1>http://promise.wst.univie.ac.at:9301/timeout/1</timeout1>
|
16
|
+
<timeout2>http://promise.wst.univie.ac.at:9301/timeout/16</timeout2>
|
17
|
+
<timeout3>http://promise.wst.univie.ac.at:9301/timeout/41</timeout3>
|
18
|
+
<preminder1>http://promise.wst.univie.ac.at:9301/preminder/1</preminder1>
|
19
|
+
<preminder2>http://promise.wst.univie.ac.at:9301/preminder/2</preminder2>
|
20
|
+
<sreminder1>http://promise.wst.univie.ac.at:9301/sreminder/1</sreminder1>
|
21
|
+
<sreminder2>http://promise.wst.univie.ac.at:9301/sreminder/2</sreminder2>
|
22
|
+
<inkasso>http://promise.wst.univie.ac.at:9301/inkasso</inkasso>
|
23
|
+
<customer>http://promise.wst.univie.ac.at:9301/customer</customer>
|
24
|
+
<credit>http://promise.wst.univie.ac.at:9301/credit</credit>
|
25
|
+
<credit_worthy>http://promise.wst.univie.ac.at:9301/credit/worthy</credit_worthy>
|
26
|
+
<activation>http://promise.wst.univie.ac.at:9301/activation</activation>
|
27
|
+
<zaehler>http://promise.wst.univie.ac.at:9301/zaehler</zaehler>
|
28
|
+
<update>http://promise.wst.univie.ac.at:9301/update</update>
|
29
|
+
<consume>http://promise.wst.univie.ac.at:9301/consume</consume>
|
30
|
+
<decide>http://promise.wst.univie.ac.at:9301/decide</decide>
|
31
|
+
<credit_consume>http://promise.wst.univie.ac.at:9301/credit/consume</credit_consume>
|
32
|
+
<credit_activate>http://promise.wst.univie.ac.at:9301/credit/activate</credit_activate>
|
33
|
+
</endpoints>
|
34
|
+
<dsl>call :a20, :customer, parameters: { :label => "\"Generate Customer\"", :method => :post, :arguments => nil }, finalize: <<-END
|
35
|
+
data.knr=result[0].value;data.status="normal";data.zaehlerid=result[1].value
|
36
|
+
END
|
37
|
+
call :a10, :sreminder1, parameters: { :label => "\"Sendung erste Mahnung\"", :method => :post, :arguments => {:knr => data.knr}, :type => :task, :mid => 'sid-5CD9191C-7233-414F-8EF4-A4E1A8D39E07' }
|
38
|
+
parallel :wait => 1 do
|
39
|
+
parallel_branch do
|
40
|
+
manipulate :a16, <<-END
|
41
|
+
sleep 2
|
42
|
+
END
|
43
|
+
call :a14, :timeout1, parameters: { :label => "\"2-woechige Frist\"", :method => :post, :arguments => {:timeout => 2} }
|
44
|
+
call :a11, :sreminder2, parameters: { :label => "\"Senden zweite Mahnung\"", :method => :post, :arguments => {:knr => data.knr}, :type => :task, :mid => 'sid-8417E18E-016C-4F87-86FC-216475C1C029' }
|
45
|
+
parallel :wait => 1 do
|
46
|
+
parallel_branch do
|
47
|
+
manipulate :a21, <<-END
|
48
|
+
sleep 2
|
49
|
+
END
|
50
|
+
call :a7, :timeout2, parameters: { :label => "\"2-woechige Frist\"", :method => :post, :arguments => {:timeout => 2} }
|
51
|
+
call :a1, :inkasso, parameters: { :label => "\"Registrierung als Inkassokunde\"", :method => :put, :arguments => {:status => data.status} }, finalize: <<-END
|
52
|
+
data.status=result[0].value;data.zaehler_status='normal'
|
53
|
+
END
|
54
|
+
parallel :wait => -1 do
|
55
|
+
parallel_branch do
|
56
|
+
call :a4, :activation, parameters: { :label => "\"Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)\"", :method => :post, :type => :task, :mid => 'sid-032C8450-4DF9-435B-8105-F0C13734A7A8', :arguments => {:knr => data.knr} }
|
57
|
+
end
|
58
|
+
parallel_branch do
|
59
|
+
call :a2, :inkasso, parameters: { :label => "\"Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb\"", :method => :put, :arguments => {:zaehlerid => data.zaehlerid, :status => data.zaehler_status} }, finalize: <<-END
|
60
|
+
data.zaehler_status=result[0].value
|
61
|
+
END
|
62
|
+
end
|
63
|
+
end
|
64
|
+
call :a6, :update, parameters: { :label => "\"Aktualisierung Guthaben\"", :method => :post, :arguments => nil }, finalize: <<-END
|
65
|
+
data.wartefrist="ok";data.guthaben=result[0].value.to_i
|
66
|
+
END
|
67
|
+
call :a3, :timeout3, parameters: { :label => "\"Aufladen\"", :method => :post, :arguments => nil }, finalize: <<-END
|
68
|
+
p data.guthaben
|
69
|
+
END
|
70
|
+
loop pre_test{data.wartefrist!='verstrichen'} do
|
71
|
+
loop pre_test{data.guthaben>0} do
|
72
|
+
call :a5, :consume, parameters: { :label => "\"Verbrauchen\"", :method => :post, :arguments => {:knr => data.knr} }, finalize: <<-END
|
73
|
+
data.guthaben=data.guthaben-result[0].value.to_i
|
74
|
+
END
|
75
|
+
end
|
76
|
+
call :a13, :decide, parameters: { :label => "\"Gesetzl. Frist\"", :method => :post, :arguments => {:knr => data.knr} }, finalize: <<-END
|
77
|
+
data.wartefrist="verstrichen" if result[0].name == 'wartefrist';data.guthaben=result[0].value.to_i if result[0].name == "balance"
|
78
|
+
END
|
79
|
+
end
|
80
|
+
call :a17, :timeout, parameters: { :label => "\"Abschaltung\"", :method => :post, :arguments => {:knr => data.knr} }, finalize: <<-END
|
81
|
+
data.zaehler_status='off'
|
82
|
+
END
|
83
|
+
call :a8, :credit_worthy, parameters: { :label => "\"Kreditwuerdig\"", :method => :post, :arguments => {:knr => data.knr} }, finalize: <<-END
|
84
|
+
data.kreditf=result[0].value;data.kredit_wanted="true"
|
85
|
+
END
|
86
|
+
choose :exclusive do
|
87
|
+
alternative "data.kreditf=='true'" do
|
88
|
+
call :a12, :timeout, parameters: { :label => "\"activate parametrizable credit function and credit offer\"", :method => :post, :arguments => {:knr => data.knr} }
|
89
|
+
choose :exclusive do
|
90
|
+
alternative "data.kredit_wanted=='true'" do
|
91
|
+
call :a18, :credit_activate, parameters: { :label => "\"activate meter\"", :method => :post, :arguments => {:knr => knr=data.knr} }, finalize: <<-END
|
92
|
+
data.kredit=result[0].value.to_i
|
93
|
+
END
|
94
|
+
loop pre_test{data.kredit>0} do
|
95
|
+
call :a19, :credit_consume, parameters: { :label => "\"Consume credit\"", :method => :post, :arguments => {:knr => knr=data.knr} }, finalize: <<-END
|
96
|
+
data.kredit=data.kredit-result[0].value.to_i
|
97
|
+
END
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
parallel_branch do
|
105
|
+
call :a9, :preminder2, parameters: { :label => "\"Kunde zahlt\"", :method => :post, :arguments => nil }
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
parallel_branch do
|
110
|
+
call :a15, :preminder1, parameters: { :label => "\"Kunde zahlt\"", :method => :post, :arguments => nil }
|
111
|
+
end
|
112
|
+
end
|
113
|
+
</dsl>
|
114
|
+
<dslx>
|
115
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
116
|
+
<call id="a20" endpoint="customer" svg-label="Generate Customer">
|
117
|
+
<parameters>
|
118
|
+
<label>"Generate Customer"</label>
|
119
|
+
<method>:post</method>
|
120
|
+
<arguments/>
|
121
|
+
</parameters>
|
122
|
+
<finalize>data.knr=result[0].value;data.status="normal";data.zaehlerid=result[1].value</finalize>
|
123
|
+
</call>
|
124
|
+
<call id="a10" endpoint="sreminder1" svg-label="Sendung erste Mahnung">
|
125
|
+
<parameters>
|
126
|
+
<label>"Sendung erste Mahnung"</label>
|
127
|
+
<method>:post</method>
|
128
|
+
<arguments>
|
129
|
+
<knr>data.knr</knr>
|
130
|
+
</arguments>
|
131
|
+
<type>:task</type>
|
132
|
+
<mid>'sid-5CD9191C-7233-414F-8EF4-A4E1A8D39E07'</mid>
|
133
|
+
</parameters>
|
134
|
+
</call>
|
135
|
+
<parallel wait="1" svg-label="">
|
136
|
+
<parallel_branch svg-label="">
|
137
|
+
<manipulate id="a16" svg-label="">sleep 2</manipulate>
|
138
|
+
<call id="a14" endpoint="timeout1" svg-label="2-woechige Frist">
|
139
|
+
<parameters>
|
140
|
+
<label>"2-woechige Frist"</label>
|
141
|
+
<method>:post</method>
|
142
|
+
<arguments>
|
143
|
+
<timeout>2</timeout>
|
144
|
+
</arguments>
|
145
|
+
</parameters>
|
146
|
+
</call>
|
147
|
+
<call id="a11" endpoint="sreminder2" svg-label="Senden zweite Mahnung">
|
148
|
+
<parameters>
|
149
|
+
<label>"Senden zweite Mahnung"</label>
|
150
|
+
<method>:post</method>
|
151
|
+
<arguments>
|
152
|
+
<knr>data.knr</knr>
|
153
|
+
</arguments>
|
154
|
+
<type>:task</type>
|
155
|
+
<mid>'sid-8417E18E-016C-4F87-86FC-216475C1C029'</mid>
|
156
|
+
</parameters>
|
157
|
+
</call>
|
158
|
+
<parallel wait="1" svg-label="">
|
159
|
+
<parallel_branch svg-label="">
|
160
|
+
<manipulate id="a21" svg-label="">sleep 2</manipulate>
|
161
|
+
<call id="a7" endpoint="timeout2" svg-label="2-woechige Frist">
|
162
|
+
<parameters>
|
163
|
+
<label>"2-woechige Frist"</label>
|
164
|
+
<method>:post</method>
|
165
|
+
<arguments>
|
166
|
+
<timeout>2</timeout>
|
167
|
+
</arguments>
|
168
|
+
</parameters>
|
169
|
+
</call>
|
170
|
+
<call id="a1" endpoint="inkasso" svg-label="Registrierung als Inkassokunde">
|
171
|
+
<parameters>
|
172
|
+
<label>"Registrierung als Inkassokunde"</label>
|
173
|
+
<method>:put</method>
|
174
|
+
<arguments>
|
175
|
+
<status>data.status</status>
|
176
|
+
</arguments>
|
177
|
+
</parameters>
|
178
|
+
<finalize>data.status=result[0].value;data.zaehler_status='normal'</finalize>
|
179
|
+
</call>
|
180
|
+
<parallel wait="-1" svg-label="">
|
181
|
+
<parallel_branch svg-label="">
|
182
|
+
<call id="a4" endpoint="activation" svg-label="Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)">
|
183
|
+
<parameters>
|
184
|
+
<label>"Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)"</label>
|
185
|
+
<method>:post</method>
|
186
|
+
<type>:task</type>
|
187
|
+
<mid>'sid-032C8450-4DF9-435B-8105-F0C13734A7A8'</mid>
|
188
|
+
<arguments>
|
189
|
+
<knr>data.knr</knr>
|
190
|
+
</arguments>
|
191
|
+
</parameters>
|
192
|
+
</call>
|
193
|
+
</parallel_branch>
|
194
|
+
<parallel_branch svg-label="">
|
195
|
+
<call id="a2" endpoint="inkasso" svg-label="Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb">
|
196
|
+
<parameters>
|
197
|
+
<label>"Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb"</label>
|
198
|
+
<method>:put</method>
|
199
|
+
<arguments>
|
200
|
+
<zaehlerid>data.zaehlerid</zaehlerid>
|
201
|
+
<status>data.zaehler_status</status>
|
202
|
+
</arguments>
|
203
|
+
</parameters>
|
204
|
+
<finalize>data.zaehler_status=result[0].value</finalize>
|
205
|
+
</call>
|
206
|
+
</parallel_branch>
|
207
|
+
</parallel>
|
208
|
+
<call id="a6" endpoint="update" svg-label="Aktualisierung Guthaben">
|
209
|
+
<parameters>
|
210
|
+
<label>"Aktualisierung Guthaben"</label>
|
211
|
+
<method>:post</method>
|
212
|
+
<arguments/>
|
213
|
+
</parameters>
|
214
|
+
<finalize>data.wartefrist="ok";data.guthaben=result[0].value.to_i</finalize>
|
215
|
+
</call>
|
216
|
+
<call id="a3" endpoint="timeout3" svg-label="Aufladen">
|
217
|
+
<parameters>
|
218
|
+
<label>"Aufladen"</label>
|
219
|
+
<method>:post</method>
|
220
|
+
<arguments/>
|
221
|
+
</parameters>
|
222
|
+
<finalize>p data.guthaben</finalize>
|
223
|
+
</call>
|
224
|
+
<loop mode="pre_test" condition="data.wartefrist!='verstrichen'" svg-label="">
|
225
|
+
<loop mode="pre_test" condition="data.guthaben>0" svg-label="">
|
226
|
+
<call id="a5" endpoint="consume" svg-label="Verbrauchen">
|
227
|
+
<parameters>
|
228
|
+
<label>"Verbrauchen"</label>
|
229
|
+
<method>:post</method>
|
230
|
+
<arguments>
|
231
|
+
<knr>data.knr</knr>
|
232
|
+
</arguments>
|
233
|
+
</parameters>
|
234
|
+
<finalize>data.guthaben=data.guthaben-result[0].value.to_i</finalize>
|
235
|
+
</call>
|
236
|
+
</loop>
|
237
|
+
<call id="a13" endpoint="decide" svg-label="Gesetzl. Frist">
|
238
|
+
<parameters>
|
239
|
+
<label>"Gesetzl. Frist"</label>
|
240
|
+
<method>:post</method>
|
241
|
+
<arguments>
|
242
|
+
<knr>data.knr</knr>
|
243
|
+
</arguments>
|
244
|
+
</parameters>
|
245
|
+
<finalize>data.wartefrist="verstrichen" if result[0].name == 'wartefrist';data.guthaben=result[0].value.to_i if result[0].name == "balance"</finalize>
|
246
|
+
</call>
|
247
|
+
</loop>
|
248
|
+
<call id="a17" endpoint="timeout" svg-label="Abschaltung">
|
249
|
+
<parameters>
|
250
|
+
<label>"Abschaltung"</label>
|
251
|
+
<method>:post</method>
|
252
|
+
<arguments>
|
253
|
+
<knr>data.knr</knr>
|
254
|
+
</arguments>
|
255
|
+
</parameters>
|
256
|
+
<finalize>data.zaehler_status='off'</finalize>
|
257
|
+
</call>
|
258
|
+
<call id="a8" endpoint="credit_worthy" svg-label="Kreditwuerdig">
|
259
|
+
<parameters>
|
260
|
+
<label>"Kreditwuerdig"</label>
|
261
|
+
<method>:post</method>
|
262
|
+
<arguments>
|
263
|
+
<knr>data.knr</knr>
|
264
|
+
</arguments>
|
265
|
+
</parameters>
|
266
|
+
<finalize>data.kreditf=result[0].value;data.kredit_wanted="true"</finalize>
|
267
|
+
</call>
|
268
|
+
<choose mode="exclusive" svg-label="">
|
269
|
+
<alternative condition="data.kreditf=='true'" svg-label="">
|
270
|
+
<call id="a12" endpoint="timeout" svg-label="activate parametrizable credit function and credit offer">
|
271
|
+
<parameters>
|
272
|
+
<label>"activate parametrizable credit function and credit offer"</label>
|
273
|
+
<method>:post</method>
|
274
|
+
<arguments>
|
275
|
+
<knr>data.knr</knr>
|
276
|
+
</arguments>
|
277
|
+
</parameters>
|
278
|
+
</call>
|
279
|
+
<choose mode="exclusive" svg-label="">
|
280
|
+
<alternative condition="data.kredit_wanted=='true'" svg-label="">
|
281
|
+
<call id="a18" endpoint="credit_activate" svg-label="activate meter">
|
282
|
+
<parameters>
|
283
|
+
<label>"activate meter"</label>
|
284
|
+
<method>:post</method>
|
285
|
+
<arguments>
|
286
|
+
<knr>knr=data.knr</knr>
|
287
|
+
</arguments>
|
288
|
+
</parameters>
|
289
|
+
<finalize>data.kredit=result[0].value.to_i</finalize>
|
290
|
+
</call>
|
291
|
+
<loop mode="pre_test" condition="data.kredit>0" svg-label="">
|
292
|
+
<call id="a19" endpoint="credit_consume" svg-label="Consume credit">
|
293
|
+
<parameters>
|
294
|
+
<label>"Consume credit"</label>
|
295
|
+
<method>:post</method>
|
296
|
+
<arguments>
|
297
|
+
<knr>knr=data.knr</knr>
|
298
|
+
</arguments>
|
299
|
+
</parameters>
|
300
|
+
<finalize>data.kredit=data.kredit-result[0].value.to_i</finalize>
|
301
|
+
</call>
|
302
|
+
</loop>
|
303
|
+
</alternative>
|
304
|
+
<otherwise svg-label=""/>
|
305
|
+
</choose>
|
306
|
+
</alternative>
|
307
|
+
<otherwise svg-label=""/>
|
308
|
+
</choose>
|
309
|
+
</parallel_branch>
|
310
|
+
<parallel_branch svg-label="">
|
311
|
+
<call id="a9" endpoint="preminder2" svg-label="Kunde zahlt">
|
312
|
+
<parameters>
|
313
|
+
<label>"Kunde zahlt"</label>
|
314
|
+
<method>:post</method>
|
315
|
+
<arguments/>
|
316
|
+
</parameters>
|
317
|
+
</call>
|
318
|
+
</parallel_branch>
|
319
|
+
</parallel>
|
320
|
+
</parallel_branch>
|
321
|
+
<parallel_branch svg-label="">
|
322
|
+
<call id="a15" endpoint="preminder1" svg-label="Kunde zahlt">
|
323
|
+
<parameters>
|
324
|
+
<label>"Kunde zahlt"</label>
|
325
|
+
<method>:post</method>
|
326
|
+
<arguments/>
|
327
|
+
</parameters>
|
328
|
+
</call>
|
329
|
+
</parallel_branch>
|
330
|
+
</parallel>
|
331
|
+
</description>
|
332
|
+
</dslx>
|
333
|
+
<status>
|
334
|
+
<id>0</id>
|
335
|
+
<message>undefined</message>
|
336
|
+
</status>
|
337
|
+
<description>
|
338
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
339
|
+
<call id="a20" endpoint="customer" svg-label="Generate Customer">
|
340
|
+
<parameters>
|
341
|
+
<label>"Generate Customer"</label>
|
342
|
+
<method>:post</method>
|
343
|
+
<arguments/>
|
344
|
+
</parameters>
|
345
|
+
<finalize>data.knr=result[0].value;data.status="normal";data.zaehlerid=result[1].value</finalize>
|
346
|
+
</call>
|
347
|
+
<call id="a10" endpoint="sreminder1" svg-label="Sendung erste Mahnung">
|
348
|
+
<parameters>
|
349
|
+
<label>"Sendung erste Mahnung"</label>
|
350
|
+
<method>:post</method>
|
351
|
+
<arguments>
|
352
|
+
<knr>data.knr</knr>
|
353
|
+
</arguments>
|
354
|
+
<type>:task</type>
|
355
|
+
<mid>'sid-5CD9191C-7233-414F-8EF4-A4E1A8D39E07'</mid>
|
356
|
+
</parameters>
|
357
|
+
</call>
|
358
|
+
<parallel wait="1" svg-label="">
|
359
|
+
<parallel_branch svg-label="">
|
360
|
+
<manipulate id="a16" svg-label="">sleep 2</manipulate>
|
361
|
+
<call id="a14" endpoint="timeout1" svg-label="2-woechige Frist">
|
362
|
+
<parameters>
|
363
|
+
<label>"2-woechige Frist"</label>
|
364
|
+
<method>:post</method>
|
365
|
+
<arguments>
|
366
|
+
<timeout>2</timeout>
|
367
|
+
</arguments>
|
368
|
+
</parameters>
|
369
|
+
</call>
|
370
|
+
<call id="a11" endpoint="sreminder2" svg-label="Senden zweite Mahnung">
|
371
|
+
<parameters>
|
372
|
+
<label>"Senden zweite Mahnung"</label>
|
373
|
+
<method>:post</method>
|
374
|
+
<arguments>
|
375
|
+
<knr>data.knr</knr>
|
376
|
+
</arguments>
|
377
|
+
<type>:task</type>
|
378
|
+
<mid>'sid-8417E18E-016C-4F87-86FC-216475C1C029'</mid>
|
379
|
+
</parameters>
|
380
|
+
</call>
|
381
|
+
<parallel wait="1" svg-label="">
|
382
|
+
<parallel_branch svg-label="">
|
383
|
+
<manipulate id="a21" svg-label="">sleep 2</manipulate>
|
384
|
+
<call id="a7" endpoint="timeout2" svg-label="2-woechige Frist">
|
385
|
+
<parameters>
|
386
|
+
<label>"2-woechige Frist"</label>
|
387
|
+
<method>:post</method>
|
388
|
+
<arguments>
|
389
|
+
<timeout>2</timeout>
|
390
|
+
</arguments>
|
391
|
+
</parameters>
|
392
|
+
</call>
|
393
|
+
<call id="a1" endpoint="inkasso" svg-label="Registrierung als Inkassokunde">
|
394
|
+
<parameters>
|
395
|
+
<label>"Registrierung als Inkassokunde"</label>
|
396
|
+
<method>:put</method>
|
397
|
+
<arguments>
|
398
|
+
<status>data.status</status>
|
399
|
+
</arguments>
|
400
|
+
</parameters>
|
401
|
+
<finalize>data.status=result[0].value;data.zaehler_status='normal'</finalize>
|
402
|
+
</call>
|
403
|
+
<parallel wait="-1" svg-label="">
|
404
|
+
<parallel_branch svg-label="">
|
405
|
+
<call id="a4" endpoint="activation" svg-label="Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)">
|
406
|
+
<parameters>
|
407
|
+
<label>"Aktivierung Register fuer Guthaben und Anzeige am Display (Prepayment)"</label>
|
408
|
+
<method>:post</method>
|
409
|
+
<type>:task</type>
|
410
|
+
<mid>'sid-032C8450-4DF9-435B-8105-F0C13734A7A8'</mid>
|
411
|
+
<arguments>
|
412
|
+
<knr>data.knr</knr>
|
413
|
+
</arguments>
|
414
|
+
</parameters>
|
415
|
+
</call>
|
416
|
+
</parallel_branch>
|
417
|
+
<parallel_branch svg-label="">
|
418
|
+
<call id="a2" endpoint="inkasso" svg-label="Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb">
|
419
|
+
<parameters>
|
420
|
+
<label>"Umparametrierung des Zaehlers von Normal- auf Inkassobetrieb"</label>
|
421
|
+
<method>:put</method>
|
422
|
+
<arguments>
|
423
|
+
<zaehlerid>data.zaehlerid</zaehlerid>
|
424
|
+
<status>data.zaehler_status</status>
|
425
|
+
</arguments>
|
426
|
+
</parameters>
|
427
|
+
<finalize>data.zaehler_status=result[0].value</finalize>
|
428
|
+
</call>
|
429
|
+
</parallel_branch>
|
430
|
+
</parallel>
|
431
|
+
<call id="a6" endpoint="update" svg-label="Aktualisierung Guthaben">
|
432
|
+
<parameters>
|
433
|
+
<label>"Aktualisierung Guthaben"</label>
|
434
|
+
<method>:post</method>
|
435
|
+
<arguments/>
|
436
|
+
</parameters>
|
437
|
+
<finalize>data.wartefrist="ok";data.guthaben=result[0].value.to_i</finalize>
|
438
|
+
</call>
|
439
|
+
<call id="a3" endpoint="timeout3" svg-label="Aufladen">
|
440
|
+
<parameters>
|
441
|
+
<label>"Aufladen"</label>
|
442
|
+
<method>:post</method>
|
443
|
+
<arguments/>
|
444
|
+
</parameters>
|
445
|
+
<finalize>p data.guthaben</finalize>
|
446
|
+
</call>
|
447
|
+
<loop mode="pre_test" condition="data.wartefrist!='verstrichen'" svg-label="">
|
448
|
+
<loop mode="pre_test" condition="data.guthaben>0" svg-label="">
|
449
|
+
<call id="a5" endpoint="consume" svg-label="Verbrauchen">
|
450
|
+
<parameters>
|
451
|
+
<label>"Verbrauchen"</label>
|
452
|
+
<method>:post</method>
|
453
|
+
<arguments>
|
454
|
+
<knr>data.knr</knr>
|
455
|
+
</arguments>
|
456
|
+
</parameters>
|
457
|
+
<finalize>data.guthaben=data.guthaben-result[0].value.to_i</finalize>
|
458
|
+
</call>
|
459
|
+
</loop>
|
460
|
+
<call id="a13" endpoint="decide" svg-label="Gesetzl. Frist">
|
461
|
+
<parameters>
|
462
|
+
<label>"Gesetzl. Frist"</label>
|
463
|
+
<method>:post</method>
|
464
|
+
<arguments>
|
465
|
+
<knr>data.knr</knr>
|
466
|
+
</arguments>
|
467
|
+
</parameters>
|
468
|
+
<finalize>data.wartefrist="verstrichen" if result[0].name == 'wartefrist';data.guthaben=result[0].value.to_i if result[0].name == "balance"</finalize>
|
469
|
+
</call>
|
470
|
+
</loop>
|
471
|
+
<call id="a17" endpoint="timeout" svg-label="Abschaltung">
|
472
|
+
<parameters>
|
473
|
+
<label>"Abschaltung"</label>
|
474
|
+
<method>:post</method>
|
475
|
+
<arguments>
|
476
|
+
<knr>data.knr</knr>
|
477
|
+
</arguments>
|
478
|
+
</parameters>
|
479
|
+
<finalize>data.zaehler_status='off'</finalize>
|
480
|
+
</call>
|
481
|
+
<call id="a8" endpoint="credit_worthy" svg-label="Kreditwuerdig">
|
482
|
+
<parameters>
|
483
|
+
<label>"Kreditwuerdig"</label>
|
484
|
+
<method>:post</method>
|
485
|
+
<arguments>
|
486
|
+
<knr>data.knr</knr>
|
487
|
+
</arguments>
|
488
|
+
</parameters>
|
489
|
+
<finalize>data.kreditf=result[0].value;data.kredit_wanted="true"</finalize>
|
490
|
+
</call>
|
491
|
+
<choose mode="exclusive" svg-label="">
|
492
|
+
<alternative condition="data.kreditf=='true'" svg-label="">
|
493
|
+
<call id="a12" endpoint="timeout" svg-label="activate parametrizable credit function and credit offer">
|
494
|
+
<parameters>
|
495
|
+
<label>"activate parametrizable credit function and credit offer"</label>
|
496
|
+
<method>:post</method>
|
497
|
+
<arguments>
|
498
|
+
<knr>data.knr</knr>
|
499
|
+
</arguments>
|
500
|
+
</parameters>
|
501
|
+
</call>
|
502
|
+
<choose mode="exclusive" svg-label="">
|
503
|
+
<alternative condition="data.kredit_wanted=='true'" svg-label="">
|
504
|
+
<call id="a18" endpoint="credit_activate" svg-label="activate meter">
|
505
|
+
<parameters>
|
506
|
+
<label>"activate meter"</label>
|
507
|
+
<method>:post</method>
|
508
|
+
<arguments>
|
509
|
+
<knr>knr=data.knr</knr>
|
510
|
+
</arguments>
|
511
|
+
</parameters>
|
512
|
+
<finalize>data.kredit=result[0].value.to_i</finalize>
|
513
|
+
</call>
|
514
|
+
<loop mode="pre_test" condition="data.kredit>0" svg-label="">
|
515
|
+
<call id="a19" endpoint="credit_consume" svg-label="Consume credit">
|
516
|
+
<parameters>
|
517
|
+
<label>"Consume credit"</label>
|
518
|
+
<method>:post</method>
|
519
|
+
<arguments>
|
520
|
+
<knr>knr=data.knr</knr>
|
521
|
+
</arguments>
|
522
|
+
</parameters>
|
523
|
+
<finalize>data.kredit=data.kredit-result[0].value.to_i</finalize>
|
524
|
+
</call>
|
525
|
+
</loop>
|
526
|
+
</alternative>
|
527
|
+
<otherwise svg-label=""/>
|
528
|
+
</choose>
|
529
|
+
</alternative>
|
530
|
+
<otherwise svg-label=""/>
|
531
|
+
</choose>
|
532
|
+
</parallel_branch>
|
533
|
+
<parallel_branch svg-label="">
|
534
|
+
<call id="a9" endpoint="preminder2" svg-label="Kunde zahlt">
|
535
|
+
<parameters>
|
536
|
+
<label>"Kunde zahlt"</label>
|
537
|
+
<method>:post</method>
|
538
|
+
<arguments/>
|
539
|
+
</parameters>
|
540
|
+
</call>
|
541
|
+
</parallel_branch>
|
542
|
+
</parallel>
|
543
|
+
</parallel_branch>
|
544
|
+
<parallel_branch svg-label="">
|
545
|
+
<call id="a15" endpoint="preminder1" svg-label="Kunde zahlt">
|
546
|
+
<parameters>
|
547
|
+
<label>"Kunde zahlt"</label>
|
548
|
+
<method>:post</method>
|
549
|
+
<arguments/>
|
550
|
+
</parameters>
|
551
|
+
</call>
|
552
|
+
</parallel_branch>
|
553
|
+
</parallel>
|
554
|
+
</description>
|
555
|
+
</description>
|
556
|
+
<transformation>
|
557
|
+
<description type="copy"/>
|
558
|
+
<dataelements type="none"/>
|
559
|
+
<endpoints type="none"/>
|
560
|
+
</transformation>
|
561
|
+
</properties>
|