cpee 1.3.175 → 1.3.176

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.
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">