Yangman - fix saving collections 44/42944/6
authorStanislav Jamrich <sjamrich@cisco.com>
Tue, 2 Aug 2016 07:33:31 +0000 (09:33 +0200)
committerLubomir Balogh <lubalogh@cisco.com>
Tue, 9 Aug 2016 12:45:49 +0000 (14:45 +0200)
- expand collections expanded before refresh
- do not save request status to collection

Change-Id: I0611f7a21b4322bd10c3662c0af20060806b0573
Signed-off-by: Stanislav Jamrich <sjamrich@cisco.com>
modules/yangman-resources/src/main/resources/yangman/controllers/requests-list.controller.js
modules/yangman-resources/src/main/resources/yangman/services/requests.services.js

index ded26755576472de256e01b80231639177d9a83e..2e6741dcbfdabfd451cfb0a5025641314301480e 100644 (file)
@@ -541,7 +541,10 @@ define([
                 }
             });
 
-            $scope.$on('YANGMAN_REFRESH_COLLECTIONS', loadCollectionsList);
+            $scope.$on('YANGMAN_REFRESH_COLLECTIONS', function (event, params){
+                loadCollectionsList();
+                (params.cbk || angular.noop)();
+            });
 
             // list type dependend operations
             if (mainList === 'history') {
@@ -560,14 +563,14 @@ define([
                 // saving from request header
                 $scope.$on('YANGMAN_SAVE_REQUEST_TO_COLLECTION', saveRequestFromExt);
                 // saving collections expanded status on refresh
-                $scope.$on('YANGMAN_REFRESH_AND_EXPAND_COLLECTIONS', function(event, params){
-                    $scope.rootBroadcast('YANGMAN_REFRESH_COLLECTIONS');
-                    (params.cbk || angular.noop)();
+                $scope.$on('YANGMAN_REFRESH_AND_EXPAND_COLLECTIONS', function(){
+                    var expandedColNames = vm.collectionList.getExpandedCollectionNames();
+                    $scope.rootBroadcast('YANGMAN_REFRESH_COLLECTIONS', {}, function (){
+                        vm.collectionList.expandCollectionByNames(expandedColNames);
+                    });
                 });
             }
 
-
-
         }
 
 
@@ -626,10 +629,7 @@ define([
          * Refresh and expand collections
          */
         function refreshCollectionsWithExpansion(){
-            var expandedCollNames = vm.collectionList.getExpandedCollectionNames();
-            $scope.rootBroadcast('YANGMAN_REFRESH_AND_EXPAND_COLLECTIONS', null, function (){
-                vm.collectionList.expandCollectionByNames(expandedCollNames);
-            });
+            $scope.rootBroadcast('YANGMAN_REFRESH_AND_EXPAND_COLLECTIONS');
         }
 
     }
index c82bb07d36059cb646f96831e235f31688b8d5e7..e02c862ac74d98f69ff787a2579dbb28acba3e1d 100644 (file)
@@ -7,165 +7,165 @@ define([
 
     angular.module('app.yangman').service('RequestsService', RequestsService);
 
-        RequestsService.$inject = [
-            '$filter', 'PathUtilsService', 'ParametersService', 'ParsingJsonService', 'YangUtilsService',
-            'RequestBuilderService', 'constants',
-        ];
+    RequestsService.$inject = [
+        '$filter', 'PathUtilsService', 'ParametersService', 'ParsingJsonService', 'YangUtilsService',
+        'RequestBuilderService', 'constants',
+    ];
 
-        function RequestsService(
-            $filter, PathUtilsService, ParametersService, ParsingJsonService, YangUtilsService, RequestBuilderService, constants
-        ){
+    function RequestsService($filter, PathUtilsService, ParametersService, ParsingJsonService, YangUtilsService,
+                             RequestBuilderService, constants) {
 
         var service = {};
 
         service.applyParamsToObj = applyParamsToObj;
         service.applyParamsToStr = applyParamsToStr;
-            service.clearUnnecessaryProperties = clearUnnecessaryProperties;
+        service.clearUnnecessaryProperties = clearUnnecessaryProperties;
         service.createEmptyCollectionList = createEmptyCollectionList;
         service.createEmptyHistoryList = createEmptyHistoryList;
         service.createHistoryRequestFromElement = createHistoryRequestFromElement;
         service.createHistoryRequest = createHistoryRequest;
-            service.fillRequestByMethod = fillRequestByMethod;
-            service.fillRequestByViewType = fillRequestByViewType;
-            service.findIdentifierByParam = findIdentifierByParam;
+        service.fillRequestByMethod = fillRequestByMethod;
+        service.fillRequestByViewType = fillRequestByViewType;
+        service.findIdentifierByParam = findIdentifierByParam;
         service.scanDataParams = scanDataParams;
         service.replaceStringInText = replaceStringInText;
 
-            /**
-             * Clear unnecesary properties for saving to collection
-             * @param request
-             */
-            function clearUnnecessaryProperties(request){
-                request.responseStatus = null;
-                request.responseStatusText = null;
-                request.responseTime = null;
+        /**
+         * Clear unnecesary properties for saving to collection
+         * @param request
+         */
+        function clearUnnecessaryProperties(request){
+            request.status = '';
+            request.responseStatus = null;
+            request.responseStatusText = null;
+            request.responseTime = null;
 
-                return request;
-            }
+            return request;
+        }
 
-            /**
-             * Find parametrized identifier in path array
-             * @param params
-             * @param pathElement
-             * @returns {*}
-             */
-            function findIdentifierByParam(params, pathElement){
-                var foundIdentifier = null;
+        /**
+         * Find parametrized identifier in path array
+         * @param params
+         * @param pathElement
+         * @returns {*}
+         */
+        function findIdentifierByParam(params, pathElement){
+            var foundIdentifier = null;
 
-                if ( pathElement.hasIdentifier() ){
-                    pathElement.identifiers.some(function (item){
-                        return params.list.some(function (param){
-                            var contained = item.value.indexOf('<<' + param.name + '>>') > -1;
+            if ( pathElement.hasIdentifier() ){
+                pathElement.identifiers.some(function (item){
+                    return params.list.some(function (param){
+                        var contained = item.value.indexOf('<<' + param.name + '>>') > -1;
 
-                            if ( contained ){
-                                foundIdentifier = item;
-                            }
+                        if ( contained ){
+                            foundIdentifier = item;
+                        }
 
-                            return contained;
-                        });
+                        return contained;
                     });
-                }
-
-                return foundIdentifier;
+                });
             }
 
+            return foundIdentifier;
+        }
+
+        /**
+         * Get data for saving request depend on view type
+         * @param node
+         * @param viewType
+         * @param requestData
+         * @param dataType
+         * @param method
+         * @returns {*}
+         */
+        function fillRequestByViewType(node, viewType, requestData, dataType, method){
+            var setDataByViewType = {
+                form: function () {
+                    var data = {},
+                        emptyObject = method === constants.OPERATION_POST && dataType.toUpperCase() === constants.REQUEST_DATA_TYPE_RECEIVED && node.type !== constants.NODE_RPC;
+
+                    if ( !emptyObject ) {
+                        node.buildRequest(RequestBuilderService, data, node.module);
+                        data = checkNodeTypeData(node, data, dataType, requestData);
+                    }
+
+                    return data;
+                },
+                'req-data': function (){
+                    return requestData ? angular.fromJson(requestData) : {};
+                },
+            };
+
+            return setDataByViewType[viewType]();
+
             /**
-             * Get data for saving request depend on view type
+             * Exceptions based on node type
              * @param node
-             * @param viewType
-             * @param requestData
+             * @param data
              * @param dataType
-             * @param method
+             * @param requestData
              * @returns {*}
              */
-            function fillRequestByViewType(node, viewType, requestData, dataType, method){
-                var setDataByViewType = {
-                    form: function () {
-                        var data = {},
-                            emptyObject = method === constants.OPERATION_POST && dataType.toUpperCase() === constants.REQUEST_DATA_TYPE_RECEIVED && node.type !== constants.NODE_RPC;
-
-                        if ( !emptyObject ) {
-                            node.buildRequest(RequestBuilderService, data, node.module);
-                            data = checkNodeTypeData(node, data, dataType, requestData);
-                        }
+            function checkNodeTypeData(node, data, dataType, requestData){
+                var copyData = angular.copy(data),
+                    setDataByNodeType = {
+                        rpc: function (){
 
-                        return data;
-                    },
-                    'req-data': function (){
-                        return requestData ? angular.fromJson(requestData) : {};
-                    },
-                };
-
-                return setDataByViewType[viewType]();
-
-                /**
-                 * Exceptions based on node type
-                 * @param node
-                 * @param data
-                 * @param dataType
-                 * @param requestData
-                 * @returns {*}
-                 */
-                function checkNodeTypeData(node, data, dataType, requestData){
-                    var copyData = angular.copy(data),
-                        setDataByNodeType = {
-                            rpc: function (){
-
-                                if ( dataType.toUpperCase() === constants.REQUEST_DATA_TYPE_RECEIVED ) {
-                                    copyData = requestData ? angular.fromJson(requestData) : {};
-                                }
-
-                                return copyData;
-                            },
-                            default: function () {
-                                return data;
-                            },
-                        };
-
-                    return (setDataByNodeType[node.type] || setDataByNodeType.default)();
-                }
-            }
+                            if ( dataType.toUpperCase() === constants.REQUEST_DATA_TYPE_RECEIVED ) {
+                                copyData = requestData ? angular.fromJson(requestData) : {};
+                            }
 
-            /**
-             * Fill history request data depend on selected method - saving to collection
-             * @param requestObj
-             * @param sentData
-             * @param receivedData
-             * @param method
-             */
-            function fillRequestByMethod(requestObj, sentData, receivedData, method, node, viewType){
-                var setDataByMethod = {
-                        GET: function (){
-                            return {
-                                sentData: {},
-                                receivedData: receivedData.reqData ? angular.fromJson(receivedData.reqData) : {},
-                            };
-                        },
-                        POST: function (){
-                            return {
-                                sentData: fillRequestByViewType(node, viewType, sentData.reqData, 'sent', method),
-                                receivedData: fillRequestByViewType(
-                                    node, viewType, receivedData.reqData, constants.REQUEST_DATA_TYPE_RECEIVED, method
-                                ),
-                            };
+                            return copyData;
                         },
-                        PUT: function (){
-                            return {
-                                sentData: fillRequestByViewType(node, viewType, sentData.reqData, 'sent', method),
-                                receivedData: {},
-                            };
+                        default: function () {
+                            return data;
                         },
-                        DELETE: function (){
-                            return {
-                                sentData: {},
-                                receivedData: {},
-                            };
-                        },
-                    },
-                    data = setDataByMethod[method]();
+                    };
 
-                requestObj.setExecutionData(data.sentData, data.receivedData, '');
+                return (setDataByNodeType[node.type] || setDataByNodeType.default)();
             }
+        }
+
+        /**
+         * Fill history request data depend on selected method - saving to collection
+         * @param requestObj
+         * @param sentData
+         * @param receivedData
+         * @param method
+         */
+        function fillRequestByMethod(requestObj, sentData, receivedData, method, node, viewType){
+            var setDataByMethod = {
+                    GET: function (){
+                        return {
+                            sentData: {},
+                            receivedData: receivedData.reqData ? angular.fromJson(receivedData.reqData) : {},
+                        };
+                    },
+                    POST: function (){
+                        return {
+                            sentData: fillRequestByViewType(node, viewType, sentData.reqData, 'sent', method),
+                            receivedData: fillRequestByViewType(
+                                node, viewType, receivedData.reqData, constants.REQUEST_DATA_TYPE_RECEIVED, method
+                            ),
+                        };
+                    },
+                    PUT: function (){
+                        return {
+                            sentData: fillRequestByViewType(node, viewType, sentData.reqData, 'sent', method),
+                            receivedData: {},
+                        };
+                    },
+                    DELETE: function (){
+                        return {
+                            sentData: {},
+                            receivedData: {},
+                        };
+                    },
+                },
+                data = setDataByMethod[method]();
+
+            requestObj.setExecutionData(data.sentData, data.receivedData, '');
+        }
 
         /**
          * Scan used parameters in current line of codemirror
@@ -229,7 +229,7 @@ define([
         /**
          * Replace all parameters with its values
          * @param paramsObj
-             * @param str
+         * @param str
          * @returns {*}
          */
         function applyParamsToStr(paramsObj, str) {
@@ -284,7 +284,7 @@ define([
          * @param timestamp
          */
         function createHistoryRequest(sentData, receivedData, path, operation, status, name, collection, timestamp,
-                        responseStatus, responseStatusText, responseTime) {
+                                      responseStatus, responseStatusText, responseTime) {
             // TODO: investigate, if this line is needed
             // var receivedDataProcessed = status === 'success' ? receivedData : null,
             var result = new HistoryRequestModel(PathUtilsService, YangUtilsService, ParsingJsonService);
@@ -308,9 +308,9 @@ define([
             }
 
             return service.createHistoryRequest(elem.sentData, elem.receivedData, elem.path, elem.method,
-                    elem.status, elem.name, elem.collection, elem.timestamp, elem.responseStatus,
-                    elem.responseStatusText, elem.responseTime
-                );
+                elem.status, elem.name, elem.collection, elem.timestamp, elem.responseStatus,
+                elem.responseStatusText, elem.responseTime
+            );
         }
 
         /**
@@ -320,7 +320,7 @@ define([
          * @returns {CollectionList}
          */
         function createEmptyCollectionList(name){
-                var result = new CollectionListModel($filter, ParsingJsonService, service);
+            var result = new CollectionListModel($filter, ParsingJsonService, service);
             result.setName(name);
             return result;
         }