Mercurial > hg > thermostat-ng > web-client
view src/app/components/jvm-info/kill-vm.service.js @ 273:84d4e3e9d77a
Use command channel version 0.0.1 rather than v1
Reviewed-by: jkang
Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2017-October/025547.html
author | Andrew Azores <aazores@redhat.com> |
---|---|
date | Thu, 26 Oct 2017 10:41:29 -0400 |
parents | 23d561f227fd |
children |
line wrap: on
line source
/** * Copyright 2012-2017 Red Hat, Inc. * * Thermostat is distributed under the GNU General Public License, * version 2 or any later version (with a special exception described * below, commonly known as the "Classpath Exception"). * * A copy of GNU General Public License (GPL) is included in this * distribution, in the file COPYING. * * Linking Thermostat code with other modules is making a combined work * based on Thermostat. Thus, the terms and conditions of the GPL * cover the whole combination. * * As a special exception, the copyright holders of Thermostat give you * permission to link this code with independent modules to produce an * executable, regardless of the license terms of these independent * modules, and to copy and distribute the resulting executable under * terms of your choice, provided that you also meet, for each linked * independent module, the terms and conditions of the license of that * module. An independent module is a module which is not derived from * or based on Thermostat code. If you modify Thermostat, you may * extend this exception to your version of the software, but you are * not obligated to do so. If you do not wish to do so, delete this * exception statement from your version. */ import servicesModule from 'shared/services/services.module.js'; import configModule from 'shared/config/config.module.js'; import urlJoin from 'url-join'; class KillVmService { constructor ($q, commandChannelService) { 'ngInject'; this.q = $q; this.commandChannel = commandChannelService; } getPath (systemId, agentId, jvmId) { return urlJoin( 'commands', '0.0.1', 'actions', 'kill_vm', 'systems', systemId, 'agents', agentId, 'jvms', jvmId, 'sequence', this.commandChannel.sequence ); } killVm (systemId, agentId, jvmId, jvmPid) { return this.q((resolve, reject) => { this.commandChannel.sendMessage(this.getPath(systemId, agentId, jvmId), { 'vm-pid': jvmPid }).then( success => { resolve({ status: success.payload.respType.value === this.commandChannel.responseCodes.OK.value, reason: success.payload.respType.message }); }, reject ); }); } } angular .module(servicesModule) .service('killVmService', KillVmService); export default angular .module('jvmInfo.killVm.service', [configModule]) .service('killVmService', KillVmService) .name;