cpee 2.0.25 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (375) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/css/ui.css +27 -4
  3. data/cockpit/css/wfadaptor.css +11 -0
  4. data/cockpit/edit.html +10 -10
  5. data/cockpit/graph.html +3 -3
  6. data/cockpit/index.html +9 -6
  7. data/cockpit/js/details.js +0 -1
  8. data/cockpit/js/instance.js +26 -19
  9. data/cockpit/js/model.js +6 -11
  10. data/cockpit/js/parameters.js +6 -4
  11. data/cockpit/js/wfadaptor.js +2 -0
  12. data/cockpit/model.html +4 -3
  13. data/cockpit/replay.html +3 -2
  14. data/cockpit/templates.legacy/Async.xml +12 -12
  15. data/cockpit/templates.legacy/BCO.xml +9 -11
  16. data/cockpit/templates.legacy/BCS.xml +9 -11
  17. data/cockpit/templates.legacy/Centurio.xml +7 -7
  18. data/cockpit/templates.legacy/Concurrent.xml +7 -7
  19. data/cockpit/templates.legacy/Coopis Testset.xml +7 -7
  20. data/cockpit/templates.legacy/Endpoints and Data Manipulation.xml +6 -7
  21. data/cockpit/templates.legacy/ICSOC Testset.xml +7 -7
  22. data/cockpit/templates.legacy/Infinity.xml +7 -7
  23. data/cockpit/templates.legacy/Lego Boxer.xml +13 -13
  24. data/cockpit/templates.legacy/Lego Conveyor.xml +13 -13
  25. data/cockpit/templates.legacy/Lego Crane.xml +16 -16
  26. data/cockpit/templates.legacy/Lego Ejector.xml +16 -16
  27. data/cockpit/templates.legacy/Lego Full.xml +12 -12
  28. data/cockpit/templates.legacy/Lego Liddy.xml +13 -13
  29. data/cockpit/templates.legacy/Lego Plate.xml +13 -13
  30. data/cockpit/templates.legacy/Lego Transporter.xml +14 -14
  31. data/cockpit/templates.legacy/Lego_Part_1.xml +12 -12
  32. data/cockpit/templates.legacy/LgLinear.xml +7 -10
  33. data/cockpit/templates.legacy/Linear.xml +11 -14
  34. data/cockpit/templates.legacy/Log.xml +11 -12
  35. data/cockpit/templates.legacy/Mangler 1.xml +7 -7
  36. data/cockpit/templates.legacy/Mangler 2.xml +7 -7
  37. data/cockpit/templates.legacy/Manuel Labels.xml +11 -11
  38. data/cockpit/templates.legacy/Promise.xml +30 -30
  39. data/cockpit/templates.legacy/SOPROMO Test Sonification.xml +7 -7
  40. data/cockpit/templates.legacy/Subprocess.xml +15 -15
  41. data/cockpit/templates.legacy/Syncing P34 1.xml +8 -11
  42. data/cockpit/templates.legacy/Syncing P34 2.xml +8 -11
  43. data/cockpit/templates.legacy/Syncing P34 3.xml +8 -11
  44. data/cockpit/templates.legacy/Syncing P34.xml +8 -11
  45. data/cockpit/templates.legacy/TEST - Bad Loop.xml +7 -7
  46. data/cockpit/templates.legacy/TEST - Wrong Positions.xml +7 -7
  47. data/cockpit/templates.legacy/Take_5.xml +14 -14
  48. data/cockpit/templates.legacy/Update.xml +11 -11
  49. data/cockpit/templates.legacy/Worklist Parallel.xml +17 -17
  50. data/cockpit/templates.legacy/Worklist Test CPEE.xml +14 -14
  51. data/cockpit/templates.legacy/Worklist Test.xml +14 -14
  52. data/cockpit/templates.legacy/Worklist Test2.xml +14 -14
  53. data/cockpit/templates/Coopis 2010.xml +7 -7
  54. data/cockpit/templates/IUPC arXiv:1104.3609 P34 1.xml +9 -12
  55. data/cockpit/templates/IUPC arXiv:1104.3609 P34 2.xml +9 -12
  56. data/cockpit/templates/IUPC arXiv:1104.3609 P34 3.xml +9 -12
  57. data/cockpit/templates/Track Test Local.xml +8 -4
  58. data/cockpit/templates/Track Test.xml +6 -2
  59. data/cockpit/templates/UR-VUE 2020 Manual Adjust.xml +6 -2
  60. data/cockpit/templates/UR-VUE 2020 Solution Baseline.xml +9 -5
  61. data/cockpit/templates/UR-VUE 2020 Solution NN.xml +9 -5
  62. data/cockpit/templates/UR-VUE 2020 Solution View.xml +9 -5
  63. data/cockpit/templates/UR-VUE 2020.xml +9 -5
  64. data/cockpit/templates/Worklist.xml +14 -14
  65. data/cockpit/templates/instantiate.local/Take_Sub.xml +2 -2
  66. data/cockpit/templates/instantiate/Take_Perf.xml +1 -1
  67. data/cockpit/templates/instantiate/Take_Sub.xml +2 -2
  68. data/cockpit/templates/instantiate/Take_X.xml +2 -2
  69. data/cockpit/themes/compact/rngs/parallel.rng +6 -0
  70. data/cockpit/themes/compact/rngs/start.rng +83 -0
  71. data/cockpit/themes/compact/symbols/parallel_branch_event.svg +2 -2
  72. data/cockpit/themes/compact/symbols/parallel_eventbased_exclusive.svg +9 -0
  73. data/cockpit/themes/compact/symbols/parallel_eventbased_parallel.svg +8 -0
  74. data/cockpit/themes/compact/symbols/start.svg +1 -1
  75. data/cockpit/themes/compact/theme.js +45 -2
  76. data/cockpit/themes/control/rngs/parallel.rng +6 -0
  77. data/cockpit/themes/control/rngs/start.rng +83 -0
  78. data/cockpit/themes/control/symbols/parallel_branch_event.svg +2 -2
  79. data/cockpit/themes/control/symbols/parallel_eventbased_exclusive.svg +9 -0
  80. data/cockpit/themes/control/symbols/parallel_eventbased_parallel.svg +8 -0
  81. data/cockpit/themes/control/symbols/start.svg +1 -1
  82. data/cockpit/themes/control/theme.js +45 -2
  83. data/cockpit/themes/default/rngs/parallel.rng +6 -0
  84. data/cockpit/themes/default/rngs/start.rng +83 -0
  85. data/cockpit/themes/default/symbols/parallel_branch_event.svg +2 -2
  86. data/cockpit/themes/default/symbols/parallel_eventbased_exclusive.svg +9 -0
  87. data/cockpit/themes/default/symbols/parallel_eventbased_parallel.svg +8 -0
  88. data/cockpit/themes/default/symbols/start.svg +1 -1
  89. data/cockpit/themes/default/theme.js +46 -3
  90. data/cockpit/themes/extended/rngs/parallel.rng +6 -0
  91. data/cockpit/themes/extended/rngs/start.rng +83 -0
  92. data/cockpit/themes/extended/symbols/parallel_branch_event.svg +2 -2
  93. data/cockpit/themes/extended/symbols/parallel_eventbased_exclusive.svg +9 -0
  94. data/cockpit/themes/extended/symbols/parallel_eventbased_parallel.svg +8 -0
  95. data/cockpit/themes/extended/symbols/start.svg +1 -1
  96. data/cockpit/themes/extended/theme.js +45 -2
  97. data/cockpit/themes/model/symbols/parallel_branch_event.svg +2 -2
  98. data/cockpit/themes/model/symbols/parallel_eventbased_exclusive.svg +9 -0
  99. data/cockpit/themes/model/symbols/parallel_eventbased_parallel.svg +8 -0
  100. data/cockpit/themes/model/symbols/start.svg +1 -1
  101. data/cockpit/themes/model/theme.js +45 -2
  102. data/cockpit/themes/packed/rngs/parallel.rng +6 -0
  103. data/cockpit/themes/packed/rngs/start.rng +83 -0
  104. data/cockpit/themes/packed/symbols/parallel_branch_event.svg +2 -2
  105. data/cockpit/themes/packed/symbols/parallel_eventbased_exclusive.svg +9 -0
  106. data/cockpit/themes/packed/symbols/parallel_eventbased_parallel.svg +8 -0
  107. data/cockpit/themes/packed/symbols/start.svg +1 -1
  108. data/cockpit/themes/packed/theme.js +45 -2
  109. data/cockpit/themes/preset/rngs/parallel.rng +6 -0
  110. data/cockpit/themes/preset/rngs/start.rng +83 -0
  111. data/cockpit/themes/preset/symbols/parallel_branch_event.svg +2 -2
  112. data/cockpit/themes/preset/symbols/parallel_eventbased_exclusive.svg +9 -0
  113. data/cockpit/themes/preset/symbols/parallel_eventbased_parallel.svg +8 -0
  114. data/cockpit/themes/preset/symbols/start.svg +1 -1
  115. data/cockpit/themes/preset/theme.js +46 -3
  116. data/cockpit/track.html +3 -3
  117. data/cpee.gemspec +3 -3
  118. data/lib/cpee/attributes_helper.rb +14 -0
  119. data/lib/cpee/implementation.rb +10 -8
  120. data/lib/cpee/implementation_callbacks.rb +28 -7
  121. data/lib/cpee/implementation_notifications.rb +20 -2
  122. data/lib/cpee/implementation_properties.rb +128 -24
  123. data/lib/cpee/persistence.rb +0 -27
  124. data/lib/cpee/statemachine.rb +14 -0
  125. data/lib/cpee/value_helper.rb +14 -0
  126. data/lib/properties.xml +4 -4
  127. data/lib/properties/{handlerwrapper.rng → executionhandler.rng} +2 -2
  128. data/lib/properties/properties.rng +2 -2
  129. data/lib/properties/set-properties.rng +2 -2
  130. data/lib/properties/set-some-properties.rng +2 -2
  131. data/server/{resources → executionhandlers/ruby}/backend/README.md +0 -0
  132. data/server/{resources → executionhandlers/ruby}/backend/instance.template +2 -4
  133. data/server/{resources → executionhandlers/ruby}/backend/opts.yaml +2 -2
  134. data/server/executionhandlers/ruby/backend/run +37 -0
  135. data/server/{handlerwrappers/default.rb → executionhandlers/ruby/connection.rb} +7 -3
  136. data/server/executionhandlers/ruby/controller.rb +195 -0
  137. data/server/{resources/transformation_dslx.xsl → executionhandlers/ruby/dsl_to_dslx.xsl} +57 -8
  138. data/server/executionhandlers/ruby/execution.rb +81 -0
  139. data/server/resources/properties.empty +1 -1
  140. data/server/resources/properties.init +1 -1
  141. data/server/resources/topics.xml +2 -2
  142. data/server/routing/end.rb +1 -0
  143. data/server/routing/forward-votes.rb +6 -5
  144. data/server/routing/persist.rb +4 -4
  145. data/tools/cpee +9 -3
  146. data/tools/server/cpee +1 -1
  147. data/tools/server/resources/properties.init +1 -1
  148. metadata +35 -239
  149. data/cockpit/templates.legacy/convert_cpee2.rb +0 -15
  150. data/lib/cpee/controller.rb +0 -199
  151. data/lib/cpee/transform.rb +0 -95
  152. data/server/resources/backend/instance.rb +0 -23
  153. data/server/resources/backend/run +0 -33
  154. data/server/routing/end.pid +0 -1
  155. data/server/routing/forward-events.pid +0 -1
  156. data/server/routing/forward-votes.pid +0 -1
  157. data/server/routing/persist.pid +0 -1
  158. data/server/server.pid +0 -1
  159. data/tools/test/README +0 -4
  160. data/tools/test/config.json +0 -3
  161. data/tools/test/contrib/graph_example.svg +0 -1166
  162. data/tools/test/contrib/legend.svg +0 -817
  163. data/tools/test/contrib/symbols.svg +0 -224
  164. data/tools/test/contrib/transformation1.xsl +0 -264
  165. data/tools/test/contrib/transformation2.xsl +0 -10
  166. data/tools/test/contrib/tree_example.svg +0 -788
  167. data/tools/test/css/model.css +0 -24
  168. data/tools/test/css/track.css +0 -60
  169. data/tools/test/css/ui.css +0 -214
  170. data/tools/test/css/wfadaptor.css +0 -422
  171. data/tools/test/edit.html +0 -258
  172. data/tools/test/graph.html +0 -69
  173. data/tools/test/index.html +0 -258
  174. data/tools/test/js/details.js +0 -109
  175. data/tools/test/js/instance.js +0 -1344
  176. data/tools/test/js/model.js +0 -41
  177. data/tools/test/js/parameters.js +0 -82
  178. data/tools/test/js/track.js +0 -18
  179. data/tools/test/js/ui.js +0 -104
  180. data/tools/test/js/wfadaptor.js +0 -763
  181. data/tools/test/js_libs.zip +0 -0
  182. data/tools/test/js_libs/Makefile +0 -2
  183. data/tools/test/js_libs/ansi_up.js +0 -333
  184. data/tools/test/js_libs/console.js +0 -80
  185. data/tools/test/js_libs/custommenu.css +0 -84
  186. data/tools/test/js_libs/custommenu.js +0 -104
  187. data/tools/test/js_libs/experiments1/relaxngui.css +0 -185
  188. data/tools/test/js_libs/experiments1/relaxngui.js +0 -488
  189. data/tools/test/js_libs/experiments1/rngtest9.html +0 -60
  190. data/tools/test/js_libs/experiments1/rngtest9.rng +0 -35
  191. data/tools/test/js_libs/experiments1/rngtest9.xml +0 -8
  192. data/tools/test/js_libs/jquery-2.2.4.min.js +0 -4
  193. data/tools/test/js_libs/jquery-3.2.1.min.js +0 -4
  194. data/tools/test/js_libs/jquery-3.3.1.min.js +0 -2
  195. data/tools/test/js_libs/jquery.browser.js +0 -40
  196. data/tools/test/js_libs/jquery.caret.min.js +0 -10
  197. data/tools/test/js_libs/jquery.cookie.js +0 -117
  198. data/tools/test/js_libs/jquery.min.js +0 -1
  199. data/tools/test/js_libs/jquery.svg.min.js +0 -6
  200. data/tools/test/js_libs/jquery.svgdom.min.js +0 -6
  201. data/tools/test/js_libs/markdown.min.js +0 -1
  202. data/tools/test/js_libs/parsequery.js +0 -21
  203. data/tools/test/js_libs/printf.js +0 -368
  204. data/tools/test/js_libs/relaxngui.css +0 -213
  205. data/tools/test/js_libs/relaxngui.js +0 -543
  206. data/tools/test/js_libs/strftime.min.js +0 -1
  207. data/tools/test/js_libs/tests/dataelements.html +0 -59
  208. data/tools/test/js_libs/tests/dataelements.rng +0 -8
  209. data/tools/test/js_libs/tests/dataelements.xml +0 -3
  210. data/tools/test/js_libs/tests/relaxngui.css +0 -203
  211. data/tools/test/js_libs/tests/relaxngui.js +0 -502
  212. data/tools/test/js_libs/tests/rngtest1.html +0 -66
  213. data/tools/test/js_libs/tests/rngtest1.rng +0 -147
  214. data/tools/test/js_libs/tests/rngtest1.xml +0 -13
  215. data/tools/test/js_libs/tests/rngtest2.html +0 -60
  216. data/tools/test/js_libs/tests/rngtest2.rng +0 -6
  217. data/tools/test/js_libs/tests/rngtest2.xml +0 -3
  218. data/tools/test/js_libs/tests/rngtest3.html +0 -60
  219. data/tools/test/js_libs/tests/rngtest3.rng +0 -23
  220. data/tools/test/js_libs/tests/rngtest3.xml +0 -9
  221. data/tools/test/js_libs/tests/rngtest4.html +0 -60
  222. data/tools/test/js_libs/tests/rngtest4.rng +0 -19
  223. data/tools/test/js_libs/tests/rngtest4.xml +0 -12
  224. data/tools/test/js_libs/tests/rngtest5.html +0 -60
  225. data/tools/test/js_libs/tests/rngtest5.rng +0 -75
  226. data/tools/test/js_libs/tests/rngtest5.xml +0 -40
  227. data/tools/test/js_libs/tests/rngtest6.html +0 -60
  228. data/tools/test/js_libs/tests/rngtest6.rng +0 -24
  229. data/tools/test/js_libs/tests/rngtest6.xml +0 -6
  230. data/tools/test/js_libs/tests/rngtest8.html +0 -60
  231. data/tools/test/js_libs/tests/rngtest8.rng +0 -13
  232. data/tools/test/js_libs/tests/rngtest8.xml +0 -2
  233. data/tools/test/js_libs/tests/rngtest9.html +0 -60
  234. data/tools/test/js_libs/tests/rngtest9.rng +0 -31
  235. data/tools/test/js_libs/tests/rngtest9.xml +0 -8
  236. data/tools/test/js_libs/ui.css +0 -333
  237. data/tools/test/js_libs/ui.html +0 -168
  238. data/tools/test/js_libs/ui.js +0 -177
  239. data/tools/test/js_libs/underscore.min.js +0 -27
  240. data/tools/test/js_libs/util.js +0 -81
  241. data/tools/test/js_libs/vkbeautify.0.99.00.beta.js +0 -358
  242. data/tools/test/js_libs/vkbeautify.js +0 -1
  243. data/tools/test/js_libs/webcomponents.min.js +0 -196
  244. data/tools/test/model.html +0 -192
  245. data/tools/test/rngs/attributes.rng +0 -8
  246. data/tools/test/rngs/dataelements.rng +0 -8
  247. data/tools/test/rngs/endpoints.rng +0 -8
  248. data/tools/test/templates.legacy/Async.xml +0 -46
  249. data/tools/test/templates.legacy/BCO.xml +0 -70
  250. data/tools/test/templates.legacy/BCS.xml +0 -70
  251. data/tools/test/templates.legacy/Centurio.xml +0 -75
  252. data/tools/test/templates.legacy/Concurrent.xml +0 -40
  253. data/tools/test/templates.legacy/Coopis Testset.xml +0 -76
  254. data/tools/test/templates.legacy/Endpoints and Data Manipulation.xml +0 -30
  255. data/tools/test/templates.legacy/ICSOC Testset.xml +0 -95
  256. data/tools/test/templates.legacy/Infinity.xml +0 -28
  257. data/tools/test/templates.legacy/Lego Boxer.xml +0 -31
  258. data/tools/test/templates.legacy/Lego Conveyor.xml +0 -31
  259. data/tools/test/templates.legacy/Lego Crane.xml +0 -87
  260. data/tools/test/templates.legacy/Lego Ejector.xml +0 -55
  261. data/tools/test/templates.legacy/Lego Full.xml +0 -142
  262. data/tools/test/templates.legacy/Lego Liddy.xml +0 -40
  263. data/tools/test/templates.legacy/Lego Plate.xml +0 -31
  264. data/tools/test/templates.legacy/Lego Transporter.xml +0 -43
  265. data/tools/test/templates.legacy/Lego_Part_1.xml +0 -85
  266. data/tools/test/templates.legacy/LgLinear.xml +0 -65
  267. data/tools/test/templates.legacy/Linear.xml +0 -77
  268. data/tools/test/templates.legacy/Log.xml +0 -117
  269. data/tools/test/templates.legacy/Mangler 1.xml +0 -87
  270. data/tools/test/templates.legacy/Mangler 2.xml +0 -103
  271. data/tools/test/templates.legacy/Manuel Labels.xml +0 -55
  272. data/tools/test/templates.legacy/Promise.xml +0 -275
  273. data/tools/test/templates.legacy/SOPROMO Test Sonification.xml +0 -83
  274. data/tools/test/templates.legacy/Subprocess.xml +0 -56
  275. data/tools/test/templates.legacy/Syncing P34 1.xml +0 -77
  276. data/tools/test/templates.legacy/Syncing P34 2.xml +0 -77
  277. data/tools/test/templates.legacy/Syncing P34 3.xml +0 -77
  278. data/tools/test/templates.legacy/Syncing P34.xml +0 -77
  279. data/tools/test/templates.legacy/TEST - Bad Loop.xml +0 -173
  280. data/tools/test/templates.legacy/TEST - Wrong Positions.xml +0 -174
  281. data/tools/test/templates.legacy/Take_5.xml +0 -48
  282. data/tools/test/templates.legacy/Update.xml +0 -32
  283. data/tools/test/templates.legacy/Worklist Parallel.xml +0 -104
  284. data/tools/test/templates.legacy/Worklist Test CPEE.xml +0 -40
  285. data/tools/test/templates.legacy/Worklist Test.xml +0 -42
  286. data/tools/test/templates.legacy/Worklist Test2.xml +0 -43
  287. data/tools/test/templates.legacy/convert_cpee2.rb +0 -15
  288. data/tools/test/templates.legacy/convert_preset.rb +0 -32
  289. data/tools/test/templates.legacy/testsets.xml +0 -37
  290. data/tools/test/templates.legacy/transformations.xml +0 -4
  291. data/tools/test/templates/Coopis 2010.xml +0 -76
  292. data/tools/test/templates/IUPC arXiv:1104.3609 P34 1.xml +0 -77
  293. data/tools/test/templates/IUPC arXiv:1104.3609 P34 2.xml +0 -77
  294. data/tools/test/templates/IUPC arXiv:1104.3609 P34 3.xml +0 -77
  295. data/tools/test/templates/Track Test Local.xml +0 -82
  296. data/tools/test/templates/Track Test.xml +0 -82
  297. data/tools/test/templates/UR-VUE 2020 Manual Adjust.xml +0 -182
  298. data/tools/test/templates/UR-VUE 2020 Solution Baseline.xml +0 -203
  299. data/tools/test/templates/UR-VUE 2020 Solution NN.xml +0 -197
  300. data/tools/test/templates/UR-VUE 2020 Solution View.xml +0 -151
  301. data/tools/test/templates/UR-VUE 2020.xml +0 -26
  302. data/tools/test/templates/Worklist.xml +0 -42
  303. data/tools/test/templates/instantiate.local/Take_Sub.xml +0 -59
  304. data/tools/test/templates/instantiate/Take_Perf.xml +0 -46
  305. data/tools/test/templates/instantiate/Take_Sub.xml +0 -58
  306. data/tools/test/templates/instantiate/Take_X.xml +0 -48
  307. data/tools/test/themes/compact/theme.js +0 -1285
  308. data/tools/test/themes/diana/theme.js +0 -1650
  309. data/tools/test/themes/extended/theme.js +0 -1325
  310. data/tools/test/themes/model/rngs/alternative.rng +0 -1
  311. data/tools/test/themes/model/rngs/call.rng +0 -67
  312. data/tools/test/themes/model/rngs/callmanipulate.rng +0 -72
  313. data/tools/test/themes/model/rngs/choose.rng +0 -1
  314. data/tools/test/themes/model/rngs/critical.rng +0 -1
  315. data/tools/test/themes/model/rngs/escape.rng +0 -1
  316. data/tools/test/themes/model/rngs/group.rng +0 -1
  317. data/tools/test/themes/model/rngs/loop.rng +0 -1
  318. data/tools/test/themes/model/rngs/manipulate.rng +0 -1
  319. data/tools/test/themes/model/rngs/otherwise.rng +0 -1
  320. data/tools/test/themes/model/rngs/parallel.rng +0 -1
  321. data/tools/test/themes/model/rngs/parallel_branch.rng +0 -1
  322. data/tools/test/themes/model/rngs/scripts.rng +0 -7
  323. data/tools/test/themes/model/rngs/stop.rng +0 -1
  324. data/tools/test/themes/model/rngs/terminate.rng +0 -1
  325. data/tools/test/themes/model/theme.js +0 -1268
  326. data/tools/test/themes/packed/theme.js +0 -1286
  327. data/tools/test/themes/preset/rngs/alternative.rng +0 -25
  328. data/tools/test/themes/preset/rngs/call.rng +0 -122
  329. data/tools/test/themes/preset/rngs/callmanipulate.rng +0 -145
  330. data/tools/test/themes/preset/rngs/choose.rng +0 -14
  331. data/tools/test/themes/preset/rngs/closed_loop.rng +0 -62
  332. data/tools/test/themes/preset/rngs/closed_loop_cancel.rng +0 -5
  333. data/tools/test/themes/preset/rngs/closed_loop_control.rng +0 -31
  334. data/tools/test/themes/preset/rngs/closed_loop_measuring.rng +0 -12
  335. data/tools/test/themes/preset/rngs/critical.rng +0 -5
  336. data/tools/test/themes/preset/rngs/escape.rng +0 -1
  337. data/tools/test/themes/preset/rngs/group.rng +0 -3
  338. data/tools/test/themes/preset/rngs/loop.rng +0 -22
  339. data/tools/test/themes/preset/rngs/manipulate.rng +0 -9
  340. data/tools/test/themes/preset/rngs/otherwise.rng +0 -22
  341. data/tools/test/themes/preset/rngs/parallel.rng +0 -21
  342. data/tools/test/themes/preset/rngs/parallel_branch.rng +0 -8
  343. data/tools/test/themes/preset/rngs/scripts.rng +0 -23
  344. data/tools/test/themes/preset/rngs/stop.rng +0 -5
  345. data/tools/test/themes/preset/rngs/terminate.rng +0 -1
  346. data/tools/test/themes/preset/symbols/alternative.svg +0 -5
  347. data/tools/test/themes/preset/symbols/arrow.svg +0 -3
  348. data/tools/test/themes/preset/symbols/call.svg +0 -6
  349. data/tools/test/themes/preset/symbols/callmanipulate.svg +0 -8
  350. data/tools/test/themes/preset/symbols/choose.svg +0 -5
  351. data/tools/test/themes/preset/symbols/choose_exclusive.svg +0 -5
  352. data/tools/test/themes/preset/symbols/choose_inclusive.svg +0 -4
  353. data/tools/test/themes/preset/symbols/closed_loop.svg +0 -5
  354. data/tools/test/themes/preset/symbols/closed_loop_cancel.svg +0 -5
  355. data/tools/test/themes/preset/symbols/closed_loop_control.svg +0 -5
  356. data/tools/test/themes/preset/symbols/closed_loop_measuring.svg +0 -6
  357. data/tools/test/themes/preset/symbols/complex.svg +0 -8
  358. data/tools/test/themes/preset/symbols/critical.svg +0 -4
  359. data/tools/test/themes/preset/symbols/end.svg +0 -3
  360. data/tools/test/themes/preset/symbols/escape.svg +0 -5
  361. data/tools/test/themes/preset/symbols/event_end.svg +0 -3
  362. data/tools/test/themes/preset/symbols/loop.svg +0 -5
  363. data/tools/test/themes/preset/symbols/manipulate.svg +0 -4
  364. data/tools/test/themes/preset/symbols/otherwise.svg +0 -5
  365. data/tools/test/themes/preset/symbols/parallel.svg +0 -5
  366. data/tools/test/themes/preset/symbols/parallel_branch.svg +0 -5
  367. data/tools/test/themes/preset/symbols/parallel_branch_compact.svg +0 -4
  368. data/tools/test/themes/preset/symbols/parallel_branch_event.svg +0 -14
  369. data/tools/test/themes/preset/symbols/parallel_branch_normal.svg +0 -5
  370. data/tools/test/themes/preset/symbols/scripts.svg +0 -4
  371. data/tools/test/themes/preset/symbols/start.svg +0 -3
  372. data/tools/test/themes/preset/symbols/stop.svg +0 -5
  373. data/tools/test/themes/preset/symbols/terminate.svg +0 -4
  374. data/tools/test/themes/preset/theme.js +0 -1287
  375. data/tools/test/track.html +0 -142
@@ -481,8 +481,12 @@ function WFAdaptorManifestation(adaptor) {
481
481
  'endnodes': 'this',
482
482
  'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
483
483
  'resolve_symbol': function(node) {
484
- if($(node).attr('wait') == '-1') {
484
+ if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
485
485
  return 'parallel_simple';
486
+ } else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == '-1') {
487
+ return 'parallel_event_all';
488
+ } else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == '1') {
489
+ return 'parallel_event_one';
486
490
  } else {
487
491
  return 'parallel_complex';
488
492
  }
@@ -848,7 +852,16 @@ function WFAdaptorManifestation(adaptor) {
848
852
  'col_shift': function(node) {
849
853
  return true;
850
854
  },
851
- 'svg': self.adaptor.theme_dir + 'symbols/parallel.svg'
855
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
856
+ 'resolve_symbol': function(node) {
857
+ if($(node).attr('cancel') == 'last') {
858
+ return 'parallel_start';
859
+ } else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == 1) {
860
+ return 'parallel_eventbased_exclusive';
861
+ } else {
862
+ return 'parallel_eventbased_parallel';
863
+ }
864
+ },
852
865
  },//}}}
853
866
  'description': self.adaptor.theme_dir + 'rngs/parallel.rng',
854
867
  'permissible_children': function(node,mode) { //{{{
@@ -1275,6 +1288,24 @@ function WFAdaptorManifestation(adaptor) {
1275
1288
  'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1276
1289
  },//}}}
1277
1290
  }; /*}}}*/
1291
+ this.elements.parallel_start = { /*{{{*/
1292
+ 'parent': 'parallel',
1293
+ 'illustrator': {//{{{
1294
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel.svg'
1295
+ }//}}}
1296
+ }; /*}}}*/
1297
+ this.elements.parallel_eventbased_exclusive = { /*{{{*/
1298
+ 'parent': 'parallel',
1299
+ 'illustrator': {//{{{
1300
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_exclusive.svg'
1301
+ }//}}}
1302
+ }; /*}}}*/
1303
+ this.elements.parallel_eventbased_parallel = { /*{{{*/
1304
+ 'parent': 'parallel',
1305
+ 'illustrator': {//{{{
1306
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_parallel.svg'
1307
+ }//}}}
1308
+ }; /*}}}*/
1278
1309
  this.elements.parallel_simple = { /*{{{*/
1279
1310
  'parent': 'parallel_finish',
1280
1311
  'illustrator': {//{{{
@@ -1287,6 +1318,18 @@ function WFAdaptorManifestation(adaptor) {
1287
1318
  'svg': self.adaptor.theme_dir + 'symbols/complex.svg'
1288
1319
  },//}}}
1289
1320
  }; /*}}}*/
1321
+ this.elements.parallel_event_all = { /*{{{*/
1322
+ 'parent': 'parallel_finish',
1323
+ 'illustrator': {//{{{
1324
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_parallel.svg'
1325
+ }//}}}
1326
+ }; /*}}}*/
1327
+ this.elements.parallel_event_one = { /*{{{*/
1328
+ 'parent': 'parallel_finish',
1329
+ 'illustrator': {//{{{
1330
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_exclusive.svg'
1331
+ }//}}}
1332
+ }; /*}}}*/
1290
1333
  this.elements.parallel_branch_normal = { /*{{{*/
1291
1334
  'parent': 'parallel_branch',
1292
1335
  'illustrator': {//{{{
@@ -2,6 +2,12 @@
2
2
  <attribute name="wait" rngui:label="Wait" rngui:default="-1" rngui:hint="-1 to wait for all branches.">
3
3
  <data type="integer"/>
4
4
  </attribute>
5
+ <attribute name="cancel" rngui:label="Cancel" rngui:default="last" rngui:hint="Set 'Wait' to 1 for standard Event-based Gateway.">
6
+ <choice>
7
+ <value id='last'>After Last Task in Branch</value>
8
+ <value id='first'>After First Task in Branch (Event-Based Gateway)</value>
9
+ </choice>
10
+ </attribute>
5
11
  <element rngui:ignore="true" name="parallel_branch">
6
12
  <attribute name="pass">
7
13
  <data type="string"/>
@@ -0,0 +1,83 @@
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="description" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <element name="_context_data_analysis" rngui:header="Context Data Analysis" rngui:hint="All data elements (internal context) in the process can be used as input for context data probes. All probes can be the basis for impact factors. Please go to individual tasks to define deal with data that is ">
3
+
4
+ <element name="probes" rngui:header="Context Data Extraction" rngui:fold="closed">
5
+ <zeroOrMore rngui:label="Add Probe">
6
+ <element name="probe">
7
+ <element name="name" rngui:label="Label">
8
+ <data type="string" rngui:label="Label"/>
9
+ </element>
10
+ <element name="extractor_type" rngui:label="Extractor Type">
11
+ <choice>
12
+ <value id='code'>Extractor Code</value>
13
+ <value id='service'>Extractor Service</value>
14
+ </choice>
15
+ </element>
16
+ <element name="extractor_code" rngui:label="Extractor Code">
17
+ <text rngui:label="Service Url"/>
18
+ </element>
19
+ <element name="extractor_url" rngui:label="Extractor Service">
20
+ <data type="string" rngui:label="Service Url"/>
21
+ </element>
22
+ <element name="extractor_params" rngui:label="Extractor Service Arguments:">
23
+ <zeroOrMore rngui:label="Create Extractor Argument Pairs">
24
+ <element rngui:label="Name">
25
+ <anyName/>
26
+ <data type="string" rngui:label="Value / Json"/>
27
+ </element>
28
+ </zeroOrMore>
29
+ </element>
30
+ <element name="visualizer_url" rngui:label="Visualizer Url">
31
+ <data type="string" rngui:label="Service Url"/>
32
+ </element>
33
+ <element name="visualizer_params" rngui:label="Visualizer Arguments">
34
+ <zeroOrMore rngui:label="Create Visualizer Argument Pairs">
35
+ <element rngui:label="Name">
36
+ <anyName/>
37
+ <data type="string" rngui:label="Value / Json"/>
38
+ </element>
39
+ </zeroOrMore>
40
+ </element>
41
+ </element>
42
+ </zeroOrMore>
43
+ </element>
44
+
45
+ <element name="ips" rngui:header="Impact Profiles" rngui:fold="closed">
46
+ <zeroOrMore rngui:label="Add Impact Profile">
47
+ <element name="ip">
48
+ <element name="name" rngui:label="Label">
49
+ <data type="string" rngui:label="Label"/>
50
+ </element>
51
+ <element name="target" rngui:label="Target Value">
52
+ <data type="string" rngui:label="Value"/>
53
+ </element>
54
+ <element name="ifs" rngui:header="Impact Factors">
55
+ <zeroOrMore rngui:label="Add Impact Factor">
56
+ <element name="if">
57
+ <element name="ivs" rngui:header="Impact Values">
58
+ <zeroOrMore rngui:label="Add Impact Value ">
59
+ <element name="iv">
60
+ <element name="extractor_url" rngui:label="Extractor Url">
61
+ <data type="string" rngui:label="Service Url + Parameters"/>
62
+ </element>
63
+ <element name="aggregator_url" rngui:label="Aggregator Url">
64
+ <data type="string" rngui:label="Service Url + Parameters"/>
65
+ </element>
66
+ </element>
67
+ </zeroOrMore>
68
+ </element>
69
+ <element name="aggregator_url" rngui:label="Impact Function Url">
70
+ <data type="string" rngui:label="Service Url + Parameters"/>
71
+ </element>
72
+ </element>
73
+ </zeroOrMore>
74
+ </element>
75
+ <element name="vfunc_url" rngui:label="Violation Function Url">
76
+ <data type="string" rngui:label="Service Url + Parameters"/>
77
+ </element>
78
+ </element>
79
+ </zeroOrMore>
80
+ </element>
81
+
82
+ </element>
83
+ </element>
@@ -1,8 +1,8 @@
1
1
  <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
2
  <rect x="1" y="3" width="24" height="24" rx="4" class="hfill rfill cline stand"/>
3
3
 
4
- <circle cx="24" cy="15" r="10" class="cline rfill stand" style="stroke-dasharray: 1,3"/>
5
- <circle cx="24" cy="15" r="7" class="cline rfill stand" style="stroke-dasharray: 1,3"/>
4
+ <circle cx="24" cy="15" r="9" class="cline rfill standthin" style="stroke-dasharray: 1,2"/>
5
+ <circle cx="24" cy="15" r="7" class="cline rfill standthin" style="stroke-dasharray: 1,2"/>
6
6
  <line x1="24" y1="11" x2="20" y2="18" class="stand"/>
7
7
  <line x1="20" y1="18" x2="28" y2="18" class="stand"/>
8
8
  <line x1="28" y1="18" x2="24" y2="11" class="stand"/>
@@ -0,0 +1,9 @@
1
+ <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
+ <rect transform="rotate(45,14,12)" x="7" y="3" width="21" height="21" class="cline hfill stand"/>
3
+ <circle cx="15.5" cy="15.5" r="8" class="standthin"/>
4
+ <circle cx="15.5" cy="15.5" r="6" class="standthin"/>
5
+ <path
6
+ d="m 15.500001,11.435193 3.825246,2.779205 -1.461114,4.496849 h -4.728265 l -1.461115,-4.496849 z"
7
+ class="stand"/>
8
+ </svg>
9
+
@@ -0,0 +1,8 @@
1
+ <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
+ <rect transform="rotate(45,14,12)" x="7" y="3" width="21" height="21" class="cline hfill stand"/>
3
+ <circle cx="15.5" cy="15.5" r="8" class="standthin"/>
4
+ <circle cx="15.5" cy="15.5" r="6" class="standthin"/>
5
+ <line x1="12.5" y1="15.5" x2="18.5" y2="15.5" class="stand"/>
6
+ <line x1="15.5" y1="12.5" x2="15.5" y2="18.5" class="stand"/>
7
+ </svg>
8
+
@@ -1,3 +1,3 @@
1
1
  <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <circle cx="15" cy="15" r="14" class="stand"/>
2
+ <circle cx="15" cy="15" r="14" class="cline hfill rfill stand"/>
3
3
  </svg>
@@ -481,8 +481,12 @@ function WFAdaptorManifestation(adaptor) {
481
481
  'endnodes': 'this',
482
482
  'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
483
483
  'resolve_symbol': function(node) {
484
- if($(node).attr('wait') == '-1') {
484
+ if($(node).attr('cancel') == 'last' && $(node).attr('wait') == '-1') {
485
485
  return 'parallel_simple';
486
+ } else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == '-1') {
487
+ return 'parallel_event_all';
488
+ } else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == '1') {
489
+ return 'parallel_event_one';
486
490
  } else {
487
491
  return 'parallel_complex';
488
492
  }
@@ -849,7 +853,16 @@ function WFAdaptorManifestation(adaptor) {
849
853
  'col_shift': function(node) {
850
854
  return true;
851
855
  },
852
- 'svg': self.adaptor.theme_dir + 'symbols/parallel.svg'
856
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel.svg',
857
+ 'resolve_symbol': function(node) {
858
+ if($(node).attr('cancel') == 'last') {
859
+ return 'parallel_start';
860
+ } else if($(node).attr('cancel') == 'first' && $(node).attr('wait') == 1) {
861
+ return 'parallel_eventbased_exclusive';
862
+ } else {
863
+ return 'parallel_eventbased_parallel';
864
+ }
865
+ },
853
866
  },//}}}
854
867
  'description': self.adaptor.theme_dir + 'rngs/parallel.rng',
855
868
  'permissible_children': function(node,mode) { //{{{
@@ -1142,7 +1155,7 @@ function WFAdaptorManifestation(adaptor) {
1142
1155
  },
1143
1156
  'svg': self.adaptor.theme_dir + 'symbols/start.svg'
1144
1157
  },//}}}
1145
- 'description': null,
1158
+ 'description': self.adaptor.theme_dir + 'rngs/start.rng',
1146
1159
  'permissible_children': function(node,mode) { //{{{
1147
1160
  var func = null;
1148
1161
  if (mode == 'into') { func = self.adaptor.description.insert_first_into }
@@ -1276,6 +1289,24 @@ function WFAdaptorManifestation(adaptor) {
1276
1289
  'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1277
1290
  },//}}}
1278
1291
  }; /*}}}*/
1292
+ this.elements.parallel_start = { /*{{{*/
1293
+ 'parent': 'parallel',
1294
+ 'illustrator': {//{{{
1295
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel.svg'
1296
+ }//}}}
1297
+ }; /*}}}*/
1298
+ this.elements.parallel_eventbased_exclusive = { /*{{{*/
1299
+ 'parent': 'parallel',
1300
+ 'illustrator': {//{{{
1301
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_exclusive.svg'
1302
+ }//}}}
1303
+ }; /*}}}*/
1304
+ this.elements.parallel_eventbased_parallel = { /*{{{*/
1305
+ 'parent': 'parallel',
1306
+ 'illustrator': {//{{{
1307
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_parallel.svg'
1308
+ }//}}}
1309
+ }; /*}}}*/
1279
1310
  this.elements.parallel_simple = { /*{{{*/
1280
1311
  'parent': 'parallel_finish',
1281
1312
  'illustrator': {//{{{
@@ -1288,6 +1319,18 @@ function WFAdaptorManifestation(adaptor) {
1288
1319
  'svg': self.adaptor.theme_dir + 'symbols/complex.svg'
1289
1320
  },//}}}
1290
1321
  }; /*}}}*/
1322
+ this.elements.parallel_event_all = { /*{{{*/
1323
+ 'parent': 'parallel_finish',
1324
+ 'illustrator': {//{{{
1325
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_parallel.svg'
1326
+ }//}}}
1327
+ }; /*}}}*/
1328
+ this.elements.parallel_event_one = { /*{{{*/
1329
+ 'parent': 'parallel_finish',
1330
+ 'illustrator': {//{{{
1331
+ 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_exclusive.svg'
1332
+ }//}}}
1333
+ }; /*}}}*/
1291
1334
  this.elements.parallel_branch_normal = { /*{{{*/
1292
1335
  'parent': 'parallel_branch',
1293
1336
  'illustrator': {//{{{
data/cockpit/track.html CHANGED
@@ -37,11 +37,11 @@
37
37
 
38
38
  <script type="text/javascript" src="/js_libs/relaxngui.js"></script>
39
39
 
40
- <script type="text/javascript" src="/js_libs/ui.js"></script>
40
+ <script type="text/javascript" src="/js_libs/uidash.js"></script>
41
41
  <script type="text/javascript" src="/js_libs/custommenu.js"></script>
42
42
 
43
43
  <link rel="stylesheet" href="/js_libs/custommenu.css" type="text/css"/>
44
- <link rel="stylesheet" href="/js_libs/ui.css" type="text/css"/>
44
+ <link rel="stylesheet" href="/js_libs/uidash.css" type="text/css"/>
45
45
 
46
46
  <link rel="stylesheet" href="/js_libs/relaxngui.css" type="text/css"/>
47
47
 
@@ -58,7 +58,7 @@
58
58
  <link rel="stylesheet" href="css/ui.css" type="text/css"/>
59
59
  <link rel="stylesheet" href="css/track.css" type="text/css"/>
60
60
  </head>
61
- <body data-base-port="8298" data-res-port="9303" data-theme-base="themes" is="x-ui">
61
+ <body data-base-port="8298" data-res-port="9303" data-theme-base="themes" is="x-ui-">
62
62
  <div class='hidden' id='relaxngworker'></div>
63
63
  <div id="trackfull">
64
64
  <div id='graphcolumn'>
data/cpee.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cpee"
3
- s.version = "2.0.25"
3
+ s.version = "2.1.0"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0"
6
6
  s.summary = "Preliminary release of cloud process execution engine (cpee.org). If you just need workflow execution, without a rest service exposing it, then use WEEL."
@@ -22,9 +22,9 @@ Gem::Specification.new do |s|
22
22
  s.homepage = 'http://cpee.org/'
23
23
 
24
24
  s.add_runtime_dependency 'riddl', '~> 0.108'
25
- s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.90'
25
+ s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.99'
26
26
  s.add_runtime_dependency 'highline', '~> 2.0'
27
27
  s.add_runtime_dependency 'json', '~>2.1'
28
28
  s.add_runtime_dependency 'redis', '~> 4.1'
29
- s.add_runtime_dependency 'rubyzip', '~>1.2'
29
+ s.add_runtime_dependency 'rubyzip', '~>2'
30
30
  end
@@ -1,3 +1,17 @@
1
+ # This file is part of CPEE.
2
+ #
3
+ # CPEE is free software: you can redistribute it and/or modify it under the terms
4
+ # of the GNU General Public License as published by the Free Software Foundation,
5
+ # either version 3 of the License, or (at your option) any later version.
6
+ #
7
+ # CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
8
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
9
+ # PARTICULAR PURPOSE. See the GNU General Public License for more details.
10
+ #
11
+ # You should have received a copy of the GNU General Public License along with
12
+ # CPEE (file COPYING in the main directory). If not, see
13
+ # <http://www.gnu.org/licenses/>.
14
+
1
15
  require 'weel'
2
16
 
3
17
  class AttributesHelper
@@ -28,7 +28,7 @@ module CPEE
28
28
 
29
29
  SERVER = File.expand_path(File.join(__dir__,'..','cpee.xml'))
30
30
  PROPERTIES_PATHS_FULL = %w{
31
- /p:properties/p:handlerwrapper
31
+ /p:properties/p:executionhandler
32
32
  /p:properties/p:positions/p:*
33
33
  /p:properties/p:positions/p:*/@*
34
34
  /p:properties/p:dataelements/p:*
@@ -54,22 +54,17 @@ module CPEE
54
54
  }
55
55
  def self::implementation(opts)
56
56
  opts[:instances] ||= File.expand_path(File.join(__dir__,'..','..','server','instances'))
57
- opts[:global_handlerwrappers] ||= File.expand_path(File.join(__dir__,'..','..','server','handlerwrappers'))
58
- opts[:handlerwrappers] ||= ''
57
+ opts[:global_executionhandlers] ||= File.expand_path(File.join(__dir__,'..','..','server','executionhandlers'))
58
+ opts[:executionhandlers] ||= ''
59
59
  opts[:topics] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','topics.xml'))
60
60
  opts[:properties_init] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','properties.init'))
61
61
  opts[:properties_empty] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','properties.empty'))
62
- opts[:transformation_dslx] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','transformation_dslx.xsl'))
63
62
  opts[:transformation_service] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','transformation.xml'))
64
63
  opts[:empty_dslx] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','empty_dslx.xml'))
65
64
  opts[:notifications_init] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','notifications'))
66
65
  opts[:states] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','states.xml'))
67
- opts[:backend_run] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','backend','run'))
68
- opts[:backend_template] ||= File.expand_path(File.join(__dir__,'..','..','server','resources','backend','instance.template'))
69
- opts[:backend_opts] ||= 'opts.yaml'
70
66
  opts[:watchdog_frequency] ||= 7
71
67
  opts[:watchdog_start_off] ||= false
72
- opts[:backend_instance] ||= 'instance.rb'
73
68
  opts[:infinite_loop_stop] ||= 10000
74
69
 
75
70
  ### set redis_cmd to nil if you want to do global
@@ -100,6 +95,13 @@ module CPEE
100
95
  ]
101
96
 
102
97
  Proc.new do
98
+ Dir[File.join(opts[:global_executionhandlers],'*','execution.rb')].each do |h|
99
+ require h
100
+ end unless opts[:global_executionhandlers].nil? || opts[:global_executionhandlers].strip == ''
101
+ Dir[File.join(opts[:executionhandlers],'*','execution.rb')].each do |h|
102
+ require h
103
+ end unless opts[:executionhandlers].nil? || opts[:executionhandlers].strip == ''
104
+
103
105
  parallel do
104
106
  CPEE::watch_services(opts[:watchdog_start_off],opts[:redis_url],File.join(opts[:basepath],opts[:redis_path]),opts[:redis_db])
105
107
  EM.add_periodic_timer(opts[:watchdog_frequency]) do ### start services
@@ -1,3 +1,17 @@
1
+ # This file is part of CPEE.
2
+ #
3
+ # CPEE is free software: you can redistribute it and/or modify it under the terms
4
+ # of the GNU General Public License as published by the Free Software Foundation,
5
+ # either version 3 of the License, or (at your option) any later version.
6
+ #
7
+ # CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
8
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
9
+ # PARTICULAR PURPOSE. See the GNU General Public License for more details.
10
+ #
11
+ # You should have received a copy of the GNU General Public License along with
12
+ # CPEE (file COPYING in the main directory). If not, see
13
+ # <http://www.gnu.org/licenses/>.
14
+
1
15
  require 'json'
2
16
 
3
17
  module CPEE
@@ -36,13 +50,20 @@ module CPEE
36
50
  opts = @a[1]
37
51
  callback = @r[-1]
38
52
 
39
- res = {}
40
- res[:uuid] = opts[:redis].get("instance:#{id}/callback/#{callback}/uuid")
41
- res[:type] = opts[:redis].get("instance:#{id}/callback/#{callback}/type")
42
- res[:position] = opts[:redis].get("instance:#{id}/callback/#{callback}/position")
43
- res[:label] = opts[:redis].get("instance:#{id}/callback/#{callback}/label")
53
+ if opts[:redis].sismember("instance:#{id}/callbacks",callback)
54
+ res = {}
55
+ res[:uuid] = opts[:redis].get("instance:#{id}/callback/#{callback}/uuid")
56
+ res[:type] = opts[:redis].get("instance:#{id}/callback/#{callback}/type")
57
+ res[:position] = opts[:redis].get("instance:#{id}/callback/#{callback}/position")
58
+ res[:label] = opts[:redis].get("instance:#{id}/callback/#{callback}/label")
59
+ if sub = opts[:redis].get("instance:#{id}/callback/#{callback}/subscription")
60
+ res[:subscription] = sub
61
+ end
44
62
 
45
- Riddl::Parameter::Complex.new("callback","application/json",JSON.generate(res))
63
+ Riddl::Parameter::Complex.new("callback","application/json",JSON.generate(res))
64
+ else
65
+ @status = 404
66
+ end
46
67
  end
47
68
  end #}}}
48
69
 
@@ -75,7 +96,7 @@ module CPEE
75
96
  opts[:redis]
76
97
  )
77
98
  else
78
- @status = 503
99
+ @status = 404
79
100
  end
80
101
  nil
81
102
  end