cpee 1.3.119 → 1.3.120
Sign up to get free protection for your applications and to get access to all the features.
- data/cockpit/contrib/graph_example.svg +1166 -0
- data/cockpit/contrib/legend.svg +817 -0
- data/cockpit/contrib/tree_example.svg +788 -0
- data/cockpit/css/ui.css +41 -14
- data/cockpit/index.html +82 -35
- data/cockpit/js/instance.js +38 -28
- data/cockpit/js/ui.js +18 -1
- data/cockpit/js/wfadaptor.cpee.js +3 -20
- data/cockpit/lib/contextmenu.css +8 -2
- data/cockpit/lib/jquery.cookie.js +117 -0
- data/cockpit/lib/wfadaptor.css +4 -0
- data/cockpit/testsets/Concurrent.xml +2 -2
- data/cockpit/testsets/Coopis Testset.xml +39 -37
- data/cockpit/testsets/Endpoints and Data Manipulation.xml +14 -12
- data/cockpit/testsets/ICSOC Testset.xml +61 -59
- data/cockpit/testsets/Linear.xml +31 -29
- data/cockpit/testsets/Mangler 1.xml +57 -55
- data/cockpit/testsets/Mangler 2.xml +60 -58
- data/cockpit/testsets/RESCUE - Book Movie - Local.xml +68 -66
- data/cockpit/testsets/RESCUE - Book Movie.xml +68 -66
- data/cockpit/testsets/RESCUE - Loop-Parallel Injection.xml +61 -59
- data/cockpit/testsets/SOPROMO Test Sonification.xml +38 -36
- data/cockpit/testsets/Syncing P34 1.xml +31 -29
- data/cockpit/testsets/Syncing P34 2.xml +31 -29
- data/cockpit/testsets/Syncing P34 3.xml +31 -29
- data/cockpit/testsets/Syncing P34.xml +31 -29
- data/cockpit/testsets/TEST - Bad Loop.xml +129 -127
- data/cockpit/testsets/TEST - Wrong Positions.xml +142 -140
- data/cpee.gemspec +1 -1
- data/server/handlerwrappers/default.rb +13 -0
- data/server/resources/properties.init +3 -1
- data/server/resources/transformation_dslx.xsl +3 -0
- metadata +6 -6
- data/server/instances/1/notifications/9a9f296b8446be3ee15a99fbb94543dd/consumer-secret +0 -1
- data/server/instances/1/notifications/9a9f296b8446be3ee15a99fbb94543dd/producer-secret +0 -1
- data/server/instances/1/notifications/9a9f296b8446be3ee15a99fbb94543dd/subscription.xml +0 -27
- data/server/instances/1/properties.xml +0 -41
@@ -9,62 +9,64 @@
|
|
9
9
|
<endpoints>
|
10
10
|
<timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
|
11
11
|
</endpoints>
|
12
|
-
<description
|
13
|
-
<
|
14
|
-
<
|
15
|
-
<
|
16
|
-
|
17
|
-
<
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
<
|
25
|
-
<
|
12
|
+
<description>
|
13
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
14
|
+
<call id="a1" endpoint="timeout">
|
15
|
+
<parameters><!--{{{-->
|
16
|
+
<method>post</method>
|
17
|
+
<parameters>
|
18
|
+
<timeout>4</timeout>
|
19
|
+
<bug>data.nasty</bug>
|
20
|
+
</parameters>
|
21
|
+
</parameters><!--}}}-->
|
22
|
+
<manipulate output="result"> data.x += "done"</manipulate>
|
23
|
+
</call>
|
24
|
+
<parallel wait="2">
|
25
|
+
<parallel_branch>
|
26
|
+
<call id="a2_1" endpoint="timeout">
|
27
|
+
<parameters><!--{{{-->
|
28
|
+
<method>post</method>
|
29
|
+
<parameters>
|
30
|
+
<timeout>6</timeout>
|
31
|
+
</parameters>
|
32
|
+
</parameters><!--}}}-->
|
33
|
+
</call>
|
34
|
+
</parallel_branch>
|
35
|
+
<parallel_branch>
|
36
|
+
<call id="a2_2" endpoint="timeout">
|
26
37
|
<parameters><!--{{{-->
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
<parameters><!--{{{-->
|
60
|
-
<method>post</method>
|
61
|
-
<parameters>
|
62
|
-
<timeout>10</timeout>
|
63
|
-
</parameters>
|
64
|
-
</parameters><!--}}}-->
|
65
|
-
</call>
|
66
|
-
</otherwise>
|
67
|
-
</choose>
|
38
|
+
<method>post</method>
|
39
|
+
<parameters>
|
40
|
+
<timeout>2</timeout>
|
41
|
+
</parameters>
|
42
|
+
</parameters><!--}}}-->
|
43
|
+
</call>
|
44
|
+
</parallel_branch>
|
45
|
+
</parallel>
|
46
|
+
<manipulate id="a3"> data.x += '_end'</manipulate>
|
47
|
+
<choose>
|
48
|
+
<alternative condition="data.x != nil">
|
49
|
+
<call id="a4_1" endpoint="timeout">
|
50
|
+
<parameters><!--{{{-->
|
51
|
+
<method>post</method>
|
52
|
+
<parameters>
|
53
|
+
<timeout>4</timeout>
|
54
|
+
</parameters>
|
55
|
+
</parameters><!--}}}-->
|
56
|
+
</call>
|
57
|
+
</alternative>
|
58
|
+
<otherwise>
|
59
|
+
<call id="a4_2" endpoint="timeout">
|
60
|
+
<parameters><!--{{{-->
|
61
|
+
<method>post</method>
|
62
|
+
<parameters>
|
63
|
+
<timeout>10</timeout>
|
64
|
+
</parameters>
|
65
|
+
</parameters><!--}}}-->
|
66
|
+
</call>
|
67
|
+
</otherwise>
|
68
|
+
</choose>
|
69
|
+
</description>
|
68
70
|
</description>
|
69
71
|
<transformation>
|
70
72
|
<description type='copy'/>
|
@@ -16,75 +16,77 @@
|
|
16
16
|
<bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
|
17
17
|
<approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
|
18
18
|
</endpoints>
|
19
|
-
<description
|
20
|
-
<
|
21
|
-
<
|
22
|
-
<method>post</method>
|
19
|
+
<description>
|
20
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
21
|
+
<call id="a1" endpoint="bookAir">
|
23
22
|
<parameters>
|
24
|
-
<
|
25
|
-
<
|
26
|
-
|
23
|
+
<method>post</method>
|
24
|
+
<parameters>
|
25
|
+
<from>data.from</from>
|
26
|
+
<to>data.to</to>
|
27
|
+
<persons>data.persons</persons>
|
28
|
+
</parameters>
|
27
29
|
</parameters>
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
<call id="a2" endpoint="bookHotel">
|
36
|
-
<parameters>
|
37
|
-
<method>post</method>
|
30
|
+
<manipulate output="result"> data.airline = result.value('id')
|
31
|
+
data.costs += result.value('costs').to_f</manipulate>
|
32
|
+
</call>
|
33
|
+
<parallel>
|
34
|
+
<loop pre_test="data.persons > 0">
|
35
|
+
<parallel_branch pass="data.persons" local="p">
|
36
|
+
<call id="a2" endpoint="bookHotel">
|
38
37
|
<parameters>
|
39
|
-
<
|
38
|
+
<method>post</method>
|
39
|
+
<parameters>
|
40
|
+
<to>data.to</to>
|
41
|
+
</parameters>
|
40
42
|
</parameters>
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
</
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
<call id="a4" endpoint="bookHotel">
|
51
|
-
<parameters>
|
52
|
-
<method>post</method>
|
43
|
+
<manipulate output="result"> data.hotels << result.value('id')
|
44
|
+
data.costs += result.value('costs').to_f</manipulate>
|
45
|
+
</call>
|
46
|
+
</parallel_branch>
|
47
|
+
<manipulate id="a3"> data.persons -= 1</manipulate>
|
48
|
+
</loop>
|
49
|
+
<loop pre_test="data.persons > 0">
|
50
|
+
<parallel_branch pass="data.persons" local="p">
|
51
|
+
<call id="a4" endpoint="bookHotel">
|
53
52
|
<parameters>
|
54
|
-
<
|
53
|
+
<method>post</method>
|
54
|
+
<parameters>
|
55
|
+
<to>data.to</to>
|
56
|
+
</parameters>
|
55
57
|
</parameters>
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
</
|
60
|
-
|
61
|
-
|
62
|
-
|
58
|
+
<manipulate output="result"> data.hotels << result.value('id')
|
59
|
+
data.costs += result.value('costs').to_f</manipulate>
|
60
|
+
</call>
|
61
|
+
</parallel_branch>
|
62
|
+
<parallel_branch pass="data.persons" local="p">
|
63
|
+
<call id="a5" endpoint="bookHotel">
|
64
|
+
<parameters>
|
65
|
+
<method>post</method>
|
66
|
+
<parameters>
|
67
|
+
<to>data.to</to>
|
68
|
+
</parameters>
|
69
|
+
</parameters>
|
70
|
+
<manipulate output="result"> data.hotels << result.value('id')
|
71
|
+
data.costs += result.value('costs').to_f</manipulate>
|
72
|
+
</call>
|
73
|
+
</parallel_branch>
|
74
|
+
<manipulate id="a6"> data.persons -= 1</manipulate>
|
75
|
+
</loop>
|
76
|
+
</parallel>
|
77
|
+
<choose>
|
78
|
+
<alternative condition="data.costs > 700">
|
79
|
+
<call id="a7" endpoint="approve">
|
63
80
|
<parameters>
|
64
81
|
<method>post</method>
|
65
82
|
<parameters>
|
66
|
-
<
|
83
|
+
<costs>data.costs</costs>
|
67
84
|
</parameters>
|
68
85
|
</parameters>
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
<manipulate id="a6"> data.persons -= 1</manipulate>
|
74
|
-
</loop>
|
75
|
-
</parallel>
|
76
|
-
<choose>
|
77
|
-
<alternative condition="data.costs > 700">
|
78
|
-
<call id="a7" endpoint="approve">
|
79
|
-
<parameters>
|
80
|
-
<method>post</method>
|
81
|
-
<parameters>
|
82
|
-
<costs>data.costs</costs>
|
83
|
-
</parameters>
|
84
|
-
</parameters>
|
85
|
-
</call>
|
86
|
-
</alternative>
|
87
|
-
</choose>
|
86
|
+
</call>
|
87
|
+
</alternative>
|
88
|
+
</choose>
|
89
|
+
</description>
|
88
90
|
</description>
|
89
91
|
<transformation>
|
90
92
|
<description type='copy'/>
|
@@ -19,76 +19,78 @@
|
|
19
19
|
<injection_handler>http://localhost:9291/</injection_handler>
|
20
20
|
<select>http://localhost:9293/pgwl</select>
|
21
21
|
</endpoints>
|
22
|
-
<description
|
23
|
-
<
|
24
|
-
<
|
25
|
-
<method>post</method>
|
26
|
-
<info>true</info>
|
27
|
-
<templates>
|
28
|
-
<uri>'http://gruppe.wst.univie.ac.at/~ralph/input-forms/cinemas.xsl'</uri>
|
29
|
-
<name>'Cinemas-Input'</name>
|
30
|
-
<lang>'EN'</lang>
|
31
|
-
</templates>
|
32
|
-
</parameters>
|
33
|
-
<manipulate output="result">
|
34
|
-
data.title = result.data.value('title')
|
35
|
-
data.date = result.data.value('date')
|
36
|
-
data.city = result.data.value('city')
|
37
|
-
</manipulate>
|
38
|
-
</call>
|
39
|
-
<call id="use_repo_cinemas" endpoint="services">
|
40
|
-
<constraints>
|
41
|
-
<constraint xpath="address/city" comparator="==" variable="city"/>
|
42
|
-
</constraints>
|
43
|
-
<parameters><!--{{{-->
|
44
|
-
<info>true</info>
|
45
|
-
<service>
|
46
|
-
<serviceoperation>"search_and_book"</serviceoperation>
|
47
|
-
<injection_handler>endpoints.injection_handler</injection_handler>
|
48
|
-
</service>
|
49
|
-
<additional_endpoints>
|
50
|
-
<selector_service>"select"</selector_service>
|
51
|
-
</additional_endpoints>
|
22
|
+
<description>
|
23
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
24
|
+
<call id="collect_input" endpoint="select">
|
52
25
|
<parameters>
|
53
|
-
<
|
54
|
-
<
|
26
|
+
<method>post</method>
|
27
|
+
<info>true</info>
|
28
|
+
<templates>
|
29
|
+
<uri>'http://gruppe.wst.univie.ac.at/~ralph/input-forms/cinemas.xsl'</uri>
|
30
|
+
<name>'Cinemas-Input'</name>
|
31
|
+
<lang>'EN'</lang>
|
32
|
+
</templates>
|
55
33
|
</parameters>
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
34
|
+
<manipulate output="result">
|
35
|
+
data.title = result.data.value('title')
|
36
|
+
data.date = result.data.value('date')
|
37
|
+
data.city = result.data.value('city')
|
38
|
+
</manipulate>
|
39
|
+
</call>
|
40
|
+
<call id="use_repo_cinemas" endpoint="services">
|
41
|
+
<constraints>
|
42
|
+
<constraint xpath="address/city" comparator="==" variable="city"/>
|
43
|
+
</constraints>
|
44
|
+
<parameters><!--{{{-->
|
45
|
+
<info>true</info>
|
46
|
+
<service>
|
47
|
+
<serviceoperation>"search_and_book"</serviceoperation>
|
48
|
+
<injection_handler>endpoints.injection_handler</injection_handler>
|
49
|
+
</service>
|
50
|
+
<additional_endpoints>
|
51
|
+
<selector_service>"select"</selector_service>
|
52
|
+
</additional_endpoints>
|
53
|
+
<parameters>
|
54
|
+
<title>data.title</title>
|
55
|
+
<date>data.date</date>
|
56
|
+
</parameters>
|
57
|
+
</parameters><!--}}}-->
|
58
|
+
<manipulate output="result">
|
59
|
+
res = result[0]
|
60
|
+
if res['status'] == 200
|
61
|
+
# Computing service responses
|
62
|
+
data.reservation_number = res['reservation_id']
|
63
|
+
data.starting_time = res['starting_time']
|
64
|
+
data.selected_title = res['movie_title']
|
65
|
+
data.selected_date = res['selected_date']
|
66
|
+
data.hall = res['hall']
|
67
|
+
# Computing properties of executed services
|
68
|
+
perf_book = properties['call_book']['perform_book']
|
69
|
+
data.selected_cinema = " #{perf_book.values[0]['vendor']['name']}\n#{perf_book.values[0]['address']['street']}\n#{perf_book.values[0]['address']['zip']} #{perf_book.values[0]['address']['city']}"
|
70
|
+
end
|
71
|
+
</manipulate>
|
72
|
+
</call>
|
73
|
+
<call id="confirm" endpoint="select">
|
82
74
|
<parameters>
|
83
|
-
<
|
84
|
-
<
|
85
|
-
<
|
86
|
-
|
87
|
-
|
88
|
-
|
75
|
+
<method>post</method>
|
76
|
+
<info>true</info>
|
77
|
+
<templates>
|
78
|
+
<uri>'http://gruppe.wst.univie.ac.at/~ralph/input-forms/cinemas.xsl'</uri>
|
79
|
+
<!-- uri>'http://gus.lan/input-forms/cinemas.xsl'</uri -->
|
80
|
+
<name>'Cinemas-Output'</name>
|
81
|
+
<lang>'EN'</lang>
|
82
|
+
</templates>
|
83
|
+
<parameters>
|
84
|
+
<title>data.selected_title</title>
|
85
|
+
<date>data.selected_date</date>
|
86
|
+
<time>data.starting_time</time>
|
87
|
+
<hall>data.hall</hall>
|
88
|
+
<res_nr>data.reservation_number</res_nr>
|
89
|
+
<cinema>data.selected_cinema</cinema>
|
90
|
+
</parameters>
|
89
91
|
</parameters>
|
90
|
-
</
|
91
|
-
</
|
92
|
+
</call>
|
93
|
+
</description>
|
92
94
|
</description>
|
93
95
|
<transformation>
|
94
96
|
<description type='xslt'>http://cpee.org/~demo/rescue-1.0.xslt</description>
|
@@ -19,76 +19,78 @@
|
|
19
19
|
<injection_handler>http://sumatra.wst.univie.ac.at:9291/</injection_handler>
|
20
20
|
<select>http://sumatra.wst.univie.ac.at:9293/pgwl</select>
|
21
21
|
</endpoints>
|
22
|
-
<description
|
23
|
-
<
|
24
|
-
<
|
25
|
-
<method>post</method>
|
26
|
-
<info>true</info>
|
27
|
-
<templates>
|
28
|
-
<uri>'http://gruppe.wst.univie.ac.at/~ralph/input-forms/cinemas.xsl'</uri>
|
29
|
-
<name>'Cinemas-Input'</name>
|
30
|
-
<lang>'EN'</lang>
|
31
|
-
</templates>
|
32
|
-
</parameters>
|
33
|
-
<manipulate output="result">
|
34
|
-
data.title = result.data.value('title')
|
35
|
-
data.date = result.data.value('date')
|
36
|
-
data.city = result.data.value('city')
|
37
|
-
</manipulate>
|
38
|
-
</call>
|
39
|
-
<call id="use_repo_cinemas" endpoint="services">
|
40
|
-
<constraints>
|
41
|
-
<constraint xpath="address/city" comparator="==" variable="city"/>
|
42
|
-
</constraints>
|
43
|
-
<parameters><!--{{{-->
|
44
|
-
<info>true</info>
|
45
|
-
<service>
|
46
|
-
<serviceoperation>"search_and_book"</serviceoperation>
|
47
|
-
<injection_handler>endpoints.injection_handler</injection_handler>
|
48
|
-
</service>
|
49
|
-
<additional_endpoints>
|
50
|
-
<selector_service>"select"</selector_service>
|
51
|
-
</additional_endpoints>
|
22
|
+
<description>
|
23
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
24
|
+
<call id="collect_input" endpoint="select">
|
52
25
|
<parameters>
|
53
|
-
<
|
54
|
-
<
|
26
|
+
<method>post</method>
|
27
|
+
<info>true</info>
|
28
|
+
<templates>
|
29
|
+
<uri>'http://gruppe.wst.univie.ac.at/~ralph/input-forms/cinemas.xsl'</uri>
|
30
|
+
<name>'Cinemas-Input'</name>
|
31
|
+
<lang>'EN'</lang>
|
32
|
+
</templates>
|
55
33
|
</parameters>
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
34
|
+
<manipulate output="result">
|
35
|
+
data.title = result.data.value('title')
|
36
|
+
data.date = result.data.value('date')
|
37
|
+
data.city = result.data.value('city')
|
38
|
+
</manipulate>
|
39
|
+
</call>
|
40
|
+
<call id="use_repo_cinemas" endpoint="services">
|
41
|
+
<constraints>
|
42
|
+
<constraint xpath="address/city" comparator="==" variable="city"/>
|
43
|
+
</constraints>
|
44
|
+
<parameters><!--{{{-->
|
45
|
+
<info>true</info>
|
46
|
+
<service>
|
47
|
+
<serviceoperation>"search_and_book"</serviceoperation>
|
48
|
+
<injection_handler>endpoints.injection_handler</injection_handler>
|
49
|
+
</service>
|
50
|
+
<additional_endpoints>
|
51
|
+
<selector_service>"select"</selector_service>
|
52
|
+
</additional_endpoints>
|
53
|
+
<parameters>
|
54
|
+
<title>data.title</title>
|
55
|
+
<date>data.date</date>
|
56
|
+
</parameters>
|
57
|
+
</parameters><!--}}}-->
|
58
|
+
<manipulate output="result">
|
59
|
+
res = result[0]
|
60
|
+
if res['status'] == 200
|
61
|
+
# Computing service responses
|
62
|
+
data.reservation_number = res['reservation_id']
|
63
|
+
data.starting_time = res['starting_time']
|
64
|
+
data.selected_title = res['movie_title']
|
65
|
+
data.selected_date = res['selected_date']
|
66
|
+
data.hall = res['hall']
|
67
|
+
# Computing properties of executed services
|
68
|
+
perf_book = properties['call_book']['perform_book']
|
69
|
+
data.selected_cinema = " #{perf_book.values[0]['vendor']['name']}\n#{perf_book.values[0]['address']['street']}\n#{perf_book.values[0]['address']['zip']} #{perf_book.values[0]['address']['city']}"
|
70
|
+
end
|
71
|
+
</manipulate>
|
72
|
+
</call>
|
73
|
+
<call id="confirm" endpoint="select">
|
82
74
|
<parameters>
|
83
|
-
<
|
84
|
-
<
|
85
|
-
<
|
86
|
-
|
87
|
-
|
88
|
-
|
75
|
+
<method>post</method>
|
76
|
+
<info>true</info>
|
77
|
+
<templates>
|
78
|
+
<uri>'http://gruppe.wst.univie.ac.at/~ralph/input-forms/cinemas.xsl'</uri>
|
79
|
+
<!-- uri>'http://gus.lan/input-forms/cinemas.xsl'</uri -->
|
80
|
+
<name>'Cinemas-Output'</name>
|
81
|
+
<lang>'EN'</lang>
|
82
|
+
</templates>
|
83
|
+
<parameters>
|
84
|
+
<title>data.selected_title</title>
|
85
|
+
<date>data.selected_date</date>
|
86
|
+
<time>data.starting_time</time>
|
87
|
+
<hall>data.hall</hall>
|
88
|
+
<res_nr>data.reservation_number</res_nr>
|
89
|
+
<cinema>data.selected_cinema</cinema>
|
90
|
+
</parameters>
|
89
91
|
</parameters>
|
90
|
-
</
|
91
|
-
</
|
92
|
+
</call>
|
93
|
+
</description>
|
92
94
|
</description>
|
93
95
|
<transformation>
|
94
96
|
<description type='xslt'>http://cpee.org/~demo/rescue-1.0.xslt</description>
|