X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=vid-webpack-master%2Fsrc%2Fapp%2FdrawingBoard%2Fservice-planning%2FobjectsToTree%2FobjectToInstanceTree%2FobjectToInstanceTree.service.ts;h=8ddb4ba2d8dad5a8b0a911553eeefebe3c544976;hb=f46e53e0c71db2388469558d48f8ffa25130f3d8;hp=1fc439ea3e800412a171dc569db3c7dc3edfcbbd;hpb=6f900cc45d7dd7f97430812b86b5c1d1693c8ae3;p=vid.git diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.ts index 1fc439ea3..8ddb4ba2d 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/objectsToTree/objectToInstanceTree/objectToInstanceTree.service.ts @@ -48,7 +48,7 @@ export class ObjectToInstanceTreeService { * @param node - the current node ****************************************************************/ increaseNumberOfFailed(node) { - if (node.isFailed) { + if (node && node.isFailed) { this.numberOfFailed++; node['errors'] = !_.isNil(node['errors']) ? node['errors'] : {}; node['errors']["isFailed"] = true; @@ -92,16 +92,21 @@ export class ObjectToInstanceTreeService { } addingExtraDataToNode(node, modelName: string, parentModel: any, instance: any, serviceHierarchy, option: ILevelNodeInfo, parentType ?: string) { - node.trackById = _.isNil(node.trackById) ? DefaultDataGeneratorService.createRandomTrackById() : node['trackById']; - node.parentType = !_.isNil(parentType) ? parentType : ""; - node.updatePoistionFunction = option.updatePosition; - node.position = option.getNodePosition(instance, node.dynamicModelName); - node.onSelectedNode = option.onSelectedNode; + if(!_.isNil(node)){ + node.trackById = _.isNil(node.trackById) ? DefaultDataGeneratorService.createRandomTrackById() : node['trackById']; + node.parentType = !_.isNil(parentType) ? parentType : ""; + node.updatePoistionFunction = option.updatePosition; + node.position = option.getNodePosition(instance, node.dynamicModelName); + node.getModel = option.getModel.bind(option); + node.getInfo = !_.isNil(option.getInfo) ? option.getInfo.bind(option) : ()=>{}; + node.componentInfoType = option.componentInfoType; + } + return node; } sortElementsByPosition(nodes: any[]): any[] { - if (!FeatureFlagsService.getFlagState(Features.DRAG_AND_DROP_OPERATION, this.store)) return nodes; + if (!FeatureFlagsService.getFlagState(Features.FLAG_1911_INSTANTIATION_ORDER_IN_ASYNC_ALACARTE, this.store)) return nodes; return nodes.sort((nodeA, nodeB) => { return nodeA.position - nodeB.position; }); @@ -116,24 +121,27 @@ export class ObjectToInstanceTreeService { * @param serviceHierarchy - The service Hierarchy store ****************************************************************/ addNextInstanceTreeNode(parentInstance, parentModel, levelNodeInfo: ILevelNodeInfo, parentNode, serviceHierarchy): any[] { - if (!_.isNil(levelNodeInfo.childName)) { + if (!_.isNil(levelNodeInfo.childNames)&& levelNodeInfo.childNames.length > 0) { + const that = this; parentNode.children = []; - if (!_.isNil(parentInstance[levelNodeInfo.childName])) { - let parentType = levelNodeInfo.type; - let nextLevelNodeInfo = levelNodeInfo.getNextLevelObject.apply(this); - Object.keys(parentInstance[levelNodeInfo.childName]).map((modelName) => { - let nextLevelInstance = parentInstance[levelNodeInfo.childName][modelName]; - let nodes: any[] | any = this.getNodeInstance(modelName, parentModel, nextLevelInstance, serviceHierarchy, nextLevelNodeInfo, parentType); - if (_.isArray(nodes)) { - parentNode.children = parentNode.children.concat(nodes); - } else { - parentNode.children.push(nodes); - } - }); - return this.sortElementsByPosition(parentNode.children); - } + levelNodeInfo.childNames.forEach(function (childName) { + if (!_.isNil(parentInstance[childName])) { + let parentType = levelNodeInfo.type; + let nextLevelNodeInfo = levelNodeInfo.getNextLevelObject.apply(that, [childName]); + Object.keys(parentInstance[childName]).map((modelName) => { + let nextLevelInstance = parentInstance[childName][modelName]; + let nodes: any[] | any = that.getNodeInstance(modelName, parentModel, nextLevelInstance, serviceHierarchy, nextLevelNodeInfo, parentType); + if (_.isArray(nodes)) { + parentNode.children = parentNode.children.concat(nodes); + } else { + parentNode.children.push(nodes); + } + }); + } + }); + return this.sortElementsByPosition(parentNode.children); } - return parentNode.children; + return !_.isNil(parentNode) ? parentNode.children : null; } @@ -142,6 +150,7 @@ export class ObjectToInstanceTreeService { * @param node *********************************************************************************/ updateScalingPolicy(node): void { + if(_.isNil(node)) return node; node['errors'] = !_.isNil(node['errors']) ? node['errors'] : {}; if (!_.isNil(node['limitMembers']) && !_.isNil(node.children)) { let effectiveChildren = (node.children).filter(child => [