add_service_routes.js 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. /**
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. module.exports = Em.Route.extend({
  19. route: '/services/add',
  20. enter: function (router) {
  21. console.log('in /service/add:enter');
  22. Ember.run.next(function () {
  23. var addServiceController = router.get('addServiceController');
  24. router.transitionTo('step' + addServiceController.get('currentStep'));
  25. });
  26. },
  27. connectOutlets: function (router) {
  28. console.log('in /service/add:connectOutlets');
  29. router.get('mainController').connectOutlet('addService');
  30. },
  31. step1: Em.Route.extend({
  32. route: '/step1',
  33. connectOutlets: function (router) {
  34. console.log('in addService.step1:connectOutlets');
  35. var controller = router.get('addServiceController');
  36. controller.setCurrentStep('1', false);
  37. controller.set('hideBackButton', true);
  38. controller.loadAllPriorSteps();
  39. controller.connectOutlet('wizardStep4', controller.get('content.services'));
  40. },
  41. next: function (router) {
  42. var addServiceController = router.get('addServiceController');
  43. var wizardStep4Controller = router.get('wizardStep4Controller');
  44. addServiceController.saveServices(wizardStep4Controller);
  45. addServiceController.saveClients(wizardStep4Controller);
  46. App.db.setMasterComponentHosts(undefined);
  47. router.transitionTo('step2');
  48. }
  49. }),
  50. step2: Em.Route.extend({
  51. route: '/step2',
  52. connectOutlets: function (router) {
  53. console.log('in addService.step2:connectOutlets');
  54. var controller = router.get('addServiceController');
  55. controller.setCurrentStep('2', false);
  56. controller.loadAllPriorSteps();
  57. controller.set('hideBackButton', false);
  58. controller.connectOutlet('wizardStep5', controller.get('content'));
  59. },
  60. back: Em.Router.transitionTo('step1'),
  61. next: function (router) {
  62. var addServiceController = router.get('addServiceController');
  63. var wizardStep5Controller = router.get('wizardStep5Controller');
  64. addServiceController.saveMasterComponentHosts(wizardStep5Controller);
  65. App.db.setSlaveComponentHosts(undefined);
  66. App.db.setHostSlaveComponents(undefined);
  67. router.transitionTo('step3');
  68. }
  69. }),
  70. step3: Em.Route.extend({
  71. route: '/step3',
  72. connectOutlets: function (router) {
  73. console.log('in addService.step3:connectOutlets');
  74. var controller = router.get('addServiceController');
  75. controller.setCurrentStep('3', false);
  76. controller.loadAllPriorSteps();
  77. controller.connectOutlet('wizardStep6', controller.get('content'));
  78. },
  79. back: Em.Router.transitionTo('step2'),
  80. next: function (router) {
  81. var addServiceController = router.get('addServiceController');
  82. var wizardStep6Controller = router.get('wizardStep6Controller');
  83. if (wizardStep6Controller.validate()) {
  84. addServiceController.saveSlaveComponentHosts(wizardStep6Controller);
  85. addServiceController.get('content').set('serviceConfigProperties', null);
  86. App.db.setServiceConfigProperties(null);
  87. router.transitionTo('step4');
  88. }
  89. }
  90. }),
  91. step4: Em.Route.extend({
  92. route: '/step4',
  93. connectOutlets: function (router) {
  94. console.log('in addService.step4:connectOutlets');
  95. var controller = router.get('addServiceController');
  96. controller.setCurrentStep('4', false);
  97. controller.loadAllPriorSteps();
  98. controller.connectOutlet('wizardStep7', controller.get('content'));
  99. },
  100. back: Em.Router.transitionTo('step3'),
  101. next: function (router) {
  102. var addServiceController = router.get('addServiceController');
  103. var wizardStep7Controller = router.get('wizardStep7Controller');
  104. addServiceController.saveServiceConfigProperties(wizardStep7Controller);
  105. router.transitionTo('step5');
  106. }
  107. }),
  108. step5: Em.Route.extend({
  109. route: '/step5',
  110. connectOutlets: function (router, context) {
  111. console.log('in addService.step5:connectOutlets');
  112. var controller = router.get('addServiceController');
  113. controller.setCurrentStep('5', false);
  114. controller.loadAllPriorSteps();
  115. controller.connectOutlet('wizardStep8', controller.get('content'));
  116. },
  117. back: Em.Router.transitionTo('step4'),
  118. next: function (router) {
  119. var addServiceController = router.get('addServiceController');
  120. var wizardStep8Controller = router.get('wizardStep8Controller');
  121. addServiceController.installServices();
  122. addServiceController.setInfoForStep9();
  123. router.transitionTo('step6');
  124. }
  125. }),
  126. step6: Em.Route.extend({
  127. route: '/step6',
  128. connectOutlets: function (router, context) {
  129. console.log('in addService.step6:connectOutlets');
  130. var controller = router.get('addServiceController');
  131. controller.setCurrentStep('6', false);
  132. controller.loadAllPriorSteps();
  133. controller.connectOutlet('wizardStep9', controller.get('content'));
  134. },
  135. back: Em.Router.transitionTo('step5'),
  136. retry: function(router,context) {
  137. var addServiceController = router.get('addSrviceController');
  138. var wizardStep9Controller = router.get('wizardStep9Controller');
  139. if (!wizardStep9Controller.get('isSubmitDisabled')) {
  140. addServiceController.installServices();
  141. addServiceController.setInfoForStep9();
  142. wizardStep9Controller.navigateStep();
  143. }
  144. },
  145. next: function (router) {
  146. var addServiceController = router.get('addServiceController');
  147. var wizardStep9Controller = router.get('wizardStep9Controller');
  148. //addServiceController.saveClusterInfo(wizardStep9Controller);
  149. addServiceController.saveInstalledHosts(wizardStep9Controller);
  150. router.transitionTo('step7');
  151. }
  152. }),
  153. step7: Em.Route.extend({
  154. route: '/step7',
  155. connectOutlets: function (router, context) {
  156. console.log('in addService.step7:connectOutlets');
  157. var controller = router.get('addServiceController');
  158. controller.setCurrentStep('7', false);
  159. controller.loadAllPriorSteps();
  160. controller.connectOutlet('wizardStep10', controller.get('content'));
  161. },
  162. back: Em.Router.transitionTo('step6'),
  163. complete: function (router, context) {
  164. if (true) { // this function will be moved to installerController where it will validate
  165. var addServiceController = router.get('addServiceController');
  166. addServiceController.setCurrentStep('1', false);
  167. router.transitionTo('services');
  168. }
  169. }
  170. }),
  171. gotoStep1: Em.Router.transitionTo('step1'),
  172. gotoStep2: Em.Router.transitionTo('step2'),
  173. gotoStep3: Em.Router.transitionTo('step3'),
  174. gotoStep4: Em.Router.transitionTo('step4'),
  175. gotoStep5: Em.Router.transitionTo('step5'),
  176. gotoStep6: Em.Router.transitionTo('step6'),
  177. gotoStep7: Em.Router.transitionTo('step7'),
  178. backToServices: function (router) {
  179. router.transitionTo('services');
  180. }
  181. });