cpee 1.5.26 → 2.0.3

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 +191 -284
  9. data/cockpit/js/parameters.js +13 -3
  10. data/cockpit/js/ui.js +2 -2
  11. data/cockpit/model.html +1 -0
  12. data/cockpit/rngs/attributes.rng +1 -1
  13. data/cockpit/rngs/dataelements.rng +1 -1
  14. data/cockpit/rngs/endpoints.rng +1 -1
  15. data/cockpit/templates.legacy/Async.xml +7 -7
  16. data/cockpit/templates.legacy/BCO.xml +7 -10
  17. data/cockpit/templates.legacy/BCS.xml +7 -10
  18. data/cockpit/templates.legacy/Centurio.xml +6 -6
  19. data/cockpit/templates.legacy/Concurrent.xml +6 -6
  20. data/cockpit/templates.legacy/Coopis Testset.xml +6 -6
  21. data/cockpit/templates.legacy/Endpoints and Data Manipulation.xml +6 -6
  22. data/cockpit/templates.legacy/ICSOC Testset.xml +6 -6
  23. data/cockpit/templates.legacy/Infinity.xml +3 -3
  24. data/cockpit/templates.legacy/Lego Boxer.xml +7 -7
  25. data/cockpit/templates.legacy/Lego Conveyor.xml +7 -7
  26. data/cockpit/templates.legacy/Lego Crane.xml +7 -7
  27. data/cockpit/templates.legacy/Lego Ejector.xml +7 -7
  28. data/cockpit/templates.legacy/Lego Full.xml +7 -7
  29. data/cockpit/templates.legacy/Lego Liddy.xml +7 -7
  30. data/cockpit/templates.legacy/Lego Plate.xml +7 -7
  31. data/cockpit/templates.legacy/Lego Transporter.xml +7 -7
  32. data/cockpit/templates.legacy/Lego_Part_1.xml +7 -7
  33. data/cockpit/templates.legacy/LgLinear.xml +6 -10
  34. data/cockpit/templates.legacy/Linear.xml +7 -7
  35. data/cockpit/templates.legacy/Log.xml +7 -7
  36. data/cockpit/templates.legacy/Mangler 1.xml +6 -6
  37. data/cockpit/templates.legacy/Mangler 2.xml +6 -6
  38. data/cockpit/templates.legacy/Manuel Labels.xml +7 -7
  39. data/cockpit/templates.legacy/Promise.xml +7 -7
  40. data/cockpit/templates.legacy/SOPROMO Test Sonification.xml +6 -6
  41. data/cockpit/templates.legacy/Subprocess.xml +56 -0
  42. data/cockpit/templates.legacy/Syncing P34 1.xml +8 -11
  43. data/cockpit/templates.legacy/Syncing P34 2.xml +8 -11
  44. data/cockpit/templates.legacy/Syncing P34 3.xml +8 -11
  45. data/cockpit/templates.legacy/Syncing P34.xml +8 -11
  46. data/cockpit/templates.legacy/TEST - Bad Loop.xml +6 -6
  47. data/cockpit/templates.legacy/TEST - Wrong Positions.xml +6 -6
  48. data/cockpit/templates.legacy/Take_5.xml +48 -0
  49. data/cockpit/templates.legacy/Update.xml +7 -7
  50. data/cockpit/templates.legacy/Worklist Parallel.xml +7 -7
  51. data/cockpit/templates.legacy/Worklist Test CPEE.xml +7 -7
  52. data/cockpit/templates.legacy/Worklist Test.xml +7 -7
  53. data/cockpit/templates.legacy/Worklist Test2.xml +7 -7
  54. data/cockpit/templates.legacy/convert_cpee2.rb +15 -0
  55. data/cockpit/templates.legacy/testsets.xml +1 -1
  56. data/cockpit/templates/BPM 2020 Manual Adjust.xml +18 -71
  57. data/cockpit/templates/BPM 2020 Solution Baseline.xml +17 -71
  58. data/cockpit/templates/BPM 2020 Solution NN.xml +25 -71
  59. data/cockpit/templates/BPM 2020 Solution View.xml +15 -71
  60. data/cockpit/templates/BPM 2020.xml +17 -6
  61. data/cockpit/templates/Coopis 2010.xml +7 -7
  62. data/cockpit/templates/IUPC arXiv:1104.3609 P34 1.xml +7 -10
  63. data/cockpit/templates/IUPC arXiv:1104.3609 P34 2.xml +7 -10
  64. data/cockpit/templates/IUPC arXiv:1104.3609 P34 3.xml +7 -10
  65. data/cockpit/templates/Worklist.xml +7 -7
  66. data/cockpit/templates/convert_cpee2.rb +15 -0
  67. data/cockpit/themes/compact/rngs/alternative.rng +25 -0
  68. data/cockpit/themes/compact/rngs/call.rng +17 -17
  69. data/cockpit/themes/compact/rngs/callmanipulate.rng +26 -26
  70. data/cockpit/themes/compact/rngs/choose.rng +14 -0
  71. data/cockpit/themes/compact/rngs/critical.rng +5 -0
  72. data/cockpit/themes/compact/rngs/escape.rng +1 -0
  73. data/cockpit/themes/compact/rngs/group.rng +3 -0
  74. data/cockpit/themes/compact/rngs/loop.rng +22 -0
  75. data/cockpit/themes/compact/rngs/manipulate.rng +9 -0
  76. data/cockpit/themes/compact/rngs/otherwise.rng +22 -0
  77. data/cockpit/themes/compact/rngs/parallel.rng +21 -0
  78. data/cockpit/themes/compact/rngs/parallel_branch.rng +8 -0
  79. data/cockpit/themes/compact/rngs/scripts.rng +10 -11
  80. data/cockpit/themes/compact/rngs/stop.rng +5 -0
  81. data/cockpit/themes/compact/rngs/terminate.rng +1 -0
  82. data/cockpit/themes/convert_cpee2.rb +8 -0
  83. data/cockpit/themes/default/rngs/alternative.rng +8 -8
  84. data/cockpit/themes/default/rngs/call.rng +84 -48
  85. data/cockpit/themes/default/rngs/callmanipulate.rng +103 -64
  86. data/cockpit/themes/default/rngs/choose.rng +5 -3
  87. data/cockpit/themes/default/rngs/critical.rng +2 -2
  88. data/cockpit/themes/default/rngs/escape.rng +1 -1
  89. data/cockpit/themes/default/rngs/group.rng +3 -3
  90. data/cockpit/themes/default/rngs/loop.rng +8 -8
  91. data/cockpit/themes/default/rngs/manipulate.rng +3 -3
  92. data/cockpit/themes/default/rngs/otherwise.rng +8 -8
  93. data/cockpit/themes/default/rngs/parallel.rng +14 -6
  94. data/cockpit/themes/default/rngs/parallel_branch.rng +2 -2
  95. data/cockpit/themes/default/rngs/scripts.rng +23 -0
  96. data/cockpit/themes/default/rngs/stop.rng +2 -2
  97. data/cockpit/themes/default/rngs/terminate.rng +1 -1
  98. data/cockpit/themes/extended/rngs/alternative.rng +25 -0
  99. data/cockpit/themes/extended/rngs/call.rng +17 -17
  100. data/cockpit/themes/extended/rngs/callmanipulate.rng +26 -26
  101. data/cockpit/themes/extended/rngs/choose.rng +14 -0
  102. data/cockpit/themes/extended/rngs/critical.rng +5 -0
  103. data/cockpit/themes/extended/rngs/escape.rng +1 -0
  104. data/cockpit/themes/extended/rngs/group.rng +3 -0
  105. data/cockpit/themes/extended/rngs/loop.rng +22 -0
  106. data/cockpit/themes/extended/rngs/manipulate.rng +9 -0
  107. data/cockpit/themes/extended/rngs/otherwise.rng +22 -0
  108. data/cockpit/themes/extended/rngs/parallel.rng +21 -0
  109. data/cockpit/themes/extended/rngs/parallel_branch.rng +8 -0
  110. data/cockpit/themes/extended/rngs/scripts.rng +10 -11
  111. data/cockpit/themes/extended/rngs/stop.rng +5 -0
  112. data/cockpit/themes/extended/rngs/terminate.rng +1 -0
  113. data/cockpit/themes/extended/theme.js +7 -6
  114. data/cockpit/themes/model/rngs/alternative.rng +1 -1
  115. data/cockpit/themes/model/rngs/call.rng +16 -16
  116. data/cockpit/themes/model/rngs/callmanipulate.rng +17 -17
  117. data/cockpit/themes/model/rngs/choose.rng +1 -1
  118. data/cockpit/themes/model/rngs/critical.rng +1 -1
  119. data/cockpit/themes/model/rngs/escape.rng +1 -1
  120. data/cockpit/themes/model/rngs/group.rng +1 -1
  121. data/cockpit/themes/model/rngs/loop.rng +1 -1
  122. data/cockpit/themes/model/rngs/manipulate.rng +1 -1
  123. data/cockpit/themes/model/rngs/otherwise.rng +1 -1
  124. data/cockpit/themes/model/rngs/parallel.rng +1 -1
  125. data/cockpit/themes/model/rngs/parallel_branch.rng +1 -1
  126. data/cockpit/themes/model/rngs/scripts.rng +3 -4
  127. data/cockpit/themes/model/rngs/stop.rng +1 -1
  128. data/cockpit/themes/model/rngs/terminate.rng +1 -1
  129. data/cockpit/themes/model/theme.js +7 -6
  130. data/cockpit/themes/packed/rngs/alternative.rng +25 -0
  131. data/cockpit/themes/packed/rngs/call.rng +17 -17
  132. data/cockpit/themes/packed/rngs/callmanipulate.rng +26 -26
  133. data/cockpit/themes/packed/rngs/choose.rng +14 -0
  134. data/cockpit/themes/packed/rngs/critical.rng +5 -0
  135. data/cockpit/themes/packed/rngs/escape.rng +1 -0
  136. data/cockpit/themes/packed/rngs/group.rng +3 -0
  137. data/cockpit/themes/packed/rngs/loop.rng +22 -0
  138. data/cockpit/themes/packed/rngs/manipulate.rng +9 -0
  139. data/cockpit/themes/packed/rngs/otherwise.rng +22 -0
  140. data/cockpit/themes/packed/rngs/parallel.rng +21 -0
  141. data/cockpit/themes/packed/rngs/parallel_branch.rng +8 -0
  142. data/cockpit/themes/packed/rngs/scripts.rng +10 -11
  143. data/cockpit/themes/packed/rngs/stop.rng +5 -0
  144. data/cockpit/themes/packed/rngs/terminate.rng +1 -0
  145. data/cockpit/themes/packed/theme.js +7 -6
  146. data/cockpit/themes/preset/rngs/alternative.rng +25 -0
  147. data/cockpit/themes/preset/rngs/call.rng +17 -17
  148. data/cockpit/themes/preset/rngs/callmanipulate.rng +26 -26
  149. data/cockpit/themes/preset/rngs/choose.rng +14 -0
  150. data/cockpit/themes/preset/rngs/critical.rng +5 -0
  151. data/cockpit/themes/preset/rngs/escape.rng +1 -0
  152. data/cockpit/themes/preset/rngs/group.rng +3 -0
  153. data/cockpit/themes/preset/rngs/loop.rng +22 -0
  154. data/cockpit/themes/preset/rngs/manipulate.rng +9 -0
  155. data/cockpit/themes/preset/rngs/otherwise.rng +22 -0
  156. data/cockpit/themes/preset/rngs/parallel.rng +21 -0
  157. data/cockpit/themes/preset/rngs/parallel_branch.rng +8 -0
  158. data/cockpit/themes/preset/rngs/scripts.rng +10 -11
  159. data/cockpit/themes/preset/rngs/stop.rng +5 -0
  160. data/cockpit/themes/preset/rngs/terminate.rng +1 -0
  161. data/cockpit/themes/preset/theme.js +7 -6
  162. data/cpee.gemspec +10 -11
  163. data/{log/topics.xml → lib/callbacks.xml} +16 -6
  164. data/lib/{engine → callbacks}/callbacks.rng +2 -8
  165. data/lib/cpee.xml +10 -4
  166. data/lib/cpee/attributes_helper.rb +27 -0
  167. data/lib/cpee/controller.rb +113 -596
  168. data/lib/cpee/implementation.rb +167 -191
  169. data/lib/cpee/implementation_callbacks.rb +77 -0
  170. data/lib/cpee/implementation_notifications.rb +189 -0
  171. data/lib/cpee/implementation_properties.rb +714 -0
  172. data/lib/cpee/{callback.rb → message.rb} +20 -18
  173. data/lib/cpee/persistence.rb +135 -0
  174. data/lib/cpee/statemachine.rb +20 -0
  175. data/lib/cpee/transform.rb +95 -0
  176. data/lib/engine.xml +1 -59
  177. data/lib/properties.xml +236 -0
  178. data/lib/properties/arbitrary.rng +26 -0
  179. data/lib/properties/attributes.rng +10 -0
  180. data/lib/properties/dataelements.rng +10 -0
  181. data/lib/properties/description.rng +8 -0
  182. data/lib/properties/dsl.rng +7 -0
  183. data/lib/properties/dslx.rng +8 -0
  184. data/lib/properties/endpoints.rng +10 -0
  185. data/lib/properties/handlerwrapper.rng +9 -0
  186. data/lib/properties/position.rng +15 -0
  187. data/lib/properties/positions.rng +10 -0
  188. data/lib/properties/properties.rng +29 -0
  189. data/lib/properties/set-properties.rng +25 -0
  190. data/lib/properties/set-some-properties.rng +45 -0
  191. data/lib/properties/simple.rng +8 -0
  192. data/lib/properties/state.rng +33 -0
  193. data/lib/properties/status.rng +12 -0
  194. data/lib/properties/t_attributes.rng +7 -0
  195. data/lib/properties/t_dataelements.rng +7 -0
  196. data/lib/properties/t_endpoints.rng +7 -0
  197. data/lib/properties/t_position.rng +7 -0
  198. data/lib/properties/t_positions.rng +7 -0
  199. data/lib/properties/t_simple.rng +7 -0
  200. data/lib/properties/t_status.rng +7 -0
  201. data/lib/properties/t_transformation.rng +7 -0
  202. data/lib/properties/transformation.rng +40 -0
  203. data/server/dev.rb +1 -0
  204. data/server/handlerwrappers/default.rb +40 -38
  205. data/server/resources/backend/README.md +17 -0
  206. data/server/resources/backend/instance.rb +23 -0
  207. data/server/resources/backend/instance.template +19 -0
  208. data/server/resources/backend/opts.yaml +6 -0
  209. data/server/resources/backend/run +33 -0
  210. data/server/resources/notifications/logging/subscription.xml +19 -0
  211. data/server/resources/properties.empty +38 -0
  212. data/server/resources/properties.init +11 -11
  213. data/server/resources/states.dot +19 -0
  214. data/server/resources/states.xml +49 -0
  215. data/server/resources/transformation_dslx.xsl +12 -3
  216. data/server/routing/end.rb +44 -0
  217. data/server/routing/forward-events.rb +59 -0
  218. data/server/routing/forward-votes.rb +108 -0
  219. data/server/routing/persist.rb +155 -0
  220. data/server/server.rb +1 -0
  221. data/tools/cpee +46 -15
  222. data/tools/instantiation/instantiation +0 -1
  223. data/tools/server/server.rb +0 -1
  224. metadata +78 -132
  225. data/INSTALL +0 -23
  226. data/cockpit/templates/convert_preset.rb +0 -32
  227. data/cockpit/templates/testsets.xml +0 -11
  228. data/cockpit/templates/transformations.xml +0 -4
  229. data/cockpit/themes/compact/rngs/alternative.rng +0 -1
  230. data/cockpit/themes/compact/rngs/choose.rng +0 -1
  231. data/cockpit/themes/compact/rngs/critical.rng +0 -1
  232. data/cockpit/themes/compact/rngs/escape.rng +0 -1
  233. data/cockpit/themes/compact/rngs/group.rng +0 -1
  234. data/cockpit/themes/compact/rngs/loop.rng +0 -1
  235. data/cockpit/themes/compact/rngs/manipulate.rng +0 -1
  236. data/cockpit/themes/compact/rngs/otherwise.rng +0 -1
  237. data/cockpit/themes/compact/rngs/parallel.rng +0 -1
  238. data/cockpit/themes/compact/rngs/parallel_branch.rng +0 -1
  239. data/cockpit/themes/compact/rngs/stop.rng +0 -1
  240. data/cockpit/themes/compact/rngs/terminate.rng +0 -1
  241. data/cockpit/themes/default/rngs/finalize.rng +0 -6
  242. data/cockpit/themes/default/rngs/update.rng +0 -6
  243. data/cockpit/themes/default/theme.js +0 -1286
  244. data/cockpit/themes/extended/rngs/alternative.rng +0 -1
  245. data/cockpit/themes/extended/rngs/choose.rng +0 -1
  246. data/cockpit/themes/extended/rngs/critical.rng +0 -1
  247. data/cockpit/themes/extended/rngs/escape.rng +0 -1
  248. data/cockpit/themes/extended/rngs/group.rng +0 -1
  249. data/cockpit/themes/extended/rngs/loop.rng +0 -1
  250. data/cockpit/themes/extended/rngs/manipulate.rng +0 -1
  251. data/cockpit/themes/extended/rngs/otherwise.rng +0 -1
  252. data/cockpit/themes/extended/rngs/parallel.rng +0 -1
  253. data/cockpit/themes/extended/rngs/parallel_branch.rng +0 -1
  254. data/cockpit/themes/extended/rngs/stop.rng +0 -1
  255. data/cockpit/themes/extended/rngs/terminate.rng +0 -1
  256. data/cockpit/themes/labels/rngs/alternative.rng +0 -25
  257. data/cockpit/themes/labels/rngs/call.rng +0 -81
  258. data/cockpit/themes/labels/rngs/callmanipulate.rng +0 -101
  259. data/cockpit/themes/labels/rngs/choose.rng +0 -12
  260. data/cockpit/themes/labels/rngs/critical.rng +0 -5
  261. data/cockpit/themes/labels/rngs/escape.rng +0 -1
  262. data/cockpit/themes/labels/rngs/finalize.rng +0 -6
  263. data/cockpit/themes/labels/rngs/group.rng +0 -3
  264. data/cockpit/themes/labels/rngs/loop.rng +0 -22
  265. data/cockpit/themes/labels/rngs/manipulate.rng +0 -9
  266. data/cockpit/themes/labels/rngs/otherwise.rng +0 -22
  267. data/cockpit/themes/labels/rngs/parallel.rng +0 -13
  268. data/cockpit/themes/labels/rngs/parallel_branch.rng +0 -8
  269. data/cockpit/themes/labels/rngs/stop.rng +0 -5
  270. data/cockpit/themes/labels/rngs/terminate.rng +0 -1
  271. data/cockpit/themes/labels/rngs/update.rng +0 -6
  272. data/cockpit/themes/labels/symbols/alternative.svg +0 -5
  273. data/cockpit/themes/labels/symbols/arrow.svg +0 -3
  274. data/cockpit/themes/labels/symbols/call.svg +0 -6
  275. data/cockpit/themes/labels/symbols/callmanipulate.svg +0 -8
  276. data/cockpit/themes/labels/symbols/choose.svg +0 -5
  277. data/cockpit/themes/labels/symbols/choose_exclusive.svg +0 -5
  278. data/cockpit/themes/labels/symbols/choose_inclusive.svg +0 -4
  279. data/cockpit/themes/labels/symbols/complex.svg +0 -8
  280. data/cockpit/themes/labels/symbols/critical.svg +0 -4
  281. data/cockpit/themes/labels/symbols/end.svg +0 -3
  282. data/cockpit/themes/labels/symbols/escape.svg +0 -5
  283. data/cockpit/themes/labels/symbols/event_end.svg +0 -3
  284. data/cockpit/themes/labels/symbols/loop.svg +0 -5
  285. data/cockpit/themes/labels/symbols/manipulate.svg +0 -4
  286. data/cockpit/themes/labels/symbols/otherwise.svg +0 -5
  287. data/cockpit/themes/labels/symbols/parallel.svg +0 -5
  288. data/cockpit/themes/labels/symbols/parallel_branch.svg +0 -5
  289. data/cockpit/themes/labels/symbols/parallel_branch_compact.svg +0 -4
  290. data/cockpit/themes/labels/symbols/parallel_branch_event.svg +0 -14
  291. data/cockpit/themes/labels/symbols/parallel_branch_normal.svg +0 -5
  292. data/cockpit/themes/labels/symbols/scripts.svg +0 -4
  293. data/cockpit/themes/labels/symbols/start.svg +0 -3
  294. data/cockpit/themes/labels/symbols/stop.svg +0 -5
  295. data/cockpit/themes/labels/symbols/terminate.svg +0 -4
  296. data/cockpit/themes/packed/rngs/alternative.rng +0 -1
  297. data/cockpit/themes/packed/rngs/choose.rng +0 -1
  298. data/cockpit/themes/packed/rngs/critical.rng +0 -1
  299. data/cockpit/themes/packed/rngs/escape.rng +0 -1
  300. data/cockpit/themes/packed/rngs/group.rng +0 -1
  301. data/cockpit/themes/packed/rngs/loop.rng +0 -1
  302. data/cockpit/themes/packed/rngs/manipulate.rng +0 -1
  303. data/cockpit/themes/packed/rngs/otherwise.rng +0 -1
  304. data/cockpit/themes/packed/rngs/parallel.rng +0 -1
  305. data/cockpit/themes/packed/rngs/parallel_branch.rng +0 -1
  306. data/cockpit/themes/packed/rngs/stop.rng +0 -1
  307. data/cockpit/themes/packed/rngs/terminate.rng +0 -1
  308. data/cockpit/themes/preset/rngs/alternative.rng +0 -1
  309. data/cockpit/themes/preset/rngs/choose.rng +0 -1
  310. data/cockpit/themes/preset/rngs/critical.rng +0 -1
  311. data/cockpit/themes/preset/rngs/escape.rng +0 -1
  312. data/cockpit/themes/preset/rngs/group.rng +0 -1
  313. data/cockpit/themes/preset/rngs/loop.rng +0 -1
  314. data/cockpit/themes/preset/rngs/manipulate.rng +0 -1
  315. data/cockpit/themes/preset/rngs/otherwise.rng +0 -1
  316. data/cockpit/themes/preset/rngs/parallel.rng +0 -1
  317. data/cockpit/themes/preset/rngs/parallel_branch.rng +0 -1
  318. data/cockpit/themes/preset/rngs/stop.rng +0 -1
  319. data/cockpit/themes/preset/rngs/terminate.rng +0 -1
  320. data/lib/cpee/empty_workflow.rb +0 -28
  321. data/lib/cpee/handler_notifications.rb +0 -47
  322. data/lib/cpee/handler_properties.rb +0 -50
  323. data/lib/cpee/instantiation.rb +0 -369
  324. data/lib/cpee/processtransformation/bpel/Repository/booking.bpel +0 -125
  325. data/lib/cpee/processtransformation/bpel/Repository/booking.wsdl +0 -72
  326. data/lib/cpee/processtransformation/bpel/Repository/booking/airline.wsdl +0 -71
  327. data/lib/cpee/processtransformation/bpel/Repository/booking/hotel.wsdl +0 -64
  328. data/lib/cpee/processtransformation/bpel/Repository/booking/report.wsdl +0 -71
  329. data/lib/cpee/processtransformation/bpel/bpel2wee.rb +0 -34
  330. data/lib/cpee/processtransformation/bpel/bpelserver.ru +0 -64
  331. data/lib/cpee/processtransformation/bpel/bpelserver.xml +0 -70
  332. data/lib/cpee/processtransformation/bpel/lib/BPEL_Transform.rb +0 -367
  333. data/lib/cpee/processtransformation/bpmn2.rb +0 -297
  334. data/lib/cpee/processtransformation/cpee.rb +0 -119
  335. data/lib/cpee/processtransformation/structures.rb +0 -465
  336. data/lib/cpee/processtransformation/target.rb +0 -50
  337. data/log/azure.rb +0 -10
  338. data/log/azure_logger.rb +0 -136
  339. data/log/chain.xml +0 -27
  340. data/log/elasticsearch.rb +0 -15
  341. data/log/elasticsearch_logging.rb +0 -377
  342. data/log/legacy/test_es.rb +0 -26
  343. data/log/legacy/test_split.rb +0 -211
  344. data/log/log.xml +0 -13
  345. data/log/non_tamp.rb +0 -156
  346. data/log/sic.rb +0 -64
  347. data/log/template.xes_xml +0 -23
  348. data/log/template.xes_yaml +0 -28
  349. data/log/trace.yaml +0 -17717
  350. data/log/trace_sic.yaml +0 -18343
  351. data/log/xes_xml.rb +0 -121
  352. data/log/xes_yaml.rb +0 -96
  353. data/server/handlerwrappers/soap.rb +0 -146
  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/test/callback.rb +0 -9
data/INSTALL DELETED
@@ -1,23 +0,0 @@
1
- BEWARE - PRELIMINARY VERSION
2
- ----------------------------
3
-
4
- For WEE and tests:
5
- * No dependencies required
6
- * rake test
7
-
8
- For CPEE
9
- * git clone http://gaubatp4@donatello.pri.univie.ac.at/repositories/8/Data/
10
- * sudo gem install multi_json yajl-ruby savon
11
- * sudo gem install xml-smart-*.gem
12
- * sudo gem install riddl-*.gem
13
-
14
- Run CPEE
15
- cd server
16
- ./server.rb
17
-
18
- CPEE runs under localhost:9298
19
-
20
- Run webbased CPEE Cockpit (presuming webserver is installed)
21
- * symlink (ln -s) directory cockpit/ to the webserver directory
22
- e.g. ln -s `readlink -f cockpit` /var/www/
23
- * goto http://localhost/cockpit in browser
@@ -1,32 +0,0 @@
1
- #!/usr/bin/ruby
2
- require 'xml/smart'
3
-
4
- Dir['*.xml'].each do |f|
5
- XML::Smart.modify(f) do |doc|
6
- p f
7
- doc.register_namespace 'd', 'http://cpee.org/ns/description/1.0'
8
- doc.register_namespace 'p', 'http://riddl.org/ns/common-patterns/properties/1.0'
9
- if doc.root.qname.name == 'testset'
10
- doc.find('//d:call').each do |e|
11
- x = e.find('d:finalize')
12
- if x.length > 0
13
- code = x.first.add_before 'code'
14
- code.add x
15
- code.add e.find('d:update')
16
- end
17
- x = e.find('d:_timing')
18
- if x.length > 0
19
- code = x.first.add_before 'annotations'
20
- code.add x
21
- code.add e.find('d:_notes')
22
- end
23
- end
24
- begin
25
- if doc.find('//attributes/p:theme').any?
26
- doc.find('//attributes/p:theme').first.text = 'preset'
27
- end
28
- rescue
29
- end
30
- end
31
- end
32
- end
@@ -1,11 +0,0 @@
1
- <testsets>
2
- <testset>BPM 2020</testset>
3
- <testset>BPM 2020 Solution View</testset>
4
- <testset>BPM 2020 Solution Baseline</testset>
5
- <testset>BPM 2020 Solution NN</testset>
6
- <testset>Coopis 2010</testset>
7
- <testset>IUPC arXiv:1104.3609 P34 1</testset>
8
- <testset>IUPC arXiv:1104.3609 P34 2</testset>
9
- <testset>IUPC arXiv:1104.3609 P34 3</testset>
10
- <testset>Worklist</testset>
11
- </testsets>
@@ -1,4 +0,0 @@
1
- <transformations>
2
- <transformation>CPEE</transformation>
3
- <transformation>Signavio</transformation>
4
- </transformations>
@@ -1 +0,0 @@
1
- ../../default/rngs/alternative.rng
@@ -1 +0,0 @@
1
- ../../default/rngs/choose.rng
@@ -1 +0,0 @@
1
- ../../default/rngs/critical.rng
@@ -1 +0,0 @@
1
- ../../default/rngs/escape.rng
@@ -1 +0,0 @@
1
- ../../default/rngs/group.rng
@@ -1 +0,0 @@
1
- ../../default/rngs/loop.rng
@@ -1 +0,0 @@
1
- ../../default/rngs/manipulate.rng
@@ -1 +0,0 @@
1
- ../../default/rngs/otherwise.rng
@@ -1 +0,0 @@
1
- ../../default/rngs/parallel.rng
@@ -1 +0,0 @@
1
- ../../default/rngs/parallel_branch.rng
@@ -1 +0,0 @@
1
- ../../default/rngs/stop.rng
@@ -1 +0,0 @@
1
- ../../default/rngs/terminate.rng
@@ -1,6 +0,0 @@
1
- <element name="finalize" rngui:version="1.2" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
2
- <attribute name="output" rngui:label="Access Variable" rngui:default="result">
3
- <data type="string" rngui:readonly="true"/>
4
- </attribute>
5
- <text rngui:label='Script that is executed, when a service returns data'/>
6
- </element>
@@ -1,6 +0,0 @@
1
- <element name="update" rngui:version="1.2" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
2
- <attribute name="output" rngui:label="Access Variable" rngui:default="result">
3
- <data type="string" rngui:readonly="true"/>
4
- </attribute>
5
- <text rngui:label='Script that is executed, when a service sends intermediate data'/>
6
- </element>
@@ -1,1286 +0,0 @@
1
- function WFAdaptorManifestation(adaptor) {
2
- var self = this;
3
-
4
- this.adaptor = adaptor;
5
- this.resources = {};
6
- this.elements = {};
7
- this.events = {};
8
- this.compact = false;
9
- this.striped = false;
10
- this.endpoints = {};
11
-
12
- //{{{ transform the details data to description parts based on rng
13
- this.source = function(base,opts) {
14
- if (base[0].namespaceURI == "http://relaxng.org/ns/structure/1.0") {
15
- $('#relaxngworker').empty();
16
- var rngw = new RelaxNGui(base,$('#relaxngworker'),self.adaptor.description.context_eval);
17
- var nnew = $(rngw.save().documentElement);
18
- nnew.attr('trans-xmlns','http://cpee.org/ns/description/1.0');
19
- var ntxt = nnew.serializeXML();
20
- ntxt = ntxt.replace(/trans-xmlns/,'xmlns');
21
-
22
- return($X(ntxt));
23
- } else {
24
- if (opts && opts == 'clone') {
25
- base = base.clone();
26
- if (base.attr('id')) {
27
- base.attr('id',self.adaptor.description.get_free_id());
28
- }
29
- base.find('*[id]').each(function(k,v){
30
- $(v).attr('id',self.adaptor.description.get_free_id(base));
31
- });
32
- }
33
- return base;
34
- }
35
- }; //}}}
36
- //{{{ Return the svgid for the selected task
37
- this.selected = function(){
38
- var svgid = 'unknown';
39
- _.each(self.adaptor.illustrator.get_elements(),function(value,key) {
40
- if ($(value).hasClass('selected')) {
41
- svgid = $(value).attr('element-id');
42
- }
43
- });
44
- return svgid;
45
- }; //}}}
46
- //{{{ Return the svgids for all marked tasks
47
- this.marked = function(){
48
- var svgid = [];
49
- _.each(self.adaptor.illustrator.get_elements(),function(value,key) {
50
- if ($(value).hasClass('marked')) {
51
- svgid.push($(value).attr('element-id'));
52
- }
53
- });
54
- return svgid;
55
- }; //}}}
56
- //{{{ Render the details from rng (right hand side of graph tab)
57
- this.update_details = function(svgid){
58
- var tab = $('#dat_details');
59
- var node = self.adaptor.description.get_node_by_svg_id(svgid).get(0);
60
- tab.empty();
61
- if (self.adaptor.description.elements[$(node).attr('svg-subtype')]) {
62
- save['details_target'] = { 'svgid': svgid, 'model': self.adaptor.description };
63
- var rng = self.adaptor.description.elements[$(node).attr('svg-subtype')].clone();
64
- if (save['endpoints_cache'][$(node).attr('endpoint')] && save['endpoints_cache'][$(node).attr('endpoint')].schema) {
65
- var schema = save['endpoints_cache'][$(node).attr('endpoint')].schema.documentElement;
66
- $(rng).find(' > element[name="parameters"] > element[name="arguments"]').replaceWith($(schema).clone());
67
- }
68
- if (save['endpoints_list'][$(node).attr('endpoint')] && (!save['endpoints_list'][$(node).attr('endpoint')].startsWith('http') || save['endpoints_list'][$(node).attr('endpoint')].match(/^https?-/))) {
69
- $(rng).find(' > element[name="parameters"] > element[name="method"]').remove();
70
- }
71
- save['details'] = new RelaxNGui(rng,tab,self.adaptor.description.context_eval,true);
72
- save['details'].content(node);
73
- format_visual_forms();
74
- }
75
- }; //}}}
76
-
77
- function copyOrMove(menu,group,xml_node,mode) { //{{{
78
- var markymark = _.uniq(self.marked());
79
- var check1 = [];
80
- var check2 = [];
81
- $(markymark).each(function(key,svgid){
82
- var node = self.adaptor.description.get_node_by_svg_id(svgid);
83
- check1.push($(node).attr('svg-type'));
84
- });
85
- $(group).each(function(key,value){
86
- check2.push(value.type);
87
- });
88
-
89
- if (markymark.length > 0 && _.uniq(check1).length == _.intersection(check1,check2).length) {
90
- var nodes = [];
91
- $(markymark).each(function(key,svgid){
92
- var node = self.adaptor.description.get_node_by_svg_id(svgid);
93
- nodes.unshift(node);
94
- });
95
-
96
- var iconm = self.resources['arrow'].clone();
97
- var iconc = self.resources['arrow'].clone();
98
- iconm.children('.rfill').addClass('menu');
99
- menu.push(
100
- {
101
- 'label': '<em>Move Marked Elements</em>',
102
- 'function_call': mode,
103
- 'menu_icon': iconm,
104
- 'type': undefined,
105
- 'params': [nodes, xml_node]
106
- },
107
- {
108
- 'label': '<em>Copy Marked Elements</em>',
109
- 'function_call': mode,
110
- 'menu_icon': iconc,
111
- 'type': undefined,
112
- 'params': [nodes, xml_node, 'clone']
113
- }
114
- );
115
- }
116
- } //}}}
117
-
118
- // Events
119
- this.events.mousedown = function(svgid, e, child, sibling) { // {{{
120
- if(e.button == 0) { // left-click
121
- } else if(e.button == 1) { // middle-click
122
- } else if(e.button == 2) { // right-click
123
- if (save['state'] != "ready" && save['state'] != "stopped") { return false; }
124
-
125
- var xml_node = self.adaptor.description.get_node_by_svg_id(svgid);
126
- var group = null;
127
- var menu = {};
128
-
129
- if (child) {
130
- group = self.elements[xml_node.get(0).tagName].permissible_children(xml_node,'into');
131
- if(group.length > 0) {
132
- menu['Insert into'] = group;
133
- copyOrMove(menu['Insert into'],group,xml_node,self.adaptor.description.insert_first_into);
134
- }
135
- if (self.elements[xml_node.get(0).tagName].permissible_children_expert) {
136
- group = self.elements[xml_node.get(0).tagName].permissible_children_expert(xml_node,'into');
137
- if(group.length > 0) {
138
- menu['Insert into (Experts Only!)'] = group;
139
- copyOrMove(menu['Insert into (Experts Only!)'],group,xml_node,self.adaptor.description.insert_first_into);
140
- }
141
- }
142
- }
143
- if (sibling) {
144
- group = self.elements[xml_node.parent().get(0).tagName].permissible_children(xml_node,'after');
145
- if(group.length > 0) {
146
- menu['Insert after'] = group;
147
- copyOrMove(menu['Insert after'],group,xml_node,self.adaptor.description.insert_after);
148
- }
149
- if (self.elements[xml_node.parent().get(0).tagName].permissible_children_expert) {
150
- group = self.elements[xml_node.parent().get(0).tagName].permissible_children_expert(xml_node,'after');
151
- if(group.length > 0) {
152
- menu['Insert after (Experts Only!)'] = group;
153
- copyOrMove(menu['Insert after (Experts Only!)'],group,xml_node,self.adaptor.description.insert_after);
154
- }
155
- }
156
- }
157
-
158
- if(xml_node.get(0).tagName != 'description' && !self.elements[xml_node.get(0).tagName].neverdelete) {
159
- var icon = self.elements[xml_node.get(0).tagName].illustrator.svg.clone();
160
- icon.children('.rfill').addClass('menu');
161
- menu['Delete'] = [{
162
- 'label': 'Remove Element',
163
- 'function_call': function(selector,target,selected){ self.adaptor.description.remove(selector,target); self.adaptor.illustrator.get_label_by_svg_id(selected).addClass('selected'); },
164
- 'menu_icon': icon,
165
- 'type': undefined,
166
- 'params': [null, xml_node, self.selected()]
167
- }];
168
- }
169
- if($('> finalize, > update', xml_node).length > 0 && xml_node.get(0).tagName == 'call') {
170
- var icon = self.elements.callmanipulate.illustrator.svg.clone();
171
- icon.children('.rfill:last').addClass('menu');
172
- menu['Delete'].push({
173
- 'label': 'Remove Scripts',
174
- 'function_call': self.adaptor.description.remove,
175
- 'menu_icon': icon,
176
- 'type': undefined,
177
- 'params': ['> finalize, > update', xml_node]
178
- });
179
- }
180
- if (xml_node.get(0).tagName == "call" || xml_node.get(0).tagName == "manipulate" || xml_node.get(0).tagName == "stop") {
181
- var icon = self.elements.call.illustrator.svg.clone();
182
- icon.children('g.replace').addClass('active');
183
- var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
184
- if (vtarget.length > 0) {
185
- if (vtarget.parents('g.activities.passive, g.activities.active').length > 0) {
186
- menu['Position'] = [{
187
- 'label': 'No Execution from here',
188
- 'function_call': del_ui_pos,
189
- 'menu_icon': icon,
190
- 'type': undefined,
191
- 'params': xml_node
192
- }];
193
- } else {
194
- menu['Position'] = [{
195
- 'label': 'Execute from here',
196
- 'function_call': add_ui_pos,
197
- 'menu_icon': icon,
198
- 'type': undefined,
199
- 'params': xml_node
200
- }];
201
- }
202
- }
203
- }
204
- new CustomMenu(e).contextmenu(menu);
205
- }
206
- return false;
207
- } // }}}
208
- this.events.suppress = function(svgid, e, child, sibling) { // {{{
209
- return false;
210
- } // }}}
211
- this.events.click = function(svgid, e) { // {{{
212
- if (self.adaptor.description.get_node_by_svg_id(svgid).length == 0) {
213
- return;
214
- }
215
-
216
- self.adaptor.illustrator.get_elements().removeClass('selected');
217
- self.adaptor.illustrator.get_labels().removeClass('selected');
218
-
219
- if (e && e.ctrlKey) {
220
- if (save['state'] != "ready" && save['state'] != "stopped") { return false; }
221
- var tab = $('#dat_details');
222
- tab.empty();
223
- var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
224
- if (vtarget.length > 0) {
225
- vtarget.parents('g.element[element-id]').toggleClass('marked');
226
- }
227
- } else {
228
- self.adaptor.illustrator.get_elements().removeClass('marked');
229
-
230
- var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
231
- if (vtarget.length > 0) {
232
- vtarget.parents('g.element[element-id]').addClass('selected');
233
- }
234
- self.adaptor.illustrator.get_label_by_svg_id(svgid).addClass('selected');
235
-
236
- self.update_details(svgid);
237
- }
238
- } // }}}
239
- this.events.dblclick = function(svgid, e) { // {{{
240
- } // }}}
241
- this.events.mouseover = function(svgid, e) { // {{{
242
- self.adaptor.illustrator.svg.container.find('.tile[element-id = "' + svgid + '"]').css('display','block');
243
- self.adaptor.illustrator.svg.container.find('[element-id = "' + svgid + '"]').addClass('hover');
244
- self.adaptor.illustrator.svg.label_container.find('[element-id = "' + svgid + '"]').addClass('hover');
245
- return false;
246
- } // }}}
247
- this.events.mouseout = function(svgid, e) { // {{{
248
- self.adaptor.illustrator.svg.container.find('.tile[element-id = "' + svgid + '"]').css('display','none');
249
- self.adaptor.illustrator.svg.container.find('[element-id = "' + svgid + '"]').removeClass('hover');
250
- self.adaptor.illustrator.svg.label_container.find('[element-id = "' + svgid + '"]').removeClass('hover');
251
- return false;
252
- } // }}}
253
- this.events.dragstart = function (svgid, e) { //{{{
254
- } //}}}
255
-
256
- // other resources
257
- this.resources.arrow = self.adaptor.theme_dir + 'symbols/arrow.svg';
258
-
259
- // Primitive Elements
260
- this.elements.call = { /*{{{*/
261
- 'type': 'primitive',
262
- 'illustrator': {//{{{
263
- 'endnodes': 'this',
264
- 'label': function(node){
265
- var ret = [ { column: 'Label', value: $('> label',$(node).children('parameters')).text().replace(/^['"]/,'').replace(/['"]$/,'') } ];
266
- return ret;
267
- },
268
- 'info': function(node){ return { 'element-endpoint': $(node).attr('endpoint') }; },
269
- 'resolve_symbol': function(node) {
270
- if($('finalize,update', node).length > 0) {
271
- return 'callmanipulate';
272
- } else {
273
- return 'call';
274
- }
275
- },
276
- 'svg': self.adaptor.theme_dir + 'symbols/call.svg'
277
- },//}}}
278
- 'description': self.adaptor.theme_dir + 'rngs/call.rng',
279
- 'permissible_children': function(node,mode) { //{{{
280
- if(node.children('finalize,update').length < 1)
281
- return [
282
- {'label': 'Scripts',
283
- 'function_call': self.adaptor.description.insert_last_into,
284
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
285
- 'type': undefined,
286
- 'params': [self.adaptor.description.elements.scripts, node]}
287
- ];
288
- return [];
289
- }, //}}}
290
- 'adaptor': {//{{{
291
- 'mousedown': function (node,e) { self.events.mousedown(node,e,true,true); },
292
- 'click': self.events.click,
293
- 'dragstart': self.events.dragstart,
294
- 'mouseover': self.events.mouseover,
295
- 'mouseout': self.events.mouseout
296
- }//}}}
297
- }; /*}}}*/
298
- this.elements.manipulate = { /*{{{*/
299
- 'type': 'primitive',
300
- 'illustrator': {//{{{
301
- 'endnodes': 'this',
302
- 'label': function(node){
303
- var lab = $(node).attr('label');
304
- if (lab) {
305
- return [ { column: 'Label', value: lab.replace(/^['"]/,'').replace(/['"]$/,'') } ];
306
- } else {
307
- return [];
308
- }
309
- },
310
- 'svg': self.adaptor.theme_dir + 'symbols/manipulate.svg'
311
- },//}}}
312
- 'description': self.adaptor.theme_dir + 'rngs/manipulate.rng',
313
- 'permissible_children': function(node,mode) { //{{{
314
- return [];
315
- }, //}}}
316
- 'adaptor': {//{{{
317
- 'mousedown': function (node,e) { self.events.mousedown(node,e,false,true); },
318
- 'click': self.events.click,
319
- 'mouseover': self.events.mouseover,
320
- 'mouseout': self.events.mouseout
321
- }//}}}
322
- }; /*}}}*/
323
- this.elements.escape = { /*{{{*/
324
- 'type': 'primitive',
325
- 'illustrator': {//{{{
326
- 'endnodes': 'this',
327
- 'svg': self.adaptor.theme_dir + 'symbols/escape.svg'
328
- },//}}}
329
- 'description': self.adaptor.theme_dir + 'rngs/escape.rng',
330
- 'permissible_children': function(node,mode) { //{{{
331
- return [];
332
- }, //}}}
333
- 'adaptor': {//{{{
334
- 'mousedown': function (node,e) { self.events.mousedown(node,e,false,true); },
335
- 'click': self.events.click,
336
- 'mouseover': self.events.mouseover,
337
- 'mouseout': self.events.mouseout
338
- }//}}}
339
- }; /*}}}*/
340
- this.elements.stop = { /*{{{*/
341
- 'type': 'primitive',
342
- 'illustrator': {//{{{
343
- 'endnodes': 'this',
344
- 'svg': self.adaptor.theme_dir + 'symbols/stop.svg'
345
- },//}}}
346
- 'description': self.adaptor.theme_dir + 'rngs/stop.rng',
347
- 'permissible_children': function(node,mode) { //{{{
348
- return [];
349
- }, //}}}
350
- 'adaptor': {//{{{
351
- 'mousedown': function (node,e) { self.events.mousedown(node,e,false,true); },
352
- 'click': self.events.click,
353
- 'mouseover': self.events.mouseover,
354
- 'mouseout': self.events.mouseout
355
- }//}}}
356
- }; /*}}}*/
357
- this.elements.terminate = { /*{{{*/
358
- 'type': 'primitive',
359
- 'illustrator': {//{{{
360
- 'endnodes': 'this',
361
- 'final': true,
362
- 'svg': self.adaptor.theme_dir + 'symbols/terminate.svg'
363
- },//}}}
364
- 'description': self.adaptor.theme_dir + 'rngs/terminate.rng',
365
- 'permissible_children': function(node,mode) { //{{{
366
- return [];
367
- }, //}}}
368
- 'adaptor': {//{{{
369
- 'mousedown': function (node,e) { self.events.mousedown(node,e,false,false); },
370
- 'mouseover': self.events.mouseover,
371
- 'mouseout': self.events.mouseout
372
- }//}}}
373
- }; /*}}}*/
374
- this.elements.end = { /*{{{*/
375
- 'type': 'primitive',
376
- 'illustrator': {//{{{
377
- 'endnodes': 'this',
378
- 'svg': self.adaptor.theme_dir + 'symbols/end.svg'
379
- }, //}}}
380
- 'adaptor': {//{{{
381
- 'mousedown': function (node,e) {
382
- self.events.suppress();
383
- }
384
- }//}}}
385
- }; /*}}}*/
386
- this.elements.event_end = { /*{{{*/
387
- 'type': 'primitive',
388
- 'illustrator': {//{{{
389
- 'endnodes': 'this',
390
- 'svg': self.adaptor.theme_dir + 'symbols/event_end.svg'
391
- }, //}}}
392
- 'adaptor': {//{{{
393
- 'mousedown': function (node,e) {
394
- self.events.suppress();
395
- },
396
- 'click': self.events.click,
397
- 'dblclick': self.events.dblclick,
398
- 'mouseover': self.events.mouseover,
399
- 'mouseout': self.events.mouseout
400
- }//}}}
401
- }; /*}}}*/
402
- this.elements.choose_finish = { /*{{{*/
403
- 'type': 'primitive',
404
- 'illustrator': {//{{{
405
- 'endnodes': 'this',
406
- 'svg': self.adaptor.theme_dir + 'symbols/choose_inclusive.svg',
407
- 'resolve_symbol': function(node) {
408
- if($(node).attr('mode') == 'exclusive') {
409
- return 'choose_exclusive_finish';
410
- } else {
411
- return 'choose_inclusive_finish';
412
- }
413
- },
414
- }, //}}}
415
- 'adaptor': {//{{{
416
- 'mousedown': function (node,e) {
417
- self.events.mousedown(node,e,true,true);
418
- },
419
- 'click': self.events.click,
420
- 'dblclick': self.events.dblclick,
421
- 'mouseover': self.events.mouseover,
422
- 'mouseout': self.events.mouseout
423
- }//}}}
424
- }; /*}}}*/
425
- this.elements.loop_finish = { /*{{{*/
426
- 'type': 'primitive',
427
- 'illustrator': {//{{{
428
- 'endnodes': 'this',
429
- 'closeblock': true,
430
- 'label': function(node){
431
- var ret = [ { column: 'Label', value: $(node).attr('condition') } ];
432
- return ret;
433
- },
434
- 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg',
435
- }, //}}}
436
- 'adaptor': {//{{{
437
- 'mousedown': function (node,e) {
438
- self.events.mousedown(node,e,true,true);
439
- },
440
- 'click': self.events.click,
441
- 'dblclick': self.events.dblclick,
442
- 'mouseover': self.events.mouseover,
443
- 'mouseout': self.events.mouseout
444
- }//}}}
445
- }; /*}}}*/
446
- this.elements.parallel_finish = { /*{{{*/
447
- 'type': 'primitive',
448
- 'illustrator': {//{{{
449
- 'endnodes': 'this',
450
- 'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
451
- 'resolve_symbol': function(node) {
452
- if($(node).attr('wait') == '-1') {
453
- return 'parallel_simple';
454
- } else {
455
- return 'parallel_complex';
456
- }
457
- },
458
- }, //}}}
459
- 'adaptor': {//{{{
460
- 'mousedown': function (node,e) {
461
- self.events.mousedown(node,e,true,true);
462
- },
463
- 'click': self.events.click,
464
- 'dblclick': self.events.dblclick,
465
- 'mouseover': self.events.mouseover,
466
- 'mouseout': self.events.mouseout
467
- }//}}}
468
- }; /*}}}*/
469
-
470
- // Complex Elements
471
- this.elements.choose = { /*{{{*/
472
- 'type': 'complex',
473
- 'illustrator': {//{{{
474
- 'label': function(node){ return [ { column: 'Label', value: $(node).attr('mode') == 'exclusive' ? 'exclusive' : 'inclusive' } ]; },
475
- 'endnodes': 'aggregate',
476
- 'closeblock': false,
477
- 'closing_symbol': 'choose_finish',
478
- 'expansion': function(node) {
479
- return 'horizontal';
480
- },
481
- 'resolve_symbol': function(node) {
482
- if($(node).attr('mode') == 'exclusive') {
483
- return 'choose_exclusive';
484
- } else {
485
- return 'choose_inclusive';
486
- }
487
- },
488
- 'col_shift': function(node) {
489
- return false;
490
- },
491
- 'svg': self.adaptor.theme_dir + 'symbols/choose.svg'
492
- },//}}}
493
- 'description': self.adaptor.theme_dir + 'rngs/choose.rng',
494
- 'permissible_children': function(node,mode) { //{{{
495
- var func = null;
496
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
497
- else { func = self.adaptor.description.insert_after }
498
- if(node.children('parallel_branch').length > 0) {
499
- return [{'label': 'Parallel Branch',
500
- 'function_call': func,
501
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
502
- 'type': 'parallel_branch',
503
- 'params': [self.adaptor.description.elements.parallel_branch, node]}];
504
- }
505
- var childs = [{'label': 'Alternative',
506
- 'function_call': func,
507
- 'menu_icon': self.elements.alternative.illustrator.svg.clone(),
508
- 'type': 'alternative',
509
- 'params': [self.adaptor.description.elements.alternative, node]}];
510
- if((node.children('otherwise').length == 0) && node.parents('parallel').length == node.parents('parallel_branch').length && node.parent('choose').length == 0)
511
- childs.push({'label': 'Otherwise',
512
- 'function_call': self.adaptor.description.insert_last_into,
513
- 'menu_icon': self.elements.otherwise.illustrator.svg.clone(),
514
- 'type': 'otherwise',
515
- 'params': [self.adaptor.description.elements.otherwise, node]});
516
- if(node.parents('parallel').length > node.parents('parallel_branch').length)
517
- childs.push({'label': 'Parallel Branch',
518
- 'function_call': func,
519
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
520
- 'type': 'parallel_branch',
521
- 'params': [self.adaptor.description.elements.parallel_branch, node]});
522
- return childs;
523
- }, //}}}
524
- 'adaptor': {//{{{
525
- 'mousedown': function (node,e) {
526
- self.events.mousedown(node,e,true,true);
527
- },
528
- 'click': self.events.click,
529
- 'dblclick': self.events.dblclick,
530
- 'mouseover': self.events.mouseover,
531
- 'mouseout': self.events.mouseout
532
- }//}}}
533
- }; /*}}}*/
534
- this.elements.otherwise = { /*{{{*/
535
- 'type': 'complex',
536
- 'illustrator': {//{{{
537
- 'endnodes': 'passthrough',
538
- 'closeblock': false,
539
- 'noarrow': true,
540
- 'expansion': function(node) {
541
- return 'vertical';
542
- },
543
- 'col_shift': function(node) {
544
- return false;
545
- },
546
- 'svg': self.adaptor.theme_dir + 'symbols/otherwise.svg'
547
- },//}}}
548
- 'description': self.adaptor.theme_dir + 'rngs/otherwise.rng',
549
- 'neverdelete': true,
550
- 'permissible_children': function(node,mode) { //{{{
551
- var func = null;
552
- var childs = null;
553
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
554
- else { func = self.adaptor.description.insert_after }
555
- var childs = [
556
- {'label': 'Service Call with Scripts',
557
- 'function_call': func,
558
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
559
- 'type': 'callmanipulate',
560
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
561
- {'label': 'Service Call',
562
- 'function_call': func,
563
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
564
- 'type': 'call',
565
- 'params': [self.adaptor.description.elements.call, node]},
566
- {'label': 'Script',
567
- 'function_call': func,
568
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
569
- 'type': 'manipulate',
570
- 'params': [self.adaptor.description.elements.manipulate, node]},
571
- {'label': 'Parallel',
572
- 'function_call': func,
573
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
574
- 'type': 'parallel',
575
- 'params': [self.adaptor.description.elements.parallel, node]},
576
- {'label': 'Decision',
577
- 'function_call': func,
578
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
579
- 'type': 'choose',
580
- 'params': [self.adaptor.description.elements.choose, node]},
581
- {'label': 'Loop',
582
- 'function_call': func,
583
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
584
- 'type': 'loop',
585
- 'params': [self.adaptor.description.elements.loop, node]},
586
- {'label': 'Terminate',
587
- 'function_call': func,
588
- 'menu_icon': self.elements.terminate.illustrator.svg.clone(),
589
- 'type': 'terminate',
590
- 'params': [self.adaptor.description.elements.terminate, node]},
591
- {'label': 'Stop',
592
- 'function_call': func,
593
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
594
- 'type': 'stop',
595
- 'params': [self.adaptor.description.elements.stop, node]}
596
- ];
597
- if(node.parent('parallel_branch').length > 0) {
598
- childs.push({
599
- 'label': 'Critical',
600
- 'function_call': func,
601
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
602
- 'type': 'critical',
603
- 'params': [self.adaptor.description.elements.critical, node]
604
- });
605
- }
606
- return childs;
607
- }, //}}}
608
- 'adaptor': {//{{{
609
- 'mousedown': function (node,e) {
610
- self.events.mousedown(node,e,true,false);
611
- },
612
- 'click': self.events.click,
613
- 'dblclick': self.events.dblclick,
614
- 'mouseover': self.events.mouseover,
615
- 'mouseout': self.events.mouseout,
616
- }//}}}
617
- }; /*}}}*/
618
- this.elements.alternative = { /*{{{*/
619
- 'type': 'complex',
620
- 'illustrator': {//{{{
621
- 'label': function(node){
622
- var ret = [ { column: 'Label', value: $(node).attr('condition') } ];
623
- return ret;
624
- },
625
- 'endnodes': 'passthrough',
626
- 'noarrow': true,
627
- 'closeblock':false,
628
- 'expansion': function(node) {
629
- return 'vertical';
630
- },
631
- 'col_shift': function(node) {
632
- return false;
633
- },
634
- 'svg': self.adaptor.theme_dir + 'symbols/alternative.svg'
635
- },//}}}
636
- 'description': self.adaptor.theme_dir + 'rngs/alternative.rng',
637
- 'permissible_children': function(node,mode) { //{{{
638
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
639
- else { func = self.adaptor.description.insert_after }
640
- if(node.parents('parallel').length > node.parents('parallel_branch').length && node.get(0).tagName == 'alternative') {
641
- return [{'label': 'Parallel Branch',
642
- 'function_call': func,
643
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
644
- 'type': 'parallel_branch',
645
- 'params': [self.adaptor.description.elements.parallel_branch, node]}];
646
- }
647
- var childs = [
648
- {'label': 'Service Call with Scripts',
649
- 'function_call': func,
650
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
651
- 'type': 'callmanipulate',
652
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
653
- {'label': 'Service Call',
654
- 'function_call': func,
655
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
656
- 'type': 'call',
657
- 'params': [self.adaptor.description.elements.call, node]},
658
- {'label': 'Script',
659
- 'function_call': func,
660
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
661
- 'type': 'manipulate',
662
- 'params': [self.adaptor.description.elements.manipulate, node]},
663
- {'label': 'Parallel',
664
- 'function_call': func,
665
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
666
- 'type': 'parallel',
667
- 'params': [self.adaptor.description.elements.parallel, node]},
668
- {'label': 'Decision',
669
- 'function_call': func,
670
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
671
- 'type': 'choose',
672
- 'params': [self.adaptor.description.elements.choose, node]},
673
- {'label': 'Loop',
674
- 'function_call': func,
675
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
676
- 'type': 'loop',
677
- 'params': [self.adaptor.description.elements.loop, node]},
678
- {'label': 'Terminate',
679
- 'function_call': func,
680
- 'menu_icon': self.elements.terminate.illustrator.svg.clone(),
681
- 'type': 'terminate',
682
- 'params': [self.adaptor.description.elements.terminate, node]},
683
- {'label': 'Stop',
684
- 'function_call': func,
685
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
686
- 'type': 'stop',
687
- 'params': [self.adaptor.description.elements.stop, node]}
688
- ];
689
- if(node.parent('parallel_branch').length > 0) {
690
- childs.push({
691
- 'label': 'Critical',
692
- 'function_call': func,
693
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
694
- 'type': 'critical',
695
- 'params': [self.adaptor.description.elements.critical, node]
696
- });
697
- }
698
- return childs;
699
- }, //}}}
700
- 'adaptor': {//{{{
701
- 'mousedown': function (node,e) {
702
- self.events.mousedown(node,e,true,true);
703
- },
704
- 'click': self.events.click,
705
- 'dblclick': self.events.dblclick,
706
- 'mouseover': self.events.mouseover,
707
- 'mouseout': self.events.mouseout,
708
- }//}}}
709
- }; /*}}}*/
710
- this.elements.loop = { /*{{{*/
711
- 'type': 'complex',
712
- 'illustrator': {//{{{
713
- 'resolve_symbol': function(node) {
714
- if($(node).attr('mode') == 'pre_test') {
715
- return 'loop_head';
716
- } else {
717
- return 'loop_tail';
718
- }
719
- },
720
- 'expansion': function(node) {
721
- return 'vertical';
722
- },
723
- 'col_shift': function(node) {
724
- return true;
725
- },
726
- 'svg': self.adaptor.theme_dir + 'symbols/loop.svg'
727
- },// }}}
728
- 'description': self.adaptor.theme_dir + 'rngs/loop.rng',
729
- 'permissible_children': function(node,mode) { //{{{
730
- var func = null;
731
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
732
- else { func = self.adaptor.description.insert_after }
733
- var childs = [
734
- {'label': 'Service Call with Scripts',
735
- 'function_call': func,
736
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
737
- 'type': 'callmanipulate',
738
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
739
- {'label': 'Service Call',
740
- 'function_call': func,
741
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
742
- 'type': 'call',
743
- 'params': [self.adaptor.description.elements.call, node]},
744
- {'label': 'Script',
745
- 'function_call': func,
746
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
747
- 'type': 'manipulate',
748
- 'params': [self.adaptor.description.elements.manipulate, node]},
749
- {'label': 'Decision',
750
- 'function_call': func,
751
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
752
- 'type': 'choose',
753
- 'params': [self.adaptor.description.elements.choose, node]},
754
- {'label': 'Loop',
755
- 'function_call': func,
756
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
757
- 'type': 'loop',
758
- 'params': [self.adaptor.description.elements.loop, node]},
759
- {'label': 'Terminate',
760
- 'function_call': func,
761
- 'menu_icon': self.elements.terminate.illustrator.svg.clone(),
762
- 'type': 'terminate',
763
- 'params': [self.adaptor.description.elements.terminate, node]},
764
- {'label': 'Stop',
765
- 'function_call': func,
766
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
767
- 'type': 'stop',
768
- 'params': [self.adaptor.description.elements.stop, node]}
769
- ];
770
- if(node.parent('parallel_branch').length > 0) {
771
- childs.push({
772
- 'label': 'Critical',
773
- 'function_call': func,
774
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
775
- 'type': 'critical',
776
- 'params': [self.adaptor.description.elements.critical, node]
777
- });
778
- }
779
- if(node.parent('parallel').length > node.parent('parallel_branch').length) {
780
- childs.push({'label': 'Parallel Branch',
781
- 'function_call': func,
782
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
783
- 'type': 'parallel_branch',
784
- 'params': [self.adaptor.description.elements.parallel_branch, node]}
785
- );
786
- } else {
787
- childs.push({'label': 'Parallel',
788
- 'function_call': func,
789
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
790
- 'type': 'parallel',
791
- 'params': [self.adaptor.description.elements.parallel, node]}
792
- );
793
- }
794
- return childs;
795
- }, //}}}
796
- 'adaptor': {//{{{
797
- 'mousedown': function (node,e) {
798
- self.events.mousedown(node,e,true,true);
799
- },
800
- 'click': self.events.click,
801
- 'dblclick': self.events.dblclick,
802
- 'mouseover': self.events.mouseover,
803
- 'mouseout': self.events.mouseout,
804
- }//}}}
805
- }; /*}}}*/
806
- this.elements.parallel = { /*{{{*/
807
- 'type': 'complex',
808
- 'illustrator': {//{{{
809
- 'endnodes': 'aggregate',
810
- 'closeblock': false,
811
- 'closing_symbol': 'parallel_finish',
812
- 'expansion': function(node) {
813
- // check if any sibling other than 'parallel_branch' is present
814
- if($(node).children(':not(parallel_branch)').length > 0) return 'vertical';
815
- return 'horizontal';
816
- },
817
- 'col_shift': function(node) {
818
- return true;
819
- },
820
- 'svg': self.adaptor.theme_dir + 'symbols/parallel.svg'
821
- },//}}}
822
- 'description': self.adaptor.theme_dir + 'rngs/parallel.rng',
823
- 'permissible_children': function(node,mode) { //{{{
824
- var func = null;
825
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
826
- else { func = self.adaptor.description.insert_after }
827
- var childs = [
828
- {'label': 'Parallel Branch',
829
- 'function_call': func,
830
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
831
- 'type': 'parallel_branch',
832
- 'params': [self.adaptor.description.elements.parallel_branch, node]},
833
- ];
834
- return childs;
835
- }, //}}}
836
- 'permissible_children_expert': function(node,mode) { //{{{
837
- var func = null;
838
- if (mode.match(/into/)) { func = self.adaptor.description.insert_first_into }
839
- else { func = self.adaptor.description.insert_after }
840
- var childs = [
841
- {'label': 'Service Call with Scripts',
842
- 'function_call': func,
843
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
844
- 'type': 'callmanipulate',
845
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
846
- {'label': 'Service Call',
847
- 'function_call': func,
848
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
849
- 'type': 'call',
850
- 'params': [self.adaptor.description.elements.call, node]},
851
- {'label': 'Script',
852
- 'function_call': func,
853
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
854
- 'type': 'manipulate',
855
- 'params': [self.adaptor.description.elements.manipulate, node]},
856
- {'label': 'Decision',
857
- 'function_call': func,
858
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
859
- 'type': 'choose',
860
- 'params': [self.adaptor.description.elements.choose, node]},
861
- {'label': 'Loop',
862
- 'function_call': func,
863
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
864
- 'type': 'loop',
865
- 'params': [self.adaptor.description.elements.loop, node]},
866
- {'label': 'Stop',
867
- 'function_call': func,
868
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
869
- 'type': 'stop',
870
- 'params': [self.adaptor.description.elements.stop, node]}
871
- ];
872
- if(node.get(0).tagName != 'parallel')
873
- childs.push({'label': 'Parallel',
874
- 'function_call': self.adaptor.description.insert_last_into,
875
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
876
- 'type': 'parallel',
877
- 'params': [self.adaptor.description.elements.parallel, node]});
878
- return childs;
879
- }, //}}}
880
- 'adaptor': {//{{{
881
- 'mousedown': function (node,e) {
882
- self.events.mousedown(node,e,true,true);
883
- },
884
- 'click': self.events.click,
885
- 'dblclick': self.events.dblclick,
886
- 'mouseover': self.events.mouseover,
887
- 'mouseout': self.events.mouseout,
888
- }//}}}
889
- }; /*}}}*/
890
- this.elements.parallel_branch = { /*{{{*/
891
- 'type': 'complex',
892
- 'illustrator': {//{{{
893
- 'endnodes': 'passthrough',
894
- 'closeblock': false,
895
- 'noarrow': true,
896
- 'expansion': function(node) {
897
- return 'vertical';
898
- },
899
- 'resolve_symbol': function(node,shift) {
900
- if(shift == true) {
901
- return 'parallel_branch_event';
902
- } else {
903
- return 'parallel_branch_normal';
904
- }
905
- },
906
- 'col_shift': function(node) {
907
- if(node.parentNode.tagName == 'choose') return false;
908
- if($(node).parents('parallel').first().children(':not(parallel_branch)').length > 0) return true;
909
- return false;
910
- },
911
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_branch.svg'
912
- },//}}}
913
- 'description': self.adaptor.theme_dir + 'rngs/parallel_branch.rng',
914
- 'permissible_children': function(node,mode) { //{{{
915
- var func = null;
916
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
917
- else { func = self.adaptor.description.insert_after }
918
- var childs = [
919
- {'label': 'Service Call with Scripts',
920
- 'function_call': func,
921
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
922
- 'type': 'callmanipulate',
923
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
924
- {'label': 'Service Call',
925
- 'function_call': func,
926
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
927
- 'type': 'call',
928
- 'params': [self.adaptor.description.elements.call, node]},
929
- {'label': 'Script',
930
- 'function_call': func,
931
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
932
- 'type': 'manipulate',
933
- 'params': [self.adaptor.description.elements.manipulate, node]},
934
- {'label': 'Parallel',
935
- 'function_call': func,
936
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
937
- 'type': 'parallel',
938
- 'params': [self.adaptor.description.elements.parallel, node]},
939
- {'label': 'Decision',
940
- 'function_call': func,
941
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
942
- 'type': 'choose',
943
- 'params': [self.adaptor.description.elements.choose, node]},
944
- {'label': 'Loop',
945
- 'function_call': func,
946
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
947
- 'type': 'loop',
948
- 'params': [self.adaptor.description.elements.loop, node]},
949
- {'label': 'Terminate',
950
- 'function_call': func,
951
- 'menu_icon': self.elements.terminate.illustrator.svg.clone(),
952
- 'type': 'terminate',
953
- 'params': [self.adaptor.description.elements.terminate, node]},
954
- {'label': 'Stop',
955
- 'function_call': func,
956
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
957
- 'type': 'stop',
958
- 'params': [self.adaptor.description.elements.stop, node]},
959
- {'label': 'Critical',
960
- 'function_call': func,
961
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
962
- 'type': 'critical',
963
- 'params': [self.adaptor.description.elements.critical, node]}
964
- ];
965
- if(node.parents('choose').length > node.parents('alternative, otherwise').length && node.get(0).tagName == 'parallel_branch') {
966
- return [{'label': 'Alternative',
967
- 'function_call': func,
968
- 'menu_icon': self.elements.alternative.illustrator.svg.clone(),
969
- 'type': 'alternative',
970
- 'params': [self.adaptor.description.elements.alternative, node]}];
971
- }
972
- return childs;
973
- }, //}}}
974
- 'adaptor': {//{{{
975
- 'mousedown': function (node,e) {
976
- self.events.mousedown(node,e,true,true);
977
- },
978
- 'click': self.events.click,
979
- 'dblclick': self.events.dblclick,
980
- 'mouseover': self.events.mouseover,
981
- 'mouseout': self.events.mouseout,
982
- }//}}}
983
- }; /*}}}*/
984
- this.elements.critical = { /*{{{*/
985
- 'type': 'complex',
986
- 'illustrator': {//{{{
987
- 'endnodes': 'aggregate',
988
- 'closeblock': false,
989
- 'border': true,
990
- 'expansion': function(node) {
991
- return 'vertical';
992
- },
993
- 'col_shift': function(node) {
994
- return true;
995
- },
996
- 'svg': self.adaptor.theme_dir + 'symbols/critical.svg'
997
- },//}}}
998
- 'description': self.adaptor.theme_dir + 'rngs/critical.rng',
999
- 'permissible_children': function(node,mode) { //{{{
1000
- var func = null;
1001
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
1002
- else { func = self.adaptor.description.insert_after }
1003
- var childs = [
1004
- {'label': 'Service Call with Scripts',
1005
- 'function_call': func,
1006
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
1007
- 'type': 'callmanipulate',
1008
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
1009
- {'label': 'Service Call',
1010
- 'function_call': func,
1011
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
1012
- 'type': 'call',
1013
- 'params': [self.adaptor.description.elements.call, node]},
1014
- {'label': 'Script',
1015
- 'function_call': func,
1016
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
1017
- 'type': 'manipulate',
1018
- 'params': [self.adaptor.description.elements.manipulate, node]},
1019
- {'label': 'Parallel',
1020
- 'function_call': func,
1021
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
1022
- 'type': 'parallel',
1023
- 'params': [self.adaptor.description.elements.parallel, node]},
1024
- {'label': 'Decision',
1025
- 'function_call': func,
1026
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
1027
- 'type': 'choose',
1028
- 'params': [self.adaptor.description.elements.choose, node]},
1029
- {'label': 'Loop',
1030
- 'function_call': func,
1031
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
1032
- 'type': 'loop',
1033
- 'params': [self.adaptor.description.elements.loop, node]},
1034
- {'label': 'Terminate',
1035
- 'function_call': func,
1036
- 'menu_icon': self.elements.terminate.illustrator.svg.clone(),
1037
- 'type': 'terminate',
1038
- 'params': [self.adaptor.description.elements.terminate, node]},
1039
- {'label': 'Stop',
1040
- 'function_call': func,
1041
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
1042
- 'type': 'stop',
1043
- 'params': [self.adaptor.description.elements.stop, node]}
1044
- ];
1045
- if(node.parent('parallel_branch').length > 0) {
1046
- childs.push({
1047
- 'label': 'Critical',
1048
- 'function_call': func,
1049
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
1050
- 'type': 'critical',
1051
- 'params': [self.adaptor.description.elements.critical, node]
1052
- });
1053
- }
1054
- return childs;
1055
- }, //}}}
1056
- 'adaptor': {//{{{
1057
- 'mousedown': function (node,e) {
1058
- self.events.mousedown(node,e,true,true);
1059
- },
1060
- 'click': self.events.click,
1061
- 'dblclick': self.events.dblclick,
1062
- 'mouseover': self.events.mouseover,
1063
- 'mouseout': self.events.mouseout,
1064
- }//}}}
1065
- }; /*}}}*/
1066
- this.elements.group = { /*{{{*/
1067
- 'type': 'complex',
1068
- 'illustrator': {//{{{
1069
- 'endnodes': 'aggregate',
1070
- 'closeblock': false,
1071
- 'border': 'injectiongroup', // other value than true,false inidcates the used class for the svg-object
1072
- 'expansion': function(node) {
1073
- return 'vertical';
1074
- },
1075
- 'col_shift': function(node) {
1076
- return true;
1077
- },
1078
- 'svg': null
1079
- },//}}}
1080
- 'description': self.adaptor.theme_dir + 'rngs/group.rng',
1081
- 'permissible_children': function(node,mode) { //{{{
1082
- var func = null;
1083
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
1084
- else { func = self.adaptor.description.insert_after }
1085
- return [
1086
- ];
1087
- }, //}}}
1088
- 'adaptor': {//{{{
1089
- 'mousedown': function (node,e) {
1090
- self.events.mousedown(node,e,true,true);
1091
- },
1092
- 'click': self.events.click,
1093
- 'dblclick': self.events.dblclick,
1094
- 'mouseover': self.events.mouseover,
1095
- 'mouseout': self.events.mouseout,
1096
- }//}}}
1097
- }; /*}}}*/
1098
- this.elements.start = this.elements.description = { /*{{{*/
1099
- 'type': 'description',
1100
- 'illustrator': {//{{{
1101
- 'endnodes': 'passthrough',
1102
- 'closeblock': false,
1103
- 'balance': true,
1104
- 'expansion': function(node) {
1105
- return 'vertical';
1106
- },
1107
- 'closing_symbol': 'end',
1108
- 'col_shift': function(node) {
1109
- return true;
1110
- },
1111
- 'svg': self.adaptor.theme_dir + 'symbols/start.svg'
1112
- },//}}}
1113
- 'description': null,
1114
- 'permissible_children': function(node,mode) { //{{{
1115
- var func = null;
1116
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
1117
- else { func = self.adaptor.description.insert_after }
1118
- var childs = [
1119
- {'label': 'Service Call with Scripts',
1120
- 'function_call': func,
1121
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
1122
- 'type': 'callmanipulate',
1123
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
1124
- {'label': 'Service Call',
1125
- 'function_call': func,
1126
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
1127
- 'type': 'call',
1128
- 'params': [self.adaptor.description.elements.call, node]},
1129
- {'label': 'Script',
1130
- 'function_call': func,
1131
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
1132
- 'type': 'manipulate',
1133
- 'params': [self.adaptor.description.elements.manipulate, node]},
1134
- {'label': 'Parallel',
1135
- 'function_call': func,
1136
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
1137
- 'type': 'parallel',
1138
- 'params': [self.adaptor.description.elements.parallel, node]},
1139
- {'label': 'Decision',
1140
- 'function_call': func,
1141
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
1142
- 'type': 'choose',
1143
- 'params': [self.adaptor.description.elements.choose, node]},
1144
- {'label': 'Loop',
1145
- 'function_call': func,
1146
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
1147
- 'type': 'loop',
1148
- 'params': [self.adaptor.description.elements.loop, node]},
1149
- {'label': 'Stop',
1150
- 'function_call': func,
1151
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
1152
- 'type': 'stop',
1153
- 'params': [self.adaptor.description.elements.stop, node]}
1154
- ];
1155
- if(node.parent('parallel_branch').length > 0) {
1156
- childs.push({
1157
- 'label': 'Critical',
1158
- 'function_call': func,
1159
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
1160
- 'type': 'critical',
1161
- 'params': [self.adaptor.description.elements.critical, node]
1162
- });
1163
- }
1164
- return childs;
1165
- }, //}}}
1166
- 'adaptor': {//{{{
1167
- 'mousedown': function (node,e) {
1168
- self.events.mousedown(node,e,true,false);
1169
- },
1170
- 'click': self.events.click,
1171
- 'dblclick': self.events.dblclick,
1172
- 'mouseover': self.events.mouseover,
1173
- 'mouseout': self.events.mouseout,
1174
- }//}}}
1175
- }; /*}}}*/
1176
-
1177
- // Abstract Elements
1178
- // * they may only have an illustrator (or other parts)
1179
- // * they HAVE TO have a parent
1180
- this.elements.callmanipulate = { /*{{{*/
1181
- 'parent': 'call',
1182
- 'description': self.adaptor.theme_dir + 'rngs/callmanipulate.rng',
1183
- 'illustrator': {//{{{
1184
- 'info': function(node){ return { 'element-endpoint': $(node).attr('endpoint') }; },
1185
- 'svg': self.adaptor.theme_dir + 'symbols/callmanipulate.svg'
1186
- },//}}}
1187
- }; /*}}}*/
1188
- this.elements.loop_head = { /*{{{*/
1189
- 'parent': 'loop',
1190
- 'illustrator': {//{{{
1191
- 'endnodes': 'this',
1192
- 'closeblock': true,
1193
- 'label': function(node){
1194
- var ret = [ { column: 'Label', value: $(node).attr('condition') } ];
1195
- return ret;
1196
- },
1197
- }//}}}
1198
- }; /*}}}*/
1199
- this.elements.loop_tail = { /*{{{*/
1200
- 'parent': 'loop',
1201
- 'illustrator': {//{{{
1202
- 'endnodes': 'aggregate',
1203
- 'closeblock': false,
1204
- 'closing_symbol': 'loop_finish'
1205
- },//}}}
1206
- }; /*}}}*/
1207
- this.elements.choose_inclusive = { /*{{{*/
1208
- 'parent': 'choose',
1209
- 'illustrator': {//{{{
1210
- 'svg': self.adaptor.theme_dir + 'symbols/choose_inclusive.svg'
1211
- }//}}}
1212
- }; /*}}}*/
1213
- this.elements.choose_exclusive = { /*{{{*/
1214
- 'parent': 'choose',
1215
- 'illustrator': {//{{{
1216
- 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1217
- },//}}}
1218
- }; /*}}}*/
1219
- this.elements.choose_inclusive_finish = { /*{{{*/
1220
- 'parent': 'choose_finish',
1221
- 'illustrator': {//{{{
1222
- 'svg': self.adaptor.theme_dir + 'symbols/choose_inclusive.svg'
1223
- }//}}}
1224
- }; /*}}}*/
1225
- this.elements.choose_exclusive_finish = { /*{{{*/
1226
- 'parent': 'choose_finish',
1227
- 'illustrator': {//{{{
1228
- 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1229
- },//}}}
1230
- }; /*}}}*/
1231
- this.elements.loop_head_finish = { /*{{{*/
1232
- 'parent': 'loop_finish',
1233
- 'illustrator': {//{{{
1234
- 'endnodes': 'this',
1235
- 'closeblock': true,
1236
- 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1237
- }//}}}
1238
- }; /*}}}*/
1239
- this.elements.loop_tail_finish = { /*{{{*/
1240
- 'parent': 'loop_finish',
1241
- 'illustrator': {//{{{
1242
- 'endnodes': 'this',
1243
- 'closeblock': false,
1244
- 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1245
- },//}}}
1246
- }; /*}}}*/
1247
- this.elements.parallel_simple = { /*{{{*/
1248
- 'parent': 'parallel_finish',
1249
- 'illustrator': {//{{{
1250
- 'svg': self.adaptor.theme_dir + 'symbols/parallel.svg'
1251
- }//}}}
1252
- }; /*}}}*/
1253
- this.elements.parallel_complex = { /*{{{*/
1254
- 'parent': 'parallel_finish',
1255
- 'illustrator': {//{{{
1256
- 'svg': self.adaptor.theme_dir + 'symbols/complex.svg'
1257
- },//}}}
1258
- }; /*}}}*/
1259
- this.elements.parallel_branch_normal = { /*{{{*/
1260
- 'parent': 'parallel_branch',
1261
- 'illustrator': {//{{{
1262
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_branch_normal.svg'
1263
- }//}}}
1264
- }; /*}}}*/
1265
- this.elements.parallel_branch_event = { /*{{{*/
1266
- 'parent': 'parallel_branch',
1267
- 'illustrator': {//{{{
1268
- 'endnodes': 'this',
1269
- 'noarrow': false,
1270
- 'border': true,
1271
- 'wide': true,
1272
- 'closing_symbol': 'event_end',
1273
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_branch_event.svg'
1274
- }//}}}
1275
- }; /*}}}*/
1276
- this.elements.parallel_branch_compact = { /*{{{*/
1277
- 'parent': 'parallel_branch',
1278
- 'illustrator': {//{{{
1279
- 'endnodes': 'this',
1280
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_branch_compact.svg'
1281
- }//}}}
1282
- }; /*}}}*/
1283
- this.elements.scripts = { /*{{{*/
1284
- 'description': [self.adaptor.theme_dir + 'rngs/update.rng',self.adaptor.theme_dir + 'rngs/finalize.rng']
1285
- }; /*}}}*/
1286
- }