db.js 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832
  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. var App = require('app');
  19. App.db = {};
  20. var InitialData = {
  21. 'app': {
  22. 'loginName': '',
  23. 'authenticated': false,
  24. 'configs': [],
  25. 'tables': {
  26. 'filterConditions': {},
  27. 'displayLength': {},
  28. 'startIndex': {},
  29. 'sortingConditions': {}
  30. }
  31. },
  32. 'Installer' : {},
  33. 'AddHost' : {},
  34. 'AddService' : {},
  35. 'StackUpgrade' : {},
  36. 'ReassignMaster' : {},
  37. 'AddSecurity': {},
  38. 'HighAvailabilityWizard': {},
  39. 'RollbackHighAvailabilityWizard': {},
  40. 'tmp': {}
  41. };
  42. if (typeof Storage !== 'undefined') {
  43. Storage.prototype.setObject = function (key, value) {
  44. this.setItem(key, JSON.stringify(value));
  45. };
  46. Storage.prototype.getObject = function (key) {
  47. var value = this.getItem(key);
  48. return value && JSON.parse(value);
  49. };
  50. } else {
  51. // stub for unit testing purposes
  52. window.localStorage = {};
  53. localStorage.setItem = function (key, val) {
  54. this[key] = val;
  55. };
  56. localStorage.getItem = function (key) {
  57. return this[key];
  58. };
  59. window.localStorage.setObject = function (key, value) {
  60. this[key] = value;
  61. };
  62. window.localStorage.getObject = function (key, value) {
  63. return this[key];
  64. };
  65. }
  66. App.db.cleanUp = function () {
  67. console.log('TRACE: Entering db:cleanup function');
  68. App.db.data = InitialData;
  69. console.log("In cleanup./..");
  70. localStorage.setObject('ambari', App.db.data);
  71. };
  72. App.db.cleanTmp = function() {
  73. App.db.data.tmp = {};
  74. localStorage.setObject('ambari', App.db.data);
  75. }
  76. App.db.updateStorage = function() {
  77. App.db.data = localStorage.getObject('ambari');
  78. if (App.db.data && App.db.data.app && App.db.data.app.tables && App.db.data.app.configs) {
  79. return true;
  80. }
  81. console.warn("local storage is deprecated!");
  82. App.db.cleanUp();
  83. return false;
  84. };
  85. /*
  86. Initialize wizard namespaces if they are not initialized on login.
  87. This will be required during upgrade.
  88. */
  89. App.db.mergeStorage = function() {
  90. if (localStorage.getObject('ambari') == null) {
  91. console.log('doing a cleanup');
  92. App.db.cleanUp();
  93. } else {
  94. localStorage.setObject('ambari', $.extend(true,{}, InitialData, App.db.data));
  95. }
  96. };
  97. // called whenever user logs in
  98. if (localStorage.getObject('ambari') == null) {
  99. console.log('doing a cleanup');
  100. App.db.cleanUp();
  101. }
  102. App.db.get = function (namespace, key) {
  103. console.log('TRACE: Entering db:get' + key);
  104. App.db.data = localStorage.getObject('ambari');
  105. if (!App.db.data[namespace]) {
  106. App.db.data[namespace] = {};
  107. }
  108. return App.db.data[namespace][key];
  109. };
  110. App.db.set = function (namespace, key, value) {
  111. console.log('TRACE: Entering db:set' + key + ';value: ', value);
  112. App.db.data = localStorage.getObject('ambari');
  113. if (!App.db.data[namespace]) {
  114. App.db.data[namespace] = {};
  115. }
  116. App.db.data[namespace][key] = value;
  117. localStorage.setObject('ambari', App.db.data);
  118. };
  119. /*
  120. * setter methods
  121. */
  122. App.db.setLoginName = function (name) {
  123. console.log('TRACE: Entering db:setLoginName function');
  124. App.db.data = localStorage.getObject('ambari');
  125. App.db.data.app.loginName = name;
  126. localStorage.setObject('ambari', App.db.data);
  127. };
  128. App.db.setAmbariStacks = function (stacks) {
  129. console.log('TRACE: Entering db:setAmbariStacks function');
  130. App.db.data = localStorage.getObject('ambari');
  131. App.db.data.app.stacks = stacks;
  132. localStorage.setObject('ambari', App.db.data);
  133. };
  134. /**
  135. * Set user model to db
  136. * @param user
  137. */
  138. App.db.setUser = function (user) {
  139. console.log('TRACE: Entering db:setUser function');
  140. App.db.data = localStorage.getObject('ambari');
  141. App.db.data.app.user = user;
  142. localStorage.setObject('ambari', App.db.data);
  143. };
  144. App.db.setAuthenticated = function (authenticated) {
  145. console.log('TRACE: Entering db:setAuthenticated function');
  146. App.db.data = localStorage.getObject('ambari');
  147. console.log('present value of authentication is: ' + App.db.data.app.authenticated);
  148. console.log('desired value of authentication is: ' + authenticated);
  149. App.db.data.app.authenticated = authenticated;
  150. localStorage.setObject('ambari', App.db.data);
  151. App.db.data = localStorage.getObject('ambari');
  152. console.log('Now present value of authentication is: ' + App.db.data.app.authenticated);
  153. };
  154. App.db.setFilterConditions = function(name, filterConditions) {
  155. console.log('TRACE: Entering db:setFilterConditions function');
  156. App.db.data = localStorage.getObject('ambari');
  157. if (!App.db.data.app.tables.filterConditions) {
  158. App.db.data.app.tables.filterConditions = {};
  159. }
  160. App.db.data.app.tables.filterConditions[name] = filterConditions;
  161. localStorage.setObject('ambari', App.db.data);
  162. };
  163. App.db.setDisplayLength = function(name, displayLength) {
  164. console.log('TRACE: Entering db:setDisplayLength function');
  165. App.db.data = localStorage.getObject('ambari');
  166. if (!App.db.data.app.tables.displayLength) {
  167. App.db.data.app.tables.displayLength = {};
  168. }
  169. App.db.data.app.tables.displayLength[name] = displayLength;
  170. localStorage.setObject('ambari', App.db.data);
  171. };
  172. App.db.setStartIndex = function(name, startIndex) {
  173. console.log('TRACE: Entering db:setStartIndex function');
  174. App.db.data = localStorage.getObject('ambari');
  175. if (!App.db.data.app.tables.startIndex) {
  176. App.db.data.app.tables.startIndex = {};
  177. }
  178. App.db.data.app.tables.startIndex[name] = startIndex;
  179. localStorage.setObject('ambari', App.db.data);
  180. };
  181. App.db.setSortingStatuses = function(name, sortingConditions) {
  182. console.log('TRACE: Entering db:setSortingConditions function');
  183. App.db.data = localStorage.getObject('ambari');
  184. if (!App.db.data.app.tables.sortingConditions) {
  185. App.db.data.app.tables.sortingConditions = {};
  186. }
  187. App.db.data.app.tables.sortingConditions[name] = sortingConditions;
  188. localStorage.setObject('ambari', App.db.data);
  189. };
  190. App.db.setAllHostNames = function (hostNames) {
  191. console.log('TRACE: Entering db:setAllHostNames function');
  192. App.db.data = localStorage.getObject('ambari');
  193. App.db.data.Installer.hostNames = hostNames;
  194. localStorage.setObject('ambari', App.db.data);
  195. };
  196. App.db.setAllHostNamesPattern = function (hostNames) {
  197. console.log('TRACE: Entering db:setAllHostNamesPattern function');
  198. App.db.data = localStorage.getObject('ambari');
  199. App.db.data.Installer.hostNamesPattern = hostNames;
  200. localStorage.setObject('ambari', App.db.data);
  201. };
  202. App.db.setHosts = function (hostInfo) {
  203. console.log('TRACE: Entering db:setHosts function');
  204. App.db.data = localStorage.getObject('ambari');
  205. App.db.data.Installer.hostInfo = hostInfo;
  206. localStorage.setObject('ambari', App.db.data);
  207. };
  208. App.db.setInstallOptions = function (installOptions) {
  209. console.log('TRACE: Entering db:setInstallOptions function');
  210. App.db.data = localStorage.getObject('ambari');
  211. App.db.data.Installer.installOptions = installOptions;
  212. localStorage.setObject('ambari', App.db.data);
  213. };
  214. App.db.setBootStatus = function (status) {
  215. console.log('TRACE: Entering db:setBootStatus function');
  216. App.db.data = localStorage.getObject('ambari');
  217. App.db.data.Installer.bootStatus = status;
  218. localStorage.setObject('ambari', App.db.data);
  219. };
  220. App.db.setService = function (serviceInfo) {
  221. App.db.data = localStorage.getObject('ambari');
  222. App.db.data.Installer.serviceInfo = serviceInfo;
  223. localStorage.setObject('ambari', App.db.data);
  224. };
  225. App.db.setSelectedServiceNames = function (serviceNames) {
  226. App.db.data = localStorage.getObject('ambari');
  227. App.db.data.Installer.selectedServiceNames = serviceNames;
  228. localStorage.setObject('ambari', App.db.data);
  229. };
  230. App.db.setClientsForSelectedServices = function (clientInfo) {
  231. App.db.data = localStorage.getObject('ambari');
  232. App.db.data.Installer.clientInfo = clientInfo;
  233. localStorage.setObject('ambari', App.db.data);
  234. };
  235. App.db.setMasterComponentHosts = function (masterComponentHosts) {
  236. App.db.data = localStorage.getObject('ambari');
  237. App.db.data.Installer.masterComponentHosts = masterComponentHosts;
  238. localStorage.setObject('ambari', App.db.data);
  239. };
  240. App.db.setSlaveComponentHosts = function (slaveComponentHosts) {
  241. App.db.data = localStorage.getObject('ambari');
  242. App.db.data.Installer.slaveComponentHosts = slaveComponentHosts;
  243. localStorage.setObject('ambari', App.db.data);
  244. };
  245. App.db.setServiceConfigs = function (serviceConfigs) {
  246. App.db.data = localStorage.getObject('ambari');
  247. App.db.data.Installer.serviceConfigs = serviceConfigs;
  248. localStorage.setObject('ambari', App.db.data);
  249. };
  250. App.db.setAdvancedServiceConfig = function (serviceConfigs) {
  251. App.db.data = localStorage.getObject('ambari');
  252. App.db.data.Installer.advanceServiceConfigs = serviceConfigs;
  253. localStorage.setObject('ambari', App.db.data);
  254. };
  255. App.db.setServiceConfigProperties = function (configProperties) {
  256. App.db.data = localStorage.getObject('ambari');
  257. App.db.data.Installer.configProperties = configProperties;
  258. localStorage.setObject('ambari', App.db.data);
  259. };
  260. App.db.setCluster = function (status) {
  261. App.db.data = localStorage.getObject('ambari');
  262. App.db.data.Installer.clusterStatus = status;
  263. console.log('db.setClusterStatus called: ' + JSON.stringify(status));
  264. localStorage.setObject('ambari', App.db.data);
  265. };
  266. App.db.setUpgradeOptions = function (upgradeOptions) {
  267. App.db.data = localStorage.getObject('ambari');
  268. App.db.data.StackUpgrade.upgradeOptions = upgradeOptions;
  269. console.log('db.setUpgradeOptions called: ' + JSON.stringify(upgradeOptions));
  270. localStorage.setObject('ambari', App.db.data);
  271. };
  272. App.db.setMasterToReassign = function (masterComponent) {
  273. App.db.data = localStorage.getObject('ambari');
  274. App.db.data.ReassignMaster.masterComponent = masterComponent;
  275. localStorage.setObject('ambari', App.db.data);
  276. };
  277. App.db.setReassignTasksStatuses = function (tasksStatuses) {
  278. App.db.data = localStorage.getObject('ambari');
  279. App.db.data.ReassignMaster.tasksStatuses = tasksStatuses;
  280. localStorage.setObject('ambari', App.db.data);
  281. };
  282. App.db.setStacks = function (stacks) {
  283. App.db.data = localStorage.getObject('ambari');
  284. App.db.data.app.stacksVersions = stacks;
  285. localStorage.setObject('ambari', App.db.data);
  286. };
  287. App.db.setServices = function (services) {
  288. App.db.data = localStorage.getObject('ambari');
  289. App.db.data.app.services = services;
  290. localStorage.setObject('ambari', App.db.data);
  291. };
  292. App.db.setConfigs = function (configs) {
  293. App.db.data = localStorage.getObject('ambari');
  294. App.db.data.app.configs = configs;
  295. localStorage.setObject('ambari', App.db.data);
  296. };
  297. /**
  298. * Set current step value for specified Wizard Type
  299. * @param wizardType
  300. * @param currentStep
  301. */
  302. App.db.setWizardCurrentStep = function (wizardType, currentStep) {
  303. console.log('TRACE: Entering db:setWizardCurrentStep function');
  304. App.db.data[wizardType.capitalize()].currentStep = currentStep;
  305. localStorage.setObject('ambari', App.db.data);
  306. };
  307. /**
  308. * Set localStorage with data from server
  309. */
  310. App.db.setLocalStorage = function () {
  311. localStorage.setObject('ambari', App.db.data);
  312. };
  313. App.db.setSecurityWizardStatus = function (status) {
  314. App.db.data = localStorage.getObject('ambari');
  315. if (!App.db.data.AddSecurity) {
  316. App.db.data.AddSecurity = {};
  317. }
  318. App.db.data.AddSecurity.status = status;
  319. localStorage.setObject('ambari', App.db.data);
  320. };
  321. App.db.setDisableSecurityStatus = function (status) {
  322. App.db.data = localStorage.getObject('ambari');
  323. if (!App.db.data.AddSecurity) {
  324. App.db.data.AddSecurity = {};
  325. }
  326. App.db.data.AddSecurity.disableSecurityStatus = status;
  327. localStorage.setObject('ambari', App.db.data);
  328. };
  329. App.db.setSecurityDeployCommands = function (commands) {
  330. App.db.data = localStorage.getObject('ambari');
  331. if (!App.db.data.AddSecurity) {
  332. App.db.data.AddSecurity = {};
  333. }
  334. App.db.data.AddSecurity.securityDeployCommands = commands;
  335. localStorage.setObject('ambari', App.db.data);
  336. };
  337. App.db.setSecureConfigProperties = function (secureConfigs) {
  338. App.db.data = localStorage.getObject('ambari');
  339. if (!App.db.data.AddSecurity) {
  340. App.db.data.AddSecurity = {};
  341. }
  342. App.db.data.AddSecurity.secureConfigProperties = secureConfigs;
  343. localStorage.setObject('ambari', App.db.data);
  344. };
  345. App.db.setSecureUserInfo = function (userInfo) {
  346. App.db.data = localStorage.getObject('ambari');
  347. if (!App.db.data.AddSecurity) {
  348. App.db.data.AddSecurity = {};
  349. }
  350. App.db.data.AddSecurity.secureUserInfo = userInfo;
  351. localStorage.setObject('ambari', App.db.data);
  352. };
  353. App.db.setIsNameNodeHa = function (haStatus) {
  354. App.db.data = localStorage.getObject('ambari');
  355. if (!App.db.data.AddSecurity) {
  356. App.db.data.AddSecurity = {};
  357. }
  358. App.db.data.AddSecurity.haStatus = haStatus;
  359. localStorage.setObject('ambari', App.db.data);
  360. };
  361. App.db.setHighAvailabilityWizardConfigTag = function (tag) {
  362. App.db.data = localStorage.getObject('ambari');
  363. App.db.data.HighAvailabilityWizard[tag.name] = tag.value;
  364. localStorage.setObject('ambari', App.db.data);
  365. };
  366. App.db.setHighAvailabilityWizardHdfsClientHosts = function (hostNames) {
  367. App.db.data = localStorage.getObject('ambari');
  368. App.db.data.HighAvailabilityWizard.hdfsClientHostNames = hostNames;
  369. localStorage.setObject('ambari', App.db.data);
  370. };
  371. App.db.setHighAvailabilityWizardTasksStatuses = function (tasksStatuses) {
  372. App.db.data = localStorage.getObject('ambari');
  373. App.db.data.HighAvailabilityWizard.tasksStatuses = tasksStatuses;
  374. localStorage.setObject('ambari', App.db.data);
  375. };
  376. App.db.setHighAvailabilityWizardHdfsUser = function (hdfsUser) {
  377. App.db.data = localStorage.getObject('ambari');
  378. App.db.data.HighAvailabilityWizard.hdfsUser = hdfsUser;
  379. localStorage.setObject('ambari', App.db.data);
  380. };
  381. App.db.setHighAvailabilityWizardRequestIds = function (requestIds) {
  382. App.db.data = localStorage.getObject('ambari');
  383. App.db.data.HighAvailabilityWizard.requestIds = requestIds;
  384. localStorage.setObject('ambari', App.db.data);
  385. };
  386. App.db.setHighAvailabilityWizardLogs = function (logs) {
  387. App.db.data = localStorage.getObject('ambari');
  388. App.db.data.HighAvailabilityWizard.logs = logs;
  389. localStorage.setObject('ambari', App.db.data);
  390. };
  391. App.db.setHighAvailabilityWizardNameServiceId = function (nameServiceId) {
  392. App.db.data = localStorage.getObject('ambari');
  393. App.db.data.HighAvailabilityWizard.nameServiceId = nameServiceId;
  394. localStorage.setObject('ambari', App.db.data);
  395. };
  396. App.db.setRollBackHighAvailabilityWizardAddNNHost = function (host) {
  397. App.db.data = localStorage.getObject('ambari');
  398. App.db.data.RollbackHighAvailabilityWizard.addNNHost = host;
  399. localStorage.setObject('ambari', App.db.data);
  400. };
  401. App.db.setRollBackHighAvailabilityWizardSNNHost = function (host) {
  402. App.db.data = localStorage.getObject('ambari');
  403. App.db.data.RollbackHighAvailabilityWizard.sNNHost = host;
  404. localStorage.setObject('ambari', App.db.data);
  405. };
  406. App.db.setRollBackHighAvailabilityWizardSelectedAddNN = function (host) {
  407. App.db.data = localStorage.getObject('ambari');
  408. App.db.data.RollbackHighAvailabilityWizard.selectedAddNN = host;
  409. localStorage.setObject('ambari', App.db.data);
  410. };
  411. App.db.setRollBackHighAvailabilityWizardSelectedSNN = function (host) {
  412. App.db.data = localStorage.getObject('ambari');
  413. App.db.data.RollbackHighAvailabilityWizard.selectedSNNH = host;
  414. localStorage.setObject('ambari', App.db.data);
  415. };
  416. App.db.setRollbackHighAvailabilityWizardTasksStatuses = function (tasksStatuses) {
  417. App.db.data = localStorage.getObject('ambari');
  418. App.db.data.RollbackHighAvailabilityWizard.tasksStatuses = tasksStatuses;
  419. localStorage.setObject('ambari', App.db.data);
  420. };
  421. App.db.setRollbackHighAvailabilityWizardRequestIds = function (requestIds) {
  422. App.db.data = localStorage.getObject('ambari');
  423. App.db.data.RollbackHighAvailabilityWizard.requestIds = requestIds;
  424. localStorage.setObject('ambari', App.db.data);
  425. };
  426. App.db.setRollbackHighAvailabilityWizardLogs = function (logs) {
  427. App.db.data = localStorage.getObject('ambari');
  428. App.db.data.RollbackHighAvailabilityWizard.logs = logs;
  429. localStorage.setObject('ambari', App.db.data);
  430. };
  431. App.db.setReassignMasterWizardRequestIds = function (requestIds) {
  432. App.db.data = localStorage.getObject('ambari');
  433. App.db.data.ReassignMaster.requestIds = requestIds;
  434. localStorage.setObject('ambari', App.db.data);
  435. };
  436. App.db.setReassignMasterWizardLogs = function (logs) {
  437. App.db.data = localStorage.getObject('ambari');
  438. App.db.data.ReassignMaster.logs = logs;
  439. localStorage.setObject('ambari', App.db.data);
  440. };
  441. App.db.setReassignMasterWizardComponentDir = function (componentDir) {
  442. App.db.data = localStorage.getObject('ambari');
  443. App.db.data.ReassignMaster.componentDir = componentDir;
  444. localStorage.setObject('ambari', App.db.data);
  445. };
  446. App.db.setReassignMasterWizardReassignHosts = function (reassignHosts) {
  447. App.db.data = localStorage.getObject('ambari');
  448. App.db.data.ReassignMaster.reassignHosts = reassignHosts;
  449. localStorage.setObject('ambari', App.db.data);
  450. };
  451. /*
  452. * getter methods
  453. */
  454. /**
  455. * Get user model from db
  456. * @return {*}
  457. */
  458. App.db.getUser = function () {
  459. console.log('TRACE: Entering db:getUser function');
  460. App.db.data = localStorage.getObject('ambari');
  461. return App.db.data.app.user;
  462. };
  463. App.db.getLoginName = function () {
  464. console.log('Trace: Entering db:getLoginName function');
  465. App.db.data = localStorage.getObject('ambari');
  466. return App.db.data.app.loginName;
  467. };
  468. App.db.getAuthenticated = function () {
  469. console.log('Trace: Entering db:getAuthenticated function');
  470. App.db.data = localStorage.getObject('ambari');
  471. return App.db.data.app.authenticated;
  472. };
  473. App.db.getAmbariStacks = function () {
  474. console.log('TRACE: Entering db:setAmbariStacks function');
  475. App.db.data = localStorage.getObject('ambari');
  476. return App.db.data.app.stacks;
  477. };
  478. App.db.getFilterConditions = function(name) {
  479. console.log('TRACE: Entering db:getFilterConditions function');
  480. App.db.data = localStorage.getObject('ambari');
  481. if (App.db.data.app.tables.filterConditions[name]) {
  482. return App.db.data.app.tables.filterConditions[name];
  483. }
  484. return null;
  485. };
  486. App.db.getDisplayLength = function(name) {
  487. console.log('TRACE: Entering db:getDisplayLength function');
  488. App.db.data = localStorage.getObject('ambari');
  489. if (App.db.data.app.tables.displayLength[name]) {
  490. return App.db.data.app.tables.displayLength[name];
  491. }
  492. return null;
  493. };
  494. App.db.getStartIndex = function(name) {
  495. console.log('TRACE: Entering db:getStartIndex function');
  496. App.db.data = localStorage.getObject('ambari');
  497. if (App.db.data.app.tables.startIndex[name]) {
  498. return App.db.data.app.tables.startIndex[name];
  499. }
  500. return null;
  501. };
  502. App.db.getSortingStatuses = function(name) {
  503. console.log('TRACE: Entering db:getSortingConditions function');
  504. App.db.data = localStorage.getObject('ambari');
  505. if (App.db.data.app.tables.sortingConditions[name]) {
  506. return App.db.data.app.tables.sortingConditions[name];
  507. }
  508. return null;
  509. };
  510. /**
  511. * Return current step for specified Wizard Type
  512. * @param wizardType
  513. * @return {*}
  514. */
  515. App.db.getWizardCurrentStep = function (wizardType) {
  516. console.log('Trace: Entering db:getWizardCurrentStep function for ', wizardType);
  517. if (App.db.data[wizardType.capitalize()]) {
  518. return App.db.data[wizardType.capitalize()].currentStep;
  519. }
  520. return 0;
  521. };
  522. App.db.getAllHostNames = function () {
  523. console.log('TRACE: Entering db:getHostNames function');
  524. App.db.data = localStorage.getObject('ambari');
  525. return App.db.data.Installer.hostNames;
  526. };
  527. App.db.getAllHostNamesPattern = function () {
  528. console.log('TRACE: Entering db:getHostNamesPattern function');
  529. App.db.data = localStorage.getObject('ambari');
  530. return App.db.data.Installer.hostNamesPattern;
  531. };
  532. App.db.getInstallOptions = function () {
  533. console.log('TRACE: Entering db:getInstallOptions function');
  534. App.db.data = localStorage.getObject('ambari');
  535. return App.db.data.Installer.installOptions;
  536. };
  537. App.db.isCompleted = function () {
  538. App.db.data = localStorage.getObject('ambari');
  539. return App.db.data.Installer.completed;
  540. };
  541. App.db.getHosts = function () {
  542. console.log('TRACE: Entering db:getHosts function');
  543. App.db.data = localStorage.getObject('ambari');
  544. return App.db.data.Installer.hostInfo;
  545. };
  546. App.db.getBootStatus = function () {
  547. console.log('TRACE: Entering db:getBootStatus function');
  548. App.db.data = localStorage.getObject('ambari');
  549. return App.db.data.Installer.bootStatus;
  550. };
  551. App.db.getService = function () {
  552. App.db.data = localStorage.getObject('ambari');
  553. return App.db.data.Installer.serviceInfo;
  554. };
  555. App.db.getSelectedServiceNames = function () {
  556. App.db.data = localStorage.getObject('ambari');
  557. return App.db.data.Installer.selectedServiceNames;
  558. };
  559. App.db.getClientsForSelectedServices = function () {
  560. App.db.data = localStorage.getObject('ambari');
  561. return App.db.data.Installer.clientInfo;
  562. };
  563. App.db.getMasterComponentHosts = function () {
  564. App.db.data = localStorage.getObject('ambari');
  565. return App.db.data.Installer.masterComponentHosts;
  566. };
  567. App.db.getSlaveComponentHosts = function () {
  568. App.db.data = localStorage.getObject('ambari');
  569. return App.db.data.Installer.slaveComponentHosts;
  570. };
  571. App.db.getServiceConfigs = function () {
  572. App.db.data = localStorage.getObject('ambari');
  573. return App.db.data.Installer.serviceConfigs;
  574. };
  575. App.db.getAdvancedServiceConfig = function () {
  576. App.db.data = localStorage.getObject('ambari');
  577. return App.db.data.Installer.advanceServiceConfigs;
  578. };
  579. App.db.getServiceConfigProperties = function () {
  580. App.db.data = localStorage.getObject('ambari');
  581. return App.db.data.Installer.configProperties;
  582. };
  583. App.db.getCluster = function () {
  584. console.log('TRACE: Entering db:getClusterStatus function');
  585. App.db.data = localStorage.getObject('ambari');
  586. return App.db.data.Installer.clusterStatus;
  587. };
  588. App.db.getMasterToReassign = function () {
  589. App.db.data = localStorage.getObject('ambari');
  590. return App.db.data.ReassignMaster.masterComponent;
  591. };
  592. App.db.getReassignTasksStatuses = function () {
  593. App.db.data = localStorage.getObject('ambari');
  594. return App.db.data.ReassignMaster.tasksStatuses;
  595. };
  596. App.db.getUpgradeOptions = function () {
  597. console.log('TRACE: Entering db:getUpgradeOptions function');
  598. App.db.data = localStorage.getObject('ambari');
  599. return App.db.data.StackUpgrade.upgradeOptions;
  600. };
  601. App.db.getSecurityWizardStatus = function () {
  602. App.db.data = localStorage.getObject('ambari');
  603. if (!App.db.data.AddSecurity) {
  604. App.db.data.AddSecurity = {};
  605. }
  606. return App.db.data.AddSecurity.status;
  607. };
  608. App.db.getDisableSecurityStatus = function () {
  609. App.db.data = localStorage.getObject('ambari');
  610. if (!App.db.data.AddSecurity) {
  611. App.db.data.AddSecurity = {};
  612. }
  613. return App.db.data.AddSecurity.disableSecurityStatus;
  614. };
  615. App.db.getSecurityDeployCommands = function () {
  616. App.db.data = localStorage.getObject('ambari');
  617. return App.db.data.AddSecurity.securityDeployCommands;
  618. };
  619. App.db.getSecureConfigProperties = function () {
  620. App.db.data = localStorage.getObject('ambari');
  621. return App.db.data.AddSecurity.secureConfigProperties;
  622. };
  623. App.db.getSecureUserInfo = function () {
  624. App.db.data = localStorage.getObject('ambari');
  625. return App.db.data.AddSecurity.secureUserInfo;
  626. };
  627. App.db.getIsNameNodeHa = function (haStatus) {
  628. App.db.data = localStorage.getObject('ambari');
  629. return App.db.data.AddSecurity.haStatus;
  630. };
  631. App.db.getStacks = function () {
  632. App.db.data = localStorage.getObject('ambari');
  633. return App.db.data.app.stacksVersions;
  634. };
  635. App.db.getServices = function () {
  636. App.db.data = localStorage.getObject('ambari');
  637. return App.db.data.app.services;
  638. };
  639. App.db.getHighAvailabilityWizardHdfsUser = function () {
  640. App.db.data = localStorage.getObject('ambari');
  641. return App.db.data.HighAvailabilityWizard.hdfsUser;
  642. };
  643. App.db.getHighAvailabilityWizardTasksStatuses = function () {
  644. App.db.data = localStorage.getObject('ambari');
  645. return App.db.data.HighAvailabilityWizard.tasksStatuses;
  646. };
  647. App.db.getHighAvailabilityWizardFailedTask = function () {
  648. App.db.data = localStorage.getObject('ambari');
  649. return App.db.data.HighAvailabilityWizard.failedTask;
  650. };
  651. App.db.getHighAvailabilityWizardHdfsClientHosts = function () {
  652. App.db.data = localStorage.getObject('ambari');
  653. return App.db.data.HighAvailabilityWizard.hdfsClientHostNames;
  654. };
  655. App.db.getHighAvailabilityWizardConfigTag = function (tag) {
  656. App.db.data = localStorage.getObject('ambari');
  657. return App.db.data.HighAvailabilityWizard[tag];
  658. };
  659. App.db.getHighAvailabilityWizardRequestIds = function () {
  660. App.db.data = localStorage.getObject('ambari');
  661. return App.db.data.HighAvailabilityWizard.requestIds;
  662. };
  663. App.db.getHighAvailabilityWizardLogs = function () {
  664. App.db.data = localStorage.getObject('ambari');
  665. return App.db.data.HighAvailabilityWizard.logs;
  666. };
  667. App.db.getHighAvailabilityWizardNameServiceId = function () {
  668. App.db.data = localStorage.getObject('ambari');
  669. return App.db.data.HighAvailabilityWizard.nameServiceId;
  670. };
  671. App.db.getRollbackHighAvailabilityWizardTasksStatuses = function () {
  672. App.db.data = localStorage.getObject('ambari');
  673. return App.db.data.RollbackHighAvailabilityWizard.tasksStatuses;
  674. };
  675. App.db.getRollbackHighAvailabilityWizardRequestIds = function () {
  676. App.db.data = localStorage.getObject('ambari');
  677. return App.db.data.RollbackHighAvailabilityWizard.requestIds;
  678. };
  679. App.db.getRollbackHighAvailabilityWizardLogs = function () {
  680. App.db.data = localStorage.getObject('ambari');
  681. return App.db.data.RollbackHighAvailabilityWizard.logs;
  682. };
  683. App.db.getRollBackHighAvailabilityWizardAddNNHost = function (host) {
  684. App.db.data = localStorage.getObject('ambari');
  685. return App.db.data.RollbackHighAvailabilityWizard.addNNHost;
  686. };
  687. App.db.getRollBackHighAvailabilityWizardSNNHost = function (host) {
  688. App.db.data = localStorage.getObject('ambari');
  689. return App.db.data.RollbackHighAvailabilityWizard.sNNHost;
  690. };
  691. App.db.getReassignMasterWizardRequestIds = function () {
  692. App.db.data = localStorage.getObject('ambari');
  693. return App.db.data.ReassignMaster.requestIds;
  694. };
  695. App.db.getReassignMasterWizardLogs = function () {
  696. App.db.data = localStorage.getObject('ambari');
  697. return App.db.data.ReassignMaster.logs;
  698. };
  699. App.db.getReassignMasterWizardComponentDir = function () {
  700. App.db.data = localStorage.getObject('ambari');
  701. return App.db.data.ReassignMaster.componentDir;
  702. };
  703. App.db.getConfigs = function () {
  704. App.db.data = localStorage.getObject('ambari');
  705. return App.db.data.app.configs;
  706. };
  707. App.db.getReassignMasterWizardReassignHosts = function () {
  708. App.db.data = localStorage.getObject('ambari');
  709. return App.db.data.ReassignMaster.reassignHosts;
  710. };
  711. module.exports = App.db;