2 * ============LICENSE_START=======================================================
\r
4 * ================================================================================
\r
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
\r
6 * ================================================================================
\r
7 * Licensed under the Apache License, Version 2.0 (the "License");
\r
8 * you may not use this file except in compliance with the License.
\r
9 * You may obtain a copy of the License at
\r
11 * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * Unless required by applicable law or agreed to in writing, software
\r
14 * distributed under the License is distributed on an "AS IS" BASIS,
\r
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
16 * See the License for the specific language governing permissions and
\r
17 * limitations under the License.
\r
18 * ============LICENSE_END=========================================================
\r
23 var MsoService = function($http, $log, PropertyService, AaiService, UtilityService, COMPONENT, FIELD, $q) {
\r
28 * Common function to handle both create and delete instance requests
\r
30 var requestInstanceUpdate = function(request, successCallbackFunction) {
\r
31 $log.debug("MsoService:requestInstanceUpdate: request:");
\r
32 $log.debug(request);
\r
33 $http.post( "mso/" + request.url, {
\r
34 requestDetails : request.requestDetails
\r
36 timeout : PropertyService.getServerResponseTimeoutMsec()
\r
37 }).then(successCallbackFunction)["catch"]
\r
38 (UtilityService.runHttpErrorHandler);
\r
41 var checkValidStatus = function(response) {
\r
42 if (response.data.status < 200 || response.data.status > 202) {
\r
44 type : FIELD.ID.MSO_FAILURE
\r
49 var addListEntry = function(name, value) {
\r
50 var entry = '"' + name + '": ';
\r
51 if (value === undefined) {
\r
52 return entry + "undefined";
\r
54 return entry + '"' + value + '"';
\r
58 var activateInstance = function(instance, model) {
\r
59 var deferred = $q.defer();
\r
61 AaiService.getLoggedInUserID(function (response) {
\r
62 var userID = response.data;
\r
64 AaiService.getAicZoneForPNF(instance.globalCustomerId, model.service.serviceType, instance.serviceInstanceId, function (aicZone) {
\r
66 var requestDetails = {
\r
67 "modelInstanceId": serviceInstanceId,
\r
70 "modelType": "service",
\r
71 "modelInvariantId": model.service.invariantUuid,
\r
72 "modelVersionId": model.service.uuid,
\r
73 "modelName": model.service.name,
\r
74 "modelVersion": model.service.version
\r
78 "requestorId": userID
\r
80 "requestParameters": {
\r
89 console.log("requestDetails", requestDetails);
\r
91 $http.post(COMPONENT.MSO_ACTIVATE_INSTANCE.replace('@serviceInstanceId', requestDetails.modelInstanceId),
\r
92 requestDetails.requestDetails)
\r
93 .success(function (response) {
\r
94 deferred.resolve({data: response});
\r
96 .error(function(data, status, headers, config) {
\r
97 deferred.reject({message: data, status: status});
\r
102 return deferred.promise;
\r
106 createInstance : requestInstanceUpdate,
\r
107 deleteInstance : requestInstanceUpdate,
\r
108 getOrchestrationRequest : function(requestId, successCallbackFunction) {
\r
109 $log.debug("MsoService:getOrchestrationRequest: requestId: "
\r
112 "mso/mso_get_orch_req/"
\r
113 + requestId + "?r=" + Math.random(),
\r
115 timeout : PropertyService
\r
116 .getServerResponseTimeoutMsec()
\r
117 }).then(successCallbackFunction)["catch"]
\r
118 (UtilityService.runHttpErrorHandler);
\r
120 getOrchestrationRequests : function(filterString,
\r
121 successCallbackFunction) {
\r
122 $log.debug("MsoService:getOrchestrationRequests: filterString: "
\r
125 "mso/mso_get_orch_reqs/"
\r
126 + encodeURIComponent(filterString) + "?r="
\r
129 timeout : PropertyService
\r
130 .getServerResponseTimeoutMsec()
\r
131 }).then(successCallbackFunction)["catch"]
\r
132 (UtilityService.runHttpErrorHandler);
\r
134 getFormattedCommonResponse : function(response) {
\r
135 return UtilityService.getCurrentTime() + " HTTP Status: "
\r
136 + UtilityService.getHttpStatusText(response.data.status)
\r
137 + "\n" + angular.toJson(response.data.entity, true)
\r
140 checkValidStatus : checkValidStatus,
\r
141 getFormattedGetOrchestrationRequestsResponse : function(response) {
\r
142 UtilityService.checkUndefined(COMPONENT.ENTITY, response.data.entity);
\r
143 UtilityService.checkUndefined(COMPONENT.STATUS, response.data.status);
\r
144 checkValidStatus(response);
\r
146 var list = response.data.entity.requestList
\r
147 UtilityService.checkUndefined(FIELD.ID.REQUEST_LIST, list);
\r
151 for (var i = 0; i < list.length; i++) {
\r
152 var request = list[i].request;
\r
153 message += addListEntry(FIELD.ID.REQUEST_ID, request.requestId) + ",\n";
\r
154 message += addListEntry(FIELD.ID.REQUEST_TYPE, request.requestType)
\r
156 var status = request.requestStatus;
\r
157 if (status === undefined) {
\r
158 message += addListEntry(FIELD.ID.REQUEST_STATUS, undefined) + "\n";
\r
160 message += addListEntry(FIELD.ID.TIMESTAMP, status.timestamp)
\r
162 message += addListEntry(FIELD.ID.REQUEST_STATE, status.requestState)
\r
164 message += addListEntry(FIELD.ID.REQUEST_STATUS,
\r
165 status.statusMessage)
\r
167 message += addListEntry(FIELD.ID.PERCENT_PROGRESS,
\r
168 status.percentProgress)
\r
171 if (i < (list.length - 1)) {
\r
177 getFormattedSingleGetOrchestrationRequestResponse : function (response) {
\r
178 UtilityService.checkUndefined(COMPONENT.ENTITY, response.data.entity);
\r
179 UtilityService.checkUndefined(COMPONENT.STATUS, response.data.status);
\r
180 checkValidStatus(response);
\r
183 if ( UtilityService.hasContents (response.data.entity.request) ) {
\r
184 var request = response.data.entity.request;
\r
185 message += addListEntry(FIELD.ID.REQUEST_ID, request.requestId) + ",\n";
\r
186 message += addListEntry(FIELD.ID.REQUEST_TYPE, request.requestType)
\r
188 var status = request.requestStatus;
\r
189 if (status === undefined) {
\r
190 message += addListEntry(FIELD.ID.REQUEST_STATUS, undefined) + "\n";
\r
192 message += addListEntry(FIELD.ID.TIMESTAMP, status.timestamp)
\r
194 message += addListEntry(FIELD.ID.REQUEST_STATE, status.requestState)
\r
196 message += addListEntry(FIELD.ID.REQUEST_STATUS,
\r
197 status.statusMessage)
\r
199 message += addListEntry(FIELD.ID.PERCENT_PROGRESS,
\r
200 status.percentProgress)
\r
206 getManualTasks : function(requestId) {
\r
207 $log.debug("MsoService:getManualTasks: requestId: "
\r
210 "mso/mso_get_man_task/" + requestId,
\r
212 timeout: PropertyService
\r
213 .getServerResponseTimeoutMsec()
\r
215 .catch(UtilityService.runHttpErrorHandler);
\r
217 completeTask: function(taskId, taskToComplete) {
\r
218 $log.debug("MsoService:completeTask: taskId: "
\r
220 AaiService.getLoggedInUserID(function (response) {
\r
221 var attuid = response.data;
\r
222 var source = "VID";
\r
227 responseValue: taskToComplete,
\r
228 requestorId: attuid
\r
234 "mso/mso_post_man_task/" + taskId, data,
\r
236 timeout: PropertyService
\r
237 .getServerResponseTimeoutMsec()
\r
239 .catch(UtilityService.runHttpErrorHandler);
\r
242 showResponseContentError : function(error, showFunction) {
\r
243 switch (error.type) {
\r
244 case "undefinedObject":
\r
245 showFunction(FIELD.ERROR.SYSTEM_FAILURE, error.message);
\r
248 showFunction(FIELD.ERROR.MSO, "")
\r
251 showFunction(FIELD.ERROR.SYSTEM_FAILURE);
\r
254 activateInstance: activateInstance
\r
258 appDS2.factory("MsoService", [ "$http", "$log", "PropertyService",
\r
259 "AaiService", "UtilityService", "COMPONENT", "FIELD", "$q", MsoService ]);
\r