12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- var App = require('app');
- var stringUtils = require('utils/string_utils');
- App.stackVersionMapper = App.QuickDataMapper.create({
- modelStackVerion: App.StackVersion,
- modelStack: {
- "id": "id",
- "cluster_name": "cluster_name",
- "stack": "stack",
- "version": "version",
- "repository_version_id": "repository_version_id",
- "state": "state",
- "not_installed_hosts": "host_states.NOT_INSTALLED",
- "installing_hosts": "host_states.INSTALLING",
- "installed_hosts": "host_states.INSTALLED",
- "install_failed_hosts": "host_states.INSTALL_FAILED",
- "out_of_sync_hosts": "host_states.OUT_OF_SYNC",
- "upgrading_hosts": "host_states.UPGRADING",
- "upgraded_hosts": "host_states.UPGRADED",
- "upgrade_failed_hosts": "host_states.UPGRADE_FAILED",
- "current_hosts": "host_states.CURRENT"
- },
- map: function (json) {
- var modelStackVerion = this.get('modelStackVerion');
- var resultStack = [];
- if (json && json.items) {
- json.items.sort(function (a, b) {
- return stringUtils.compareVersions(a.repository_versions[0].RepositoryVersions.repository_version, b.repository_versions[0].RepositoryVersions.repository_version);
- });
- json.items.forEach(function (item) {
- var stack = item.ClusterStackVersions;
- stack.repository_version_id = item.ClusterStackVersions.repository_version;
- /**
- * this property contains array of hosts on which repoversion wasn't installed
- * possible states:
- * <code>INSTALLING<code>
- * <code>INSTALL_FAILED<code>
- * <code>OUT_OF_SYNC<code>
- */
- stack.host_states.NOT_INSTALLED = item.ClusterStackVersions.host_states.INSTALLING
- .concat(item.ClusterStackVersions.host_states.INSTALL_FAILED || [])
- .concat(item.ClusterStackVersions.host_states.OUT_OF_SYNC || []);
- /**
- * this property contains array of hosts on which repoversion was installed
- * but state of repoveriosn for this hosts can be any postinstalled state
- * possible states:
- * <code>INSTALLED<code>
- * <code>UPGRADING<code>
- * <code>UPGRADED<code>
- * <code>UPGRADE_FAILED<code>
- */
- stack.host_states.INSTALLED = item.ClusterStackVersions.host_states.INSTALLED
- .concat(item.ClusterStackVersions.host_states.UPGRADING || [])
- .concat(item.ClusterStackVersions.host_states.UPGRADED || [])
- .concat(item.ClusterStackVersions.host_states.UPGRADE_FAILED || []);
- if (item.repository_versions && item.repository_versions[0]) {
- item.repository_versions[0].RepositoryVersions.stackVersionId = item.ClusterStackVersions.id;
- App.repoVersionMapper.map({"items": item.repository_versions }, true, true);
- }
- resultStack.push(this.parseIt(stack, this.get('modelStack')));
- }, this);
- }
- App.store.commit();
- App.store.loadMany(modelStackVerion, resultStack);
- }
- });
|