New Optimization Policy
[policy/engine.git] / POLICY-SDK-APP / src / main / webapp / app / policyApp / controller / dictionaryController / MSModelsDictController.js
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP Policy Engine
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20 app.controller('editMSModelController' ,  function ($scope, $modalInstance, message, $http, UserInfoServiceDS2, Notification){
21     if(message.microServiceModelsDictionaryData==null)
22         $scope.label='Add Micro Service Model'
23     else{
24         $scope.label='Edit Micro Service Model'
25         $scope.disableCd=true;
26     }
27         
28         /*getting user info from session*/
29         var userid = null;
30         UserInfoServiceDS2.getFunctionalMenuStaticDetailSession()
31                 .then(function (response) {                     
32                         userid = response.userid;               
33          });
34         
35         var valid = true;
36     $scope.editMSmodelName = message.microServiceModelsDictionaryData;
37
38     $scope.uploadFile = function(files) {
39         var extn = files[0].name.substr(files[0].name.lastIndexOf('.')+1);
40         if(extn == 'zip' || extn == 'xmi'||  extn == 'yml'){
41                 valid = true;
42                 var fd = new FormData();
43                 fd.append("file", files[0]);
44                 $http.post("ms_dictionary/set_MSModelData", fd, {
45                         withCredentials: false,
46                         headers: {'Content-Type': undefined },
47                         transformRequest: angular.identity
48                 }).success(function(data){
49                         if(data.errorMsg != undefined){
50                                 Notification.error(data.errorMsg);
51                                 valid = false;
52                                 return;
53                         }                       
54                 if(data.classListDatas  == "EMPTY"){
55                         Notification.error("No Micro Services Avaialble.")
56                 }else{      
57                         $scope.classListDatas=data.classListDatas;
58                         $scope.modalDatas = data.modelDatas;
59                         $scope.modelType= data.modelType;
60                         $scope.dataOrderInfo= data.dataOrderInfo;
61                         console.log($scope.classListDatas);
62                 }
63             }).error( );
64         }else{
65                 Notification.error("Micro Service Model Upload file should ends with .zip or .xmi extension");
66                 valid = false;
67         }
68
69     };
70     
71     $scope.saveMSModel = function(microServiceModelsDictionaryData) {
72         if(valid){
73                  var uuu = "saveDictionary/ms_dictionary/save_model";
74                 var postData={microServiceModelsDictionaryData: microServiceModelsDictionaryData, userid: userid, classMap: $scope.modalDatas,modelType:$scope.modelType, dataOrderInfo:$scope.dataOrderInfo};
75                 $.ajax({
76                     type : 'POST',
77                     url : uuu,
78                     dataType: 'json',
79                     contentType: 'application/json',
80                     data: JSON.stringify(postData),
81                     success : function(data){
82                         $scope.$apply(function(){
83                             $scope.microServiceModelsDictionaryDatas=data.microServiceModelsDictionaryDatas;});
84                         if($scope.microServiceModelsDictionaryDatas == "Duplicate"){
85                                 Notification.error("MS Models Dictionary exists with Same Model Name.")
86                         }else{      
87                                 console.log($scope.microServiceModelsDictionaryDatas);
88                             $modalInstance.close({microServiceModelsDictionaryDatas:$scope.microServiceModelsDictionaryDatas});
89                         }
90                     },
91                     error : function(data){
92                         Notification.error("Error while saving.");
93                     }
94                 });
95         }else{
96                 Notification.error("Please check Micro Service Model Upload file format.");
97         }
98        
99     };
100
101     $scope.close = function() {
102         $modalInstance.close();
103     };
104 });