cpee 2.0.30 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (330) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/js/instance.js +3 -3
  3. data/cockpit/js/wfadaptor.js +2 -0
  4. data/cockpit/templates.legacy/Async.xml +12 -12
  5. data/cockpit/templates.legacy/BCO.xml +9 -11
  6. data/cockpit/templates.legacy/BCS.xml +9 -11
  7. data/cockpit/templates.legacy/Centurio.xml +7 -7
  8. data/cockpit/templates.legacy/Concurrent.xml +7 -7
  9. data/cockpit/templates.legacy/Coopis Testset.xml +7 -7
  10. data/cockpit/templates.legacy/Endpoints and Data Manipulation.xml +6 -7
  11. data/cockpit/templates.legacy/ICSOC Testset.xml +7 -7
  12. data/cockpit/templates.legacy/Infinity.xml +7 -7
  13. data/cockpit/templates.legacy/Lego Boxer.xml +13 -13
  14. data/cockpit/templates.legacy/Lego Conveyor.xml +13 -13
  15. data/cockpit/templates.legacy/Lego Crane.xml +16 -16
  16. data/cockpit/templates.legacy/Lego Ejector.xml +16 -16
  17. data/cockpit/templates.legacy/Lego Full.xml +12 -12
  18. data/cockpit/templates.legacy/Lego Liddy.xml +13 -13
  19. data/cockpit/templates.legacy/Lego Plate.xml +13 -13
  20. data/cockpit/templates.legacy/Lego Transporter.xml +14 -14
  21. data/cockpit/templates.legacy/Lego_Part_1.xml +12 -12
  22. data/cockpit/templates.legacy/LgLinear.xml +7 -10
  23. data/cockpit/templates.legacy/Linear.xml +11 -14
  24. data/cockpit/templates.legacy/Log.xml +11 -12
  25. data/cockpit/templates.legacy/Mangler 1.xml +7 -7
  26. data/cockpit/templates.legacy/Mangler 2.xml +7 -7
  27. data/cockpit/templates.legacy/Manuel Labels.xml +11 -11
  28. data/cockpit/templates.legacy/Promise.xml +30 -30
  29. data/cockpit/templates.legacy/SOPROMO Test Sonification.xml +7 -7
  30. data/cockpit/templates.legacy/Subprocess.xml +15 -15
  31. data/cockpit/templates.legacy/Syncing P34 1.xml +8 -11
  32. data/cockpit/templates.legacy/Syncing P34 2.xml +8 -11
  33. data/cockpit/templates.legacy/Syncing P34 3.xml +8 -11
  34. data/cockpit/templates.legacy/Syncing P34.xml +8 -11
  35. data/cockpit/templates.legacy/TEST - Bad Loop.xml +7 -7
  36. data/cockpit/templates.legacy/TEST - Wrong Positions.xml +7 -7
  37. data/cockpit/templates.legacy/Take_5.xml +14 -14
  38. data/cockpit/templates.legacy/Update.xml +11 -11
  39. data/cockpit/templates.legacy/Worklist Parallel.xml +17 -17
  40. data/cockpit/templates.legacy/Worklist Test CPEE.xml +14 -14
  41. data/cockpit/templates.legacy/Worklist Test.xml +14 -14
  42. data/cockpit/templates.legacy/Worklist Test2.xml +14 -14
  43. data/cockpit/templates/Coopis 2010.xml +8 -8
  44. data/cockpit/templates/IUPC arXiv:1104.3609 P34 1.xml +8 -11
  45. data/cockpit/templates/IUPC arXiv:1104.3609 P34 2.xml +8 -11
  46. data/cockpit/templates/IUPC arXiv:1104.3609 P34 3.xml +8 -11
  47. data/cockpit/templates/Track Test Local.xml +2 -2
  48. data/cockpit/templates/Track Test.xml +1 -1
  49. data/cockpit/templates/UR-VUE 2020 Manual Adjust.xml +1 -1
  50. data/cockpit/templates/UR-VUE 2020 Solution Baseline.xml +1 -1
  51. data/cockpit/templates/UR-VUE 2020 Solution NN.xml +1 -1
  52. data/cockpit/templates/UR-VUE 2020 Solution View.xml +1 -1
  53. data/cockpit/templates/UR-VUE 2020.xml +1 -1
  54. data/cockpit/templates/Worklist.xml +14 -14
  55. data/cockpit/templates/instantiate.local/Take_Sub.xml +2 -2
  56. data/cockpit/templates/instantiate/Take_Perf.xml +1 -1
  57. data/cockpit/templates/instantiate/Take_Sub.xml +2 -2
  58. data/cockpit/templates/instantiate/Take_X.xml +2 -2
  59. data/cockpit/themes/compact/rngs/start.rng +83 -0
  60. data/cockpit/themes/compact/symbols/start.svg +1 -1
  61. data/cockpit/themes/control/rngs/start.rng +83 -0
  62. data/cockpit/themes/control/symbols/start.svg +1 -1
  63. data/cockpit/themes/default/rngs/start.rng +83 -0
  64. data/cockpit/themes/default/symbols/start.svg +1 -1
  65. data/cockpit/themes/default/theme.js +1 -1
  66. data/cockpit/themes/extended/rngs/start.rng +83 -0
  67. data/cockpit/themes/extended/symbols/start.svg +1 -1
  68. data/cockpit/themes/model/symbols/start.svg +1 -1
  69. data/cockpit/themes/packed/rngs/start.rng +83 -0
  70. data/cockpit/themes/packed/symbols/start.svg +1 -1
  71. data/cockpit/themes/preset/rngs/start.rng +83 -0
  72. data/cockpit/themes/preset/symbols/start.svg +1 -1
  73. data/cockpit/themes/preset/theme.js +1 -1
  74. data/cpee.gemspec +2 -2
  75. data/lib/cpee/attributes_helper.rb +14 -0
  76. data/lib/cpee/implementation.rb +10 -8
  77. data/lib/cpee/implementation_callbacks.rb +14 -0
  78. data/lib/cpee/implementation_notifications.rb +14 -0
  79. data/lib/cpee/implementation_properties.rb +128 -24
  80. data/lib/cpee/persistence.rb +0 -27
  81. data/lib/cpee/statemachine.rb +14 -0
  82. data/lib/cpee/value_helper.rb +14 -0
  83. data/lib/properties.xml +4 -4
  84. data/lib/properties/{handlerwrapper.rng → executionhandler.rng} +2 -2
  85. data/lib/properties/properties.rng +2 -2
  86. data/lib/properties/set-properties.rng +2 -2
  87. data/lib/properties/set-some-properties.rng +2 -2
  88. data/server/{resources → executionhandlers/ruby}/backend/README.md +0 -0
  89. data/server/{resources → executionhandlers/ruby}/backend/instance.template +2 -4
  90. data/server/{resources → executionhandlers/ruby}/backend/opts.yaml +2 -2
  91. data/server/executionhandlers/ruby/backend/run +37 -0
  92. data/server/{handlerwrappers/default.rb → executionhandlers/ruby/connection.rb} +3 -3
  93. data/server/executionhandlers/ruby/controller.rb +195 -0
  94. data/server/{resources/transformation_dslx.xsl → executionhandlers/ruby/dsl_to_dslx.xsl} +53 -8
  95. data/server/executionhandlers/ruby/execution.rb +81 -0
  96. data/server/resources/properties.empty +1 -1
  97. data/server/resources/properties.init +1 -1
  98. data/server/resources/topics.xml +2 -2
  99. data/server/routing/persist.rb +3 -3
  100. data/tools/cpee +9 -3
  101. data/tools/server/cpee +1 -1
  102. data/tools/server/resources/properties.init +1 -1
  103. metadata +19 -237
  104. data/cockpit/templates.legacy/convert_cpee2.rb +0 -15
  105. data/lib/cpee/controller.rb +0 -199
  106. data/lib/cpee/transform.rb +0 -95
  107. data/server/resources/backend/instance.rb +0 -23
  108. data/server/resources/backend/run +0 -33
  109. data/server/routing/end.pid +0 -1
  110. data/server/routing/forward-events.pid +0 -1
  111. data/server/routing/forward-votes.pid +0 -1
  112. data/server/routing/persist.pid +0 -1
  113. data/server/server.pid +0 -1
  114. data/tools/test/README +0 -4
  115. data/tools/test/config.json +0 -3
  116. data/tools/test/contrib/graph_example.svg +0 -1166
  117. data/tools/test/contrib/legend.svg +0 -817
  118. data/tools/test/contrib/symbols.svg +0 -224
  119. data/tools/test/contrib/transformation1.xsl +0 -264
  120. data/tools/test/contrib/transformation2.xsl +0 -10
  121. data/tools/test/contrib/tree_example.svg +0 -788
  122. data/tools/test/css/model.css +0 -24
  123. data/tools/test/css/track.css +0 -60
  124. data/tools/test/css/ui.css +0 -214
  125. data/tools/test/css/wfadaptor.css +0 -422
  126. data/tools/test/edit.html +0 -258
  127. data/tools/test/graph.html +0 -69
  128. data/tools/test/index.html +0 -258
  129. data/tools/test/js/details.js +0 -109
  130. data/tools/test/js/instance.js +0 -1344
  131. data/tools/test/js/model.js +0 -41
  132. data/tools/test/js/parameters.js +0 -82
  133. data/tools/test/js/track.js +0 -18
  134. data/tools/test/js/ui.js +0 -104
  135. data/tools/test/js/wfadaptor.js +0 -763
  136. data/tools/test/js_libs.zip +0 -0
  137. data/tools/test/js_libs/Makefile +0 -2
  138. data/tools/test/js_libs/ansi_up.js +0 -333
  139. data/tools/test/js_libs/console.js +0 -80
  140. data/tools/test/js_libs/custommenu.css +0 -84
  141. data/tools/test/js_libs/custommenu.js +0 -104
  142. data/tools/test/js_libs/experiments1/relaxngui.css +0 -185
  143. data/tools/test/js_libs/experiments1/relaxngui.js +0 -488
  144. data/tools/test/js_libs/experiments1/rngtest9.html +0 -60
  145. data/tools/test/js_libs/experiments1/rngtest9.rng +0 -35
  146. data/tools/test/js_libs/experiments1/rngtest9.xml +0 -8
  147. data/tools/test/js_libs/jquery-2.2.4.min.js +0 -4
  148. data/tools/test/js_libs/jquery-3.2.1.min.js +0 -4
  149. data/tools/test/js_libs/jquery-3.3.1.min.js +0 -2
  150. data/tools/test/js_libs/jquery.browser.js +0 -40
  151. data/tools/test/js_libs/jquery.caret.min.js +0 -10
  152. data/tools/test/js_libs/jquery.cookie.js +0 -117
  153. data/tools/test/js_libs/jquery.min.js +0 -1
  154. data/tools/test/js_libs/jquery.svg.min.js +0 -6
  155. data/tools/test/js_libs/jquery.svgdom.min.js +0 -6
  156. data/tools/test/js_libs/markdown.min.js +0 -1
  157. data/tools/test/js_libs/parsequery.js +0 -21
  158. data/tools/test/js_libs/printf.js +0 -368
  159. data/tools/test/js_libs/relaxngui.css +0 -213
  160. data/tools/test/js_libs/relaxngui.js +0 -543
  161. data/tools/test/js_libs/strftime.min.js +0 -1
  162. data/tools/test/js_libs/tests/dataelements.html +0 -59
  163. data/tools/test/js_libs/tests/dataelements.rng +0 -8
  164. data/tools/test/js_libs/tests/dataelements.xml +0 -3
  165. data/tools/test/js_libs/tests/relaxngui.css +0 -203
  166. data/tools/test/js_libs/tests/relaxngui.js +0 -502
  167. data/tools/test/js_libs/tests/rngtest1.html +0 -66
  168. data/tools/test/js_libs/tests/rngtest1.rng +0 -147
  169. data/tools/test/js_libs/tests/rngtest1.xml +0 -13
  170. data/tools/test/js_libs/tests/rngtest2.html +0 -60
  171. data/tools/test/js_libs/tests/rngtest2.rng +0 -6
  172. data/tools/test/js_libs/tests/rngtest2.xml +0 -3
  173. data/tools/test/js_libs/tests/rngtest3.html +0 -60
  174. data/tools/test/js_libs/tests/rngtest3.rng +0 -23
  175. data/tools/test/js_libs/tests/rngtest3.xml +0 -9
  176. data/tools/test/js_libs/tests/rngtest4.html +0 -60
  177. data/tools/test/js_libs/tests/rngtest4.rng +0 -19
  178. data/tools/test/js_libs/tests/rngtest4.xml +0 -12
  179. data/tools/test/js_libs/tests/rngtest5.html +0 -60
  180. data/tools/test/js_libs/tests/rngtest5.rng +0 -75
  181. data/tools/test/js_libs/tests/rngtest5.xml +0 -40
  182. data/tools/test/js_libs/tests/rngtest6.html +0 -60
  183. data/tools/test/js_libs/tests/rngtest6.rng +0 -24
  184. data/tools/test/js_libs/tests/rngtest6.xml +0 -6
  185. data/tools/test/js_libs/tests/rngtest8.html +0 -60
  186. data/tools/test/js_libs/tests/rngtest8.rng +0 -13
  187. data/tools/test/js_libs/tests/rngtest8.xml +0 -2
  188. data/tools/test/js_libs/tests/rngtest9.html +0 -60
  189. data/tools/test/js_libs/tests/rngtest9.rng +0 -31
  190. data/tools/test/js_libs/tests/rngtest9.xml +0 -8
  191. data/tools/test/js_libs/ui.css +0 -333
  192. data/tools/test/js_libs/ui.html +0 -168
  193. data/tools/test/js_libs/ui.js +0 -177
  194. data/tools/test/js_libs/underscore.min.js +0 -27
  195. data/tools/test/js_libs/util.js +0 -81
  196. data/tools/test/js_libs/vkbeautify.0.99.00.beta.js +0 -358
  197. data/tools/test/js_libs/vkbeautify.js +0 -1
  198. data/tools/test/js_libs/webcomponents.min.js +0 -196
  199. data/tools/test/model.html +0 -192
  200. data/tools/test/rngs/attributes.rng +0 -8
  201. data/tools/test/rngs/dataelements.rng +0 -8
  202. data/tools/test/rngs/endpoints.rng +0 -8
  203. data/tools/test/templates.legacy/Async.xml +0 -46
  204. data/tools/test/templates.legacy/BCO.xml +0 -70
  205. data/tools/test/templates.legacy/BCS.xml +0 -70
  206. data/tools/test/templates.legacy/Centurio.xml +0 -75
  207. data/tools/test/templates.legacy/Concurrent.xml +0 -40
  208. data/tools/test/templates.legacy/Coopis Testset.xml +0 -76
  209. data/tools/test/templates.legacy/Endpoints and Data Manipulation.xml +0 -30
  210. data/tools/test/templates.legacy/ICSOC Testset.xml +0 -95
  211. data/tools/test/templates.legacy/Infinity.xml +0 -28
  212. data/tools/test/templates.legacy/Lego Boxer.xml +0 -31
  213. data/tools/test/templates.legacy/Lego Conveyor.xml +0 -31
  214. data/tools/test/templates.legacy/Lego Crane.xml +0 -87
  215. data/tools/test/templates.legacy/Lego Ejector.xml +0 -55
  216. data/tools/test/templates.legacy/Lego Full.xml +0 -142
  217. data/tools/test/templates.legacy/Lego Liddy.xml +0 -40
  218. data/tools/test/templates.legacy/Lego Plate.xml +0 -31
  219. data/tools/test/templates.legacy/Lego Transporter.xml +0 -43
  220. data/tools/test/templates.legacy/Lego_Part_1.xml +0 -85
  221. data/tools/test/templates.legacy/LgLinear.xml +0 -65
  222. data/tools/test/templates.legacy/Linear.xml +0 -77
  223. data/tools/test/templates.legacy/Log.xml +0 -117
  224. data/tools/test/templates.legacy/Mangler 1.xml +0 -87
  225. data/tools/test/templates.legacy/Mangler 2.xml +0 -103
  226. data/tools/test/templates.legacy/Manuel Labels.xml +0 -55
  227. data/tools/test/templates.legacy/Promise.xml +0 -275
  228. data/tools/test/templates.legacy/SOPROMO Test Sonification.xml +0 -83
  229. data/tools/test/templates.legacy/Subprocess.xml +0 -56
  230. data/tools/test/templates.legacy/Syncing P34 1.xml +0 -77
  231. data/tools/test/templates.legacy/Syncing P34 2.xml +0 -77
  232. data/tools/test/templates.legacy/Syncing P34 3.xml +0 -77
  233. data/tools/test/templates.legacy/Syncing P34.xml +0 -77
  234. data/tools/test/templates.legacy/TEST - Bad Loop.xml +0 -173
  235. data/tools/test/templates.legacy/TEST - Wrong Positions.xml +0 -174
  236. data/tools/test/templates.legacy/Take_5.xml +0 -48
  237. data/tools/test/templates.legacy/Update.xml +0 -32
  238. data/tools/test/templates.legacy/Worklist Parallel.xml +0 -104
  239. data/tools/test/templates.legacy/Worklist Test CPEE.xml +0 -40
  240. data/tools/test/templates.legacy/Worklist Test.xml +0 -42
  241. data/tools/test/templates.legacy/Worklist Test2.xml +0 -43
  242. data/tools/test/templates.legacy/convert_cpee2.rb +0 -15
  243. data/tools/test/templates.legacy/convert_preset.rb +0 -32
  244. data/tools/test/templates.legacy/testsets.xml +0 -37
  245. data/tools/test/templates.legacy/transformations.xml +0 -4
  246. data/tools/test/templates/Coopis 2010.xml +0 -76
  247. data/tools/test/templates/IUPC arXiv:1104.3609 P34 1.xml +0 -77
  248. data/tools/test/templates/IUPC arXiv:1104.3609 P34 2.xml +0 -77
  249. data/tools/test/templates/IUPC arXiv:1104.3609 P34 3.xml +0 -77
  250. data/tools/test/templates/Track Test Local.xml +0 -82
  251. data/tools/test/templates/Track Test.xml +0 -82
  252. data/tools/test/templates/UR-VUE 2020 Manual Adjust.xml +0 -182
  253. data/tools/test/templates/UR-VUE 2020 Solution Baseline.xml +0 -203
  254. data/tools/test/templates/UR-VUE 2020 Solution NN.xml +0 -197
  255. data/tools/test/templates/UR-VUE 2020 Solution View.xml +0 -151
  256. data/tools/test/templates/UR-VUE 2020.xml +0 -26
  257. data/tools/test/templates/Worklist.xml +0 -42
  258. data/tools/test/templates/instantiate.local/Take_Sub.xml +0 -59
  259. data/tools/test/templates/instantiate/Take_Perf.xml +0 -46
  260. data/tools/test/templates/instantiate/Take_Sub.xml +0 -58
  261. data/tools/test/templates/instantiate/Take_X.xml +0 -48
  262. data/tools/test/themes/compact/theme.js +0 -1285
  263. data/tools/test/themes/diana/theme.js +0 -1650
  264. data/tools/test/themes/extended/theme.js +0 -1325
  265. data/tools/test/themes/model/rngs/alternative.rng +0 -1
  266. data/tools/test/themes/model/rngs/call.rng +0 -67
  267. data/tools/test/themes/model/rngs/callmanipulate.rng +0 -72
  268. data/tools/test/themes/model/rngs/choose.rng +0 -1
  269. data/tools/test/themes/model/rngs/critical.rng +0 -1
  270. data/tools/test/themes/model/rngs/escape.rng +0 -1
  271. data/tools/test/themes/model/rngs/group.rng +0 -1
  272. data/tools/test/themes/model/rngs/loop.rng +0 -1
  273. data/tools/test/themes/model/rngs/manipulate.rng +0 -1
  274. data/tools/test/themes/model/rngs/otherwise.rng +0 -1
  275. data/tools/test/themes/model/rngs/parallel.rng +0 -1
  276. data/tools/test/themes/model/rngs/parallel_branch.rng +0 -1
  277. data/tools/test/themes/model/rngs/scripts.rng +0 -7
  278. data/tools/test/themes/model/rngs/stop.rng +0 -1
  279. data/tools/test/themes/model/rngs/terminate.rng +0 -1
  280. data/tools/test/themes/model/theme.js +0 -1268
  281. data/tools/test/themes/packed/theme.js +0 -1286
  282. data/tools/test/themes/preset/rngs/alternative.rng +0 -25
  283. data/tools/test/themes/preset/rngs/call.rng +0 -122
  284. data/tools/test/themes/preset/rngs/callmanipulate.rng +0 -145
  285. data/tools/test/themes/preset/rngs/choose.rng +0 -14
  286. data/tools/test/themes/preset/rngs/closed_loop.rng +0 -62
  287. data/tools/test/themes/preset/rngs/closed_loop_cancel.rng +0 -5
  288. data/tools/test/themes/preset/rngs/closed_loop_control.rng +0 -31
  289. data/tools/test/themes/preset/rngs/closed_loop_measuring.rng +0 -12
  290. data/tools/test/themes/preset/rngs/critical.rng +0 -5
  291. data/tools/test/themes/preset/rngs/escape.rng +0 -1
  292. data/tools/test/themes/preset/rngs/group.rng +0 -3
  293. data/tools/test/themes/preset/rngs/loop.rng +0 -22
  294. data/tools/test/themes/preset/rngs/manipulate.rng +0 -9
  295. data/tools/test/themes/preset/rngs/otherwise.rng +0 -22
  296. data/tools/test/themes/preset/rngs/parallel.rng +0 -21
  297. data/tools/test/themes/preset/rngs/parallel_branch.rng +0 -8
  298. data/tools/test/themes/preset/rngs/scripts.rng +0 -23
  299. data/tools/test/themes/preset/rngs/stop.rng +0 -5
  300. data/tools/test/themes/preset/rngs/terminate.rng +0 -1
  301. data/tools/test/themes/preset/symbols/alternative.svg +0 -5
  302. data/tools/test/themes/preset/symbols/arrow.svg +0 -3
  303. data/tools/test/themes/preset/symbols/call.svg +0 -6
  304. data/tools/test/themes/preset/symbols/callmanipulate.svg +0 -8
  305. data/tools/test/themes/preset/symbols/choose.svg +0 -5
  306. data/tools/test/themes/preset/symbols/choose_exclusive.svg +0 -5
  307. data/tools/test/themes/preset/symbols/choose_inclusive.svg +0 -4
  308. data/tools/test/themes/preset/symbols/closed_loop.svg +0 -5
  309. data/tools/test/themes/preset/symbols/closed_loop_cancel.svg +0 -5
  310. data/tools/test/themes/preset/symbols/closed_loop_control.svg +0 -5
  311. data/tools/test/themes/preset/symbols/closed_loop_measuring.svg +0 -6
  312. data/tools/test/themes/preset/symbols/complex.svg +0 -8
  313. data/tools/test/themes/preset/symbols/critical.svg +0 -4
  314. data/tools/test/themes/preset/symbols/end.svg +0 -3
  315. data/tools/test/themes/preset/symbols/escape.svg +0 -5
  316. data/tools/test/themes/preset/symbols/event_end.svg +0 -3
  317. data/tools/test/themes/preset/symbols/loop.svg +0 -5
  318. data/tools/test/themes/preset/symbols/manipulate.svg +0 -4
  319. data/tools/test/themes/preset/symbols/otherwise.svg +0 -5
  320. data/tools/test/themes/preset/symbols/parallel.svg +0 -5
  321. data/tools/test/themes/preset/symbols/parallel_branch.svg +0 -5
  322. data/tools/test/themes/preset/symbols/parallel_branch_compact.svg +0 -4
  323. data/tools/test/themes/preset/symbols/parallel_branch_event.svg +0 -14
  324. data/tools/test/themes/preset/symbols/parallel_branch_normal.svg +0 -5
  325. data/tools/test/themes/preset/symbols/scripts.svg +0 -4
  326. data/tools/test/themes/preset/symbols/start.svg +0 -3
  327. data/tools/test/themes/preset/symbols/stop.svg +0 -5
  328. data/tools/test/themes/preset/symbols/terminate.svg +0 -4
  329. data/tools/test/themes/preset/theme.js +0 -1287
  330. data/tools/test/track.html +0 -142
@@ -1,46 +0,0 @@
1
- <testset xmlns="http://cpee.org/ns/properties/2.0">
2
- <dataelements>
3
- <time>5</time>
4
- </dataelements>
5
- <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
6
- <endpoints>
7
- <fetch>https://cpee.org/perf</fetch>
8
- </endpoints>
9
- <positions/>
10
- <description>
11
- <description xmlns="http://cpee.org/ns/description/1.0">
12
- <call id="a1" endpoint="fetch">
13
- <parameters>
14
- <label/>
15
- <method>:get</method>
16
- <arguments/>
17
- </parameters>
18
- <_timing>
19
- <_timing_min/>
20
- <_timing_max/>
21
- <_timing_avg/>
22
- </_timing>
23
- <_notes>
24
- <_notes_general/>
25
- <_attachments/>
26
- </_notes>
27
- <code>
28
- <finalize output="result"/>
29
- <update output="result"/>
30
- </code>
31
- </call>
32
- </description>
33
- </description>
34
- <transformation>
35
- <description type="copy"/>
36
- <dataelements type="none"/>
37
- <endpoints type="none"/>
38
- </transformation>
39
- <attributes>
40
- <info/>
41
- <modeltype>CPEE</modeltype>
42
- <theme>default</theme>
43
- <customer>pilotfabrik</customer>
44
- <status>development</status>
45
- </attributes>
46
- </testset>
@@ -1,58 +0,0 @@
1
- <testset xmlns="http://cpee.org/ns/properties/2.0">
2
- <dataelements/>
3
- <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
4
- <endpoints>
5
- <start_url>https://cpee.org/flow/start/url/</start_url>
6
- <timeout>https://cpee.org/services/timeout.php</timeout>
7
- </endpoints>
8
- <positions/>
9
- <description>
10
- <description xmlns="http://cpee.org/ns/description/1.0">
11
- <call id="a1" endpoint="start_url">
12
- <parameters>
13
- <label>Start</label>
14
- <method>:post</method>
15
- <arguments>
16
- <behavior>wait_running</behavior>
17
- <url>https://cpee.org/flow/templates/instantiate/Take_X.xml</url>
18
- <init/>
19
- <endpoints/>
20
- <stream/>
21
- </arguments>
22
- <stream>
23
- <sensors/>
24
- <aggregators/>
25
- <costs/>
26
- </stream>
27
- <report>
28
- <url/>
29
- </report>
30
- </parameters>
31
- <annotations>
32
- <_timing>
33
- <_timing_wait/>
34
- <_timing_threshold/>
35
- <_timing_min/>
36
- <_timing_max/>
37
- <_timing_avg/>
38
- </_timing>
39
- <_notes>
40
- <_notes_general/>
41
- </_notes>
42
- </annotations>
43
- </call>
44
- </description>
45
- </description>
46
- <transformation>
47
- <description type="copy"/>
48
- <dataelements type="none"/>
49
- <endpoints type="none"/>
50
- </transformation>
51
- <attributes>
52
- <info/>
53
- <modeltype>CPEE</modeltype>
54
- <theme>default</theme>
55
- <customer>pilotfabrik</customer>
56
- <status>development</status>
57
- </attributes>
58
- </testset>
@@ -1,48 +0,0 @@
1
- <testset xmlns="http://cpee.org/ns/properties/2.0">
2
- <dataelements>
3
- <time>15</time>
4
- </dataelements>
5
- <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
6
- <endpoints>
7
- <timeout>https://cpee.org/services/timeout.php</timeout>
8
- </endpoints>
9
- <positions/>
10
- <description>
11
- <description xmlns="http://cpee.org/ns/description/1.0">
12
- <call id="a1" endpoint="timeout">
13
- <parameters>
14
- <label/>
15
- <method>:get</method>
16
- <arguments>
17
- <timeout>!data.time</timeout>
18
- </arguments>
19
- </parameters>
20
- <_timing>
21
- <_timing_min/>
22
- <_timing_max/>
23
- <_timing_avg/>
24
- </_timing>
25
- <_notes>
26
- <_notes_general/>
27
- <_attachments/>
28
- </_notes>
29
- <code>
30
- <finalize output="result">data.duration = data.time</finalize>
31
- <update output="result"/>
32
- </code>
33
- </call>
34
- </description>
35
- </description>
36
- <transformation>
37
- <description type="copy"/>
38
- <dataelements type="none"/>
39
- <endpoints type="none"/>
40
- </transformation>
41
- <attributes>
42
- <info/>
43
- <modeltype>CPEE</modeltype>
44
- <theme>default</theme>
45
- <customer>pilotfabrik</customer>
46
- <status>development</status>
47
- </attributes>
48
- </testset>
@@ -1,1285 +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($('> code', 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': ['> code', 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($('code', 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('code').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
- 'expansion': function(node) {
478
- return 'horizontal';
479
- },
480
- 'resolve_symbol': function(node) {
481
- if($(node).attr('mode') == 'exclusive') {
482
- return 'choose_exclusive';
483
- } else {
484
- return 'choose_inclusive';
485
- }
486
- },
487
- 'col_shift': function(node) {
488
- return false;
489
- },
490
- 'svg': self.adaptor.theme_dir + 'symbols/choose.svg'
491
- },//}}}
492
- 'description': self.adaptor.theme_dir + 'rngs/choose.rng',
493
- 'permissible_children': function(node,mode) { //{{{
494
- var func = null;
495
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
496
- else { func = self.adaptor.description.insert_after }
497
- if(node.children('parallel_branch').length > 0) {
498
- return [{'label': 'Parallel Branch',
499
- 'function_call': func,
500
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
501
- 'type': 'parallel_branch',
502
- 'params': [self.adaptor.description.elements.parallel_branch, node]}];
503
- }
504
- var childs = [{'label': 'Alternative',
505
- 'function_call': func,
506
- 'menu_icon': self.elements.alternative.illustrator.svg.clone(),
507
- 'type': 'alternative',
508
- 'params': [self.adaptor.description.elements.alternative, node]}];
509
- if((node.children('otherwise').length == 0) && node.parents('parallel').length == node.parents('parallel_branch').length && node.parent('choose').length == 0)
510
- childs.push({'label': 'Otherwise',
511
- 'function_call': self.adaptor.description.insert_last_into,
512
- 'menu_icon': self.elements.otherwise.illustrator.svg.clone(),
513
- 'type': 'otherwise',
514
- 'params': [self.adaptor.description.elements.otherwise, node]});
515
- if(node.parents('parallel').length > node.parents('parallel_branch').length)
516
- childs.push({'label': 'Parallel Branch',
517
- 'function_call': func,
518
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
519
- 'type': 'parallel_branch',
520
- 'params': [self.adaptor.description.elements.parallel_branch, node]});
521
- return childs;
522
- }, //}}}
523
- 'adaptor': {//{{{
524
- 'mousedown': function (node,e) {
525
- self.events.mousedown(node,e,true,true);
526
- },
527
- 'click': self.events.click,
528
- 'dblclick': self.events.dblclick,
529
- 'mouseover': self.events.mouseover,
530
- 'mouseout': self.events.mouseout
531
- }//}}}
532
- }; /*}}}*/
533
- this.elements.otherwise = { /*{{{*/
534
- 'type': 'complex',
535
- 'illustrator': {//{{{
536
- 'endnodes': 'passthrough',
537
- 'closeblock': false,
538
- 'noarrow': true,
539
- 'expansion': function(node) {
540
- return 'vertical';
541
- },
542
- 'col_shift': function(node) {
543
- return false;
544
- },
545
- 'svg': self.adaptor.theme_dir + 'symbols/otherwise.svg'
546
- },//}}}
547
- 'description': self.adaptor.theme_dir + 'rngs/otherwise.rng',
548
- 'neverdelete': true,
549
- 'permissible_children': function(node,mode) { //{{{
550
- var func = null;
551
- var childs = null;
552
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
553
- else { func = self.adaptor.description.insert_after }
554
- var childs = [
555
- {'label': 'Service Call with Scripts',
556
- 'function_call': func,
557
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
558
- 'type': 'callmanipulate',
559
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
560
- {'label': 'Service Call',
561
- 'function_call': func,
562
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
563
- 'type': 'call',
564
- 'params': [self.adaptor.description.elements.call, node]},
565
- {'label': 'Script',
566
- 'function_call': func,
567
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
568
- 'type': 'manipulate',
569
- 'params': [self.adaptor.description.elements.manipulate, node]},
570
- {'label': 'Parallel',
571
- 'function_call': func,
572
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
573
- 'type': 'parallel',
574
- 'params': [self.adaptor.description.elements.parallel, node]},
575
- {'label': 'Decision',
576
- 'function_call': func,
577
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
578
- 'type': 'choose',
579
- 'params': [self.adaptor.description.elements.choose, node]},
580
- {'label': 'Loop',
581
- 'function_call': func,
582
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
583
- 'type': 'loop',
584
- 'params': [self.adaptor.description.elements.loop, node]},
585
- {'label': 'Terminate',
586
- 'function_call': func,
587
- 'menu_icon': self.elements.terminate.illustrator.svg.clone(),
588
- 'type': 'terminate',
589
- 'params': [self.adaptor.description.elements.terminate, node]},
590
- {'label': 'Stop',
591
- 'function_call': func,
592
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
593
- 'type': 'stop',
594
- 'params': [self.adaptor.description.elements.stop, node]}
595
- ];
596
- if(node.parent('parallel_branch').length > 0) {
597
- childs.push({
598
- 'label': 'Critical',
599
- 'function_call': func,
600
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
601
- 'type': 'critical',
602
- 'params': [self.adaptor.description.elements.critical, node]
603
- });
604
- }
605
- return childs;
606
- }, //}}}
607
- 'adaptor': {//{{{
608
- 'mousedown': function (node,e) {
609
- self.events.mousedown(node,e,true,false);
610
- },
611
- 'click': self.events.click,
612
- 'dblclick': self.events.dblclick,
613
- 'mouseover': self.events.mouseover,
614
- 'mouseout': self.events.mouseout,
615
- }//}}}
616
- }; /*}}}*/
617
- this.elements.alternative = { /*{{{*/
618
- 'type': 'complex',
619
- 'illustrator': {//{{{
620
- 'label': function(node){
621
- var ret = [ { column: 'Label', value: $(node).attr('condition') } ];
622
- return ret;
623
- },
624
- 'endnodes': 'passthrough',
625
- 'noarrow': true,
626
- 'closeblock':false,
627
- 'expansion': function(node) {
628
- return 'vertical';
629
- },
630
- 'col_shift': function(node) {
631
- return false;
632
- },
633
- 'svg': self.adaptor.theme_dir + 'symbols/alternative.svg'
634
- },//}}}
635
- 'description': self.adaptor.theme_dir + 'rngs/alternative.rng',
636
- 'permissible_children': function(node,mode) { //{{{
637
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
638
- else { func = self.adaptor.description.insert_after }
639
- if(node.parents('parallel').length > node.parents('parallel_branch').length && node.get(0).tagName == 'alternative') {
640
- return [{'label': 'Parallel Branch',
641
- 'function_call': func,
642
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
643
- 'type': 'parallel_branch',
644
- 'params': [self.adaptor.description.elements.parallel_branch, node]}];
645
- }
646
- var childs = [
647
- {'label': 'Service Call with Scripts',
648
- 'function_call': func,
649
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
650
- 'type': 'callmanipulate',
651
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
652
- {'label': 'Service Call',
653
- 'function_call': func,
654
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
655
- 'type': 'call',
656
- 'params': [self.adaptor.description.elements.call, node]},
657
- {'label': 'Script',
658
- 'function_call': func,
659
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
660
- 'type': 'manipulate',
661
- 'params': [self.adaptor.description.elements.manipulate, node]},
662
- {'label': 'Parallel',
663
- 'function_call': func,
664
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
665
- 'type': 'parallel',
666
- 'params': [self.adaptor.description.elements.parallel, node]},
667
- {'label': 'Decision',
668
- 'function_call': func,
669
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
670
- 'type': 'choose',
671
- 'params': [self.adaptor.description.elements.choose, node]},
672
- {'label': 'Loop',
673
- 'function_call': func,
674
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
675
- 'type': 'loop',
676
- 'params': [self.adaptor.description.elements.loop, node]},
677
- {'label': 'Terminate',
678
- 'function_call': func,
679
- 'menu_icon': self.elements.terminate.illustrator.svg.clone(),
680
- 'type': 'terminate',
681
- 'params': [self.adaptor.description.elements.terminate, node]},
682
- {'label': 'Stop',
683
- 'function_call': func,
684
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
685
- 'type': 'stop',
686
- 'params': [self.adaptor.description.elements.stop, node]}
687
- ];
688
- if(node.parent('parallel_branch').length > 0) {
689
- childs.push({
690
- 'label': 'Critical',
691
- 'function_call': func,
692
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
693
- 'type': 'critical',
694
- 'params': [self.adaptor.description.elements.critical, node]
695
- });
696
- }
697
- return childs;
698
- }, //}}}
699
- 'adaptor': {//{{{
700
- 'mousedown': function (node,e) {
701
- self.events.mousedown(node,e,true,true);
702
- },
703
- 'click': self.events.click,
704
- 'dblclick': self.events.dblclick,
705
- 'mouseover': self.events.mouseover,
706
- 'mouseout': self.events.mouseout,
707
- }//}}}
708
- }; /*}}}*/
709
- this.elements.loop = { /*{{{*/
710
- 'type': 'complex',
711
- 'illustrator': {//{{{
712
- 'resolve_symbol': function(node) {
713
- if($(node).attr('mode') == 'pre_test') {
714
- return 'loop_head';
715
- } else {
716
- return 'loop_tail';
717
- }
718
- },
719
- 'expansion': function(node) {
720
- return 'vertical';
721
- },
722
- 'col_shift': function(node) {
723
- return true;
724
- },
725
- 'svg': self.adaptor.theme_dir + 'symbols/loop.svg'
726
- },// }}}
727
- 'description': self.adaptor.theme_dir + 'rngs/loop.rng',
728
- 'permissible_children': function(node,mode) { //{{{
729
- var func = null;
730
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
731
- else { func = self.adaptor.description.insert_after }
732
- var childs = [
733
- {'label': 'Service Call with Scripts',
734
- 'function_call': func,
735
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
736
- 'type': 'callmanipulate',
737
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
738
- {'label': 'Service Call',
739
- 'function_call': func,
740
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
741
- 'type': 'call',
742
- 'params': [self.adaptor.description.elements.call, node]},
743
- {'label': 'Script',
744
- 'function_call': func,
745
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
746
- 'type': 'manipulate',
747
- 'params': [self.adaptor.description.elements.manipulate, node]},
748
- {'label': 'Decision',
749
- 'function_call': func,
750
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
751
- 'type': 'choose',
752
- 'params': [self.adaptor.description.elements.choose, node]},
753
- {'label': 'Loop',
754
- 'function_call': func,
755
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
756
- 'type': 'loop',
757
- 'params': [self.adaptor.description.elements.loop, node]},
758
- {'label': 'Terminate',
759
- 'function_call': func,
760
- 'menu_icon': self.elements.terminate.illustrator.svg.clone(),
761
- 'type': 'terminate',
762
- 'params': [self.adaptor.description.elements.terminate, node]},
763
- {'label': 'Stop',
764
- 'function_call': func,
765
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
766
- 'type': 'stop',
767
- 'params': [self.adaptor.description.elements.stop, node]}
768
- ];
769
- if(node.parent('parallel_branch').length > 0) {
770
- childs.push({
771
- 'label': 'Critical',
772
- 'function_call': func,
773
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
774
- 'type': 'critical',
775
- 'params': [self.adaptor.description.elements.critical, node]
776
- });
777
- }
778
- if(node.parent('parallel').length > node.parent('parallel_branch').length) {
779
- childs.push({'label': 'Parallel Branch',
780
- 'function_call': func,
781
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
782
- 'type': 'parallel_branch',
783
- 'params': [self.adaptor.description.elements.parallel_branch, node]}
784
- );
785
- } else {
786
- childs.push({'label': 'Parallel',
787
- 'function_call': func,
788
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
789
- 'type': 'parallel',
790
- 'params': [self.adaptor.description.elements.parallel, node]}
791
- );
792
- }
793
- return childs;
794
- }, //}}}
795
- 'adaptor': {//{{{
796
- 'mousedown': function (node,e) {
797
- self.events.mousedown(node,e,true,true);
798
- },
799
- 'click': self.events.click,
800
- 'dblclick': self.events.dblclick,
801
- 'mouseover': self.events.mouseover,
802
- 'mouseout': self.events.mouseout,
803
- }//}}}
804
- }; /*}}}*/
805
- this.elements.parallel = { /*{{{*/
806
- 'type': 'complex',
807
- 'illustrator': {//{{{
808
- 'endnodes': 'aggregate',
809
- 'closeblock': false,
810
- 'closing_symbol': 'parallel_finish',
811
- 'expansion': function(node) {
812
- // check if any sibling other than 'parallel_branch' is present
813
- if($(node).children(':not(parallel_branch)').length > 0) return 'vertical';
814
- return 'horizontal';
815
- },
816
- 'col_shift': function(node) {
817
- return true;
818
- },
819
- 'svg': self.adaptor.theme_dir + 'symbols/parallel.svg'
820
- },//}}}
821
- 'description': self.adaptor.theme_dir + 'rngs/parallel.rng',
822
- 'permissible_children': function(node,mode) { //{{{
823
- var func = null;
824
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
825
- else { func = self.adaptor.description.insert_after }
826
- var childs = [
827
- {'label': 'Parallel Branch',
828
- 'function_call': func,
829
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
830
- 'type': 'parallel_branch',
831
- 'params': [self.adaptor.description.elements.parallel_branch, node]},
832
- ];
833
- return childs;
834
- }, //}}}
835
- 'permissible_children_expert': function(node,mode) { //{{{
836
- var func = null;
837
- if (mode.match(/into/)) { func = self.adaptor.description.insert_first_into }
838
- else { func = self.adaptor.description.insert_after }
839
- var childs = [
840
- {'label': 'Service Call with Scripts',
841
- 'function_call': func,
842
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
843
- 'type': 'callmanipulate',
844
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
845
- {'label': 'Service Call',
846
- 'function_call': func,
847
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
848
- 'type': 'call',
849
- 'params': [self.adaptor.description.elements.call, node]},
850
- {'label': 'Script',
851
- 'function_call': func,
852
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
853
- 'type': 'manipulate',
854
- 'params': [self.adaptor.description.elements.manipulate, node]},
855
- {'label': 'Decision',
856
- 'function_call': func,
857
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
858
- 'type': 'choose',
859
- 'params': [self.adaptor.description.elements.choose, node]},
860
- {'label': 'Loop',
861
- 'function_call': func,
862
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
863
- 'type': 'loop',
864
- 'params': [self.adaptor.description.elements.loop, node]},
865
- {'label': 'Stop',
866
- 'function_call': func,
867
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
868
- 'type': 'stop',
869
- 'params': [self.adaptor.description.elements.stop, node]}
870
- ];
871
- if(node.get(0).tagName != 'parallel')
872
- childs.push({'label': 'Parallel',
873
- 'function_call': self.adaptor.description.insert_last_into,
874
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
875
- 'type': 'parallel',
876
- 'params': [self.adaptor.description.elements.parallel, node]});
877
- return childs;
878
- }, //}}}
879
- 'adaptor': {//{{{
880
- 'mousedown': function (node,e) {
881
- self.events.mousedown(node,e,true,true);
882
- },
883
- 'click': self.events.click,
884
- 'dblclick': self.events.dblclick,
885
- 'mouseover': self.events.mouseover,
886
- 'mouseout': self.events.mouseout,
887
- }//}}}
888
- }; /*}}}*/
889
- this.elements.parallel_branch = { /*{{{*/
890
- 'type': 'complex',
891
- 'illustrator': {//{{{
892
- 'endnodes': 'passthrough',
893
- 'closeblock': false,
894
- 'noarrow': true,
895
- 'expansion': function(node) {
896
- return 'vertical';
897
- },
898
- 'resolve_symbol': function(node,shift) {
899
- if(shift == true) {
900
- return 'parallel_branch_compact';
901
- } else {
902
- return 'parallel_branch_normal';
903
- }
904
- },
905
- 'col_shift': function(node) {
906
- if(node.parentNode.tagName == 'choose') return false;
907
- if($(node).parents('parallel').first().children(':not(parallel_branch)').length > 0) return true;
908
- return false;
909
- },
910
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_branch.svg'
911
- },//}}}
912
- 'description': self.adaptor.theme_dir + 'rngs/parallel_branch.rng',
913
- 'permissible_children': function(node,mode) { //{{{
914
- var func = null;
915
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
916
- else { func = self.adaptor.description.insert_after }
917
- var childs = [
918
- {'label': 'Service Call with Scripts',
919
- 'function_call': func,
920
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
921
- 'type': 'callmanipulate',
922
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
923
- {'label': 'Service Call',
924
- 'function_call': func,
925
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
926
- 'type': 'call',
927
- 'params': [self.adaptor.description.elements.call, node]},
928
- {'label': 'Script',
929
- 'function_call': func,
930
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
931
- 'type': 'manipulate',
932
- 'params': [self.adaptor.description.elements.manipulate, node]},
933
- {'label': 'Parallel',
934
- 'function_call': func,
935
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
936
- 'type': 'parallel',
937
- 'params': [self.adaptor.description.elements.parallel, node]},
938
- {'label': 'Decision',
939
- 'function_call': func,
940
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
941
- 'type': 'choose',
942
- 'params': [self.adaptor.description.elements.choose, node]},
943
- {'label': 'Loop',
944
- 'function_call': func,
945
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
946
- 'type': 'loop',
947
- 'params': [self.adaptor.description.elements.loop, node]},
948
- {'label': 'Terminate',
949
- 'function_call': func,
950
- 'menu_icon': self.elements.terminate.illustrator.svg.clone(),
951
- 'type': 'terminate',
952
- 'params': [self.adaptor.description.elements.terminate, node]},
953
- {'label': 'Stop',
954
- 'function_call': func,
955
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
956
- 'type': 'stop',
957
- 'params': [self.adaptor.description.elements.stop, node]},
958
- {'label': 'Critical',
959
- 'function_call': func,
960
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
961
- 'type': 'critical',
962
- 'params': [self.adaptor.description.elements.critical, node]}
963
- ];
964
- if(node.parents('choose').length > node.parents('alternative, otherwise').length && node.get(0).tagName == 'parallel_branch') {
965
- return [{'label': 'Alternative',
966
- 'function_call': func,
967
- 'menu_icon': self.elements.alternative.illustrator.svg.clone(),
968
- 'type': 'alternative',
969
- 'params': [self.adaptor.description.elements.alternative, node]}];
970
- }
971
- return childs;
972
- }, //}}}
973
- 'adaptor': {//{{{
974
- 'mousedown': function (node,e) {
975
- self.events.mousedown(node,e,true,true);
976
- },
977
- 'click': self.events.click,
978
- 'dblclick': self.events.dblclick,
979
- 'mouseover': self.events.mouseover,
980
- 'mouseout': self.events.mouseout,
981
- }//}}}
982
- }; /*}}}*/
983
- this.elements.critical = { /*{{{*/
984
- 'type': 'complex',
985
- 'illustrator': {//{{{
986
- 'endnodes': 'aggregate',
987
- 'closeblock': false,
988
- 'border': true,
989
- 'expansion': function(node) {
990
- return 'vertical';
991
- },
992
- 'col_shift': function(node) {
993
- return true;
994
- },
995
- 'svg': self.adaptor.theme_dir + 'symbols/critical.svg'
996
- },//}}}
997
- 'description': self.adaptor.theme_dir + 'rngs/critical.rng',
998
- 'permissible_children': function(node,mode) { //{{{
999
- var func = null;
1000
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
1001
- else { func = self.adaptor.description.insert_after }
1002
- var childs = [
1003
- {'label': 'Service Call with Scripts',
1004
- 'function_call': func,
1005
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
1006
- 'type': 'callmanipulate',
1007
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
1008
- {'label': 'Service Call',
1009
- 'function_call': func,
1010
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
1011
- 'type': 'call',
1012
- 'params': [self.adaptor.description.elements.call, node]},
1013
- {'label': 'Script',
1014
- 'function_call': func,
1015
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
1016
- 'type': 'manipulate',
1017
- 'params': [self.adaptor.description.elements.manipulate, node]},
1018
- {'label': 'Parallel',
1019
- 'function_call': func,
1020
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
1021
- 'type': 'parallel',
1022
- 'params': [self.adaptor.description.elements.parallel, node]},
1023
- {'label': 'Decision',
1024
- 'function_call': func,
1025
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
1026
- 'type': 'choose',
1027
- 'params': [self.adaptor.description.elements.choose, node]},
1028
- {'label': 'Loop',
1029
- 'function_call': func,
1030
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
1031
- 'type': 'loop',
1032
- 'params': [self.adaptor.description.elements.loop, node]},
1033
- {'label': 'Terminate',
1034
- 'function_call': func,
1035
- 'menu_icon': self.elements.terminate.illustrator.svg.clone(),
1036
- 'type': 'terminate',
1037
- 'params': [self.adaptor.description.elements.terminate, node]},
1038
- {'label': 'Stop',
1039
- 'function_call': func,
1040
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
1041
- 'type': 'stop',
1042
- 'params': [self.adaptor.description.elements.stop, node]}
1043
- ];
1044
- if(node.parent('parallel_branch').length > 0) {
1045
- childs.push({
1046
- 'label': 'Critical',
1047
- 'function_call': func,
1048
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
1049
- 'type': 'critical',
1050
- 'params': [self.adaptor.description.elements.critical, node]
1051
- });
1052
- }
1053
- return childs;
1054
- }, //}}}
1055
- 'adaptor': {//{{{
1056
- 'mousedown': function (node,e) {
1057
- self.events.mousedown(node,e,true,true);
1058
- },
1059
- 'click': self.events.click,
1060
- 'dblclick': self.events.dblclick,
1061
- 'mouseover': self.events.mouseover,
1062
- 'mouseout': self.events.mouseout,
1063
- }//}}}
1064
- }; /*}}}*/
1065
- this.elements.group = { /*{{{*/
1066
- 'type': 'complex',
1067
- 'illustrator': {//{{{
1068
- 'endnodes': 'aggregate',
1069
- 'closeblock': false,
1070
- 'border': 'injectiongroup', // other value than true,false inidcates the used class for the svg-object
1071
- 'expansion': function(node) {
1072
- return 'vertical';
1073
- },
1074
- 'col_shift': function(node) {
1075
- return true;
1076
- },
1077
- 'svg': null
1078
- },//}}}
1079
- 'description': self.adaptor.theme_dir + 'rngs/group.rng',
1080
- 'permissible_children': function(node,mode) { //{{{
1081
- var func = null;
1082
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
1083
- else { func = self.adaptor.description.insert_after }
1084
- return [
1085
- ];
1086
- }, //}}}
1087
- 'adaptor': {//{{{
1088
- 'mousedown': function (node,e) {
1089
- self.events.mousedown(node,e,true,true);
1090
- },
1091
- 'click': self.events.click,
1092
- 'dblclick': self.events.dblclick,
1093
- 'mouseover': self.events.mouseover,
1094
- 'mouseout': self.events.mouseout,
1095
- }//}}}
1096
- }; /*}}}*/
1097
- this.elements.start = this.elements.description = { /*{{{*/
1098
- 'type': 'description',
1099
- 'illustrator': {//{{{
1100
- 'endnodes': 'passthrough',
1101
- 'closeblock': false,
1102
- 'balance': true,
1103
- 'expansion': function(node) {
1104
- return 'vertical';
1105
- },
1106
- 'closing_symbol': 'end',
1107
- 'col_shift': function(node) {
1108
- return true;
1109
- },
1110
- 'svg': self.adaptor.theme_dir + 'symbols/start.svg'
1111
- },//}}}
1112
- 'description': null,
1113
- 'permissible_children': function(node,mode) { //{{{
1114
- var func = null;
1115
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
1116
- else { func = self.adaptor.description.insert_after }
1117
- var childs = [
1118
- {'label': 'Service Call with Scripts',
1119
- 'function_call': func,
1120
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
1121
- 'type': 'callmanipulate',
1122
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
1123
- {'label': 'Service Call',
1124
- 'function_call': func,
1125
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
1126
- 'type': 'call',
1127
- 'params': [self.adaptor.description.elements.call, node]},
1128
- {'label': 'Script',
1129
- 'function_call': func,
1130
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
1131
- 'type': 'manipulate',
1132
- 'params': [self.adaptor.description.elements.manipulate, node]},
1133
- {'label': 'Parallel',
1134
- 'function_call': func,
1135
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
1136
- 'type': 'parallel',
1137
- 'params': [self.adaptor.description.elements.parallel, node]},
1138
- {'label': 'Decision',
1139
- 'function_call': func,
1140
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
1141
- 'type': 'choose',
1142
- 'params': [self.adaptor.description.elements.choose, node]},
1143
- {'label': 'Loop',
1144
- 'function_call': func,
1145
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
1146
- 'type': 'loop',
1147
- 'params': [self.adaptor.description.elements.loop, node]},
1148
- {'label': 'Stop',
1149
- 'function_call': func,
1150
- 'menu_icon': self.elements.stop.illustrator.svg.clone(),
1151
- 'type': 'stop',
1152
- 'params': [self.adaptor.description.elements.stop, node]}
1153
- ];
1154
- if(node.parent('parallel_branch').length > 0) {
1155
- childs.push({
1156
- 'label': 'Critical',
1157
- 'function_call': func,
1158
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
1159
- 'type': 'critical',
1160
- 'params': [self.adaptor.description.elements.critical, node]
1161
- });
1162
- }
1163
- return childs;
1164
- }, //}}}
1165
- 'adaptor': {//{{{
1166
- 'mousedown': function (node,e) {
1167
- self.events.mousedown(node,e,true,false);
1168
- },
1169
- 'click': self.events.click,
1170
- 'dblclick': self.events.dblclick,
1171
- 'mouseover': self.events.mouseover,
1172
- 'mouseout': self.events.mouseout,
1173
- }//}}}
1174
- }; /*}}}*/
1175
-
1176
- // Abstract Elements
1177
- // * they may only have an illustrator (or other parts)
1178
- // * they HAVE TO have a parent
1179
- this.elements.callmanipulate = { /*{{{*/
1180
- 'parent': 'call',
1181
- 'description': self.adaptor.theme_dir + 'rngs/callmanipulate.rng',
1182
- 'illustrator': {//{{{
1183
- 'info': function(node){ return { 'element-endpoint': $(node).attr('endpoint') }; },
1184
- 'svg': self.adaptor.theme_dir + 'symbols/callmanipulate.svg'
1185
- },//}}}
1186
- }; /*}}}*/
1187
- this.elements.loop_head = { /*{{{*/
1188
- 'parent': 'loop',
1189
- 'illustrator': {//{{{
1190
- 'endnodes': 'this',
1191
- 'closeblock': true,
1192
- 'label': function(node){
1193
- var ret = [ { column: 'Label', value: $(node).attr('condition') } ];
1194
- return ret;
1195
- },
1196
- }//}}}
1197
- }; /*}}}*/
1198
- this.elements.loop_tail = { /*{{{*/
1199
- 'parent': 'loop',
1200
- 'illustrator': {//{{{
1201
- 'endnodes': 'aggregate',
1202
- 'closeblock': false,
1203
- 'closing_symbol': 'loop_finish'
1204
- },//}}}
1205
- }; /*}}}*/
1206
- this.elements.choose_inclusive = { /*{{{*/
1207
- 'parent': 'choose',
1208
- 'illustrator': {//{{{
1209
- 'svg': self.adaptor.theme_dir + 'symbols/choose_inclusive.svg'
1210
- }//}}}
1211
- }; /*}}}*/
1212
- this.elements.choose_exclusive = { /*{{{*/
1213
- 'parent': 'choose',
1214
- 'illustrator': {//{{{
1215
- 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1216
- },//}}}
1217
- }; /*}}}*/
1218
- this.elements.choose_inclusive_finish = { /*{{{*/
1219
- 'parent': 'choose_finish',
1220
- 'illustrator': {//{{{
1221
- 'svg': self.adaptor.theme_dir + 'symbols/choose_inclusive.svg'
1222
- }//}}}
1223
- }; /*}}}*/
1224
- this.elements.choose_exclusive_finish = { /*{{{*/
1225
- 'parent': 'choose_finish',
1226
- 'illustrator': {//{{{
1227
- 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1228
- },//}}}
1229
- }; /*}}}*/
1230
- this.elements.loop_head_finish = { /*{{{*/
1231
- 'parent': 'loop_finish',
1232
- 'illustrator': {//{{{
1233
- 'endnodes': 'this',
1234
- 'closeblock': true,
1235
- 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1236
- }//}}}
1237
- }; /*}}}*/
1238
- this.elements.loop_tail_finish = { /*{{{*/
1239
- 'parent': 'loop_finish',
1240
- 'illustrator': {//{{{
1241
- 'endnodes': 'this',
1242
- 'closeblock': false,
1243
- 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1244
- },//}}}
1245
- }; /*}}}*/
1246
- this.elements.parallel_simple = { /*{{{*/
1247
- 'parent': 'parallel_finish',
1248
- 'illustrator': {//{{{
1249
- 'svg': self.adaptor.theme_dir + 'symbols/parallel.svg'
1250
- }//}}}
1251
- }; /*}}}*/
1252
- this.elements.parallel_complex = { /*{{{*/
1253
- 'parent': 'parallel_finish',
1254
- 'illustrator': {//{{{
1255
- 'svg': self.adaptor.theme_dir + 'symbols/complex.svg'
1256
- },//}}}
1257
- }; /*}}}*/
1258
- this.elements.parallel_branch_normal = { /*{{{*/
1259
- 'parent': 'parallel_branch',
1260
- 'illustrator': {//{{{
1261
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_branch_normal.svg'
1262
- }//}}}
1263
- }; /*}}}*/
1264
- this.elements.parallel_branch_event = { /*{{{*/
1265
- 'parent': 'parallel_branch',
1266
- 'illustrator': {//{{{
1267
- 'endnodes': 'this',
1268
- 'noarrow': false,
1269
- 'border': true,
1270
- 'wide': true,
1271
- 'closing_symbol': 'event_end',
1272
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_branch_event.svg'
1273
- }//}}}
1274
- }; /*}}}*/
1275
- this.elements.parallel_branch_compact = { /*{{{*/
1276
- 'parent': 'parallel_branch',
1277
- 'illustrator': {//{{{
1278
- 'endnodes': 'this',
1279
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_branch_compact.svg'
1280
- }//}}}
1281
- }; /*}}}*/
1282
- this.elements.scripts = { /*{{{*/
1283
- 'description': [self.adaptor.theme_dir + 'rngs/scripts.rng']
1284
- }; /*}}}*/
1285
- }