org.onap migration
[vid.git] / vid-app-common / src / main / webapp / app / vid / scripts / controller / ServiceModelController.js
index 8844d40..967a390 100755 (executable)
                                $scope.services = [];\r
                                if (response.data && angular.isArray(response.data.services)) {\r
                                        wholeData = response.data.services;\r
-                                       $scope.services = $scope.filterDataWithHigerVersion(wholeData);\r
+                                       $scope.services = $scope.filterDataWithHigherVersion(wholeData);\r
                                        $scope.viewPerPage=10;\r
                                        $scope.totalPage=$scope.services.length/$scope.viewPerPage;\r
                                        $scope.sortBy=COMPONENT.NAME;\r
                                        $scope.scrollViewPerPage=2;\r
                                        $scope.currentPage=1;\r
                                        $scope.searchCategory;\r
-                                       $scope.searchString="";\r
                                        $scope.currentPageNum=1;\r
                                        $scope.isSpinnerVisible = false;\r
                                        $scope.isProgressVisible = false;\r
                        }, function errorCallback(response) {\r
                                console.log("Error: " + response);\r
                        });\r
-               }\r
-               $scope.isFiltered=function(arr,obj){\r
-                       var filtered = false;\r
-                       if(arr.length>0){\r
-                               for(var i=0;i<arr.length;i++){\r
-                                       if((arr[i].name == obj.name) && (obj.invariantUUID == arr[i].invariantUUID)){\r
-                                               filtered = true;\r
-                                       }\r
-                               }\r
-                       }\r
-                       return filtered;\r
-               }\r
+               };\r
+\r
                var wholeData=[];\r
-               $scope.filterDataWithHigerVersion = function(serviceData){\r
-                       var fiterDataServices = [];\r
-                       for(var i=0;i<serviceData.length;i++){\r
-                               var higherVersion = serviceData[i];\r
-                               if(!$scope.isFiltered(fiterDataServices,serviceData[i])){\r
-                                       for(var j=i;j<serviceData.length;j++){\r
-                                               if((serviceData[i].invariantUUID.trim() == serviceData[j].invariantUUID.trim()) && (serviceData[i].name.trim() == serviceData[j].name.trim()) && (parseFloat(serviceData[j].version.trim())>=parseFloat(serviceData[i].version.trim()))){\r
-                                                       var data = $scope.isThisHigher(fiterDataServices,serviceData[j]);\r
-                                                       if(data.isHigher){\r
-                                                               fiterDataServices[data.index] = serviceData[j];\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-                       return fiterDataServices;\r
-               }\r
 \r
-               $scope.isThisHigher = function(arr,obj){\r
-                       var returnObj = {\r
-                                       isHigher:false,\r
-                                       index:0\r
-                       };\r
-                       if(arr.length>0){\r
-                               var isNotMatched = true;\r
-                               for(var i=0;i<arr.length;i++){\r
-                                       if((arr[i].name == obj.name) && (arr[i].invariantUUID == obj.invariantUUID ) && (arr[i].version<obj.version) ){\r
-                                               isNotMatched = false;\r
-                                               returnObj = {\r
-                                                               isHigher:true,\r
-                                                               index:i\r
-                                               };\r
+               $scope.filterDataWithHigherVersion = function(serviceData){\r
+                       var delimiter = '$$';\r
+                       var fiterDataServices = {};\r
+                       for(var i=0;i<serviceData.length;i++) {\r
+                               var index = serviceData[i].invariantUUID.trim() + delimiter + serviceData[i].name.trim();\r
+                               if(!fiterDataServices[index]) {\r
+                    var hasPreviousVersion = false;\r
+                    fiterDataServices[index] = {\r
+                        service: serviceData[i],\r
+                        hasPreviousVersion: false\r
+                    };\r
+                }\r
+                else {\r
+                    fiterDataServices[index].hasPreviousVersion = true;\r
+                    if(parseFloat(serviceData[i].version.trim())>parseFloat(fiterDataServices[index].service.version.trim())) {\r
+                        fiterDataServices[index].service = serviceData[i];\r
                                        }\r
                                }\r
-                               if(isNotMatched && !$scope.isFiltered(arr,obj)){\r
-                                       returnObj = {\r
-                                                       isHigher:true,\r
-                                                       index:arr.length\r
-                                       };\r
-                               }\r
-                       }else{\r
-                               returnObj = {\r
-                                               isHigher:true,\r
-                                               index:0\r
-                               }\r
                        }\r
-                       return returnObj;\r
-               }\r
+            return Object.keys(fiterDataServices).map(function(key) {\r
+               var service = fiterDataServices[key].service;\r
+               service.hasPreviousVersion = fiterDataServices[key].hasPreviousVersion;\r
+                return  service;\r
+            });\r
+               };\r
 \r
                $scope.init = function() {\r
                var msecs = PropertyService.retrieveMsoMaxPollingIntervalMsec();\r