cpee 1.3.175 → 1.3.176

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/index.html +1 -1
  3. data/cockpit/js/instance.js +40 -37
  4. data/cockpit/lib/relaxngui.js +4 -0
  5. data/cockpit/lib/ui.css +0 -5
  6. data/cockpit/lib/ui.js +6 -2
  7. data/cockpit/rngtest.html +74 -0
  8. data/cockpit/rngtest.rng +60 -0
  9. data/cockpit/rngtest.xml +15 -0
  10. data/cockpit/testsets/Concurrent.xml +2 -2
  11. data/cockpit/testsets/Coopis Testset.xml +4 -4
  12. data/cockpit/testsets/Linear.xml +3 -3
  13. data/cockpit/testsets/Mangler 1.xml +1 -1
  14. data/cockpit/testsets/Mangler 2.xml +8 -8
  15. data/cockpit/testsets/SOPROMO Test Sonification.xml +10 -10
  16. data/cockpit/testsets/Syncing P34 1.xml +4 -4
  17. data/cockpit/testsets/Syncing P34 2.xml +4 -4
  18. data/cockpit/testsets/Syncing P34 3.xml +4 -4
  19. data/cockpit/testsets/Syncing P34.xml +4 -4
  20. data/cockpit/testsets/TEST - Wrong Positions.xml +20 -20
  21. data/cockpit/testsets/Update.xml +11 -0
  22. data/cockpit/testsets/Worklist Test.xml +39 -0
  23. data/cockpit/testsets/testsets.xml +4 -0
  24. data/cpee.gemspec +1 -1
  25. data/lib/cpee/callback.rb +6 -2
  26. data/lib/cpee/controller.rb +8 -8
  27. data/lib/cpee/handler_notifications.rb +4 -4
  28. data/lib/cpee/handler_properties.rb +5 -5
  29. data/lib/cpee/implementation.rb +1 -1
  30. data/server/handlerwrappers/default.rb +30 -25
  31. data/server/handlerwrappers/soap.rb +13 -13
  32. data/server/instances/1/properties.xml +69 -101
  33. data/server/instances/10/properties.xml +106 -70
  34. data/server/instances/11/properties.xml +133 -73
  35. data/server/instances/12/properties.xml +1 -0
  36. data/server/instances/14/notifications/5bcce90b170116a77fb25aea4e133acc/consumer-secret +1 -0
  37. data/server/instances/14/notifications/5bcce90b170116a77fb25aea4e133acc/producer-secret +1 -0
  38. data/server/instances/{13/notifications/4ff0cde5161c44dae49b263cbc12eaf8 → 14/notifications/5bcce90b170116a77fb25aea4e133acc}/subscription.xml +0 -0
  39. data/server/instances/14/properties.xml +160 -160
  40. data/server/instances/15/properties.xml +28 -314
  41. data/server/instances/16/properties.xml +28 -249
  42. data/server/instances/17/properties.xml +28 -130
  43. data/server/instances/18/properties.xml +3 -2
  44. data/server/instances/19/properties.xml +0 -1
  45. data/server/instances/2/properties.xml +191 -44
  46. data/server/instances/20/properties.xml +46 -0
  47. data/server/instances/21/properties.xml +46 -0
  48. data/server/instances/22/notifications/f9c504b8c715ec94a99fc3c6a660c53a/consumer-secret +1 -0
  49. data/server/instances/22/notifications/f9c504b8c715ec94a99fc3c6a660c53a/producer-secret +1 -0
  50. data/server/instances/22/notifications/f9c504b8c715ec94a99fc3c6a660c53a/subscription.xml +23 -0
  51. data/server/instances/22/properties.xml +112 -0
  52. data/server/instances/23/notifications/0a5a059f4ae897aee1446d560210dec0/consumer-secret +1 -0
  53. data/server/instances/23/notifications/0a5a059f4ae897aee1446d560210dec0/producer-secret +1 -0
  54. data/server/instances/23/notifications/0a5a059f4ae897aee1446d560210dec0/subscription.xml +23 -0
  55. data/server/instances/23/properties.xml +148 -0
  56. data/server/instances/24/properties.xml +66 -0
  57. data/server/instances/25/properties.xml +46 -0
  58. data/server/instances/26/properties.xml +112 -0
  59. data/server/instances/27/properties.xml +212 -0
  60. data/server/instances/28/properties.xml +363 -0
  61. data/server/instances/29/properties.xml +148 -0
  62. data/server/instances/3/properties.xml +70 -44
  63. data/server/instances/30/properties.xml +150 -0
  64. data/server/instances/31/properties.xml +52 -0
  65. data/server/instances/32/properties.xml +52 -0
  66. data/server/instances/33/properties.xml +60 -0
  67. data/server/instances/34/properties.xml +148 -0
  68. data/server/instances/35/properties.xml +148 -0
  69. data/server/instances/36/properties.xml +150 -0
  70. data/server/instances/37/notifications/2b67c793efcea22d88beaa28249001be/consumer-secret +1 -0
  71. data/server/instances/37/notifications/2b67c793efcea22d88beaa28249001be/producer-secret +1 -0
  72. data/server/instances/37/notifications/2b67c793efcea22d88beaa28249001be/subscription.xml +34 -0
  73. data/server/instances/37/notifications/5f979ed943f91ff75d75e551ba0642d6/consumer-secret +1 -0
  74. data/server/instances/37/notifications/5f979ed943f91ff75d75e551ba0642d6/producer-secret +1 -0
  75. data/server/instances/37/notifications/5f979ed943f91ff75d75e551ba0642d6/subscription.xml +33 -0
  76. data/server/instances/37/properties.xml +57 -0
  77. data/server/instances/4/properties.xml +28 -68
  78. data/server/instances/5/properties.xml +10 -70
  79. data/server/instances/6/properties.xml +175 -55
  80. data/server/instances/7/properties.xml +118 -52
  81. data/server/instances/8/properties.xml +112 -50
  82. data/server/instances/9/properties.xml +115 -47
  83. data/server/resources/topics.xml +15 -15
  84. data/server/resources/transformation_dslx.xsl +43 -5
  85. data/test/cb.rb +9 -0
  86. metadata +44 -9
  87. data/server/instances/12/notifications/8d7f2ae546a742fce3a0a488266ea51d/consumer-secret +0 -1
  88. data/server/instances/12/notifications/8d7f2ae546a742fce3a0a488266ea51d/producer-secret +0 -1
  89. data/server/instances/12/notifications/8d7f2ae546a742fce3a0a488266ea51d/subscription.xml +0 -6
  90. data/server/instances/13/notifications/4ff0cde5161c44dae49b263cbc12eaf8/consumer-secret +0 -1
  91. data/server/instances/13/notifications/4ff0cde5161c44dae49b263cbc12eaf8/producer-secret +0 -1
@@ -1,51 +1,90 @@
1
1
  <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
2
2
  <info>Enter info here</info>
3
- <state>finished</state>
3
+ <state>stopped</state>
4
4
  <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
5
5
  <positions/>
6
6
  <dataelements>
7
- <json>{"lv":"Workflow Technologies","id":{"lvnr":"050311","gruppe":1}}</json>
8
- <json_lv>Workflow Technologies</json_lv>
9
- <json_lvnr/>
10
- <xml_lv>Workflow Technologies</xml_lv>
11
- <xml_lvnr>050311</xml_lvnr>
7
+ <persons>0</persons>
8
+ <card>Visa_12345</card>
9
+ <airline>FlyNiki</airline>
10
+ <hotels>["Mariott","Rathaus","Mariott"]</hotels>
11
+ <from>Vienna</from>
12
+ <to>Prague</to>
13
+ <costs>1021.0</costs>
12
14
  </dataelements>
13
15
  <endpoints>
14
- <timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
15
- <json>http://cpee.org/services/json.php</json>
16
- <xml>http://cpee.org/services/xml.php</xml>
16
+ <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
17
+ <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
18
+ <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
17
19
  </endpoints>
18
- <dsl>call :a1, :json, { :label =&gt; "Get JSON", :method =&gt; "get", :parameters =&gt; nil }, &lt;&lt;-end
19
- data.json = result
20
- data.json_lv = result['lv']
21
- data.json_lvnr = result['lv']['lvnr']
20
+ <dsl>call :a1, :bookAir, { :method =&gt; :post, :parameters =&gt; {:from =&gt; data.from, :to =&gt; data.to, :persons =&gt; data.persons} }, &lt;&lt;-end
21
+ data.airline = result.value('id')
22
+ data.costs += result.value('costs').to_f
23
+ status.update 1, 'Hotel'
22
24
  end
23
- call :a2, :xml, { :label =&gt; "Get XML", :method =&gt; "get", :parameters =&gt; nil }, &lt;&lt;-end
24
- data.xml_lv = result.find('string(/data/lv)')
25
- data.xml_lvnr = result.find('string(/data/lv/@id)')
25
+ parallel do
26
+ loop pre_test{data.persons &gt; 0} do
27
+ parallel_branch data.persons do |p|
28
+ call :a2, :bookHotel, { :method =&gt; :post, :parameters =&gt; {:to =&gt; data.to} }, &lt;&lt;-end
29
+ data.hotels &lt;&lt; result.value('id')
30
+ data.costs += result.value('costs').to_f
31
+ end
32
+ end
33
+ manipulate :a3, &lt;&lt;-end
34
+ data.persons -= 1
35
+ end
36
+ end
37
+ end
38
+ choose :inclusive do
39
+ alternative "data.costs &gt; 700" do
40
+ call :a4, :approve, { :method =&gt; :post, :parameters =&gt; {:costs =&gt; data.costs} }
41
+ end
26
42
  end
27
43
  </dsl>
28
44
  <dslx>
29
45
  <description xmlns="http://cpee.org/ns/description/1.0">
30
- <call id="a1" endpoint="json" svg-label="Get JSON">
31
- <parameters>
32
- <label>Get JSON</label>
33
- <method>get</method>
34
- <parameters/>
35
- </parameters>
36
- <manipulate>data.json = result
37
- data.json_lv = result['lv']
38
- data.json_lvnr = result['lv']['lvnr']</manipulate>
39
- </call>
40
- <call id="a2" endpoint="xml">
46
+ <call id="a1" endpoint="bookAir">
41
47
  <parameters>
42
- <label>Get XML</label>
43
- <method>get</method>
44
- <parameters/>
48
+ <method>:post</method>
49
+ <parameters>
50
+ <from>data.from</from>
51
+ <to>data.to</to>
52
+ <persons>data.persons</persons>
53
+ </parameters>
45
54
  </parameters>
46
- <manipulate>data.xml_lv = result.find('string(/data/lv)')
47
- data.xml_lvnr = result.find('string(/data/lv/@id)')</manipulate>
55
+ <manipulate output="result"> data.airline = result.value('id')
56
+ data.costs += result.value('costs').to_f
57
+ status.update 1, 'Hotel'</manipulate>
48
58
  </call>
59
+ <parallel>
60
+ <loop pre_test="data.persons &gt; 0">
61
+ <parallel_branch pass="data.persons" local="p">
62
+ <call id="a2" endpoint="bookHotel">
63
+ <parameters>
64
+ <method>:post</method>
65
+ <parameters>
66
+ <to>data.to</to>
67
+ </parameters>
68
+ </parameters>
69
+ <manipulate output="result"> data.hotels &lt;&lt; result.value('id')
70
+ data.costs += result.value('costs').to_f</manipulate>
71
+ </call>
72
+ </parallel_branch>
73
+ <manipulate id="a3"> data.persons -= 1</manipulate>
74
+ </loop>
75
+ </parallel>
76
+ <choose>
77
+ <alternative condition="data.costs &gt; 700">
78
+ <call id="a4" 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>
49
88
  </description>
50
89
  </dslx>
51
90
  <status>
@@ -54,30 +93,53 @@ data.xml_lvnr = result.find('string(/data/lv/@id)')</manipulate>
54
93
  </status>
55
94
  <description>
56
95
  <description xmlns="http://cpee.org/ns/description/1.0">
57
- <call id="a1" endpoint="json" svg-label="Get JSON">
58
- <parameters>
59
- <label>Get JSON</label>
60
- <method>get</method>
61
- <parameters/>
62
- </parameters>
63
- <manipulate>data.json = result
64
- data.json_lv = result['lv']
65
- data.json_lvnr = result['lv']['lvnr']</manipulate>
66
- </call>
67
- <call id="a2" endpoint="xml">
96
+ <call id="a1" endpoint="bookAir">
68
97
  <parameters>
69
- <label>Get XML</label>
70
- <method>get</method>
71
- <parameters/>
98
+ <method>:post</method>
99
+ <parameters>
100
+ <from>data.from</from>
101
+ <to>data.to</to>
102
+ <persons>data.persons</persons>
103
+ </parameters>
72
104
  </parameters>
73
- <manipulate>data.xml_lv = result.find('string(/data/lv)')
74
- data.xml_lvnr = result.find('string(/data/lv/@id)')</manipulate>
105
+ <manipulate output="result"> data.airline = result.value('id')
106
+ data.costs += result.value('costs').to_f
107
+ status.update 1, 'Hotel'</manipulate>
75
108
  </call>
109
+ <parallel>
110
+ <loop pre_test="data.persons &gt; 0">
111
+ <parallel_branch pass="data.persons" local="p">
112
+ <call id="a2" endpoint="bookHotel">
113
+ <parameters>
114
+ <method>:post</method>
115
+ <parameters>
116
+ <to>data.to</to>
117
+ </parameters>
118
+ </parameters>
119
+ <manipulate output="result"> data.hotels &lt;&lt; result.value('id')
120
+ data.costs += result.value('costs').to_f</manipulate>
121
+ </call>
122
+ </parallel_branch>
123
+ <manipulate id="a3"> data.persons -= 1</manipulate>
124
+ </loop>
125
+ </parallel>
126
+ <choose>
127
+ <alternative condition="data.costs &gt; 700">
128
+ <call id="a4" endpoint="approve">
129
+ <parameters>
130
+ <method>:post</method>
131
+ <parameters>
132
+ <costs>data.costs</costs>
133
+ </parameters>
134
+ </parameters>
135
+ </call>
136
+ </alternative>
137
+ </choose>
76
138
  </description>
77
139
  </description>
78
140
  <transformation>
79
141
  <description type="copy"/>
80
- <dataelements type="xslt"/>
81
- <endpoints type="xslt"/>
142
+ <dataelements type="rest"/>
143
+ <endpoints type="rest"/>
82
144
  </transformation>
83
145
  </properties>
@@ -1,45 +1,90 @@
1
1
  <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
2
- <info>Enter info here</info>
3
- <state>ready</state>
2
+ <info>asd</info>
3
+ <state>stopped</state>
4
4
  <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
5
5
  <positions/>
6
- <dataelements/>
6
+ <dataelements>
7
+ <persons>0</persons>
8
+ <card>Visa_12345</card>
9
+ <airline>FlyNiki</airline>
10
+ <hotels>["Ibis","Mariott","Rathaus"]</hotels>
11
+ <from>Vienna</from>
12
+ <to>Prague</to>
13
+ <costs>724.0</costs>
14
+ </dataelements>
7
15
  <endpoints>
8
- <timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
9
- <json>http://cpee.org/services/json.php</json>
10
- <xml>http://cpee.org/services/xml.php</xml>
16
+ <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
17
+ <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
18
+ <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
11
19
  </endpoints>
12
- <dsl>call :a1, :json, { :label =&gt; "Get JSON", :method =&gt; "get", :parameters =&gt; nil }, &lt;&lt;-end
13
- data.json = result
14
- data.json_lv = result['lv']
15
- data.json_lvnr = result['lv']['lvnr']
20
+ <dsl>call :a1, :bookAir, { :method =&gt; :post, :parameters =&gt; {:from =&gt; data.from, :to =&gt; data.to, :persons =&gt; data.persons} }, &lt;&lt;-end
21
+ data.airline = result.value('id')
22
+ data.costs += result.value('costs').to_f
23
+ status.update 1, 'Hotel'
16
24
  end
17
- call :a2, :xml, { :label =&gt; "Get XML", :method =&gt; "get", :parameters =&gt; nil }, &lt;&lt;-end
18
- data.xml_lv = result.find('string(/data/lv)')
19
- data.xml_lvnr = result.find('string(/data/lv/@id)')
25
+ parallel do
26
+ loop pre_test{data.persons &gt; 0} do
27
+ parallel_branch data.persons do |p|
28
+ call :a2, :bookHotel, { :method =&gt; :post, :parameters =&gt; {:to =&gt; data.to} }, &lt;&lt;-end
29
+ data.hotels &lt;&lt; result.value('id')
30
+ data.costs += result.value('costs').to_f
31
+ end
32
+ end
33
+ manipulate :a3, &lt;&lt;-end
34
+ data.persons -= 1
35
+ end
36
+ end
37
+ end
38
+ choose :inclusive do
39
+ alternative "data.costs &gt; 700" do
40
+ call :a4, :approve, { :method =&gt; :post, :parameters =&gt; {:costs =&gt; data.costs} }
41
+ end
20
42
  end
21
43
  </dsl>
22
44
  <dslx>
23
45
  <description xmlns="http://cpee.org/ns/description/1.0">
24
- <call id="a1" endpoint="json" svg-label="Get JSON">
25
- <parameters>
26
- <label>Get JSON</label>
27
- <method>get</method>
28
- <parameters/>
29
- </parameters>
30
- <manipulate>data.json = result
31
- data.json_lv = result['lv']
32
- data.json_lvnr = result['lv']['lvnr']</manipulate>
33
- </call>
34
- <call id="a2" endpoint="xml">
46
+ <call id="a1" endpoint="bookAir">
35
47
  <parameters>
36
- <label>Get XML</label>
37
- <method>get</method>
38
- <parameters/>
48
+ <method>:post</method>
49
+ <parameters>
50
+ <from>data.from</from>
51
+ <to>data.to</to>
52
+ <persons>data.persons</persons>
53
+ </parameters>
39
54
  </parameters>
40
- <manipulate>data.xml_lv = result.find('string(/data/lv)')
41
- data.xml_lvnr = result.find('string(/data/lv/@id)')</manipulate>
55
+ <manipulate output="result"> data.airline = result.value('id')
56
+ data.costs += result.value('costs').to_f
57
+ status.update 1, 'Hotel'</manipulate>
42
58
  </call>
59
+ <parallel>
60
+ <loop pre_test="data.persons &gt; 0">
61
+ <parallel_branch pass="data.persons" local="p">
62
+ <call id="a2" endpoint="bookHotel">
63
+ <parameters>
64
+ <method>:post</method>
65
+ <parameters>
66
+ <to>data.to</to>
67
+ </parameters>
68
+ </parameters>
69
+ <manipulate output="result"> data.hotels &lt;&lt; result.value('id')
70
+ data.costs += result.value('costs').to_f</manipulate>
71
+ </call>
72
+ </parallel_branch>
73
+ <manipulate id="a3"> data.persons -= 1</manipulate>
74
+ </loop>
75
+ </parallel>
76
+ <choose>
77
+ <alternative condition="data.costs &gt; 700">
78
+ <call id="a4" 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>
43
88
  </description>
44
89
  </dslx>
45
90
  <status>
@@ -48,30 +93,53 @@ data.xml_lvnr = result.find('string(/data/lv/@id)')</manipulate>
48
93
  </status>
49
94
  <description>
50
95
  <description xmlns="http://cpee.org/ns/description/1.0">
51
- <call id="a1" endpoint="json" svg-label="Get JSON">
52
- <parameters>
53
- <label>Get JSON</label>
54
- <method>get</method>
55
- <parameters/>
56
- </parameters>
57
- <manipulate>data.json = result
58
- data.json_lv = result['lv']
59
- data.json_lvnr = result['lv']['lvnr']</manipulate>
60
- </call>
61
- <call id="a2" endpoint="xml">
96
+ <call id="a1" endpoint="bookAir">
62
97
  <parameters>
63
- <label>Get XML</label>
64
- <method>get</method>
65
- <parameters/>
98
+ <method>:post</method>
99
+ <parameters>
100
+ <from>data.from</from>
101
+ <to>data.to</to>
102
+ <persons>data.persons</persons>
103
+ </parameters>
66
104
  </parameters>
67
- <manipulate>data.xml_lv = result.find('string(/data/lv)')
68
- data.xml_lvnr = result.find('string(/data/lv/@id)')</manipulate>
105
+ <manipulate output="result"> data.airline = result.value('id')
106
+ data.costs += result.value('costs').to_f
107
+ status.update 1, 'Hotel'</manipulate>
69
108
  </call>
109
+ <parallel>
110
+ <loop pre_test="data.persons &gt; 0">
111
+ <parallel_branch pass="data.persons" local="p">
112
+ <call id="a2" endpoint="bookHotel">
113
+ <parameters>
114
+ <method>:post</method>
115
+ <parameters>
116
+ <to>data.to</to>
117
+ </parameters>
118
+ </parameters>
119
+ <manipulate output="result"> data.hotels &lt;&lt; result.value('id')
120
+ data.costs += result.value('costs').to_f</manipulate>
121
+ </call>
122
+ </parallel_branch>
123
+ <manipulate id="a3"> data.persons -= 1</manipulate>
124
+ </loop>
125
+ </parallel>
126
+ <choose>
127
+ <alternative condition="data.costs &gt; 700">
128
+ <call id="a4" endpoint="approve">
129
+ <parameters>
130
+ <method>:post</method>
131
+ <parameters>
132
+ <costs>data.costs</costs>
133
+ </parameters>
134
+ </parameters>
135
+ </call>
136
+ </alternative>
137
+ </choose>
70
138
  </description>
71
139
  </description>
72
140
  <transformation>
73
141
  <description type="copy"/>
74
- <dataelements type="xslt"/>
75
- <endpoints type="xslt"/>
142
+ <dataelements type="rest"/>
143
+ <endpoints type="rest"/>
76
144
  </transformation>
77
145
  </properties>
@@ -15,43 +15,43 @@
15
15
  -->
16
16
 
17
17
  <topics xmlns='http://riddl.org/ns/common-patterns/notifications-producer/1.0'>
18
- <topic id='running'>
19
- <event>activity_calling</event>
20
- <event>activity_failed</event>
21
- <event>activity_status</event>
22
- <event>activity_manipulating</event>
23
- <event>activity_done</event>
18
+ <topic id='activity'>
19
+ <event>calling</event>
20
+ <event>failed</event>
21
+ <event>manipulating</event>
22
+ <event>status</event>
23
+ <event>done</event>
24
24
  <vote>syncing_before</vote>
25
25
  <vote>syncing_after</vote>
26
26
  </topic>
27
- <topic id='properties/position'>
27
+ <topic id='position'>
28
28
  <event>change</event>
29
29
  </topic>
30
- <topic id='properties/description'>
30
+ <topic id='description'>
31
31
  <event>change</event>
32
32
  <event>error</event>
33
33
  <vote>modify</vote>
34
34
  </topic>
35
- <topic id='properties/state'>
35
+ <topic id='state'>
36
36
  <event>change</event>
37
37
  <vote>change</vote>
38
38
  </topic>
39
- <topic id='properties/status'>
39
+ <topic id='status'>
40
40
  <event>change</event>
41
41
  </topic>
42
- <topic id='properties/dataelements'>
42
+ <topic id='dataelements'>
43
43
  <event>change</event>
44
44
  </topic>
45
- <topic id='properties/endpoints'>
45
+ <topic id='endpoints'>
46
46
  <event>change</event>
47
47
  </topic>
48
- <topic id='properties/handlerwrapper'>
48
+ <topic id='handlerwrapper'>
49
49
  <event>change</event>
50
50
  </topic>
51
- <topic id='properties/transformation'>
51
+ <topic id='transformation'>
52
52
  <event>change</event>
53
53
  </topic>
54
- <topic id='properties/handlers'>
54
+ <topic id='handler'>
55
55
  <event>change</event>
56
56
  <event>error</event>
57
57
  <event>debug</event>
@@ -49,7 +49,23 @@
49
49
  <xsl:text>, { </xsl:text>
50
50
  <xsl:apply-templates select="d:parameters"/>
51
51
  <xsl:text> }</xsl:text>
52
- <xsl:apply-templates select="d:manipulate" mode="part-of-call">
52
+ <xsl:choose>
53
+ <xsl:when test="count(d:finalize | d:update)=2">
54
+ <xsl:text>, &lt;&lt;-END, &lt;&lt;-END</xsl:text>
55
+ </xsl:when>
56
+ <xsl:when test="d:finalize">
57
+ <xsl:text>, &lt;&lt;-END</xsl:text>
58
+ </xsl:when>
59
+ <xsl:when test="d:update">
60
+ <xsl:text>, nil, &lt;&lt;-END</xsl:text>
61
+ </xsl:when>
62
+ </xsl:choose>
63
+ <xsl:apply-templates select="d:finalize" mode="part-of-call">
64
+ <xsl:with-param name="myspace">
65
+ <xsl:value-of select="$myspace"/>
66
+ </xsl:with-param>
67
+ </xsl:apply-templates>
68
+ <xsl:apply-templates select="d:update" mode="part-of-call">
53
69
  <xsl:with-param name="myspace">
54
70
  <xsl:value-of select="$myspace"/>
55
71
  </xsl:with-param>
@@ -57,7 +73,7 @@
57
73
  <xsl:call-template name="print-newline"/>
58
74
  </xsl:if>
59
75
  <xsl:if test="name()='manipulate'">
60
- <xsl:call-template name="print-content">
76
+ <xsl:call-template name="print-mcontent">
61
77
  <xsl:with-param name="myspace">
62
78
  <xsl:value-of select="$myspace"/>
63
79
  </xsl:with-param>
@@ -357,7 +373,7 @@
357
373
  </xsl:otherwise>
358
374
  </xsl:choose>
359
375
  </xsl:template>
360
- <xsl:template match="d:manipulate" mode="part-of-call">
376
+ <xsl:template match="d:finalize | d:update" mode="part-of-call">
361
377
  <xsl:param name="myspace"/>
362
378
  <xsl:call-template name="print-content">
363
379
  <xsl:with-param name="myspace">
@@ -366,6 +382,21 @@
366
382
  </xsl:call-template>
367
383
  </xsl:template>
368
384
  <xsl:template name="print-content">
385
+ <xsl:param name="myspace"/>
386
+ <xsl:if test="text()">
387
+ <xsl:call-template name="print-newline"/>
388
+ <xsl:value-of select="text()"/>
389
+ <xsl:call-template name="print-newline"/>
390
+ <xsl:call-template name="print-space">
391
+ <xsl:with-param name="i">1</xsl:with-param>
392
+ <xsl:with-param name="count">
393
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
394
+ </xsl:with-param>
395
+ </xsl:call-template>
396
+ <xsl:text>END</xsl:text>
397
+ </xsl:if>
398
+ </xsl:template>
399
+ <xsl:template name="print-mcontent">
369
400
  <xsl:param name="myspace"/>
370
401
  <xsl:if test="text()">
371
402
  <xsl:choose>
@@ -378,7 +409,7 @@
378
409
  </xsl:if>
379
410
  </xsl:when>
380
411
  <xsl:otherwise>
381
- <xsl:text>, &lt;&lt;-end </xsl:text>
412
+ <xsl:text>, &lt;&lt;-END</xsl:text>
382
413
  </xsl:otherwise>
383
414
  </xsl:choose>
384
415
  <xsl:call-template name="print-newline"/>
@@ -390,7 +421,14 @@
390
421
  <xsl:value-of select="$myspace+$myspacemultiplier"/>
391
422
  </xsl:with-param>
392
423
  </xsl:call-template>
393
- <xsl:text>end</xsl:text>
424
+ <xsl:choose>
425
+ <xsl:when test="@language='application/x-ruby'">
426
+ <xsl:text>end</xsl:text>
427
+ </xsl:when>
428
+ <xsl:otherwise>
429
+ <xsl:text>END</xsl:text>
430
+ </xsl:otherwise>
431
+ </xsl:choose>
394
432
  </xsl:if>
395
433
  </xsl:template>
396
434
  <xsl:template name="print-space">