cpee 1.5.20 → 2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) 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 +8 -8
  7. data/cockpit/js/details.js +13 -14
  8. data/cockpit/js/instance.js +192 -290
  9. data/cockpit/js/parameters.js +13 -3
  10. data/cockpit/js/ui.js +2 -2
  11. data/cockpit/rngs/attributes.rng +3 -3
  12. data/cockpit/rngs/dataelements.rng +3 -3
  13. data/cockpit/rngs/endpoints.rng +3 -3
  14. data/cockpit/{testsets → templates.legacy}/Async.xml +7 -7
  15. data/cockpit/{testsets → templates.legacy}/BCO.xml +7 -10
  16. data/cockpit/{testsets → templates.legacy}/BCS.xml +7 -10
  17. data/cockpit/{testsets → templates.legacy}/Centurio.xml +6 -6
  18. data/cockpit/{testsets → templates.legacy}/Concurrent.xml +6 -6
  19. data/cockpit/{testsets → templates.legacy}/Coopis Testset.xml +6 -6
  20. data/cockpit/{testsets → templates.legacy}/Endpoints and Data Manipulation.xml +6 -6
  21. data/cockpit/{testsets → templates.legacy}/ICSOC Testset.xml +6 -6
  22. data/cockpit/{testsets → templates.legacy}/Infinity.xml +3 -3
  23. data/cockpit/{testsets → templates.legacy}/Lego Boxer.xml +7 -7
  24. data/cockpit/{testsets → templates.legacy}/Lego Conveyor.xml +7 -7
  25. data/cockpit/{testsets → templates.legacy}/Lego Crane.xml +7 -7
  26. data/cockpit/{testsets → templates.legacy}/Lego Ejector.xml +7 -7
  27. data/cockpit/{testsets → templates.legacy}/Lego Full.xml +7 -7
  28. data/cockpit/{testsets → templates.legacy}/Lego Liddy.xml +7 -7
  29. data/cockpit/{testsets → templates.legacy}/Lego Plate.xml +7 -7
  30. data/cockpit/{testsets → templates.legacy}/Lego Transporter.xml +7 -7
  31. data/cockpit/{testsets → templates.legacy}/Lego_Part_1.xml +7 -7
  32. data/cockpit/{testsets → templates.legacy}/LgLinear.xml +6 -10
  33. data/cockpit/{testsets → templates.legacy}/Linear.xml +7 -7
  34. data/cockpit/{testsets → templates.legacy}/Log.xml +7 -7
  35. data/cockpit/{testsets → templates.legacy}/Mangler 1.xml +6 -6
  36. data/cockpit/{testsets → templates.legacy}/Mangler 2.xml +6 -6
  37. data/cockpit/{testsets → templates.legacy}/Manuel Labels.xml +7 -7
  38. data/cockpit/{testsets → templates.legacy}/Promise.xml +7 -7
  39. data/cockpit/{testsets → templates.legacy}/SOPROMO Test Sonification.xml +6 -6
  40. data/cockpit/{testsets → templates.legacy}/Subprocess.xml +7 -7
  41. data/cockpit/{testsets → templates.legacy}/Syncing P34 1.xml +8 -11
  42. data/cockpit/{testsets → templates.legacy}/Syncing P34 2.xml +8 -11
  43. data/cockpit/{testsets → templates.legacy}/Syncing P34 3.xml +8 -11
  44. data/cockpit/{testsets → templates.legacy}/Syncing P34.xml +8 -11
  45. data/cockpit/{testsets → templates.legacy}/TEST - Bad Loop.xml +6 -6
  46. data/cockpit/{testsets → templates.legacy}/TEST - Wrong Positions.xml +6 -6
  47. data/cockpit/{testsets → templates.legacy}/Take_5.xml +7 -7
  48. data/cockpit/{testsets → templates.legacy}/Update.xml +7 -7
  49. data/cockpit/{testsets → templates.legacy}/Worklist Parallel.xml +7 -7
  50. data/cockpit/{testsets → templates.legacy}/Worklist Test CPEE.xml +7 -7
  51. data/cockpit/{testsets → templates.legacy}/Worklist Test.xml +7 -7
  52. data/cockpit/{testsets → templates.legacy}/Worklist Test2.xml +7 -7
  53. data/cockpit/templates.legacy/convert_cpee2.rb +15 -0
  54. data/cockpit/{testsets → templates.legacy}/convert_preset.rb +0 -0
  55. data/cockpit/{testsets → templates.legacy}/testsets.xml +1 -1
  56. data/cockpit/{testsets → templates.legacy}/transformations.xml +0 -0
  57. data/cockpit/templates/BPM 2020 Manual Adjust.xml +182 -0
  58. data/cockpit/templates/BPM 2020 Solution Baseline.xml +196 -0
  59. data/cockpit/templates/BPM 2020 Solution NN.xml +197 -0
  60. data/cockpit/templates/BPM 2020 Solution View.xml +144 -0
  61. data/cockpit/templates/BPM 2020.xml +26 -0
  62. data/cockpit/templates/Coopis 2010.xml +85 -0
  63. data/cockpit/templates/IUPC arXiv:1104.3609 P34 1.xml +77 -0
  64. data/cockpit/templates/IUPC arXiv:1104.3609 P34 2.xml +77 -0
  65. data/cockpit/templates/IUPC arXiv:1104.3609 P34 3.xml +77 -0
  66. data/cockpit/templates/Worklist.xml +42 -0
  67. data/cockpit/templates/convert_cpee2.rb +15 -0
  68. data/cockpit/themes/compact/rngs/alternative.rng +25 -0
  69. data/cockpit/themes/compact/rngs/call.rng +20 -14
  70. data/cockpit/themes/compact/rngs/callmanipulate.rng +28 -22
  71. data/cockpit/themes/compact/rngs/choose.rng +14 -0
  72. data/cockpit/themes/compact/rngs/critical.rng +5 -0
  73. data/cockpit/themes/compact/rngs/escape.rng +1 -0
  74. data/cockpit/themes/compact/rngs/group.rng +3 -0
  75. data/cockpit/themes/compact/rngs/loop.rng +22 -0
  76. data/cockpit/themes/compact/rngs/manipulate.rng +9 -0
  77. data/cockpit/themes/compact/rngs/otherwise.rng +22 -0
  78. data/cockpit/themes/compact/rngs/parallel.rng +21 -0
  79. data/cockpit/themes/compact/rngs/parallel_branch.rng +8 -0
  80. data/cockpit/themes/compact/rngs/scripts.rng +10 -11
  81. data/cockpit/themes/compact/rngs/stop.rng +5 -0
  82. data/cockpit/themes/compact/rngs/terminate.rng +1 -0
  83. data/cockpit/themes/compact/theme.js +1 -1
  84. data/cockpit/themes/convert_cpee2.rb +8 -0
  85. data/cockpit/themes/default/rngs/alternative.rng +8 -8
  86. data/cockpit/themes/default/rngs/call.rng +85 -49
  87. data/cockpit/themes/default/rngs/callmanipulate.rng +103 -64
  88. data/cockpit/themes/default/rngs/choose.rng +5 -3
  89. data/cockpit/themes/default/rngs/critical.rng +2 -2
  90. data/cockpit/themes/default/rngs/escape.rng +1 -1
  91. data/cockpit/themes/default/rngs/group.rng +3 -3
  92. data/cockpit/themes/default/rngs/loop.rng +8 -8
  93. data/cockpit/themes/default/rngs/manipulate.rng +3 -3
  94. data/cockpit/themes/default/rngs/otherwise.rng +8 -8
  95. data/cockpit/themes/default/rngs/parallel.rng +14 -6
  96. data/cockpit/themes/default/rngs/parallel_branch.rng +2 -2
  97. data/cockpit/themes/default/rngs/scripts.rng +23 -0
  98. data/cockpit/themes/default/rngs/stop.rng +2 -2
  99. data/cockpit/themes/default/rngs/terminate.rng +1 -1
  100. data/cockpit/themes/extended/rngs/alternative.rng +25 -0
  101. data/cockpit/themes/extended/rngs/call.rng +20 -14
  102. data/cockpit/themes/extended/rngs/callmanipulate.rng +28 -22
  103. data/cockpit/themes/extended/rngs/choose.rng +14 -0
  104. data/cockpit/themes/extended/rngs/critical.rng +5 -0
  105. data/cockpit/themes/extended/rngs/escape.rng +1 -0
  106. data/cockpit/themes/extended/rngs/group.rng +3 -0
  107. data/cockpit/themes/extended/rngs/loop.rng +22 -0
  108. data/cockpit/themes/extended/rngs/manipulate.rng +9 -0
  109. data/cockpit/themes/extended/rngs/otherwise.rng +22 -0
  110. data/cockpit/themes/extended/rngs/parallel.rng +21 -0
  111. data/cockpit/themes/extended/rngs/parallel_branch.rng +8 -0
  112. data/cockpit/themes/extended/rngs/scripts.rng +10 -11
  113. data/cockpit/themes/extended/rngs/stop.rng +5 -0
  114. data/cockpit/themes/extended/rngs/terminate.rng +1 -0
  115. data/cockpit/themes/extended/theme.js +14 -28
  116. data/cockpit/themes/model/rngs/alternative.rng +1 -1
  117. data/cockpit/themes/model/rngs/call.rng +16 -16
  118. data/cockpit/themes/model/rngs/callmanipulate.rng +17 -17
  119. data/cockpit/themes/model/rngs/choose.rng +1 -1
  120. data/cockpit/themes/model/rngs/critical.rng +1 -1
  121. data/cockpit/themes/model/rngs/escape.rng +1 -1
  122. data/cockpit/themes/model/rngs/group.rng +1 -1
  123. data/cockpit/themes/model/rngs/loop.rng +1 -1
  124. data/cockpit/themes/model/rngs/manipulate.rng +1 -1
  125. data/cockpit/themes/model/rngs/otherwise.rng +1 -1
  126. data/cockpit/themes/model/rngs/parallel.rng +1 -1
  127. data/cockpit/themes/model/rngs/parallel_branch.rng +1 -1
  128. data/cockpit/themes/model/rngs/scripts.rng +3 -4
  129. data/cockpit/themes/model/rngs/stop.rng +1 -1
  130. data/cockpit/themes/model/rngs/terminate.rng +1 -1
  131. data/cockpit/themes/model/theme.js +8 -7
  132. data/cockpit/themes/packed/rngs/alternative.rng +25 -0
  133. data/cockpit/themes/packed/rngs/call.rng +20 -14
  134. data/cockpit/themes/packed/rngs/callmanipulate.rng +28 -22
  135. data/cockpit/themes/packed/rngs/choose.rng +14 -0
  136. data/cockpit/themes/packed/rngs/critical.rng +5 -0
  137. data/cockpit/themes/packed/rngs/escape.rng +1 -0
  138. data/cockpit/themes/packed/rngs/group.rng +3 -0
  139. data/cockpit/themes/packed/rngs/loop.rng +22 -0
  140. data/cockpit/themes/packed/rngs/manipulate.rng +9 -0
  141. data/cockpit/themes/packed/rngs/otherwise.rng +22 -0
  142. data/cockpit/themes/packed/rngs/parallel.rng +21 -0
  143. data/cockpit/themes/packed/rngs/parallel_branch.rng +8 -0
  144. data/cockpit/themes/packed/rngs/scripts.rng +10 -11
  145. data/cockpit/themes/packed/rngs/stop.rng +5 -0
  146. data/cockpit/themes/packed/rngs/terminate.rng +1 -0
  147. data/cockpit/themes/packed/theme.js +8 -7
  148. data/cockpit/themes/preset/rngs/alternative.rng +25 -0
  149. data/cockpit/themes/preset/rngs/call.rng +20 -14
  150. data/cockpit/themes/preset/rngs/callmanipulate.rng +28 -22
  151. data/cockpit/themes/preset/rngs/choose.rng +14 -0
  152. data/cockpit/themes/preset/rngs/critical.rng +5 -0
  153. data/cockpit/themes/preset/rngs/escape.rng +1 -0
  154. data/cockpit/themes/preset/rngs/group.rng +3 -0
  155. data/cockpit/themes/preset/rngs/loop.rng +22 -0
  156. data/cockpit/themes/preset/rngs/manipulate.rng +9 -0
  157. data/cockpit/themes/preset/rngs/otherwise.rng +22 -0
  158. data/cockpit/themes/preset/rngs/parallel.rng +21 -0
  159. data/cockpit/themes/preset/rngs/parallel_branch.rng +8 -0
  160. data/cockpit/themes/preset/rngs/scripts.rng +10 -11
  161. data/cockpit/themes/preset/rngs/stop.rng +5 -0
  162. data/cockpit/themes/preset/rngs/terminate.rng +1 -0
  163. data/cockpit/themes/preset/theme.js +8 -7
  164. data/cpee.gemspec +9 -9
  165. data/{log/topics.xml → lib/callbacks.xml} +16 -6
  166. data/lib/{engine → callbacks}/callbacks.rng +2 -8
  167. data/lib/cpee.xml +10 -4
  168. data/lib/cpee/attributes_helper.rb +27 -0
  169. data/lib/cpee/controller.rb +113 -596
  170. data/lib/cpee/implementation.rb +152 -191
  171. data/lib/cpee/implementation_callbacks.rb +77 -0
  172. data/lib/cpee/implementation_notifications.rb +189 -0
  173. data/lib/cpee/implementation_properties.rb +707 -0
  174. data/lib/cpee/{callback.rb → message.rb} +20 -18
  175. data/lib/cpee/persistence.rb +135 -0
  176. data/lib/cpee/statemachine.rb +20 -0
  177. data/lib/cpee/transform.rb +95 -0
  178. data/lib/engine.xml +1 -59
  179. data/lib/properties.xml +236 -0
  180. data/lib/properties/arbitrary.rng +26 -0
  181. data/lib/properties/attributes.rng +10 -0
  182. data/lib/properties/dataelements.rng +10 -0
  183. data/lib/properties/description.rng +8 -0
  184. data/lib/properties/dsl.rng +7 -0
  185. data/lib/properties/dslx.rng +8 -0
  186. data/lib/properties/endpoints.rng +10 -0
  187. data/lib/properties/handlerwrapper.rng +9 -0
  188. data/lib/properties/position.rng +15 -0
  189. data/lib/properties/positions.rng +10 -0
  190. data/lib/properties/properties.rng +29 -0
  191. data/lib/properties/set-properties.rng +25 -0
  192. data/lib/properties/set-some-properties.rng +45 -0
  193. data/lib/properties/simple.rng +8 -0
  194. data/lib/properties/state.rng +33 -0
  195. data/lib/properties/status.rng +12 -0
  196. data/lib/properties/t_attributes.rng +7 -0
  197. data/lib/properties/t_dataelements.rng +7 -0
  198. data/lib/properties/t_endpoints.rng +7 -0
  199. data/lib/properties/t_position.rng +7 -0
  200. data/lib/properties/t_positions.rng +7 -0
  201. data/lib/properties/t_simple.rng +7 -0
  202. data/lib/properties/t_status.rng +7 -0
  203. data/lib/properties/t_transformation.rng +7 -0
  204. data/lib/properties/transformation.rng +40 -0
  205. data/server/dev.rb +1 -0
  206. data/server/handlerwrappers/default.rb +40 -34
  207. data/server/resources/backend/README.md +17 -0
  208. data/server/resources/backend/instance.rb +23 -0
  209. data/server/resources/backend/instance.template +19 -0
  210. data/server/resources/backend/opts.yaml +6 -0
  211. data/server/resources/backend/run +29 -0
  212. data/server/resources/notifications/logging/subscription.xml +1 -1
  213. data/server/resources/properties.empty +38 -0
  214. data/server/resources/properties.init +11 -11
  215. data/server/resources/states.dot +19 -0
  216. data/server/resources/states.xml +49 -0
  217. data/server/resources/transformation_dslx.xsl +3 -0
  218. data/server/routing/end.rb +44 -0
  219. data/server/routing/forward-events.rb +59 -0
  220. data/server/routing/forward-votes.rb +108 -0
  221. data/server/routing/persist.rb +155 -0
  222. data/server/server.rb +1 -0
  223. data/tools/cpee +19 -15
  224. metadata +126 -156
  225. data/INSTALL +0 -23
  226. data/cockpit/test.html +0 -40
  227. data/cockpit/themes/compact/rngs/alternative.rng +0 -1
  228. data/cockpit/themes/compact/rngs/choose.rng +0 -1
  229. data/cockpit/themes/compact/rngs/critical.rng +0 -1
  230. data/cockpit/themes/compact/rngs/escape.rng +0 -1
  231. data/cockpit/themes/compact/rngs/group.rng +0 -1
  232. data/cockpit/themes/compact/rngs/loop.rng +0 -1
  233. data/cockpit/themes/compact/rngs/manipulate.rng +0 -1
  234. data/cockpit/themes/compact/rngs/otherwise.rng +0 -1
  235. data/cockpit/themes/compact/rngs/parallel.rng +0 -1
  236. data/cockpit/themes/compact/rngs/parallel_branch.rng +0 -1
  237. data/cockpit/themes/compact/rngs/stop.rng +0 -1
  238. data/cockpit/themes/compact/rngs/terminate.rng +0 -1
  239. data/cockpit/themes/default/rngs/finalize.rng +0 -6
  240. data/cockpit/themes/default/rngs/update.rng +0 -6
  241. data/cockpit/themes/default/theme.js +0 -1286
  242. data/cockpit/themes/extended/rngs/alternative.rng +0 -1
  243. data/cockpit/themes/extended/rngs/choose.rng +0 -1
  244. data/cockpit/themes/extended/rngs/critical.rng +0 -1
  245. data/cockpit/themes/extended/rngs/escape.rng +0 -1
  246. data/cockpit/themes/extended/rngs/group.rng +0 -1
  247. data/cockpit/themes/extended/rngs/loop.rng +0 -1
  248. data/cockpit/themes/extended/rngs/manipulate.rng +0 -1
  249. data/cockpit/themes/extended/rngs/otherwise.rng +0 -1
  250. data/cockpit/themes/extended/rngs/parallel.rng +0 -1
  251. data/cockpit/themes/extended/rngs/parallel_branch.rng +0 -1
  252. data/cockpit/themes/extended/rngs/stop.rng +0 -1
  253. data/cockpit/themes/extended/rngs/terminate.rng +0 -1
  254. data/cockpit/themes/labels/rngs/alternative.rng +0 -25
  255. data/cockpit/themes/labels/rngs/call.rng +0 -81
  256. data/cockpit/themes/labels/rngs/callmanipulate.rng +0 -101
  257. data/cockpit/themes/labels/rngs/choose.rng +0 -12
  258. data/cockpit/themes/labels/rngs/critical.rng +0 -5
  259. data/cockpit/themes/labels/rngs/escape.rng +0 -1
  260. data/cockpit/themes/labels/rngs/finalize.rng +0 -6
  261. data/cockpit/themes/labels/rngs/group.rng +0 -3
  262. data/cockpit/themes/labels/rngs/loop.rng +0 -22
  263. data/cockpit/themes/labels/rngs/manipulate.rng +0 -9
  264. data/cockpit/themes/labels/rngs/otherwise.rng +0 -22
  265. data/cockpit/themes/labels/rngs/parallel.rng +0 -13
  266. data/cockpit/themes/labels/rngs/parallel_branch.rng +0 -8
  267. data/cockpit/themes/labels/rngs/stop.rng +0 -5
  268. data/cockpit/themes/labels/rngs/terminate.rng +0 -1
  269. data/cockpit/themes/labels/rngs/update.rng +0 -6
  270. data/cockpit/themes/labels/symbols/alternative.svg +0 -5
  271. data/cockpit/themes/labels/symbols/arrow.svg +0 -3
  272. data/cockpit/themes/labels/symbols/call.svg +0 -6
  273. data/cockpit/themes/labels/symbols/callmanipulate.svg +0 -8
  274. data/cockpit/themes/labels/symbols/choose.svg +0 -5
  275. data/cockpit/themes/labels/symbols/choose_exclusive.svg +0 -5
  276. data/cockpit/themes/labels/symbols/choose_inclusive.svg +0 -4
  277. data/cockpit/themes/labels/symbols/complex.svg +0 -8
  278. data/cockpit/themes/labels/symbols/critical.svg +0 -4
  279. data/cockpit/themes/labels/symbols/end.svg +0 -3
  280. data/cockpit/themes/labels/symbols/escape.svg +0 -5
  281. data/cockpit/themes/labels/symbols/event_end.svg +0 -3
  282. data/cockpit/themes/labels/symbols/loop.svg +0 -5
  283. data/cockpit/themes/labels/symbols/manipulate.svg +0 -4
  284. data/cockpit/themes/labels/symbols/otherwise.svg +0 -5
  285. data/cockpit/themes/labels/symbols/parallel.svg +0 -5
  286. data/cockpit/themes/labels/symbols/parallel_branch.svg +0 -5
  287. data/cockpit/themes/labels/symbols/parallel_branch_compact.svg +0 -4
  288. data/cockpit/themes/labels/symbols/parallel_branch_event.svg +0 -14
  289. data/cockpit/themes/labels/symbols/parallel_branch_normal.svg +0 -5
  290. data/cockpit/themes/labels/symbols/scripts.svg +0 -4
  291. data/cockpit/themes/labels/symbols/start.svg +0 -3
  292. data/cockpit/themes/labels/symbols/stop.svg +0 -5
  293. data/cockpit/themes/labels/symbols/terminate.svg +0 -4
  294. data/cockpit/themes/packed/rngs/alternative.rng +0 -1
  295. data/cockpit/themes/packed/rngs/choose.rng +0 -1
  296. data/cockpit/themes/packed/rngs/critical.rng +0 -1
  297. data/cockpit/themes/packed/rngs/escape.rng +0 -1
  298. data/cockpit/themes/packed/rngs/group.rng +0 -1
  299. data/cockpit/themes/packed/rngs/loop.rng +0 -1
  300. data/cockpit/themes/packed/rngs/manipulate.rng +0 -1
  301. data/cockpit/themes/packed/rngs/otherwise.rng +0 -1
  302. data/cockpit/themes/packed/rngs/parallel.rng +0 -1
  303. data/cockpit/themes/packed/rngs/parallel_branch.rng +0 -1
  304. data/cockpit/themes/packed/rngs/stop.rng +0 -1
  305. data/cockpit/themes/packed/rngs/terminate.rng +0 -1
  306. data/cockpit/themes/preset/rngs/alternative.rng +0 -1
  307. data/cockpit/themes/preset/rngs/choose.rng +0 -1
  308. data/cockpit/themes/preset/rngs/critical.rng +0 -1
  309. data/cockpit/themes/preset/rngs/escape.rng +0 -1
  310. data/cockpit/themes/preset/rngs/group.rng +0 -1
  311. data/cockpit/themes/preset/rngs/loop.rng +0 -1
  312. data/cockpit/themes/preset/rngs/manipulate.rng +0 -1
  313. data/cockpit/themes/preset/rngs/otherwise.rng +0 -1
  314. data/cockpit/themes/preset/rngs/parallel.rng +0 -1
  315. data/cockpit/themes/preset/rngs/parallel_branch.rng +0 -1
  316. data/cockpit/themes/preset/rngs/stop.rng +0 -1
  317. data/cockpit/themes/preset/rngs/terminate.rng +0 -1
  318. data/lib/cpee/empty_workflow.rb +0 -28
  319. data/lib/cpee/handler_notifications.rb +0 -47
  320. data/lib/cpee/handler_properties.rb +0 -50
  321. data/lib/cpee/instantiation.rb +0 -368
  322. data/lib/cpee/processtransformation/bpel/Repository/booking.bpel +0 -125
  323. data/lib/cpee/processtransformation/bpel/Repository/booking.wsdl +0 -72
  324. data/lib/cpee/processtransformation/bpel/Repository/booking/airline.wsdl +0 -71
  325. data/lib/cpee/processtransformation/bpel/Repository/booking/hotel.wsdl +0 -64
  326. data/lib/cpee/processtransformation/bpel/Repository/booking/report.wsdl +0 -71
  327. data/lib/cpee/processtransformation/bpel/bpel2wee.rb +0 -34
  328. data/lib/cpee/processtransformation/bpel/bpelserver.ru +0 -64
  329. data/lib/cpee/processtransformation/bpel/bpelserver.xml +0 -70
  330. data/lib/cpee/processtransformation/bpel/lib/BPEL_Transform.rb +0 -367
  331. data/lib/cpee/processtransformation/bpmn2.rb +0 -297
  332. data/lib/cpee/processtransformation/cpee.rb +0 -119
  333. data/lib/cpee/processtransformation/structures.rb +0 -465
  334. data/lib/cpee/processtransformation/target.rb +0 -50
  335. data/log/azure.rb +0 -10
  336. data/log/azure_logger.rb +0 -136
  337. data/log/chain.xml +0 -27
  338. data/log/elasticsearch.rb +0 -15
  339. data/log/elasticsearch_logging.rb +0 -377
  340. data/log/legacy/test_es.rb +0 -26
  341. data/log/legacy/test_split.rb +0 -211
  342. data/log/log.xml +0 -13
  343. data/log/non_tamp.rb +0 -156
  344. data/log/sic.rb +0 -63
  345. data/log/template.xes_xml +0 -23
  346. data/log/template.xes_yaml +0 -28
  347. data/log/trace.yaml +0 -17717
  348. data/log/trace_sic.yaml +0 -18343
  349. data/log/xes_xml.rb +0 -121
  350. data/log/xes_yaml.rb +0 -96
  351. data/server/handlerwrappers/soap.rb +0 -146
  352. data/server/resources/notifications/logging/consumer-secret +0 -1
  353. data/server/resources/notifications/logging/producer-secret +0 -1
  354. data/server/resources/properties.schema.active +0 -139
  355. data/server/resources/properties.schema.finished +0 -139
  356. data/server/resources/properties.schema.inactive +0 -136
  357. data/server/resources/test1.xml +0 -58
  358. data/server/resources/test2.xml +0 -60
  359. data/server/resources/test3.xml +0 -217
  360. 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 +0,0 @@
1
- f7c77861ac613eeac8fb9829c9a545a2
@@ -1 +0,0 @@
1
- 2a24d172b1aeb05fe94fdc5e095dec32
@@ -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>