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
@@ -0,0 +1,148 @@
1
+ <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
2
+ <attributes>
3
+ <info/>
4
+ <modeltype>CPEE</modeltype>
5
+ </attributes>
6
+ <state>finished</state>
7
+ <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
8
+ <positions/>
9
+ <dataelements>
10
+ <persons>0</persons>
11
+ <card>Visa_12345</card>
12
+ <airline>American Airlines</airline>
13
+ <hotels>["Mariott","Mariott","Ibis"]</hotels>
14
+ <from>Vienna</from>
15
+ <to>Prague</to>
16
+ <costs>725.0</costs>
17
+ </dataelements>
18
+ <endpoints>
19
+ <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
20
+ <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
21
+ <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
22
+ </endpoints>
23
+ <dsl>call :a1, :bookAir, { :method =&gt; :post, :parameters =&gt; {:from =&gt; data.from, :to =&gt; data.to, :persons =&gt; data.persons} }, &lt;&lt;-end
24
+ data.airline = result.value('id')
25
+ data.costs += result.value('costs').to_f
26
+ status.update 1, 'Hotel'
27
+ end
28
+ parallel do
29
+ loop pre_test{data.persons &gt; 0} do
30
+ parallel_branch data.persons do |p|
31
+ call :a2, :bookHotel, { :method =&gt; :post, :parameters =&gt; {:to =&gt; data.to} }, &lt;&lt;-end
32
+ data.hotels &lt;&lt; result.value('id')
33
+ data.costs += result.value('costs').to_f
34
+ end
35
+ end
36
+ manipulate :a3, &lt;&lt;-end
37
+ data.persons -= 1
38
+ end
39
+ end
40
+ end
41
+ choose :inclusive do
42
+ alternative "data.costs &gt; 700" do
43
+ call :a4, :approve, { :method =&gt; :post, :parameters =&gt; {:costs =&gt; data.costs} }
44
+ end
45
+ end
46
+ </dsl>
47
+ <dslx>
48
+ <description xmlns="http://cpee.org/ns/description/1.0">
49
+ <call id="a1" endpoint="bookAir">
50
+ <parameters>
51
+ <method>:post</method>
52
+ <parameters>
53
+ <from>data.from</from>
54
+ <to>data.to</to>
55
+ <persons>data.persons</persons>
56
+ </parameters>
57
+ </parameters>
58
+ <manipulate output="result"> data.airline = result.value('id')
59
+ data.costs += result.value('costs').to_f
60
+ status.update 1, 'Hotel'</manipulate>
61
+ </call>
62
+ <parallel>
63
+ <loop pre_test="data.persons &gt; 0">
64
+ <parallel_branch pass="data.persons" local="p">
65
+ <call id="a2" endpoint="bookHotel">
66
+ <parameters>
67
+ <method>:post</method>
68
+ <parameters>
69
+ <to>data.to</to>
70
+ </parameters>
71
+ </parameters>
72
+ <manipulate output="result"> data.hotels &lt;&lt; result.value('id')
73
+ data.costs += result.value('costs').to_f</manipulate>
74
+ </call>
75
+ </parallel_branch>
76
+ <manipulate id="a3"> data.persons -= 1</manipulate>
77
+ </loop>
78
+ </parallel>
79
+ <choose>
80
+ <alternative condition="data.costs &gt; 700">
81
+ <call id="a4" endpoint="approve">
82
+ <parameters>
83
+ <method>:post</method>
84
+ <parameters>
85
+ <costs>data.costs</costs>
86
+ </parameters>
87
+ </parameters>
88
+ </call>
89
+ </alternative>
90
+ </choose>
91
+ </description>
92
+ </dslx>
93
+ <status>
94
+ <id>0</id>
95
+ <message>undefined</message>
96
+ </status>
97
+ <description>
98
+ <description xmlns="http://cpee.org/ns/description/1.0">
99
+ <call id="a1" endpoint="bookAir">
100
+ <parameters>
101
+ <method>:post</method>
102
+ <parameters>
103
+ <from>data.from</from>
104
+ <to>data.to</to>
105
+ <persons>data.persons</persons>
106
+ </parameters>
107
+ </parameters>
108
+ <manipulate output="result"> data.airline = result.value('id')
109
+ data.costs += result.value('costs').to_f
110
+ status.update 1, 'Hotel'</manipulate>
111
+ </call>
112
+ <parallel>
113
+ <loop pre_test="data.persons &gt; 0">
114
+ <parallel_branch pass="data.persons" local="p">
115
+ <call id="a2" endpoint="bookHotel">
116
+ <parameters>
117
+ <method>:post</method>
118
+ <parameters>
119
+ <to>data.to</to>
120
+ </parameters>
121
+ </parameters>
122
+ <manipulate output="result"> data.hotels &lt;&lt; result.value('id')
123
+ data.costs += result.value('costs').to_f</manipulate>
124
+ </call>
125
+ </parallel_branch>
126
+ <manipulate id="a3"> data.persons -= 1</manipulate>
127
+ </loop>
128
+ </parallel>
129
+ <choose>
130
+ <alternative condition="data.costs &gt; 700">
131
+ <call id="a4" endpoint="approve">
132
+ <parameters>
133
+ <method>:post</method>
134
+ <parameters>
135
+ <costs>data.costs</costs>
136
+ </parameters>
137
+ </parameters>
138
+ </call>
139
+ </alternative>
140
+ </choose>
141
+ </description>
142
+ </description>
143
+ <transformation>
144
+ <description type="copy"/>
145
+ <dataelements type="rest"/>
146
+ <endpoints type="rest"/>
147
+ </transformation>
148
+ </properties>
@@ -1,50 +1,61 @@
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>ready</state>
4
4
  <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
5
- <positions/>
5
+ <positions>
6
+ <a1>after</a1>
7
+ </positions>
6
8
  <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>
9
+ <x/>
12
10
  </dataelements>
13
11
  <endpoints>
14
12
  <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>
17
13
  </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']
14
+ <dsl>call :a1, :timeout, { :method =&gt; "post", :parameters =&gt; { :timeout =&gt; 2 } }, &lt;&lt;-end
15
+ data.x += "a1,"
22
16
  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)')
17
+ call :a2, :timeout, { :method =&gt; "post", :parameters =&gt; { :timeout =&gt; 4 } }, &lt;&lt;-end
18
+ data.x += "a2,"
19
+ end
20
+ call :a3, :timeout, { :method =&gt; "post", :parameters =&gt; { :timeout =&gt; 4 } }, &lt;&lt;-end
21
+ data.x += "a3,"
26
22
  end
27
23
  </dsl>
28
24
  <dslx>
29
25
  <description xmlns="http://cpee.org/ns/description/1.0">
30
- <call id="a1" endpoint="json" svg-label="Get JSON">
26
+ <!--{{{-->
27
+ <call id="a1" endpoint="timeout">
28
+ <parameters>
29
+ <!--{{{-->
30
+ <method>post</method>
31
+ <parameters>
32
+ <timeout>2</timeout>
33
+ </parameters>
34
+ </parameters>
35
+ <!--}}}-->
36
+ <manipulate output="result"> data.x += "a1,"</manipulate>
37
+ </call>
38
+ <call id="a2" endpoint="timeout">
31
39
  <parameters>
32
- <label>Get JSON</label>
33
- <method>get</method>
34
- <parameters/>
40
+ <!--{{{-->
41
+ <method>post</method>
42
+ <parameters>
43
+ <timeout>4</timeout>
44
+ </parameters>
35
45
  </parameters>
36
- <manipulate>data.json = result
37
- data.json_lv = result['lv']
38
- data.json_lvnr = result['lv']['lvnr']</manipulate>
46
+ <!--}}}-->
47
+ <manipulate output="result"> data.x += "a2,"</manipulate>
39
48
  </call>
40
- <call id="a2" endpoint="xml">
49
+ <call id="a3" endpoint="timeout">
41
50
  <parameters>
42
- <label>Get XML</label>
43
- <method>get</method>
44
- <parameters/>
51
+ <!--{{{-->
52
+ <method>post</method>
53
+ <parameters>
54
+ <timeout>4</timeout>
55
+ </parameters>
45
56
  </parameters>
46
- <manipulate>data.xml_lv = result.find('string(/data/lv)')
47
- data.xml_lvnr = result.find('string(/data/lv/@id)')</manipulate>
57
+ <!--}}}-->
58
+ <manipulate output="result"> data.x += "a3,"</manipulate>
48
59
  </call>
49
60
  </description>
50
61
  </dslx>
@@ -54,30 +65,45 @@ data.xml_lvnr = result.find('string(/data/lv/@id)')</manipulate>
54
65
  </status>
55
66
  <description>
56
67
  <description xmlns="http://cpee.org/ns/description/1.0">
57
- <call id="a1" endpoint="json" svg-label="Get JSON">
68
+ <!--{{{-->
69
+ <call id="a1" endpoint="timeout">
70
+ <parameters>
71
+ <!--{{{-->
72
+ <method>post</method>
73
+ <parameters>
74
+ <timeout>2</timeout>
75
+ </parameters>
76
+ </parameters>
77
+ <!--}}}-->
78
+ <manipulate output="result"> data.x += "a1,"</manipulate>
79
+ </call>
80
+ <call id="a2" endpoint="timeout">
58
81
  <parameters>
59
- <label>Get JSON</label>
60
- <method>get</method>
61
- <parameters/>
82
+ <!--{{{-->
83
+ <method>post</method>
84
+ <parameters>
85
+ <timeout>4</timeout>
86
+ </parameters>
62
87
  </parameters>
63
- <manipulate>data.json = result
64
- data.json_lv = result['lv']
65
- data.json_lvnr = result['lv']['lvnr']</manipulate>
88
+ <!--}}}-->
89
+ <manipulate output="result"> data.x += "a2,"</manipulate>
66
90
  </call>
67
- <call id="a2" endpoint="xml">
91
+ <call id="a3" endpoint="timeout">
68
92
  <parameters>
69
- <label>Get XML</label>
70
- <method>get</method>
71
- <parameters/>
93
+ <!--{{{-->
94
+ <method>post</method>
95
+ <parameters>
96
+ <timeout>4</timeout>
97
+ </parameters>
72
98
  </parameters>
73
- <manipulate>data.xml_lv = result.find('string(/data/lv)')
74
- data.xml_lvnr = result.find('string(/data/lv/@id)')</manipulate>
99
+ <!--}}}-->
100
+ <manipulate output="result"> data.x += "a3,"</manipulate>
75
101
  </call>
76
102
  </description>
77
103
  </description>
78
104
  <transformation>
79
105
  <description type="copy"/>
80
- <dataelements type="xslt"/>
81
- <endpoints type="xslt"/>
106
+ <dataelements type="rest"/>
107
+ <endpoints type="rest"/>
82
108
  </transformation>
83
109
  </properties>
@@ -0,0 +1,150 @@
1
+ <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
2
+ <attributes>
3
+ <info>Enter info here</info>
4
+ <modeltype>CPEE</modeltype>
5
+ </attributes>
6
+ <state>stopped</state>
7
+ <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
8
+ <positions>
9
+ <a4>after</a4>
10
+ </positions>
11
+ <dataelements>
12
+ <persons>0</persons>
13
+ <card>Visa_12345</card>
14
+ <airline>Lufthansa</airline>
15
+ <hotels>["Ibis","Ibis","Ibis"]</hotels>
16
+ <from>Vienna</from>
17
+ <to>Prague</to>
18
+ <costs>950.0</costs>
19
+ </dataelements>
20
+ <endpoints>
21
+ <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
22
+ <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
23
+ <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
24
+ </endpoints>
25
+ <dsl>call :a1, :bookAir, { :method =&gt; :post, :parameters =&gt; {:from =&gt; data.from, :to =&gt; data.to, :persons =&gt; data.persons} }, &lt;&lt;-end
26
+ data.airline = result.value('id')
27
+ data.costs += result.value('costs').to_f
28
+ status.update 1, 'Hotel'
29
+ end
30
+ parallel do
31
+ loop pre_test{data.persons &gt; 0} do
32
+ parallel_branch data.persons do |p|
33
+ call :a2, :bookHotel, { :method =&gt; :post, :parameters =&gt; {:to =&gt; data.to} }, &lt;&lt;-end
34
+ data.hotels &lt;&lt; result.value('id')
35
+ data.costs += result.value('costs').to_f
36
+ end
37
+ end
38
+ manipulate :a3, &lt;&lt;-end
39
+ data.persons -= 1
40
+ end
41
+ end
42
+ end
43
+ choose :inclusive do
44
+ alternative "data.costs &gt; 700" do
45
+ call :a4, :approve, { :method =&gt; :post, :parameters =&gt; {:costs =&gt; data.costs} }
46
+ end
47
+ end
48
+ </dsl>
49
+ <dslx>
50
+ <description xmlns="http://cpee.org/ns/description/1.0">
51
+ <call id="a1" endpoint="bookAir">
52
+ <parameters>
53
+ <method>:post</method>
54
+ <parameters>
55
+ <from>data.from</from>
56
+ <to>data.to</to>
57
+ <persons>data.persons</persons>
58
+ </parameters>
59
+ </parameters>
60
+ <manipulate output="result"> data.airline = result.value('id')
61
+ data.costs += result.value('costs').to_f
62
+ status.update 1, 'Hotel'</manipulate>
63
+ </call>
64
+ <parallel>
65
+ <loop pre_test="data.persons &gt; 0">
66
+ <parallel_branch pass="data.persons" local="p">
67
+ <call id="a2" endpoint="bookHotel">
68
+ <parameters>
69
+ <method>:post</method>
70
+ <parameters>
71
+ <to>data.to</to>
72
+ </parameters>
73
+ </parameters>
74
+ <manipulate output="result"> data.hotels &lt;&lt; result.value('id')
75
+ data.costs += result.value('costs').to_f</manipulate>
76
+ </call>
77
+ </parallel_branch>
78
+ <manipulate id="a3"> data.persons -= 1</manipulate>
79
+ </loop>
80
+ </parallel>
81
+ <choose>
82
+ <alternative condition="data.costs &gt; 700">
83
+ <call id="a4" endpoint="approve">
84
+ <parameters>
85
+ <method>:post</method>
86
+ <parameters>
87
+ <costs>data.costs</costs>
88
+ </parameters>
89
+ </parameters>
90
+ </call>
91
+ </alternative>
92
+ </choose>
93
+ </description>
94
+ </dslx>
95
+ <status>
96
+ <id>0</id>
97
+ <message>undefined</message>
98
+ </status>
99
+ <description>
100
+ <description xmlns="http://cpee.org/ns/description/1.0">
101
+ <call id="a1" endpoint="bookAir">
102
+ <parameters>
103
+ <method>:post</method>
104
+ <parameters>
105
+ <from>data.from</from>
106
+ <to>data.to</to>
107
+ <persons>data.persons</persons>
108
+ </parameters>
109
+ </parameters>
110
+ <manipulate output="result"> data.airline = result.value('id')
111
+ data.costs += result.value('costs').to_f
112
+ status.update 1, 'Hotel'</manipulate>
113
+ </call>
114
+ <parallel>
115
+ <loop pre_test="data.persons &gt; 0">
116
+ <parallel_branch pass="data.persons" local="p">
117
+ <call id="a2" endpoint="bookHotel">
118
+ <parameters>
119
+ <method>:post</method>
120
+ <parameters>
121
+ <to>data.to</to>
122
+ </parameters>
123
+ </parameters>
124
+ <manipulate output="result"> data.hotels &lt;&lt; result.value('id')
125
+ data.costs += result.value('costs').to_f</manipulate>
126
+ </call>
127
+ </parallel_branch>
128
+ <manipulate id="a3"> data.persons -= 1</manipulate>
129
+ </loop>
130
+ </parallel>
131
+ <choose>
132
+ <alternative condition="data.costs &gt; 700">
133
+ <call id="a4" endpoint="approve">
134
+ <parameters>
135
+ <method>:post</method>
136
+ <parameters>
137
+ <costs>data.costs</costs>
138
+ </parameters>
139
+ </parameters>
140
+ </call>
141
+ </alternative>
142
+ </choose>
143
+ </description>
144
+ </description>
145
+ <transformation>
146
+ <description type="copy"/>
147
+ <dataelements type="rest"/>
148
+ <endpoints type="rest"/>
149
+ </transformation>
150
+ </properties>