cpee 1.5.27 → 2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (357) hide show
  1. checksums.yaml +4 -4
  2. data/{FEATURES → FEATURES.md} +7 -6
  3. data/INSTALL.md +1 -0
  4. data/{README → README.md} +3 -3
  5. data/Rakefile +1 -0
  6. data/cockpit/index.html +7 -7
  7. data/cockpit/js/details.js +13 -14
  8. data/cockpit/js/instance.js +186 -284
  9. data/cockpit/js/parameters.js +13 -3
  10. data/cockpit/js/ui.js +2 -2
  11. data/cockpit/rngs/attributes.rng +1 -1
  12. data/cockpit/rngs/dataelements.rng +1 -1
  13. data/cockpit/rngs/endpoints.rng +1 -1
  14. data/cockpit/templates.legacy/Async.xml +7 -7
  15. data/cockpit/templates.legacy/BCO.xml +7 -10
  16. data/cockpit/templates.legacy/BCS.xml +7 -10
  17. data/cockpit/templates.legacy/Centurio.xml +6 -6
  18. data/cockpit/templates.legacy/Concurrent.xml +6 -6
  19. data/cockpit/templates.legacy/Coopis Testset.xml +6 -6
  20. data/cockpit/templates.legacy/Endpoints and Data Manipulation.xml +6 -6
  21. data/cockpit/templates.legacy/ICSOC Testset.xml +6 -6
  22. data/cockpit/templates.legacy/Infinity.xml +3 -3
  23. data/cockpit/templates.legacy/Lego Boxer.xml +7 -7
  24. data/cockpit/templates.legacy/Lego Conveyor.xml +7 -7
  25. data/cockpit/templates.legacy/Lego Crane.xml +7 -7
  26. data/cockpit/templates.legacy/Lego Ejector.xml +7 -7
  27. data/cockpit/templates.legacy/Lego Full.xml +7 -7
  28. data/cockpit/templates.legacy/Lego Liddy.xml +7 -7
  29. data/cockpit/templates.legacy/Lego Plate.xml +7 -7
  30. data/cockpit/templates.legacy/Lego Transporter.xml +7 -7
  31. data/cockpit/templates.legacy/Lego_Part_1.xml +7 -7
  32. data/cockpit/templates.legacy/LgLinear.xml +6 -10
  33. data/cockpit/templates.legacy/Linear.xml +7 -7
  34. data/cockpit/templates.legacy/Log.xml +7 -7
  35. data/cockpit/templates.legacy/Mangler 1.xml +6 -6
  36. data/cockpit/templates.legacy/Mangler 2.xml +6 -6
  37. data/cockpit/templates.legacy/Manuel Labels.xml +7 -7
  38. data/cockpit/templates.legacy/Promise.xml +7 -7
  39. data/cockpit/templates.legacy/SOPROMO Test Sonification.xml +6 -6
  40. data/cockpit/templates.legacy/Subprocess.xml +56 -0
  41. data/cockpit/templates.legacy/Syncing P34 1.xml +8 -11
  42. data/cockpit/templates.legacy/Syncing P34 2.xml +8 -11
  43. data/cockpit/templates.legacy/Syncing P34 3.xml +8 -11
  44. data/cockpit/templates.legacy/Syncing P34.xml +8 -11
  45. data/cockpit/templates.legacy/TEST - Bad Loop.xml +6 -6
  46. data/cockpit/templates.legacy/TEST - Wrong Positions.xml +6 -6
  47. data/cockpit/templates.legacy/Take_5.xml +48 -0
  48. data/cockpit/templates.legacy/Update.xml +7 -7
  49. data/cockpit/templates.legacy/Worklist Parallel.xml +7 -7
  50. data/cockpit/templates.legacy/Worklist Test CPEE.xml +7 -7
  51. data/cockpit/templates.legacy/Worklist Test.xml +7 -7
  52. data/cockpit/templates.legacy/Worklist Test2.xml +7 -7
  53. data/cockpit/templates.legacy/convert_cpee2.rb +15 -0
  54. data/cockpit/templates.legacy/testsets.xml +1 -1
  55. data/cockpit/templates/BPM 2020 Manual Adjust.xml +18 -71
  56. data/cockpit/templates/BPM 2020 Solution Baseline.xml +17 -71
  57. data/cockpit/templates/BPM 2020 Solution NN.xml +25 -71
  58. data/cockpit/templates/BPM 2020 Solution View.xml +15 -71
  59. data/cockpit/templates/BPM 2020.xml +17 -6
  60. data/cockpit/templates/Coopis 2010.xml +16 -7
  61. data/cockpit/templates/IUPC arXiv:1104.3609 P34 1.xml +8 -11
  62. data/cockpit/templates/IUPC arXiv:1104.3609 P34 2.xml +8 -11
  63. data/cockpit/templates/IUPC arXiv:1104.3609 P34 3.xml +8 -11
  64. data/cockpit/templates/Worklist.xml +7 -7
  65. data/cockpit/templates/convert_cpee2.rb +15 -0
  66. data/cockpit/themes/compact/rngs/alternative.rng +25 -0
  67. data/cockpit/themes/compact/rngs/call.rng +18 -18
  68. data/cockpit/themes/compact/rngs/callmanipulate.rng +26 -26
  69. data/cockpit/themes/compact/rngs/choose.rng +14 -0
  70. data/cockpit/themes/compact/rngs/critical.rng +5 -0
  71. data/cockpit/themes/compact/rngs/escape.rng +1 -0
  72. data/cockpit/themes/compact/rngs/group.rng +3 -0
  73. data/cockpit/themes/compact/rngs/loop.rng +22 -0
  74. data/cockpit/themes/compact/rngs/manipulate.rng +9 -0
  75. data/cockpit/themes/compact/rngs/otherwise.rng +22 -0
  76. data/cockpit/themes/compact/rngs/parallel.rng +21 -0
  77. data/cockpit/themes/compact/rngs/parallel_branch.rng +8 -0
  78. data/cockpit/themes/compact/rngs/scripts.rng +10 -11
  79. data/cockpit/themes/compact/rngs/stop.rng +5 -0
  80. data/cockpit/themes/compact/rngs/terminate.rng +1 -0
  81. data/cockpit/themes/convert_cpee2.rb +8 -0
  82. data/cockpit/themes/default/rngs/alternative.rng +8 -8
  83. data/cockpit/themes/default/rngs/call.rng +85 -49
  84. data/cockpit/themes/default/rngs/callmanipulate.rng +103 -64
  85. data/cockpit/themes/default/rngs/choose.rng +5 -3
  86. data/cockpit/themes/default/rngs/critical.rng +2 -2
  87. data/cockpit/themes/default/rngs/escape.rng +1 -1
  88. data/cockpit/themes/default/rngs/group.rng +3 -3
  89. data/cockpit/themes/default/rngs/loop.rng +8 -8
  90. data/cockpit/themes/default/rngs/manipulate.rng +3 -3
  91. data/cockpit/themes/default/rngs/otherwise.rng +8 -8
  92. data/cockpit/themes/default/rngs/parallel.rng +14 -6
  93. data/cockpit/themes/default/rngs/parallel_branch.rng +2 -2
  94. data/cockpit/themes/default/rngs/scripts.rng +23 -0
  95. data/cockpit/themes/default/rngs/stop.rng +2 -2
  96. data/cockpit/themes/default/rngs/terminate.rng +1 -1
  97. data/cockpit/themes/extended/rngs/alternative.rng +25 -0
  98. data/cockpit/themes/extended/rngs/call.rng +18 -18
  99. data/cockpit/themes/extended/rngs/callmanipulate.rng +26 -26
  100. data/cockpit/themes/extended/rngs/choose.rng +14 -0
  101. data/cockpit/themes/extended/rngs/critical.rng +5 -0
  102. data/cockpit/themes/extended/rngs/escape.rng +1 -0
  103. data/cockpit/themes/extended/rngs/group.rng +3 -0
  104. data/cockpit/themes/extended/rngs/loop.rng +22 -0
  105. data/cockpit/themes/extended/rngs/manipulate.rng +9 -0
  106. data/cockpit/themes/extended/rngs/otherwise.rng +22 -0
  107. data/cockpit/themes/extended/rngs/parallel.rng +21 -0
  108. data/cockpit/themes/extended/rngs/parallel_branch.rng +8 -0
  109. data/cockpit/themes/extended/rngs/scripts.rng +10 -11
  110. data/cockpit/themes/extended/rngs/stop.rng +5 -0
  111. data/cockpit/themes/extended/rngs/terminate.rng +1 -0
  112. data/cockpit/themes/extended/theme.js +7 -6
  113. data/cockpit/themes/model/rngs/alternative.rng +1 -1
  114. data/cockpit/themes/model/rngs/call.rng +16 -16
  115. data/cockpit/themes/model/rngs/callmanipulate.rng +17 -17
  116. data/cockpit/themes/model/rngs/choose.rng +1 -1
  117. data/cockpit/themes/model/rngs/critical.rng +1 -1
  118. data/cockpit/themes/model/rngs/escape.rng +1 -1
  119. data/cockpit/themes/model/rngs/group.rng +1 -1
  120. data/cockpit/themes/model/rngs/loop.rng +1 -1
  121. data/cockpit/themes/model/rngs/manipulate.rng +1 -1
  122. data/cockpit/themes/model/rngs/otherwise.rng +1 -1
  123. data/cockpit/themes/model/rngs/parallel.rng +1 -1
  124. data/cockpit/themes/model/rngs/parallel_branch.rng +1 -1
  125. data/cockpit/themes/model/rngs/scripts.rng +3 -4
  126. data/cockpit/themes/model/rngs/stop.rng +1 -1
  127. data/cockpit/themes/model/rngs/terminate.rng +1 -1
  128. data/cockpit/themes/model/theme.js +7 -6
  129. data/cockpit/themes/packed/rngs/alternative.rng +25 -0
  130. data/cockpit/themes/packed/rngs/call.rng +18 -18
  131. data/cockpit/themes/packed/rngs/callmanipulate.rng +26 -26
  132. data/cockpit/themes/packed/rngs/choose.rng +14 -0
  133. data/cockpit/themes/packed/rngs/critical.rng +5 -0
  134. data/cockpit/themes/packed/rngs/escape.rng +1 -0
  135. data/cockpit/themes/packed/rngs/group.rng +3 -0
  136. data/cockpit/themes/packed/rngs/loop.rng +22 -0
  137. data/cockpit/themes/packed/rngs/manipulate.rng +9 -0
  138. data/cockpit/themes/packed/rngs/otherwise.rng +22 -0
  139. data/cockpit/themes/packed/rngs/parallel.rng +21 -0
  140. data/cockpit/themes/packed/rngs/parallel_branch.rng +8 -0
  141. data/cockpit/themes/packed/rngs/scripts.rng +10 -11
  142. data/cockpit/themes/packed/rngs/stop.rng +5 -0
  143. data/cockpit/themes/packed/rngs/terminate.rng +1 -0
  144. data/cockpit/themes/packed/theme.js +7 -6
  145. data/cockpit/themes/preset/rngs/alternative.rng +25 -0
  146. data/cockpit/themes/preset/rngs/call.rng +18 -18
  147. data/cockpit/themes/preset/rngs/callmanipulate.rng +26 -26
  148. data/cockpit/themes/preset/rngs/choose.rng +14 -0
  149. data/cockpit/themes/preset/rngs/critical.rng +5 -0
  150. data/cockpit/themes/preset/rngs/escape.rng +1 -0
  151. data/cockpit/themes/preset/rngs/group.rng +3 -0
  152. data/cockpit/themes/preset/rngs/loop.rng +22 -0
  153. data/cockpit/themes/preset/rngs/manipulate.rng +9 -0
  154. data/cockpit/themes/preset/rngs/otherwise.rng +22 -0
  155. data/cockpit/themes/preset/rngs/parallel.rng +21 -0
  156. data/cockpit/themes/preset/rngs/parallel_branch.rng +8 -0
  157. data/cockpit/themes/preset/rngs/scripts.rng +10 -11
  158. data/cockpit/themes/preset/rngs/stop.rng +5 -0
  159. data/cockpit/themes/preset/rngs/terminate.rng +1 -0
  160. data/cockpit/themes/preset/theme.js +7 -6
  161. data/cpee.gemspec +9 -10
  162. data/{log/topics.xml → lib/callbacks.xml} +16 -6
  163. data/lib/{engine → callbacks}/callbacks.rng +2 -8
  164. data/lib/cpee.xml +10 -4
  165. data/lib/cpee/attributes_helper.rb +27 -0
  166. data/lib/cpee/controller.rb +113 -596
  167. data/lib/cpee/implementation.rb +152 -191
  168. data/lib/cpee/implementation_callbacks.rb +77 -0
  169. data/lib/cpee/implementation_notifications.rb +189 -0
  170. data/lib/cpee/implementation_properties.rb +707 -0
  171. data/lib/cpee/{callback.rb → message.rb} +20 -18
  172. data/lib/cpee/persistence.rb +135 -0
  173. data/lib/cpee/statemachine.rb +20 -0
  174. data/lib/cpee/transform.rb +95 -0
  175. data/lib/engine.xml +1 -59
  176. data/lib/properties.xml +236 -0
  177. data/lib/properties/arbitrary.rng +26 -0
  178. data/lib/properties/attributes.rng +10 -0
  179. data/lib/properties/dataelements.rng +10 -0
  180. data/lib/properties/description.rng +8 -0
  181. data/lib/properties/dsl.rng +7 -0
  182. data/lib/properties/dslx.rng +8 -0
  183. data/lib/properties/endpoints.rng +10 -0
  184. data/lib/properties/handlerwrapper.rng +9 -0
  185. data/lib/properties/position.rng +15 -0
  186. data/lib/properties/positions.rng +10 -0
  187. data/lib/properties/properties.rng +29 -0
  188. data/lib/properties/set-properties.rng +25 -0
  189. data/lib/properties/set-some-properties.rng +45 -0
  190. data/lib/properties/simple.rng +8 -0
  191. data/lib/properties/state.rng +33 -0
  192. data/lib/properties/status.rng +12 -0
  193. data/lib/properties/t_attributes.rng +7 -0
  194. data/lib/properties/t_dataelements.rng +7 -0
  195. data/lib/properties/t_endpoints.rng +7 -0
  196. data/lib/properties/t_position.rng +7 -0
  197. data/lib/properties/t_positions.rng +7 -0
  198. data/lib/properties/t_simple.rng +7 -0
  199. data/lib/properties/t_status.rng +7 -0
  200. data/lib/properties/t_transformation.rng +7 -0
  201. data/lib/properties/transformation.rng +40 -0
  202. data/server/dev.rb +1 -0
  203. data/server/handlerwrappers/default.rb +40 -38
  204. data/server/resources/backend/README.md +17 -0
  205. data/server/resources/backend/instance.rb +23 -0
  206. data/server/resources/backend/instance.template +19 -0
  207. data/server/resources/backend/opts.yaml +6 -0
  208. data/server/resources/backend/run +29 -0
  209. data/server/resources/notifications/logging/subscription.xml +19 -0
  210. data/server/resources/properties.empty +38 -0
  211. data/server/resources/properties.init +11 -11
  212. data/server/resources/states.dot +19 -0
  213. data/server/resources/states.xml +49 -0
  214. data/server/resources/transformation_dslx.xsl +3 -12
  215. data/server/routing/end.rb +44 -0
  216. data/server/routing/forward-events.rb +59 -0
  217. data/server/routing/forward-votes.rb +108 -0
  218. data/server/routing/persist.rb +155 -0
  219. data/server/server.rb +1 -0
  220. data/tools/cpee +19 -15
  221. data/tools/instantiation/instantiation +0 -1
  222. data/tools/server/server.rb +0 -1
  223. metadata +77 -132
  224. data/INSTALL +0 -23
  225. data/cockpit/templates/convert_preset.rb +0 -32
  226. data/cockpit/templates/testsets.xml +0 -11
  227. data/cockpit/templates/transformations.xml +0 -4
  228. data/cockpit/themes/compact/rngs/alternative.rng +0 -1
  229. data/cockpit/themes/compact/rngs/choose.rng +0 -1
  230. data/cockpit/themes/compact/rngs/critical.rng +0 -1
  231. data/cockpit/themes/compact/rngs/escape.rng +0 -1
  232. data/cockpit/themes/compact/rngs/group.rng +0 -1
  233. data/cockpit/themes/compact/rngs/loop.rng +0 -1
  234. data/cockpit/themes/compact/rngs/manipulate.rng +0 -1
  235. data/cockpit/themes/compact/rngs/otherwise.rng +0 -1
  236. data/cockpit/themes/compact/rngs/parallel.rng +0 -1
  237. data/cockpit/themes/compact/rngs/parallel_branch.rng +0 -1
  238. data/cockpit/themes/compact/rngs/stop.rng +0 -1
  239. data/cockpit/themes/compact/rngs/terminate.rng +0 -1
  240. data/cockpit/themes/default/rngs/finalize.rng +0 -6
  241. data/cockpit/themes/default/rngs/update.rng +0 -6
  242. data/cockpit/themes/default/theme.js +0 -1286
  243. data/cockpit/themes/extended/rngs/alternative.rng +0 -1
  244. data/cockpit/themes/extended/rngs/choose.rng +0 -1
  245. data/cockpit/themes/extended/rngs/critical.rng +0 -1
  246. data/cockpit/themes/extended/rngs/escape.rng +0 -1
  247. data/cockpit/themes/extended/rngs/group.rng +0 -1
  248. data/cockpit/themes/extended/rngs/loop.rng +0 -1
  249. data/cockpit/themes/extended/rngs/manipulate.rng +0 -1
  250. data/cockpit/themes/extended/rngs/otherwise.rng +0 -1
  251. data/cockpit/themes/extended/rngs/parallel.rng +0 -1
  252. data/cockpit/themes/extended/rngs/parallel_branch.rng +0 -1
  253. data/cockpit/themes/extended/rngs/stop.rng +0 -1
  254. data/cockpit/themes/extended/rngs/terminate.rng +0 -1
  255. data/cockpit/themes/labels/rngs/alternative.rng +0 -25
  256. data/cockpit/themes/labels/rngs/call.rng +0 -81
  257. data/cockpit/themes/labels/rngs/callmanipulate.rng +0 -101
  258. data/cockpit/themes/labels/rngs/choose.rng +0 -12
  259. data/cockpit/themes/labels/rngs/critical.rng +0 -5
  260. data/cockpit/themes/labels/rngs/escape.rng +0 -1
  261. data/cockpit/themes/labels/rngs/finalize.rng +0 -6
  262. data/cockpit/themes/labels/rngs/group.rng +0 -3
  263. data/cockpit/themes/labels/rngs/loop.rng +0 -22
  264. data/cockpit/themes/labels/rngs/manipulate.rng +0 -9
  265. data/cockpit/themes/labels/rngs/otherwise.rng +0 -22
  266. data/cockpit/themes/labels/rngs/parallel.rng +0 -13
  267. data/cockpit/themes/labels/rngs/parallel_branch.rng +0 -8
  268. data/cockpit/themes/labels/rngs/stop.rng +0 -5
  269. data/cockpit/themes/labels/rngs/terminate.rng +0 -1
  270. data/cockpit/themes/labels/rngs/update.rng +0 -6
  271. data/cockpit/themes/labels/symbols/alternative.svg +0 -5
  272. data/cockpit/themes/labels/symbols/arrow.svg +0 -3
  273. data/cockpit/themes/labels/symbols/call.svg +0 -6
  274. data/cockpit/themes/labels/symbols/callmanipulate.svg +0 -8
  275. data/cockpit/themes/labels/symbols/choose.svg +0 -5
  276. data/cockpit/themes/labels/symbols/choose_exclusive.svg +0 -5
  277. data/cockpit/themes/labels/symbols/choose_inclusive.svg +0 -4
  278. data/cockpit/themes/labels/symbols/complex.svg +0 -8
  279. data/cockpit/themes/labels/symbols/critical.svg +0 -4
  280. data/cockpit/themes/labels/symbols/end.svg +0 -3
  281. data/cockpit/themes/labels/symbols/escape.svg +0 -5
  282. data/cockpit/themes/labels/symbols/event_end.svg +0 -3
  283. data/cockpit/themes/labels/symbols/loop.svg +0 -5
  284. data/cockpit/themes/labels/symbols/manipulate.svg +0 -4
  285. data/cockpit/themes/labels/symbols/otherwise.svg +0 -5
  286. data/cockpit/themes/labels/symbols/parallel.svg +0 -5
  287. data/cockpit/themes/labels/symbols/parallel_branch.svg +0 -5
  288. data/cockpit/themes/labels/symbols/parallel_branch_compact.svg +0 -4
  289. data/cockpit/themes/labels/symbols/parallel_branch_event.svg +0 -14
  290. data/cockpit/themes/labels/symbols/parallel_branch_normal.svg +0 -5
  291. data/cockpit/themes/labels/symbols/scripts.svg +0 -4
  292. data/cockpit/themes/labels/symbols/start.svg +0 -3
  293. data/cockpit/themes/labels/symbols/stop.svg +0 -5
  294. data/cockpit/themes/labels/symbols/terminate.svg +0 -4
  295. data/cockpit/themes/packed/rngs/alternative.rng +0 -1
  296. data/cockpit/themes/packed/rngs/choose.rng +0 -1
  297. data/cockpit/themes/packed/rngs/critical.rng +0 -1
  298. data/cockpit/themes/packed/rngs/escape.rng +0 -1
  299. data/cockpit/themes/packed/rngs/group.rng +0 -1
  300. data/cockpit/themes/packed/rngs/loop.rng +0 -1
  301. data/cockpit/themes/packed/rngs/manipulate.rng +0 -1
  302. data/cockpit/themes/packed/rngs/otherwise.rng +0 -1
  303. data/cockpit/themes/packed/rngs/parallel.rng +0 -1
  304. data/cockpit/themes/packed/rngs/parallel_branch.rng +0 -1
  305. data/cockpit/themes/packed/rngs/stop.rng +0 -1
  306. data/cockpit/themes/packed/rngs/terminate.rng +0 -1
  307. data/cockpit/themes/preset/rngs/alternative.rng +0 -1
  308. data/cockpit/themes/preset/rngs/choose.rng +0 -1
  309. data/cockpit/themes/preset/rngs/critical.rng +0 -1
  310. data/cockpit/themes/preset/rngs/escape.rng +0 -1
  311. data/cockpit/themes/preset/rngs/group.rng +0 -1
  312. data/cockpit/themes/preset/rngs/loop.rng +0 -1
  313. data/cockpit/themes/preset/rngs/manipulate.rng +0 -1
  314. data/cockpit/themes/preset/rngs/otherwise.rng +0 -1
  315. data/cockpit/themes/preset/rngs/parallel.rng +0 -1
  316. data/cockpit/themes/preset/rngs/parallel_branch.rng +0 -1
  317. data/cockpit/themes/preset/rngs/stop.rng +0 -1
  318. data/cockpit/themes/preset/rngs/terminate.rng +0 -1
  319. data/lib/cpee/empty_workflow.rb +0 -28
  320. data/lib/cpee/handler_notifications.rb +0 -47
  321. data/lib/cpee/handler_properties.rb +0 -50
  322. data/lib/cpee/instantiation.rb +0 -369
  323. data/lib/cpee/processtransformation/bpel/Repository/booking.bpel +0 -125
  324. data/lib/cpee/processtransformation/bpel/Repository/booking.wsdl +0 -72
  325. data/lib/cpee/processtransformation/bpel/Repository/booking/airline.wsdl +0 -71
  326. data/lib/cpee/processtransformation/bpel/Repository/booking/hotel.wsdl +0 -64
  327. data/lib/cpee/processtransformation/bpel/Repository/booking/report.wsdl +0 -71
  328. data/lib/cpee/processtransformation/bpel/bpel2wee.rb +0 -34
  329. data/lib/cpee/processtransformation/bpel/bpelserver.ru +0 -64
  330. data/lib/cpee/processtransformation/bpel/bpelserver.xml +0 -70
  331. data/lib/cpee/processtransformation/bpel/lib/BPEL_Transform.rb +0 -367
  332. data/lib/cpee/processtransformation/bpmn2.rb +0 -297
  333. data/lib/cpee/processtransformation/cpee.rb +0 -119
  334. data/lib/cpee/processtransformation/structures.rb +0 -465
  335. data/lib/cpee/processtransformation/target.rb +0 -50
  336. data/log/azure.rb +0 -10
  337. data/log/azure_logger.rb +0 -136
  338. data/log/chain.xml +0 -27
  339. data/log/elasticsearch.rb +0 -15
  340. data/log/elasticsearch_logging.rb +0 -377
  341. data/log/legacy/test_es.rb +0 -26
  342. data/log/legacy/test_split.rb +0 -211
  343. data/log/log.xml +0 -13
  344. data/log/non_tamp.rb +0 -156
  345. data/log/sic.rb +0 -64
  346. data/log/template.xes_xml +0 -23
  347. data/log/template.xes_yaml +0 -28
  348. data/log/trace.yaml +0 -17717
  349. data/log/trace_sic.yaml +0 -18343
  350. data/log/xes_xml.rb +0 -121
  351. data/log/xes_yaml.rb +0 -96
  352. data/server/handlerwrappers/soap.rb +0 -146
  353. data/server/resources/properties.schema.active +0 -139
  354. data/server/resources/properties.schema.finished +0 -139
  355. data/server/resources/properties.schema.inactive +0 -136
  356. data/server/transformation_dslx.xsl +0 -790
  357. data/test/callback.rb +0 -9
@@ -1,121 +0,0 @@
1
- #!/usr/bin/ruby
2
- require 'pp'
3
- require 'json'
4
- require 'rubygems'
5
- require 'riddl/server'
6
- require 'riddl/client'
7
- require 'riddl/utils/notifications_producer'
8
- require 'riddl/utils/properties'
9
- require 'riddl/utils/fileserve'
10
- require 'riddl/utils/downloadify'
11
- require 'riddl/utils/turtle'
12
- require 'time'
13
-
14
- class Logging < Riddl::Implementation #{{{
15
- def doc(event_name,log_dir,instancenr,notification)
16
- uuid = notification['instance_uuid']
17
- activity = notification["activity"]
18
- parameters = notification['parameters']
19
- receiving = notification['received']
20
- Dir.mkdir(log_dir+'/'+uuid) unless Dir.exist?(log_dir+'/'+uuid)
21
- time_added=false
22
- cpee_time = notification['time']
23
- XML::Smart.modify(log_dir+'/'+uuid+'/log.xes',LOGTEMPLATE) do |xml|
24
- begin
25
- trace = xml.find("/xmlns:log/xmlns:trace").first
26
- trace.add 'string', :key => "concept:name", :value => "Instance #{instancenr}" if trace.find('xmlns:string').empty?
27
- event = trace.add "event"
28
- if parameters && parameters.has_key?('label')
29
- event.add 'string', :key => "concept:name", :value => parameters["label"]
30
- else
31
- event.add 'string', :key => "concept:name", :value => trace.find("string(xmlns:event[xmlns:string[@key='id:id' and @value='#{activity}']]/xmlns:string[@key='concept:name']/@value)")
32
- end
33
- event.add 'string', :key => "concept:endpoint", :value => notification["endpoint"] if notification["endpoint"]
34
- event.add 'string', :key => "id:id", :value => activity
35
- unless event_name=='receiving'
36
- event.add 'string', :key => "lifecycle:transition", :value => event_name=='done'?"complete":"start"
37
- else
38
- event.add 'string', :key => "lifecycle:transition", :value => "unknown"
39
- end
40
- data_send = ((parameters["arguments"].nil? ? [] : parameters["arguments"]) rescue [])
41
- if data_send && data_send.any?
42
- list = event.add 'list', :key => "data_send"
43
- data_send.each do |e|
44
- list.add 'string', :key => e['name'] , :value => e['value']
45
- end
46
- end
47
- if receiving && receiving.any?
48
- if receiving.is_a? Array
49
- receiving.each do |e|
50
- e.each do |k,v|
51
- case v['mimetype']
52
- when /\/xml$/
53
- list = event.add 'list', :key => "data_received"
54
- node = list.add 'string', :key => k
55
- node.add XML::Smart.string(v['content']).root
56
- when /\/json$/
57
- rec_unjson(JSON.parse(v['content']),event,"data_received")
58
- when /\/html$/
59
- list = event.add 'list', :key => "data_received"
60
- list.add 'string', :key => k, :value => v['content']
61
- else
62
- list = event.add 'list', :key => "data_received"
63
- list.add 'string', :key => k, :value => v
64
- end
65
- end
66
- end
67
- else
68
- pp receiving
69
- end
70
- end
71
- event.add 'date', :key => "time:timestamp", :value => cpee_time unless time_added
72
- pid, size = `ps ax -o pid,rss | grep -E "^[[:space:]]*#{$$}"`.strip.split.map(&:to_i)
73
- File.open(log_dir+'/'+uuid+'/memory.file',"a+"){ |f| f<< size << "\n" }
74
- rescue => e
75
- puts e.message
76
- puts e.backtrace
77
- end
78
- end
79
- end
80
-
81
- def rec_unjson(value,list,key)
82
- case value
83
- when Array then
84
- li = list.add 'list', :key => key
85
- value.each_with_index do |v,k|
86
- rec_unjson(v,li,k)
87
- end
88
- when Hash then
89
- li = list.add 'list', :key => key
90
- value.each do |k,v|
91
- rec_unjson(v,li,k)
92
- end
93
- else
94
- list.add 'string', :key => key, :value => value
95
- end
96
- end
97
-
98
- def response
99
- topic = @p[1].value
100
- event_name = @p[2].value
101
- log_dir = @a[0]
102
- instancenr = @h['CPEE_INSTANCE_URL'].split('/').last
103
- notification = JSON.parse(@p[3].value)
104
- doc(event_name,log_dir,instancenr,notification)
105
- end
106
- end #}}}
107
-
108
-
109
- Riddl::Server.new(File.join(__dir__,'/log.xml'), :host => 'localhost', :port => 9299) do #{{{
110
- accessible_description true
111
- cross_site_xhr true
112
- @riddllog_dir = File.join(__dir__,logs)"
113
-
114
- interface 'events' do
115
- run Logging if post 'event'
116
- end
117
- interface 'logoverlay' do |r|
118
- run Riddl::Utils::FileServe, log_dir + r[:h]["RIDDL_DECLARATION_PATH"]+ ".xes","text/xml" if get
119
- end
120
-
121
- end.loop! #}}}
@@ -1,96 +0,0 @@
1
- #!/usr/bin/ruby
2
- require 'pp'
3
- require 'json'
4
- require 'yaml'
5
- require 'rubygems'
6
- require 'riddl/server'
7
- require 'riddl/utils/fileserve'
8
- require 'time'
9
-
10
- class Logging < Riddl::Implementation #{{{
11
- def doc(topic,event_name,log_dir,template,instancenr,notification)
12
- instance = notification['instance_uuid']
13
- return unless instance
14
-
15
- activity = notification['activity']
16
- parameters = notification['parameters']
17
- receiving = notification['received']
18
-
19
- log = YAML::load(File.read(template))
20
- log["log"]["trace"]["concept:name"] ||= instancenr
21
- log["log"]["trace"]["cpee:name"] ||= notification['instance_name'] if notification['instance_name']
22
- log["log"]["trace"]["cpee:instance"] ||= instance
23
- File.open(File.join(log_dir,instance+'.xes.yaml'),'w'){|f| f.puts log.to_yaml} unless File.exists? File.join(log_dir,instance+'.xes.yaml')
24
- event = {}
25
- event["concept:instance"] = instancenr
26
- event["concept:name"] = notification["label"] if notification["label"]
27
- if notification["endpoint"]
28
- event["concept:endpoint"] = notification["endpoint"]
29
- end
30
- event["id:id"] = (activity.nil? || activity == "") ? 'external' : activity
31
- event["cpee:activity"] = event["id:id"]
32
- event["cpee:activity_uuid"] = notification['activity_uuid'] if notification['activity_uuid']
33
- event["cpee:instance"] = instance
34
- case event_name
35
- when 'receiving', 'change', 'instantiation'
36
- event["lifecycle:transition"] = "unknown"
37
- when 'done'
38
- event["lifecycle:transition"] = "complete"
39
- else
40
- event["lifecycle:transition"] = "start"
41
- end
42
- event["cpee:lifecycle:transition"] = "#{topic}/#{event_name}"
43
- data_send = ((parameters["arguments"].nil? ? [] : parameters["arguments"]) rescue [])
44
- event["data"] = {"data_send" => data_send} unless data_send.empty?
45
- if notification['changed']&.any?
46
- if event.has_key? "data"
47
- event["data"]["data_changed"] ||= notification['changed']
48
- else
49
- event["data"] = {"data_changer" => notification['changed']}
50
- end
51
- end
52
- if notification['values']&.any?
53
- if event.has_key? "data"
54
- event["data"]["data_values"] ||= notification['values']
55
- else
56
- event["data"] = {"data_values" => notification['values']}
57
- end
58
- end
59
- unless receiving&.empty?
60
- if event.has_key? "data"
61
- event["data"]["data_received"] ||= receiving
62
- else
63
- event["data"] = {"data_receiver" => receiving}
64
- end
65
- end
66
- event["time:timestamp"]= event['cpee:timestamp'] || Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%:z")
67
- File.open(File.join(log_dir,instance+'.xes.yaml'),'a') do |f|
68
- f << {'event' => event}.to_yaml
69
- end
70
- nil
71
- end
72
-
73
- def response
74
- topic = @p[1].value
75
- event_name = @p[2].value
76
- log_dir = @a[0]
77
- template = @a[1]
78
- instancenr = @h['CPEE_INSTANCE_URL'].split('/').last
79
- notification = JSON.parse(@p[3].value)
80
- doc topic, event_name, log_dir, template, instancenr, notification
81
- end
82
- end #}}}
83
-
84
- Riddl::Server.new(File.join(__dir__,'/log.xml'), :host => 'localhost', :port => 9299) do
85
- accessible_description true
86
- cross_site_xhr true
87
- @riddl_opts[:log_dir] ||= File.join(__dir__,'logs')
88
- @riddl_opts[:template] ||= File.join(__dir__,'template.xes_yaml')
89
-
90
- interface 'events' do
91
- run Logging, @riddl_opts[:log_dir], @riddl_opts[:template] if post 'event'
92
- end
93
- interface 'logoverlay' do |r|
94
- run Riddl::Utils::FileServe, log_dir + r[:h]["RIDDL_DECLARATION_PATH"]+ ".xes","text/plain" if get
95
- end
96
- end.loop!
@@ -1,146 +0,0 @@
1
- # This file is part of CPEE.
2
- #
3
- # CPEE is free software: you can redistribute it and/or modify it under the terms
4
- # of the GNU General Public License as published by the Free Software Foundation,
5
- # either version 3 of the License, or (at your option) any later version.
6
- #
7
- # CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
8
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
9
- # PARTICULAR PURPOSE. See the GNU General Public License for more details.
10
- #
11
- # You should have received a copy of the GNU General Public License along with
12
- # CPEE (file COPYING in the main directory). If not, see
13
- # <http://www.gnu.org/licenses/>.
14
-
15
- # require 'savon'
16
-
17
- class SOAPHandlerWrapper < WEEL::HandlerWrapperBase
18
- def initialize(arguments,endpoint=nil,position=nil,continue=nil) # {{{
19
- @controller = arguments[0]
20
- @url = arguments[1]
21
- @handler_continue = continue
22
- @handler_endpoint = endpoint
23
- @handler_position = position
24
- @handler_passthrough = nil
25
- @handler_returnValue = nil
26
- end # }}}
27
-
28
- def activity_handle(passthrough, parameters) # {{{
29
- @controller.notify("activity/calling", :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters)
30
-
31
- if passthrough.nil?
32
- callback = Digest::MD5.hexdigest(Kernel::rand().to_s)
33
- begin
34
- client = Savon.client do
35
- wsdl @handler_endpoint
36
- log false
37
- log_level :info
38
- soap_header(
39
- "CPEE-BASE" => @url,
40
- "CPEE-INSTANCE" => "#{@url}/#{@controller.id}",
41
- "CPEE-CALLBACK" => callback
42
- )
43
- end
44
- params = {}
45
- (parameters[:parameters] || {}).each do |h|
46
- if h.class == Hash
47
- h.each do |k,v|
48
- params[k] = JSON::generate(v)
49
- end
50
- end
51
- end
52
- response = client.call parameters[:method].to_sym, params
53
- result = response.body.first[1].first[1]
54
- rescue Savon::Error => error
55
- raise "Could not soap #{@handler_endpoint}->#{parameters[:method].to_sym}'s back: #{error.to_s}"
56
- end
57
-
58
- if response.http.headers["CPEE_CALLBACK"] && response.http.headers["CPEE_CALLBACK"] == 'true'
59
- @controller.callbacks[callback] = CPEE::Callback.new("callback activity: #{@handler_position}",self,:callback,nil,nil,:http)
60
- @handler_passthrough = callback
61
- return
62
- end
63
- else
64
- @controller.callbacks[passthrough] = CPEE::Callback.new("callback activity: #{@handler_position}",self,:callback,nil,nil,:http)
65
- @handler_passthrough = passthrough
66
- return
67
- end
68
-
69
- @handler_returnValue = result
70
- @handler_continue.continue
71
- end # }}}
72
-
73
- def activity_result_value # {{{
74
- @handler_returnValue
75
- end # }}}
76
-
77
- def activity_stop # {{{
78
- unless @handler_passthrough.nil?
79
- @controller.callbacks.delete(@handler_passthrough)
80
- end
81
- end # }}}
82
- def activity_passthrough_value # {{{
83
- @handler_passthrough
84
- end # }}}
85
-
86
- def activity_no_longer_necessary # {{{
87
- true
88
- end # }}}
89
-
90
- def inform_activity_done # {{{
91
- @controller.notify("activity/done", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position)
92
- end # }}}
93
- def inform_activity_manipulate # {{{
94
- @controller.notify("activity/manipulating", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position)
95
- end # }}}
96
- def inform_activity_failed(err) # {{{
97
- puts err.message
98
- puts err.backtrace
99
- @controller.notify("activity/failed", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :message => err.message, :line => err.backtrace[0].match(/(.*?):(\d+):/)[2], :where => err.backtrace[0].match(/(.*?):(\d+):/)[1])
100
- end # }}}
101
-
102
- def inform_syntax_error(err,code)# {{{
103
- puts err.message
104
- puts err.backtrace
105
- @controller.notify("description/error", :instance => "#{@url}/#{@controller.id}", :message => err.message)
106
- end# }}}
107
- def inform_manipulate_change(status,dataelements,endpoints) # {{{
108
- unless status.nil?
109
- @controller.serialize_status!
110
- @controller.notify("status/change", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :id => status.id, :message => status.message)
111
- end
112
- unless dataelements.nil?
113
- @controller.serialize_dataelements!
114
- @controller.notify("dataelements/change", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :changed => dataelements)
115
- end
116
- unless endpoints.nil?
117
- @controller.serialize_endpoints!
118
- @controller.notify("endpoints/change", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position, :changed => endpoints)
119
- end
120
- end # }}}
121
- def inform_position_change(ipc={}) # {{{
122
- @controller.serialize_positions!
123
- ipc[:instance] = "#{@url}/#{@controller.id}"
124
- @controller.notify("position/change", ipc)
125
- end # }}}
126
- def inform_state_change(newstate) # {{{
127
- if @controller
128
- @controller.serialize_state!
129
- @controller.notify("state/change", :instance => "#{@url}/#{@controller.id}", :state => newstate)
130
- end
131
- end # }}}
132
-
133
- def vote_sync_after # {{{
134
- @controller.call_vote("activity/syncing_after", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position)
135
- end # }}}
136
- def vote_sync_before # {{{
137
- @controller.call_vote("activity/syncing_before", :endpoint => @handler_endpoint, :instance => "#{@url}/#{@controller.id}", :activity => @handler_position)
138
- end # }}}
139
-
140
- def callback(result=nil,options={})
141
- @handler_returnValue = result
142
- @controller.callbacks.delete(@handler_passthrough)
143
- @handler_passthrough = nil
144
- @handler_continue.continue
145
- end
146
- end
@@ -1,139 +0,0 @@
1
- <!--
2
- This file is part of CPEE.
3
-
4
- CPEE is free software: you can redistribute it and/or modify it under the terms
5
- of the GNU General Public License as published by the Free Software Foundation,
6
- either version 3 of the License, or (at your option) any later version.
7
-
8
- CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
9
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
10
- PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
-
12
- You should have received a copy of the GNU General Public License along with
13
- CPEE (file COPYING in the main directory). If not, see
14
- <http://www.gnu.org/licenses/>.
15
- -->
16
-
17
- <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
18
- <attributes type="complex" modifiable="false" mutable="false">
19
- <zeroOrMore>
20
- <element><anyName/><text/></element>
21
- </zeroOrMore>
22
- </attributes>
23
- <handlerwrapper type="simple" modifiable="false" mutable="false">
24
- <data type="string">
25
- <param name="pattern">[A-Z][a-zA-Z]*</param>
26
- </data>
27
- </handlerwrapper>
28
- <dsl type="simple" modifiable="false" mutable="false">
29
- <text/>
30
- </dsl>
31
- <dslx type="arbitrary" modifiable="false" mutable="false"/>
32
- <description type="arbitrary" modifiable="false" mutable="false"/>
33
- <transformation type="complex" modifiable="false" mutable="false">
34
- <element name='description'>
35
- <attribute name='type'>
36
- <choice>
37
- <value>copy</value>
38
- <value>rest</value>
39
- <value>xslt</value>
40
- <value>clean</value>
41
- <value>none</value>
42
- </choice>
43
- </attribute>
44
- <data type="anyURI"/>
45
- </element>
46
- <element name='dataelements'>
47
- <attribute name='type'>
48
- <choice>
49
- <value>rest</value>
50
- <value>xslt</value>
51
- <value>clean</value>
52
- <value>none</value>
53
- </choice>
54
- </attribute>
55
- <data type="anyURI"/>
56
- </element>
57
- <element name='endpoints'>
58
- <attribute name='type'>
59
- <choice>
60
- <value>rest</value>
61
- <value>xslt</value>
62
- <value>clean</value>
63
- <value>none</value>
64
- </choice>
65
- </attribute>
66
- <data type="anyURI"/>
67
- </element>
68
- </transformation>
69
- <state type="state" modifiable="true">
70
- <ready>
71
- <running putable="true"/>
72
- <ready putable="true"/>
73
- <simulating putable="true"/>
74
- <replaying putable="true"/>
75
- <abandoned putable="true"/>
76
- </ready>
77
- <running>
78
- <stopping putable="true"/>
79
- <finishing putable="false"/>
80
- <finished putable="false"/>
81
- </running>
82
- <simulating>
83
- <ready putable="false"/>
84
- <stopped putable="false"/>
85
- </simulating>
86
- <replaying>
87
- <stopping putable="true"/>
88
- <finishing putable="false"/>
89
- <finished putable="false"/>
90
- </replaying>
91
- <stopping>
92
- <stopped putable="false"/>
93
- </stopping>
94
- <stopped>
95
- <abandoned putable="true"/>
96
- <stopped putable="true"/>
97
- <running putable="true"/>
98
- <replaying putable="true"/>
99
- <simulating putable="true"/>
100
- </stopped>
101
- <abandoned/>
102
- <finished/>
103
- </state>
104
- <status type="complex" modifiable="false" mutable="true">
105
- <optional>
106
- <element name='id'>
107
- <data type="integer"/>
108
- </element>
109
- <element name='message'>
110
- <data type="string"/>
111
- </element>
112
- </optional>
113
- </status>
114
- <positions type="complex" modifiable="false" mutable="true">
115
- <zeroOrMore>
116
- <element>
117
- <anyName/>
118
- <optional>
119
- <attribute name='passthrough'>
120
- <data type="string"/>
121
- </attribute>
122
- </optional>
123
- <data type="string">
124
- <param name="pattern">(at|after)</param>
125
- </data>
126
- </element>
127
- </zeroOrMore>
128
- </positions>
129
- <dataelements type="complex" modifiable="false" mutable="true">
130
- <zeroOrMore>
131
- <element><anyName/><text/></element>
132
- </zeroOrMore>
133
- </dataelements>
134
- <endpoints type="complex" modifiable="false" mutable="true">
135
- <zeroOrMore>
136
- <element><anyName/><text/></element>
137
- </zeroOrMore>
138
- </endpoints>
139
- </properties>