cpee 1.3.102

Sign up to get free protection for your applications and to get access to all the features.
Files changed (281) hide show
  1. data/AUTHORS +3 -0
  2. data/COPYING +165 -0
  3. data/FEATURES +28 -0
  4. data/INSTALL +23 -0
  5. data/README +7 -0
  6. data/Rakefile +28 -0
  7. data/cockpit/contrib/symbols.svg +224 -0
  8. data/cockpit/contrib/transformation1.xsl +264 -0
  9. data/cockpit/contrib/transformation2.xsl +10 -0
  10. data/cockpit/css/ui.css +155 -0
  11. data/cockpit/index.html +241 -0
  12. data/cockpit/js/details.js +146 -0
  13. data/cockpit/js/instance.js +927 -0
  14. data/cockpit/js/parameters.js +66 -0
  15. data/cockpit/js/ui.js +48 -0
  16. data/cockpit/js/wfadaptor.cpee.js +1082 -0
  17. data/cockpit/lib/contextmenu.css +72 -0
  18. data/cockpit/lib/contextmenu.js +63 -0
  19. data/cockpit/lib/jquery-ui.custom.min.js +259 -0
  20. data/cockpit/lib/jquery-ui.custom.min.txt +16 -0
  21. data/cockpit/lib/jquery.caret.min.js +10 -0
  22. data/cockpit/lib/jquery.min.js +4 -0
  23. data/cockpit/lib/jquery.svgdom.js +281 -0
  24. data/cockpit/lib/parsequery.js +19 -0
  25. data/cockpit/lib/printf.js +368 -0
  26. data/cockpit/lib/strftime.min.js +1 -0
  27. data/cockpit/lib/ui.css +270 -0
  28. data/cockpit/lib/ui.js +60 -0
  29. data/cockpit/lib/underscore.min.js +27 -0
  30. data/cockpit/lib/util.js +53 -0
  31. data/cockpit/lib/wfadaptor-doc/demo1.html +517 -0
  32. data/cockpit/lib/wfadaptor-doc/demo2.html +84 -0
  33. data/cockpit/lib/wfadaptor-doc/index.html +54 -0
  34. data/cockpit/lib/wfadaptor.css +217 -0
  35. data/cockpit/lib/wfadaptor.js +410 -0
  36. data/cockpit/testsets/ADVENTURE Dynamic Order.xml +353 -0
  37. data/cockpit/testsets/ADVENTURE Main Loop.xml +327 -0
  38. data/cockpit/testsets/ADVENTURE Order.xml +424 -0
  39. data/cockpit/testsets/ADVENTURE Performance Test 1.xml +311 -0
  40. data/cockpit/testsets/ADVENTURE Performance Test 2.xml +297 -0
  41. data/cockpit/testsets/Concurrent.xml +315 -0
  42. data/cockpit/testsets/Coopis Testset.xml +346 -0
  43. data/cockpit/testsets/Endpoints and Data Manipulation.xml +359 -0
  44. data/cockpit/testsets/ICSOC Testset.xml +354 -0
  45. data/cockpit/testsets/Linear.xml +328 -0
  46. data/cockpit/testsets/Mangler 1.xml +352 -0
  47. data/cockpit/testsets/Mangler 2.xml +372 -0
  48. data/cockpit/testsets/RESCUE - Book Movie - Local.xml +385 -0
  49. data/cockpit/testsets/RESCUE - Book Movie.xml +385 -0
  50. data/cockpit/testsets/RESCUE - Loop-Parallel Injection.xml +393 -0
  51. data/cockpit/testsets/SOPROMO Test Sonification.xml +356 -0
  52. data/cockpit/testsets/Syncing P34 1.xml +329 -0
  53. data/cockpit/testsets/Syncing P34 2.xml +329 -0
  54. data/cockpit/testsets/Syncing P34 3.xml +329 -0
  55. data/cockpit/testsets/Syncing P34.xml +329 -0
  56. data/cockpit/testsets/TEST - Bad Loop.xml +428 -0
  57. data/cockpit/testsets/TEST - Wrong Positions.xml +470 -0
  58. data/cockpit/testsets/index.xml +24 -0
  59. data/contrib/Screenshot at 2011-09-28 02:38:11.png +0 -0
  60. data/contrib/logo2-small.png +0 -0
  61. data/contrib/logo2.png +0 -0
  62. data/contrib/logo2.svg +7610 -0
  63. data/contrib/logo2a.png +0 -0
  64. data/contrib/logo2a.svg +367 -0
  65. data/cpee.gemspec +24 -0
  66. data/lib/cpee.xml +39 -0
  67. data/lib/cpee/callback.rb +40 -0
  68. data/lib/cpee/controller.rb +440 -0
  69. data/lib/cpee/empty_workflow.rb +24 -0
  70. data/lib/cpee/handler_notifications.rb +46 -0
  71. data/lib/cpee/handler_properties.rb +43 -0
  72. data/lib/cpee/implementation.rb +174 -0
  73. data/lib/engine.xml +85 -0
  74. data/lib/engine/callbacks.rng +41 -0
  75. data/lib/engine/instance-info.rng +41 -0
  76. data/lib/engine/instances.rng +38 -0
  77. data/server/handlerwrappers/default.rb +142 -0
  78. data/server/handlerwrappers/rescue.rb +216 -0
  79. data/server/handlerwrappers/soap.rb +152 -0
  80. data/server/instances/1/notifications/1d41ebf5e52bf039b3c3873fddb8e9bd/consumer-secret +1 -0
  81. data/server/instances/1/notifications/1d41ebf5e52bf039b3c3873fddb8e9bd/producer-secret +1 -0
  82. data/server/instances/1/notifications/1d41ebf5e52bf039b3c3873fddb8e9bd/subscription.xml +27 -0
  83. data/server/instances/1/notifications/66ad546f13c6c7c84f36215c24dd2e6e/consumer-secret +1 -0
  84. data/server/instances/1/notifications/66ad546f13c6c7c84f36215c24dd2e6e/producer-secret +1 -0
  85. data/server/instances/1/notifications/66ad546f13c6c7c84f36215c24dd2e6e/subscription.xml +27 -0
  86. data/server/instances/1/notifications/9f23b768395a19cc1dd6c2d2a243c78e/consumer-secret +1 -0
  87. data/server/instances/1/notifications/9f23b768395a19cc1dd6c2d2a243c78e/producer-secret +1 -0
  88. data/server/instances/1/notifications/9f23b768395a19cc1dd6c2d2a243c78e/subscription.xml +27 -0
  89. data/server/instances/1/notifications/fa690a88cc565dfa53b13ced355cd039/consumer-secret +1 -0
  90. data/server/instances/1/notifications/fa690a88cc565dfa53b13ced355cd039/producer-secret +1 -0
  91. data/server/instances/1/notifications/fa690a88cc565dfa53b13ced355cd039/subscription.xml +5 -0
  92. data/server/instances/1/properties.xml +522 -0
  93. data/server/instances/10/notifications/0867c4a937f882af259137e36d331261/consumer-secret +1 -0
  94. data/server/instances/10/notifications/0867c4a937f882af259137e36d331261/producer-secret +1 -0
  95. data/server/instances/10/notifications/0867c4a937f882af259137e36d331261/subscription.xml +27 -0
  96. data/server/instances/10/notifications/28acb605c56588ec8e47431c1fcf0b20/consumer-secret +1 -0
  97. data/server/instances/10/notifications/28acb605c56588ec8e47431c1fcf0b20/producer-secret +1 -0
  98. data/server/instances/10/notifications/28acb605c56588ec8e47431c1fcf0b20/subscription.xml +27 -0
  99. data/server/instances/10/notifications/31d3f699def1d1e86dc18ef421f718ad/consumer-secret +1 -0
  100. data/server/instances/10/notifications/31d3f699def1d1e86dc18ef421f718ad/producer-secret +1 -0
  101. data/server/instances/10/notifications/31d3f699def1d1e86dc18ef421f718ad/subscription.xml +27 -0
  102. data/server/instances/10/notifications/380b57220000c45342fc56a1ed8e9e3f/consumer-secret +1 -0
  103. data/server/instances/10/notifications/380b57220000c45342fc56a1ed8e9e3f/producer-secret +1 -0
  104. data/server/instances/10/notifications/380b57220000c45342fc56a1ed8e9e3f/subscription.xml +27 -0
  105. data/server/instances/10/notifications/41eeb5d90b513781fb4b440cb97ca7f1/consumer-secret +1 -0
  106. data/server/instances/10/notifications/41eeb5d90b513781fb4b440cb97ca7f1/producer-secret +1 -0
  107. data/server/instances/10/notifications/41eeb5d90b513781fb4b440cb97ca7f1/subscription.xml +27 -0
  108. data/server/instances/10/notifications/4d8c1b3a8dfdacac98144fad072c46d8/consumer-secret +1 -0
  109. data/server/instances/10/notifications/4d8c1b3a8dfdacac98144fad072c46d8/producer-secret +1 -0
  110. data/server/instances/10/notifications/4d8c1b3a8dfdacac98144fad072c46d8/subscription.xml +27 -0
  111. data/server/instances/10/notifications/4dde696cfb001e00a7efbd8e86ba227d/consumer-secret +1 -0
  112. data/server/instances/10/notifications/4dde696cfb001e00a7efbd8e86ba227d/producer-secret +1 -0
  113. data/server/instances/10/notifications/4dde696cfb001e00a7efbd8e86ba227d/subscription.xml +27 -0
  114. data/server/instances/10/notifications/4e1c0065dd95f7c175bbccb874f0baea/consumer-secret +1 -0
  115. data/server/instances/10/notifications/4e1c0065dd95f7c175bbccb874f0baea/producer-secret +1 -0
  116. data/server/instances/10/notifications/4e1c0065dd95f7c175bbccb874f0baea/subscription.xml +27 -0
  117. data/server/instances/10/notifications/6198fb7d6a8249f7820e3e57eeefa8af/consumer-secret +1 -0
  118. data/server/instances/10/notifications/6198fb7d6a8249f7820e3e57eeefa8af/producer-secret +1 -0
  119. data/server/instances/10/notifications/6198fb7d6a8249f7820e3e57eeefa8af/subscription.xml +27 -0
  120. data/server/instances/10/notifications/6aeb90da52abc150f0f0135d8ba2dbac/consumer-secret +1 -0
  121. data/server/instances/10/notifications/6aeb90da52abc150f0f0135d8ba2dbac/producer-secret +1 -0
  122. data/server/instances/10/notifications/6aeb90da52abc150f0f0135d8ba2dbac/subscription.xml +27 -0
  123. data/server/instances/10/notifications/6d77f5bac1eb9d6165394b6bfc9b492a/consumer-secret +1 -0
  124. data/server/instances/10/notifications/6d77f5bac1eb9d6165394b6bfc9b492a/producer-secret +1 -0
  125. data/server/instances/10/notifications/6d77f5bac1eb9d6165394b6bfc9b492a/subscription.xml +27 -0
  126. data/server/instances/10/notifications/7092411a6bb6822f651798fdcd3c4787/consumer-secret +1 -0
  127. data/server/instances/10/notifications/7092411a6bb6822f651798fdcd3c4787/producer-secret +1 -0
  128. data/server/instances/10/notifications/7092411a6bb6822f651798fdcd3c4787/subscription.xml +27 -0
  129. data/server/instances/10/notifications/7ab29bbad4122295c05f9e33fd1e0fc3/consumer-secret +1 -0
  130. data/server/instances/10/notifications/7ab29bbad4122295c05f9e33fd1e0fc3/producer-secret +1 -0
  131. data/server/instances/10/notifications/7ab29bbad4122295c05f9e33fd1e0fc3/subscription.xml +27 -0
  132. data/server/instances/10/notifications/7fabcecc57fe0bd27ce50bedaef47bd2/consumer-secret +1 -0
  133. data/server/instances/10/notifications/7fabcecc57fe0bd27ce50bedaef47bd2/producer-secret +1 -0
  134. data/server/instances/10/notifications/7fabcecc57fe0bd27ce50bedaef47bd2/subscription.xml +27 -0
  135. data/server/instances/10/notifications/85760dad8f7abbd73ae1dd44140dabf1/consumer-secret +1 -0
  136. data/server/instances/10/notifications/85760dad8f7abbd73ae1dd44140dabf1/producer-secret +1 -0
  137. data/server/instances/10/notifications/85760dad8f7abbd73ae1dd44140dabf1/subscription.xml +27 -0
  138. data/server/instances/10/notifications/8b9a96d109d44a1fc22858006c0f0e16/consumer-secret +1 -0
  139. data/server/instances/10/notifications/8b9a96d109d44a1fc22858006c0f0e16/producer-secret +1 -0
  140. data/server/instances/10/notifications/8b9a96d109d44a1fc22858006c0f0e16/subscription.xml +27 -0
  141. data/server/instances/10/notifications/9120a477e64d7debae2cda964a9948a0/consumer-secret +1 -0
  142. data/server/instances/10/notifications/9120a477e64d7debae2cda964a9948a0/producer-secret +1 -0
  143. data/server/instances/10/notifications/9120a477e64d7debae2cda964a9948a0/subscription.xml +27 -0
  144. data/server/instances/10/notifications/93c5a5ab72a745c0f9fffe2fe58db205/consumer-secret +1 -0
  145. data/server/instances/10/notifications/93c5a5ab72a745c0f9fffe2fe58db205/producer-secret +1 -0
  146. data/server/instances/10/notifications/93c5a5ab72a745c0f9fffe2fe58db205/subscription.xml +27 -0
  147. data/server/instances/10/notifications/a8db1498388588bddf518878263fd898/consumer-secret +1 -0
  148. data/server/instances/10/notifications/a8db1498388588bddf518878263fd898/producer-secret +1 -0
  149. data/server/instances/10/notifications/a8db1498388588bddf518878263fd898/subscription.xml +27 -0
  150. data/server/instances/10/notifications/b534f057c1c97f65e68f59427958e78d/consumer-secret +1 -0
  151. data/server/instances/10/notifications/b534f057c1c97f65e68f59427958e78d/producer-secret +1 -0
  152. data/server/instances/10/notifications/b534f057c1c97f65e68f59427958e78d/subscription.xml +27 -0
  153. data/server/instances/10/notifications/bb3d69ee3df32f3b5cb69a51d1af8ae4/consumer-secret +1 -0
  154. data/server/instances/10/notifications/bb3d69ee3df32f3b5cb69a51d1af8ae4/producer-secret +1 -0
  155. data/server/instances/10/notifications/bb3d69ee3df32f3b5cb69a51d1af8ae4/subscription.xml +27 -0
  156. data/server/instances/10/notifications/bc597391804363834987804436b8b63b/consumer-secret +1 -0
  157. data/server/instances/10/notifications/bc597391804363834987804436b8b63b/producer-secret +1 -0
  158. data/server/instances/10/notifications/bc597391804363834987804436b8b63b/subscription.xml +27 -0
  159. data/server/instances/10/notifications/bf2f6599eebcd9a08e47bdafd4a67660/consumer-secret +1 -0
  160. data/server/instances/10/notifications/bf2f6599eebcd9a08e47bdafd4a67660/producer-secret +1 -0
  161. data/server/instances/10/notifications/bf2f6599eebcd9a08e47bdafd4a67660/subscription.xml +27 -0
  162. data/server/instances/10/notifications/db9cf0ae80bd61e6124c382b992a1550/consumer-secret +1 -0
  163. data/server/instances/10/notifications/db9cf0ae80bd61e6124c382b992a1550/producer-secret +1 -0
  164. data/server/instances/10/notifications/db9cf0ae80bd61e6124c382b992a1550/subscription.xml +27 -0
  165. data/server/instances/10/notifications/e528089610c991500eb2e8b094f6f169/consumer-secret +1 -0
  166. data/server/instances/10/notifications/e528089610c991500eb2e8b094f6f169/producer-secret +1 -0
  167. data/server/instances/10/notifications/e528089610c991500eb2e8b094f6f169/subscription.xml +27 -0
  168. data/server/instances/10/notifications/e7d3ca382d26b5f5eba00c40c29827da/consumer-secret +1 -0
  169. data/server/instances/10/notifications/e7d3ca382d26b5f5eba00c40c29827da/producer-secret +1 -0
  170. data/server/instances/10/notifications/e7d3ca382d26b5f5eba00c40c29827da/subscription.xml +27 -0
  171. data/server/instances/10/notifications/ebdc914fde6fe299143ae4601c142738/consumer-secret +1 -0
  172. data/server/instances/10/notifications/ebdc914fde6fe299143ae4601c142738/producer-secret +1 -0
  173. data/server/instances/10/notifications/ebdc914fde6fe299143ae4601c142738/subscription.xml +27 -0
  174. data/server/instances/10/notifications/f26b2b9efc10b9259647cf1a2b934694/consumer-secret +1 -0
  175. data/server/instances/10/notifications/f26b2b9efc10b9259647cf1a2b934694/producer-secret +1 -0
  176. data/server/instances/10/notifications/f26b2b9efc10b9259647cf1a2b934694/subscription.xml +27 -0
  177. data/server/instances/10/notifications/f4e1d7808171fe7c5fab4a99145ea185/consumer-secret +1 -0
  178. data/server/instances/10/notifications/f4e1d7808171fe7c5fab4a99145ea185/producer-secret +1 -0
  179. data/server/instances/10/notifications/f4e1d7808171fe7c5fab4a99145ea185/subscription.xml +27 -0
  180. data/server/instances/10/notifications/f7e947a1b4b32f3dad5debd44fc3236b/consumer-secret +1 -0
  181. data/server/instances/10/notifications/f7e947a1b4b32f3dad5debd44fc3236b/producer-secret +1 -0
  182. data/server/instances/10/notifications/f7e947a1b4b32f3dad5debd44fc3236b/subscription.xml +27 -0
  183. data/server/instances/10/notifications/fbf5d0ae050a50e8a2fca6bc60f5b8d6/consumer-secret +1 -0
  184. data/server/instances/10/notifications/fbf5d0ae050a50e8a2fca6bc60f5b8d6/producer-secret +1 -0
  185. data/server/instances/10/notifications/fbf5d0ae050a50e8a2fca6bc60f5b8d6/subscription.xml +27 -0
  186. data/server/instances/10/properties.xml +388 -0
  187. data/server/instances/11/notifications/134c18da209261bc409ccd137b2e46d3/consumer-secret +1 -0
  188. data/server/instances/11/notifications/134c18da209261bc409ccd137b2e46d3/producer-secret +1 -0
  189. data/server/instances/11/notifications/134c18da209261bc409ccd137b2e46d3/subscription.xml +27 -0
  190. data/server/instances/11/notifications/48862f47f66e8229582bc91fbc38a512/consumer-secret +1 -0
  191. data/server/instances/11/notifications/48862f47f66e8229582bc91fbc38a512/producer-secret +1 -0
  192. data/server/instances/11/notifications/48862f47f66e8229582bc91fbc38a512/subscription.xml +5 -0
  193. data/server/instances/11/properties.xml +517 -0
  194. data/server/instances/2/notifications/0bbfabbebf46b850383b4e1d7bd926e3/consumer-secret +1 -0
  195. data/server/instances/2/notifications/0bbfabbebf46b850383b4e1d7bd926e3/producer-secret +1 -0
  196. data/server/instances/2/notifications/0bbfabbebf46b850383b4e1d7bd926e3/subscription.xml +27 -0
  197. data/server/instances/2/notifications/1d426895d19caa1471c713e80cc3c845/consumer-secret +1 -0
  198. data/server/instances/2/notifications/1d426895d19caa1471c713e80cc3c845/producer-secret +1 -0
  199. data/server/instances/2/notifications/1d426895d19caa1471c713e80cc3c845/subscription.xml +27 -0
  200. data/server/instances/2/notifications/292c8983aa798f0c5ced5ddc4b58abe4/consumer-secret +1 -0
  201. data/server/instances/2/notifications/292c8983aa798f0c5ced5ddc4b58abe4/producer-secret +1 -0
  202. data/server/instances/2/notifications/292c8983aa798f0c5ced5ddc4b58abe4/subscription.xml +27 -0
  203. data/server/instances/2/notifications/332c3026c8ad3075b092bd7e7a2b4f71/consumer-secret +1 -0
  204. data/server/instances/2/notifications/332c3026c8ad3075b092bd7e7a2b4f71/producer-secret +1 -0
  205. data/server/instances/2/notifications/332c3026c8ad3075b092bd7e7a2b4f71/subscription.xml +27 -0
  206. data/server/instances/2/notifications/d377446918808d23d03291fc1140883c/consumer-secret +1 -0
  207. data/server/instances/2/notifications/d377446918808d23d03291fc1140883c/producer-secret +1 -0
  208. data/server/instances/2/notifications/d377446918808d23d03291fc1140883c/subscription.xml +27 -0
  209. data/server/instances/2/notifications/d5b65c7cbff5d259e4ee8405190ec558/consumer-secret +1 -0
  210. data/server/instances/2/notifications/d5b65c7cbff5d259e4ee8405190ec558/producer-secret +1 -0
  211. data/server/instances/2/notifications/d5b65c7cbff5d259e4ee8405190ec558/subscription.xml +27 -0
  212. data/server/instances/2/notifications/d7ee4fedabb402dc43986dfa199e6768/consumer-secret +1 -0
  213. data/server/instances/2/notifications/d7ee4fedabb402dc43986dfa199e6768/producer-secret +1 -0
  214. data/server/instances/2/notifications/d7ee4fedabb402dc43986dfa199e6768/subscription.xml +5 -0
  215. data/server/instances/2/properties.xml +517 -0
  216. data/server/instances/3/notifications/27195e2503deaf25b3291394fe97985c/consumer-secret +1 -0
  217. data/server/instances/3/notifications/27195e2503deaf25b3291394fe97985c/producer-secret +1 -0
  218. data/server/instances/3/notifications/27195e2503deaf25b3291394fe97985c/subscription.xml +5 -0
  219. data/server/instances/3/notifications/6cec45935d78709a4aa6622491006f4b/consumer-secret +1 -0
  220. data/server/instances/3/notifications/6cec45935d78709a4aa6622491006f4b/producer-secret +1 -0
  221. data/server/instances/3/notifications/6cec45935d78709a4aa6622491006f4b/subscription.xml +27 -0
  222. data/server/instances/3/notifications/755542b2fb8d0c8fb9add29e012ec707/consumer-secret +1 -0
  223. data/server/instances/3/notifications/755542b2fb8d0c8fb9add29e012ec707/producer-secret +1 -0
  224. data/server/instances/3/notifications/755542b2fb8d0c8fb9add29e012ec707/subscription.xml +27 -0
  225. data/server/instances/3/properties.xml +517 -0
  226. data/server/instances/4/notifications/151e90db818eb5812905257a8eb7cea4/consumer-secret +1 -0
  227. data/server/instances/4/notifications/151e90db818eb5812905257a8eb7cea4/producer-secret +1 -0
  228. data/server/instances/4/notifications/151e90db818eb5812905257a8eb7cea4/subscription.xml +5 -0
  229. data/server/instances/4/notifications/a89df398fcc088c067c39ae3974ec57f/consumer-secret +1 -0
  230. data/server/instances/4/notifications/a89df398fcc088c067c39ae3974ec57f/producer-secret +1 -0
  231. data/server/instances/4/notifications/a89df398fcc088c067c39ae3974ec57f/subscription.xml +27 -0
  232. data/server/instances/4/properties.xml +517 -0
  233. data/server/instances/5/notifications/02ebbf888bd3efd11924f4c416d784e4/consumer-secret +1 -0
  234. data/server/instances/5/notifications/02ebbf888bd3efd11924f4c416d784e4/producer-secret +1 -0
  235. data/server/instances/5/notifications/02ebbf888bd3efd11924f4c416d784e4/subscription.xml +27 -0
  236. data/server/instances/5/notifications/0b9589d847cccf768013b6082893bce6/consumer-secret +1 -0
  237. data/server/instances/5/notifications/0b9589d847cccf768013b6082893bce6/producer-secret +1 -0
  238. data/server/instances/5/notifications/0b9589d847cccf768013b6082893bce6/subscription.xml +5 -0
  239. data/server/instances/5/properties.xml +517 -0
  240. data/server/instances/6/notifications/23da9f5c4548f384d625e6d12b3ebe2d/consumer-secret +1 -0
  241. data/server/instances/6/notifications/23da9f5c4548f384d625e6d12b3ebe2d/producer-secret +1 -0
  242. data/server/instances/6/notifications/23da9f5c4548f384d625e6d12b3ebe2d/subscription.xml +5 -0
  243. data/server/instances/6/notifications/282e7077e9c5b9972413cc92a6dcffc3/consumer-secret +1 -0
  244. data/server/instances/6/notifications/282e7077e9c5b9972413cc92a6dcffc3/producer-secret +1 -0
  245. data/server/instances/6/notifications/282e7077e9c5b9972413cc92a6dcffc3/subscription.xml +27 -0
  246. data/server/instances/6/notifications/7e57d7438db8210766eab6873124dc02/consumer-secret +1 -0
  247. data/server/instances/6/notifications/7e57d7438db8210766eab6873124dc02/producer-secret +1 -0
  248. data/server/instances/6/notifications/7e57d7438db8210766eab6873124dc02/subscription.xml +27 -0
  249. data/server/instances/6/properties.xml +517 -0
  250. data/server/instances/7/notifications/7276b795b5ed2f6638473526d9b1b1e1/consumer-secret +1 -0
  251. data/server/instances/7/notifications/7276b795b5ed2f6638473526d9b1b1e1/producer-secret +1 -0
  252. data/server/instances/7/notifications/7276b795b5ed2f6638473526d9b1b1e1/subscription.xml +27 -0
  253. data/server/instances/7/notifications/f3fbbf27fcbcc02a9f8a614326461a5c/consumer-secret +1 -0
  254. data/server/instances/7/notifications/f3fbbf27fcbcc02a9f8a614326461a5c/producer-secret +1 -0
  255. data/server/instances/7/notifications/f3fbbf27fcbcc02a9f8a614326461a5c/subscription.xml +5 -0
  256. data/server/instances/7/properties.xml +517 -0
  257. data/server/instances/8/notifications/2854ed5a8f97a33d31f908f67544ec62/consumer-secret +1 -0
  258. data/server/instances/8/notifications/2854ed5a8f97a33d31f908f67544ec62/producer-secret +1 -0
  259. data/server/instances/8/notifications/2854ed5a8f97a33d31f908f67544ec62/subscription.xml +27 -0
  260. data/server/instances/8/notifications/595259518a5cb2ce286bb39840f7a64c/consumer-secret +1 -0
  261. data/server/instances/8/notifications/595259518a5cb2ce286bb39840f7a64c/producer-secret +1 -0
  262. data/server/instances/8/notifications/595259518a5cb2ce286bb39840f7a64c/subscription.xml +5 -0
  263. data/server/instances/8/properties.xml +517 -0
  264. data/server/instances/9/notifications/54e96913d66f1dd69ec82d2b52268232/consumer-secret +1 -0
  265. data/server/instances/9/notifications/54e96913d66f1dd69ec82d2b52268232/producer-secret +1 -0
  266. data/server/instances/9/notifications/54e96913d66f1dd69ec82d2b52268232/subscription.xml +5 -0
  267. data/server/instances/9/notifications/5debc1fd138fdc80940cd5647003ed45/consumer-secret +1 -0
  268. data/server/instances/9/notifications/5debc1fd138fdc80940cd5647003ed45/producer-secret +1 -0
  269. data/server/instances/9/notifications/5debc1fd138fdc80940cd5647003ed45/subscription.xml +27 -0
  270. data/server/instances/9/properties.xml +517 -0
  271. data/server/resources/properties.init +351 -0
  272. data/server/resources/properties.schema.active +79 -0
  273. data/server/resources/properties.schema.finished +79 -0
  274. data/server/resources/properties.schema.inactive +79 -0
  275. data/server/resources/topics.xml +55 -0
  276. data/server/server.rb +25 -0
  277. data/server/todo.txt +20 -0
  278. data/test/delete.rb +27 -0
  279. data/test/load.rb +55 -0
  280. data/test/testset.xml +297 -0
  281. metadata +382 -0
@@ -0,0 +1,346 @@
1
+ <?xml version="1.0"?>
2
+ <testset>
3
+ <positions/>
4
+ <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
5
+ <dataelements>
6
+ <persons>3</persons>
7
+ <card>Visa_12345</card>
8
+ <airline>null</airline>
9
+ <hotels>[]</hotels>
10
+ <from>Vienna</from>
11
+ <to>Prague</to>
12
+ <costs>0</costs>
13
+ </dataelements>
14
+ <endpoints>
15
+ <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
16
+ <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
17
+ <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
18
+ </endpoints>
19
+ <description xmlns="http://cpee.org/ns/description/1.0">
20
+ <call id="a1" endpoint="bookAir">
21
+ <parameters>
22
+ <method>post</method>
23
+ <parameters>
24
+ <from>data.from</from>
25
+ <to>data.to</to>
26
+ <persons>data.persons</persons>
27
+ </parameters>
28
+ </parameters>
29
+ <manipulate output="result"> data.airline = result.value('id')
30
+ data.costs += result.value('costs').to_f
31
+ status.update 1, 'Hotel'</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">
37
+ <parameters>
38
+ <method>post</method>
39
+ <parameters>
40
+ <to>data.to</to>
41
+ </parameters>
42
+ </parameters>
43
+ <manipulate output="result"> data.hotels &lt;&lt; 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
+ </parallel>
50
+ <choose>
51
+ <alternative condition="data.costs > 700">
52
+ <call id="a4" endpoint="approve">
53
+ <parameters>
54
+ <method>post</method>
55
+ <parameters>
56
+ <costs>data.costs</costs>
57
+ </parameters>
58
+ </parameters>
59
+ </call>
60
+ </alternative>
61
+ </choose>
62
+ </description>
63
+ <transformation>
64
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:d="http://cpee.org/ns/description/1.0">
65
+ <xsl:output method="text"/>
66
+ <xsl:strip-space elements="*"/>
67
+ <xsl:variable name="myspacemultiplier">2</xsl:variable>
68
+
69
+ <xsl:template match="/">
70
+ <xsl:apply-templates select="//d:description"/>
71
+ </xsl:template>
72
+
73
+ <xsl:template match="//d:description">
74
+ <xsl:apply-templates>
75
+ <xsl:with-param name="myspace"><xsl:value-of select="-1*$myspacemultiplier"/></xsl:with-param>
76
+ </xsl:apply-templates>
77
+ </xsl:template>
78
+
79
+ <xsl:template match="*">
80
+ <xsl:param name="myspace"/>
81
+ <xsl:call-template name="print-space">
82
+ <xsl:with-param name="i">1</xsl:with-param>
83
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
84
+ </xsl:call-template>
85
+ <xsl:if test="name()='call' or name()='manipulate'">
86
+ <xsl:text>activity :</xsl:text>
87
+ <xsl:value-of select="@id"/>
88
+ </xsl:if>
89
+ <xsl:if test="name()='call'">
90
+ <xsl:text>, :call, :</xsl:text>
91
+ <xsl:value-of select="@endpoint"/>
92
+ <xsl:apply-templates select="d:parameters"/>
93
+ <xsl:apply-templates select="d:manipulate" mode="part-of-call">
94
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace"/></xsl:with-param>
95
+ </xsl:apply-templates>
96
+ <xsl:call-template name="print-newline"/>
97
+ </xsl:if>
98
+ <xsl:if test="name()='manipulate'">
99
+ <xsl:text>, :manipulate</xsl:text>
100
+ <xsl:call-template name="print-content">
101
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace"/></xsl:with-param>
102
+ </xsl:call-template>
103
+ <xsl:call-template name="print-newline"/>
104
+ </xsl:if>
105
+ <xsl:if test="name()='parallel'">
106
+ <xsl:text>parallel</xsl:text>
107
+ <xsl:if test="@wait">
108
+ <xsl:text> :wait => </xsl:text>
109
+ <xsl:value-of select="@wait"/>
110
+ </xsl:if>
111
+ <xsl:text> do</xsl:text>
112
+ <xsl:call-template name="print-newline"/>
113
+ <xsl:apply-templates>
114
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
115
+ </xsl:apply-templates>
116
+ <xsl:call-template name="print-space">
117
+ <xsl:with-param name="i">1</xsl:with-param>
118
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
119
+ </xsl:call-template>
120
+ <xsl:text>end</xsl:text>
121
+ <xsl:call-template name="print-newline"/>
122
+ </xsl:if>
123
+ <xsl:if test="name()='loop'">
124
+ <xsl:text>loop </xsl:text>
125
+ <xsl:if test="@pre_test">
126
+ <xsl:text>pre_test{</xsl:text>
127
+ <xsl:value-of select="@pre_test"/>
128
+ <xsl:text>} </xsl:text>
129
+ </xsl:if>
130
+ <xsl:if test="@post_test">
131
+ <xsl:text>post_test{</xsl:text>
132
+ <xsl:value-of select="@post_test"/>
133
+ <xsl:text>} </xsl:text>
134
+ </xsl:if>
135
+ <xsl:text>do</xsl:text>
136
+ <xsl:call-template name="print-newline"/>
137
+ <xsl:apply-templates>
138
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
139
+ </xsl:apply-templates>
140
+ <xsl:call-template name="print-space">
141
+ <xsl:with-param name="i">1</xsl:with-param>
142
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
143
+ </xsl:call-template>
144
+ <xsl:text>end</xsl:text>
145
+ <xsl:call-template name="print-newline"/>
146
+ </xsl:if>
147
+ <xsl:if test="name()='choose'">
148
+ <xsl:text>choose do</xsl:text>
149
+ <xsl:call-template name="print-newline"/>
150
+ <xsl:apply-templates>
151
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
152
+ </xsl:apply-templates>
153
+ <xsl:call-template name="print-space">
154
+ <xsl:with-param name="i">1</xsl:with-param>
155
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
156
+ </xsl:call-template>
157
+ <xsl:text>end</xsl:text>
158
+ <xsl:call-template name="print-newline"/>
159
+ </xsl:if>
160
+ <xsl:if test="name()='group'">
161
+ <xsl:apply-templates>
162
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
163
+ </xsl:apply-templates>
164
+ <xsl:call-template name="print-newline"/>
165
+ </xsl:if>
166
+ <xsl:if test="name()='critical'">
167
+ <xsl:text>critical :</xsl:text>
168
+ <xsl:value-of select="@sid"/>
169
+ <xsl:text> do</xsl:text>
170
+ <xsl:call-template name="print-newline"/>
171
+ <xsl:apply-templates>
172
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
173
+ </xsl:apply-templates>
174
+ <xsl:call-template name="print-space">
175
+ <xsl:with-param name="i">1</xsl:with-param>
176
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
177
+ </xsl:call-template>
178
+ <xsl:text>end</xsl:text>
179
+ <xsl:call-template name="print-newline"/>
180
+ </xsl:if>
181
+ </xsl:template>
182
+
183
+ <xsl:template match="d:alternative">
184
+ <xsl:param name="myspace"/>
185
+ <xsl:call-template name="print-space">
186
+ <xsl:with-param name="i">1</xsl:with-param>
187
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
188
+ </xsl:call-template>
189
+ <xsl:text>alternative </xsl:text>
190
+ <xsl:value-of select="@condition"/>
191
+ <xsl:text> do</xsl:text>
192
+ <xsl:call-template name="print-newline"/>
193
+ <xsl:apply-templates>
194
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
195
+ </xsl:apply-templates>
196
+ <xsl:call-template name="print-space">
197
+ <xsl:with-param name="i">1</xsl:with-param>
198
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
199
+ </xsl:call-template>
200
+ <xsl:text>end</xsl:text>
201
+ <xsl:call-template name="print-newline"/>
202
+ </xsl:template>
203
+
204
+ <xsl:template match="d:otherwise">
205
+ <xsl:param name="myspace"/>
206
+ <xsl:call-template name="print-space">
207
+ <xsl:with-param name="i">1</xsl:with-param>
208
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
209
+ </xsl:call-template>
210
+ <xsl:text>otherwise do</xsl:text>
211
+ <xsl:call-template name="print-newline"/>
212
+ <xsl:apply-templates>
213
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
214
+ </xsl:apply-templates>
215
+ <xsl:call-template name="print-space">
216
+ <xsl:with-param name="i">1</xsl:with-param>
217
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
218
+ </xsl:call-template>
219
+ <xsl:text>end</xsl:text>
220
+ <xsl:call-template name="print-newline"/>
221
+ </xsl:template>
222
+
223
+ <xsl:template match="d:parallel_branch">
224
+ <xsl:param name="myspace"/>
225
+ <xsl:call-template name="print-space">
226
+ <xsl:with-param name="i">1</xsl:with-param>
227
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
228
+ </xsl:call-template>
229
+ <xsl:text>parallel_branch</xsl:text>
230
+ <xsl:if test="@pass">
231
+ <xsl:text> </xsl:text>
232
+ <xsl:value-of select="@pass"/>
233
+ </xsl:if>
234
+ <xsl:text> do</xsl:text>
235
+ <xsl:if test="@local">
236
+ <xsl:text> |</xsl:text>
237
+ <xsl:value-of select="@local"/>
238
+ <xsl:text>|</xsl:text>
239
+ </xsl:if>
240
+ <xsl:call-template name="print-newline"/>
241
+ <xsl:apply-templates>
242
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
243
+ </xsl:apply-templates>
244
+ <xsl:call-template name="print-space">
245
+ <xsl:with-param name="i">1</xsl:with-param>
246
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
247
+ </xsl:call-template>
248
+ <xsl:text>end</xsl:text>
249
+ <xsl:call-template name="print-newline"/>
250
+ </xsl:template>
251
+
252
+ <xsl:template match="d:parameters">
253
+ <xsl:apply-templates select="d:*" mode="parameter"/>
254
+ </xsl:template>
255
+
256
+ <xsl:template match="d:*" mode="parameter">
257
+ <xsl:text>, :</xsl:text>
258
+ <xsl:value-of select="name()"/>
259
+ <xsl:text> => </xsl:text>
260
+ <xsl:choose>
261
+ <xsl:when test="count(*) > 0">
262
+ <xsl:text>[</xsl:text>
263
+ <xsl:apply-templates select="d:*" mode="sub-parameter"/>
264
+ <xsl:text>]</xsl:text>
265
+ </xsl:when>
266
+ <xsl:otherwise>
267
+ <xsl:choose>
268
+ <xsl:when test="@type = 'symbolic'">
269
+ <xsl:value-of select="text()"/>
270
+ </xsl:when>
271
+ <xsl:otherwise>
272
+ <xsl:text>"</xsl:text>
273
+ <xsl:value-of select="text()"/>
274
+ <xsl:text>"</xsl:text>
275
+ </xsl:otherwise>
276
+ </xsl:choose>
277
+ </xsl:otherwise>
278
+ </xsl:choose>
279
+ </xsl:template>
280
+
281
+ <xsl:template match="d:*" mode="sub-parameter">
282
+ <xsl:text> { :</xsl:text>
283
+ <xsl:value-of select="name()"/>
284
+ <xsl:text> => </xsl:text>
285
+ <xsl:value-of select="text()"/>
286
+ <xsl:text> }</xsl:text>
287
+ <xsl:choose>
288
+ <xsl:when test="generate-id(.) = generate-id(../*[last()])">
289
+ <xsl:text> </xsl:text>
290
+ </xsl:when>
291
+ <xsl:otherwise>
292
+ <xsl:text>,</xsl:text>
293
+ </xsl:otherwise>
294
+ </xsl:choose>
295
+ </xsl:template>
296
+
297
+ <xsl:template match="d:manipulate" mode="part-of-call">
298
+ <xsl:param name="myspace"/>
299
+ <xsl:call-template name="print-content">
300
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace"/></xsl:with-param>
301
+ </xsl:call-template>
302
+ </xsl:template>
303
+
304
+ <xsl:template name="print-content">
305
+ <xsl:param name="myspace"/>
306
+ <xsl:if test="text()">
307
+ <xsl:text> do </xsl:text>
308
+ <xsl:if test="@output">
309
+ <xsl:text>|</xsl:text>
310
+ <xsl:value-of select="@output"/>
311
+ <xsl:text>|</xsl:text>
312
+ </xsl:if>
313
+ <xsl:call-template name="print-newline"/>
314
+ <xsl:value-of select="text()"/>
315
+ <xsl:call-template name="print-newline"/>
316
+ <xsl:call-template name="print-space">
317
+ <xsl:with-param name="i">1</xsl:with-param>
318
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
319
+ </xsl:call-template>
320
+ <xsl:text>end</xsl:text>
321
+ </xsl:if>
322
+ </xsl:template>
323
+
324
+ <xsl:template name="print-space">
325
+ <xsl:param name="i"/>
326
+ <xsl:param name="count"/>
327
+ <xsl:if test="$i &lt;= $count">
328
+ <xsl:text> </xsl:text>
329
+ <xsl:call-template name="print-space">
330
+ <xsl:with-param name="i">
331
+ <xsl:value-of select="$i + 1"/>
332
+ </xsl:with-param>
333
+ <xsl:with-param name="count">
334
+ <xsl:value-of select="$count"/>
335
+ </xsl:with-param>
336
+ </xsl:call-template>
337
+ </xsl:if>
338
+ </xsl:template>
339
+ <xsl:template name="print-newline">
340
+ <xsl:text>
341
+ </xsl:text>
342
+ </xsl:template>
343
+
344
+ </xsl:stylesheet>
345
+ </transformation>
346
+ </testset>
@@ -0,0 +1,359 @@
1
+ <?xml version="1.0"?>
2
+ <testset>
3
+ <positions/>
4
+ <handlerwrapper>RescueHandlerWrapper</handlerwrapper>
5
+ <dataelements>
6
+ <input>4</input>
7
+ <data_stores_endpoint/>
8
+ <output/>
9
+ </dataelements>
10
+ <endpoints>
11
+ <ep1>Somewhere over the rainbow</ep1>
12
+ </endpoints>
13
+ <description xmlns="http://cpee.org/ns/description/1.0">
14
+ <manipulate id="endpoints">
15
+ endpoints.a_new_one = "new Endpoint"
16
+ endpoints.ep1 = "services changed"
17
+ endpoints.copy_of_ep1 = endpoints.ep1
18
+ data.data_stores_endpoint = endpoints.ep1
19
+ </manipulate>
20
+ <manipulate id="data">
21
+ data.a_new_one = "new dataelement"
22
+ data[:input] = "dataelement changed"
23
+ data.output = data[:input]
24
+ </manipulate>
25
+ </description>
26
+ <transformation>
27
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:d="http://cpee.org/ns/description/1.0">
28
+ <xsl:output method="text"/>
29
+ <xsl:strip-space elements="*"/>
30
+ <xsl:variable name="myspacemultiplier">2</xsl:variable>
31
+
32
+ <xsl:template match="/">
33
+ <xsl:apply-templates select="//d:description"/>
34
+ </xsl:template>
35
+
36
+ <xsl:template match="//d:description">
37
+ <xsl:apply-templates>
38
+ <xsl:with-param name="myspace"><xsl:value-of select="-1*$myspacemultiplier"/></xsl:with-param>
39
+ </xsl:apply-templates>
40
+ </xsl:template>
41
+
42
+ <xsl:template match="*">
43
+ <xsl:param name="myspace"/>
44
+ <xsl:call-template name="print-space">
45
+ <xsl:with-param name="i">1</xsl:with-param>
46
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
47
+ </xsl:call-template>
48
+ <xsl:if test="name()='call' or name()='manipulate'">
49
+ <xsl:text>activity :</xsl:text>
50
+ <xsl:value-of select="@id"/>
51
+ </xsl:if>
52
+ <xsl:if test="name()='call'">
53
+ <xsl:text>, :call, :</xsl:text>
54
+ <xsl:value-of select="@endpoint"/>
55
+ <xsl:apply-templates select="d:parameters"/>
56
+ <xsl:apply-templates select="d:manipulate" mode="part-of-call">
57
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace"/></xsl:with-param>
58
+ </xsl:apply-templates>
59
+ <xsl:call-template name="print-newline"/>
60
+ </xsl:if>
61
+ <xsl:if test="name()='manipulate'">
62
+ <xsl:text>, :manipulate</xsl:text>
63
+ <!-- RESCUE: manipulate with dataelement as result object -->
64
+ <xsl:if test="@data">
65
+ <xsl:text>, nil,</xsl:text>
66
+ <xsl:value-of select="@data"/>
67
+ </xsl:if>
68
+ <!-- RESCUE -->
69
+ <xsl:call-template name="print-content">
70
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace"/></xsl:with-param>
71
+ </xsl:call-template>
72
+ <xsl:call-template name="print-newline"/>
73
+ </xsl:if>
74
+ <xsl:if test="name()='parallel'">
75
+ <xsl:text>parallel</xsl:text>
76
+ <xsl:if test="@wait">
77
+ <xsl:text> :wait => </xsl:text>
78
+ <xsl:value-of select="@wait"/>
79
+ </xsl:if>
80
+ <xsl:text> do</xsl:text>
81
+ <xsl:call-template name="print-newline"/>
82
+ <xsl:apply-templates>
83
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
84
+ </xsl:apply-templates>
85
+ <xsl:call-template name="print-space">
86
+ <xsl:with-param name="i">1</xsl:with-param>
87
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
88
+ </xsl:call-template>
89
+ <xsl:text>end</xsl:text>
90
+ <xsl:call-template name="print-newline"/>
91
+ </xsl:if>
92
+ <xsl:if test="name()='loop'">
93
+ <xsl:text>loop </xsl:text>
94
+ <xsl:if test="@pre_test">
95
+ <xsl:text>pre_test{</xsl:text>
96
+ <xsl:value-of select="@pre_test"/>
97
+ <xsl:text>} </xsl:text>
98
+ </xsl:if>
99
+ <xsl:if test="@post_test">
100
+ <xsl:text>post_test{</xsl:text>
101
+ <xsl:value-of select="@post_test"/>
102
+ <xsl:text>} </xsl:text>
103
+ </xsl:if>
104
+ <xsl:text>do</xsl:text>
105
+ <xsl:call-template name="print-newline"/>
106
+ <xsl:apply-templates>
107
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
108
+ </xsl:apply-templates>
109
+ <xsl:call-template name="print-space">
110
+ <xsl:with-param name="i">1</xsl:with-param>
111
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
112
+ </xsl:call-template>
113
+ <xsl:text>end</xsl:text>
114
+ <xsl:call-template name="print-newline"/>
115
+ </xsl:if>
116
+ <xsl:if test="name()='choose'">
117
+ <xsl:text>choose do</xsl:text>
118
+ <xsl:call-template name="print-newline"/>
119
+ <xsl:apply-templates>
120
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
121
+ </xsl:apply-templates>
122
+ <xsl:call-template name="print-space">
123
+ <xsl:with-param name="i">1</xsl:with-param>
124
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
125
+ </xsl:call-template>
126
+ <xsl:text>end</xsl:text>
127
+ <xsl:call-template name="print-newline"/>
128
+ </xsl:if>
129
+ <!-- RESCUE -->
130
+ <xsl:if test="name()='injected'">
131
+ <xsl:text># ========== Code was injected via: </xsl:text>
132
+ <xsl:value-of select="@source"/>
133
+ <xsl:text>==========</xsl:text>
134
+ <xsl:call-template name="print-newline"/>
135
+ <xsl:apply-templates>
136
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
137
+ </xsl:apply-templates>
138
+ <xsl:call-template name="print-newline"/>
139
+ <xsl:text># ========== End of injected code ============ </xsl:text>
140
+ <xsl:call-template name="print-newline"/>
141
+ </xsl:if>
142
+ <!-- RESCUE -->
143
+ <xsl:if test="name()='group'">
144
+ <xsl:apply-templates>
145
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
146
+ </xsl:apply-templates>
147
+ <xsl:call-template name="print-newline"/>
148
+ </xsl:if>
149
+ <xsl:if test="name()='critical'">
150
+ <xsl:text>critical :</xsl:text>
151
+ <xsl:value-of select="@sid"/>
152
+ <xsl:text> do</xsl:text>
153
+ <xsl:call-template name="print-newline"/>
154
+ <xsl:apply-templates>
155
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
156
+ </xsl:apply-templates>
157
+ <xsl:call-template name="print-space">
158
+ <xsl:with-param name="i">1</xsl:with-param>
159
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
160
+ </xsl:call-template>
161
+ <xsl:text>end</xsl:text>
162
+ <xsl:call-template name="print-newline"/>
163
+ </xsl:if>
164
+ </xsl:template>
165
+
166
+ <xsl:template match="d:alternative">
167
+ <xsl:param name="myspace"/>
168
+ <xsl:call-template name="print-space">
169
+ <xsl:with-param name="i">1</xsl:with-param>
170
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
171
+ </xsl:call-template>
172
+ <xsl:text>alternative </xsl:text>
173
+ <xsl:value-of select="@condition"/>
174
+ <xsl:text> do</xsl:text>
175
+ <xsl:call-template name="print-newline"/>
176
+ <xsl:apply-templates>
177
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
178
+ </xsl:apply-templates>
179
+ <xsl:call-template name="print-space">
180
+ <xsl:with-param name="i">1</xsl:with-param>
181
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
182
+ </xsl:call-template>
183
+ <xsl:text>end</xsl:text>
184
+ <xsl:call-template name="print-newline"/>
185
+ </xsl:template>
186
+
187
+ <xsl:template match="d:otherwise">
188
+ <xsl:param name="myspace"/>
189
+ <xsl:call-template name="print-space">
190
+ <xsl:with-param name="i">1</xsl:with-param>
191
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
192
+ </xsl:call-template>
193
+ <xsl:text>otherwise do</xsl:text>
194
+ <xsl:call-template name="print-newline"/>
195
+ <xsl:apply-templates>
196
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
197
+ </xsl:apply-templates>
198
+ <xsl:call-template name="print-space">
199
+ <xsl:with-param name="i">1</xsl:with-param>
200
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
201
+ </xsl:call-template>
202
+ <xsl:text>end</xsl:text>
203
+ <xsl:call-template name="print-newline"/>
204
+ </xsl:template>
205
+
206
+ <xsl:template match="d:parallel_branch">
207
+ <xsl:param name="myspace"/>
208
+ <xsl:call-template name="print-space">
209
+ <xsl:with-param name="i">1</xsl:with-param>
210
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
211
+ </xsl:call-template>
212
+ <xsl:text>parallel_branch</xsl:text>
213
+ <xsl:if test="@pass">
214
+ <xsl:text> </xsl:text>
215
+ <xsl:value-of select="@pass"/>
216
+ </xsl:if>
217
+ <xsl:text> do</xsl:text>
218
+ <xsl:if test="@local">
219
+ <xsl:text> |</xsl:text>
220
+ <xsl:value-of select="@local"/>
221
+ <xsl:text>|</xsl:text>
222
+ </xsl:if>
223
+ <xsl:call-template name="print-newline"/>
224
+ <xsl:apply-templates>
225
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
226
+ </xsl:apply-templates>
227
+ <xsl:call-template name="print-space">
228
+ <xsl:with-param name="i">1</xsl:with-param>
229
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
230
+ </xsl:call-template>
231
+ <xsl:text>end</xsl:text>
232
+ <xsl:call-template name="print-newline"/>
233
+ </xsl:template>
234
+
235
+ <xsl:template match="d:parameters">
236
+ <xsl:apply-templates select="d:*" mode="parameter"/>
237
+ </xsl:template>
238
+
239
+ <xsl:template match="d:*" mode="parameter">
240
+ <xsl:text>, :</xsl:text>
241
+ <xsl:value-of select="name()"/>
242
+ <xsl:text> => </xsl:text>
243
+ <xsl:choose>
244
+ <xsl:when test="count(*) > 0">
245
+ <xsl:text>[</xsl:text>
246
+ <xsl:apply-templates select="d:*" mode="sub-parameter"/>
247
+ <xsl:text>]</xsl:text>
248
+ </xsl:when>
249
+ <xsl:otherwise>
250
+ <xsl:choose>
251
+ <xsl:when test="@type = 'symbolic'">
252
+ <xsl:value-of select="text()"/>
253
+ </xsl:when>
254
+ <xsl:otherwise>
255
+ <xsl:text>"</xsl:text>
256
+ <xsl:value-of select="text()"/>
257
+ <xsl:text>"</xsl:text>
258
+ </xsl:otherwise>
259
+ </xsl:choose>
260
+ </xsl:otherwise>
261
+ </xsl:choose>
262
+ </xsl:template>
263
+
264
+ <xsl:template match="d:*" mode="sub-parameter">
265
+ <xsl:text> { :</xsl:text>
266
+ <xsl:value-of select="name()"/>
267
+ <xsl:text> => </xsl:text>
268
+ <xsl:value-of select="text()"/>
269
+ <xsl:text> }</xsl:text>
270
+ <xsl:choose>
271
+ <xsl:when test="generate-id(.) = generate-id(../*[last()])">
272
+ <xsl:text> </xsl:text>
273
+ </xsl:when>
274
+ <xsl:otherwise>
275
+ <xsl:text>,</xsl:text>
276
+ </xsl:otherwise>
277
+ </xsl:choose>
278
+ </xsl:template>
279
+
280
+ <xsl:template match="d:manipulate" mode="part-of-call">
281
+ <xsl:param name="myspace"/>
282
+ <xsl:call-template name="print-content">
283
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace"/></xsl:with-param>
284
+ </xsl:call-template>
285
+ </xsl:template>
286
+
287
+ <xsl:template name="print-content">
288
+ <xsl:param name="myspace"/>
289
+ <xsl:if test="text() or child::d:output"><!-- RESCUE: changed condition -->
290
+ <xsl:text> do </xsl:text>
291
+ <xsl:if test="@output">
292
+ <xsl:text>|</xsl:text>
293
+ <xsl:value-of select="@output"/>
294
+ <xsl:text>|</xsl:text>
295
+ </xsl:if>
296
+ <xsl:call-template name="print-newline"/>
297
+ <!-- RESCUE -->
298
+ <xsl:apply-templates select="d:output">
299
+ <xsl:with-param name="myspace"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
300
+ </xsl:apply-templates>
301
+ <!-- RESCUE -->
302
+ <xsl:value-of select="text()"/>
303
+ <xsl:call-template name="print-newline"/>
304
+ <xsl:call-template name="print-space">
305
+ <xsl:with-param name="i">1</xsl:with-param>
306
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
307
+ </xsl:call-template>
308
+ <xsl:text>end</xsl:text>
309
+ </xsl:if>
310
+ </xsl:template>
311
+
312
+ <!-- RESCUE -->
313
+ <xsl:template match="d:output">
314
+ <xsl:param name="myspace"/>
315
+ <xsl:call-template name="print-space">
316
+ <xsl:with-param name="i">-1</xsl:with-param>
317
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
318
+ </xsl:call-template>
319
+ <xsl:text>@</xsl:text>
320
+ <xsl:value-of select="@variable"/>
321
+ <xsl:text> = Hash.new</xsl:text>
322
+ <xsl:call-template name="print-newline"/>
323
+ <xsl:call-template name="print-space">
324
+ <xsl:with-param name="i">-1</xsl:with-param>
325
+ <xsl:with-param name="count"><xsl:value-of select="$myspace+$myspacemultiplier"/></xsl:with-param>
326
+ </xsl:call-template>
327
+ <xsl:value-of select="parent::d:manipulate/@output"/>
328
+ <xsl:text>.each { |k,v| @</xsl:text>
329
+ <xsl:value-of select="@variable"/>
330
+ <xsl:text>[k] = v[:</xsl:text>
331
+ <xsl:value-of select="@name"/>
332
+ <xsl:text>] }</xsl:text>
333
+ <xsl:call-template name="print-newline"/>
334
+ </xsl:template>
335
+ <!-- RESCUE -->
336
+
337
+ <xsl:template name="print-space">
338
+ <xsl:param name="i"/>
339
+ <xsl:param name="count"/>
340
+ <xsl:if test="$i &lt;= $count">
341
+ <xsl:text> </xsl:text>
342
+ <xsl:call-template name="print-space">
343
+ <xsl:with-param name="i">
344
+ <xsl:value-of select="$i + 1"/>
345
+ </xsl:with-param>
346
+ <xsl:with-param name="count">
347
+ <xsl:value-of select="$count"/>
348
+ </xsl:with-param>
349
+ </xsl:call-template>
350
+ </xsl:if>
351
+ </xsl:template>
352
+ <xsl:template name="print-newline">
353
+ <xsl:text>
354
+ </xsl:text>
355
+ </xsl:template>
356
+
357
+ </xsl:stylesheet>
358
+ </transformation>
359
+ </testset>