diff options
Diffstat (limited to 'src/app/vnfs/build-artifacts/parameter-definitions')
3 files changed, 89 insertions, 181 deletions
diff --git a/src/app/vnfs/build-artifacts/parameter-definitions/parameter-definition.service.ts b/src/app/vnfs/build-artifacts/parameter-definitions/parameter-definition.service.ts index 2bd1bc9..14af6ab 100644 --- a/src/app/vnfs/build-artifacts/parameter-definitions/parameter-definition.service.ts +++ b/src/app/vnfs/build-artifacts/parameter-definitions/parameter-definition.service.ts @@ -31,8 +31,6 @@ import {UtilityService} from '../../../shared/services/utilityService/utility.se import {NotificationsService} from 'angular2-notifications'; import 'rxjs/add/operator/map'; import { appConstants } from '../../../../constants/app-constants'; -import { HttpUtilService } from '../../../shared/services/httpUtil/http-util.service'; - let YAML = require('yamljs'); @@ -40,7 +38,7 @@ declare var $: any; @Injectable() export class ParameterDefinitionService { - clName= "ParameterDefinitionSvc"; + public vnfcTypeData: string = ''; public selectedUploadType: string; @ViewChild(ModalComponent) modalComponent: ModalComponent; @@ -65,12 +63,9 @@ export class ParameterDefinitionService { private selectedActionReference: any; private apiToken = localStorage['apiToken']; private userId = localStorage['userId']; - public versionNoForApiCall=require('../../../../cdt.application.properties.json').versionNoForApiCall; - constructor(private mappingEditorService: MappingEditorService, private paramShareService: ParamShareService, private nService: NotificationsService, - private httpService: HttpUtilService, private utilService: UtilityService) { } @@ -84,8 +79,6 @@ export class ParameterDefinitionService { this.protocol = protocol; this.action = action; this.artifact_fileName = artifactName; - this.appDataObject = this.mappingEditorService.appDataObject; - this.downloadDataObject = this.mappingEditorService.downloadDataObject; } public afterInit(artifactName, displayParamObjects) { @@ -96,8 +89,7 @@ export class ParameterDefinitionService { /* Saves pd to appc */ public sendPD(yamlString: String) { let result: any; - let input = this.utilService.createPayLoadForSave("pd_data",this.vnfType,this.action,this.artifact_fileName, this.versionNoForApiCall, yamlString); - /*let payload = '{"userID": "' + this.userId + '","vnf-type" : "' + this.vnfType + '","action" : "' + this.action + '","artifact-name" : "' + this.artifact_fileName + '","artifact-type" : "APPC-CONFIG","artifact-version" : "0.0.1","artifact-contents" : ' + yamlString + '}'; + let payload = '{"userID": "' + this.userId + '","vnf-type" : "' + this.vnfType + '","action" : "' + this.action + '","artifact-name" : "' + this.artifact_fileName + '","artifact-type" : "APPC-CONFIG","artifact-version" : "0.0.1","artifact-contents" : ' + yamlString + '}'; let input = { 'input': { 'design-request': { @@ -106,7 +98,7 @@ export class ParameterDefinitionService { 'payload': payload } } - };*/ + }; this.appDataObject.pd = input; } @@ -122,78 +114,26 @@ export class ParameterDefinitionService { return result; } - //.. setup display of each parameter row depending on the paramater name, - // pre-set values of source and rule-type fields (columns) - populateDataUponSource( displayParamObjects) { - var methName= "populateDataUponSource"; - if( this.utilService.getTracelvl() > 0 ) - console.log( this.clName+": "+methName+": start: displayParamObjects "+ - "length="+displayParamObjects.length ); - displayParamObjects.forEach( parameter => { - if( this.utilService.getTracelvl() > 0 ) - console.log( this.clName+": "+methName+": param: name:["+ - parameter.name+"] source:["+ - parameter.source+"] rule-type:["+parameter['rule-type']+"]"); - if( parameter.name == 'NodeList-DD') { - if( this.utilService.getTracelvl() > 0 ) - console.log( this.clName+": "+methName+": the Param is NodeList"); - parameter.source= "DataDictionary"; - } - else if( parameter.name == 'vnfName-DD' ) { - if( this.utilService.getTracelvl() > 0 ) - console.log( this.clName+": "+methName+": the Param's vnfName-DD"); - parameter.source= "A&AI"; - parameter['rule-type']= "vnf-name"; - }; - if( parameter.source == 'A&AI') { - parameter.ruleTypeValues = [null, 'vnf-name', 'vm-name-list', 'vnfc-name-list', 'vnf-oam-ipv4-address', 'vnfc-oam-ipv4-address-list']; - if( parameter['rule-type'] == 'vm-name-list' || - parameter['rule-type'] == 'vnfc-name-list' || - parameter['rule-type'] == 'vnfc-oam-ipv4-address-list') - { - parameter.showFilterFields = true; - parameter.enableFilterByValue = false; - } else { - parameter.showFilterFields = false; - } - } - else if( parameter.source == 'Manual') { + //========================== End of removeUnwantedvalues() Method============================================ + populateDataUponSource(displayParamObjects) { + displayParamObjects.forEach(parameter => { + if (parameter.source == 'A&AI') { + parameter.ruleTypeValues = [null, 'vnf-name', 'vm-name-list', 'vnfc-name-list', 'vnf-oam-ipv4-address', 'vnfc-oam-ipv4-address-list']; + if (parameter['rule-type'] == 'vm-name-list' || parameter['rule-type'] == 'vnfc-name-list' || parameter['rule-type'] == 'vnfc-oam-ipv4-address-list') { + parameter.showFilterFields = true; + parameter.enableFilterByValue = false; + } else { + parameter.showFilterFields = false; + } + + } else if (parameter.source == 'Manual') { parameter.ruleTypeValues = [null]; } - else if( parameter.source == 'DataDictionary') { - parameter.sourceValues = ['DataDictionary']; - parameter.ruleTypeValues = ['NodeList']; - parameter['rule-type']= 'NodeList'; - } else { parameter.ruleTypeValues = [parameter['rule-type']]; } - //.. print-out the parameter's drop-downs for source and rule-type - if( this.utilService.getTracelvl() > 1 ) { - if( parameter.sourceValues != null && - parameter.sourceValues != undefined ) - { - console.log( this.clName+": "+methName+": sourceValues length="+ - parameter.sourceValues.length ); - if( parameter.sourceValues.length > 0 ) { - for( var i0=0; i0 < parameter.sourceValues.length; i0++ ) - console.log( methName+": sourceValues["+i0+"]:["+ - parameter.sourceValues[i0]+"]"); - }; - }; - if( parameter.ruleTypeValues != null && - parameter.ruleTypeValues != undefined ) - { - console.log( this.clName+": "+methName+": ruleTypeValues length="+ - parameter.ruleTypeValues.length ); - if( parameter.ruleTypeValues.length > 0 ) { - for( var i0=0; i0 < parameter.ruleTypeValues.length; i0++ ) - console.log( methName+": ruleTypeValues["+i0+"]:["+ - parameter.ruleTypeValues[i0]+"]"); - }; - }; - }; }); + } //========================== End of getPD() Method============================================ @@ -202,7 +142,7 @@ export class ParameterDefinitionService { //Added code to deserialize, serialize and format the response keys for display purposes ??May be unneessary?? To Do: - Check let fileObj = JSON.parse(fileContent); this.displayParamObjects = this.formatFileContentForDisplay(fileObj); - this.populateDataUponSource( this.displayParamObjects); + this.populateDataUponSource(this.displayParamObjects); this.formatResponseForKey(this.displayParamObjects); if (undefined !== this.displayParamObjects) this.modelParamDefinitionObjects = this.displayParamObjects; @@ -212,6 +152,7 @@ export class ParameterDefinitionService { return this.displayParamObjects; } + //========================== End of populatePD() Method============================================ /* Formats each object read from YAML file as per page expectations */ formatResponseForKey(param: any[]) { for (var i = 0; i < param.length; i++) { @@ -259,8 +200,8 @@ export class ParameterDefinitionService { } } } - //========================== End of formatKeys() Method============================================ + //========================== End of formatKeys() Method============================================ //Send null if there are no keys present - Check with key names being absent formatKeysForFileGeneration() { for (var i = 0; i < this.modelParamDefinitionObjects.length; i++) { @@ -328,7 +269,7 @@ export class ParameterDefinitionService { } delete fileModel[i]['response-keys']; fileModel[i]['response-keys'] = fileModel[i]['response-keys-new']; - delete fileModel[i]['response-keys-new']; + delete fileModel[i]['response-keys=new']; } } return fileModel; @@ -364,22 +305,14 @@ export class ParameterDefinitionService { return result; } - //========================== End of clearSessionStorageForParam() Method============================================ - isValidateSourceAndResponseKeys(objs: any[]) { - let isValid = true; - if (undefined != objs || null != objs) { - for (var i = 0; i < objs.length; i++) { - if (objs[i].source == 'INSTAR' && (null == objs[i]['response-keys'] || undefined == objs[i]['response-keys'])) { - isValid = false; - return isValid; - } - } - } - return isValid; + + public prepareFileName(): any { + let fileNameObject: any = this.mappingEditorService.latestAction; + this.appDataObject = this.mappingEditorService.appDataObject; + this.downloadDataObject = this.mappingEditorService.downloadDataObject; + return fileNameObject; } - - public destroy(displayParamObjects) { this.displayParamObjects = displayParamObjects; if (this.mappingEditorService.referenceNameObjects) { @@ -405,8 +338,6 @@ export class ParameterDefinitionService { jsonString = jsonString.replace(/"null"/g, 'null'); let saveModel = JSON.parse(jsonString); let pdFileObject = this.processResponseKeys(saveModel); - //Validate for Source =INSTAR and responsekeys present - if (this.isValidateSourceAndResponseKeys(pdFileObject)) { let yamlObject = { 'kind': 'Property Definition', 'version': 'V1', @@ -431,14 +362,7 @@ export class ParameterDefinitionService { else { this.sendPD(JSON.stringify(yamlString)); } - } - else { - for (var i = 0; i < this.modelParamDefinitionObjects.length; i++) { - this.formatKeys(this.modelParamDefinitionObjects[i]); - } - this.nService.error('Error', 'Response Keys cannot be empty if source is INSTAR'); - return; - } + //Restore Keys for display for (var i = 0; i < this.modelParamDefinitionObjects.length; i++) { this.formatKeys(this.modelParamDefinitionObjects[i]); @@ -486,18 +410,7 @@ export class ParameterDefinitionService { } parameterDefinitionObject['source'] = fields[0]; parameterDefinitionObject['rule-type'] = fields[1]; - } else { - if (parameterDefinitionObject['source'] === 'INSTAR') { - parameterDefinitionObject['source'] = 'Manual'; - parameterDefinitionObject['ruleTypeValues'] = [null]; - parameterDefinitionObject['rule-type'] = null; - parameterDefinitionObject['showFilterFields'] = false; - for (let x = 0; x < 5; x++) { - parameterDefinitionObject['response-keys'][x]['key-name'] = null; - parameterDefinitionObject['response-keys'][x]['key-value'] = null; - } - } - } + } this.formatKeys(parameterDefinitionObject); //Ensure there are 3 elements for response-keys, request-keys for display purposes if (!result.present) { //only push if not present this.modelParamDefinitionObjects.push(parameterDefinitionObject); diff --git a/src/app/vnfs/build-artifacts/parameter-definitions/parameter.component.html b/src/app/vnfs/build-artifacts/parameter-definitions/parameter.component.html index 6cae750..799627b 100644 --- a/src/app/vnfs/build-artifacts/parameter-definitions/parameter.component.html +++ b/src/app/vnfs/build-artifacts/parameter-definitions/parameter.component.html @@ -40,11 +40,10 @@ limitations under the License. <label>Vnf Type</label><input class="form-control" type="text" disabled value="{{vnfType}}" /> </div> <div class="col-lg-3 col-sm-6 col-md-3 col-xs-12" *ngIf="vnfcType"> - <label>Vnfc Type</label> <label style="font-size:12px;">(NFC Function)</label> - <input class="form-control" type="text" disabled value="{{vnfcType}}" /> + <label>Vnfc Type</label><input class="form-control" type="text" disabled value="{{vnfcType}}" /> </div> <div class="col-lg-3 col-sm-6 col-md-3 col-xs-12" *ngIf="!vnfcType"> - + </div> <div class="col-lg-3 col-sm-6 col-md-3 col-xs-12"> <label>Protocol</label><input class="form-control" type="text" disabled value="{{protocol}}" /> @@ -143,7 +142,7 @@ limitations under the License. <option *ngFor="let src of sourceValues" [value]="src" [selected]="src === obj.source" - [disabled]="(obj.name == 'NodeList-DD' && src != 'DataDictionary')||(obj.name == 'vnfName-DD' && src == 'DataDictionary')||(obj.name != 'NodeList-DD' && obj.name != 'vnfName-DD' && src == 'INSTAR')"> + > {{src}} </option> diff --git a/src/app/vnfs/build-artifacts/parameter-definitions/parameter.component.ts b/src/app/vnfs/build-artifacts/parameter-definitions/parameter.component.ts index 6ba8e52..f7d1837 100644 --- a/src/app/vnfs/build-artifacts/parameter-definitions/parameter.component.ts +++ b/src/app/vnfs/build-artifacts/parameter-definitions/parameter.component.ts @@ -38,7 +38,6 @@ import 'rxjs/add/operator/map'; import { NgProgress } from 'ngx-progressbar'; import { NgxSpinnerService } from 'ngx-spinner'; import { appConstants } from '../../../../constants/app-constants'; -import { APIService } from "../../../shared/services/cdt.apicall"; let YAML = require('yamljs'); @@ -51,11 +50,9 @@ declare var $: any; providers: [ParameterDefinitionService] }) export class ParameterComponent implements OnInit { - clName= "ParameterCompon"; public paramForm: any; public actionType: any; public showFilterFields: boolean; - public filterByFieldvalues = appConstants.filterByFieldvalues; public ruleTypeConfiguaration = appConstants.ruleTypeConfiguaration; public requiredValues: boolean[] = appConstants.requiredValues; @@ -109,12 +106,11 @@ export class ParameterComponent implements OnInit { public artifactName; public appDataObject: any; public downloadDataObject: any; - public artifact_fileName=""; + public artifact_fileName = ""; template_id: any; private selectedActionReference: any; constructor(private httpService: HttpUtilService, - private apiService:APIService, private parameterDefinitionService: ParameterDefinitionService, private paramShareService: ParamShareService, private mappingEditorService: MappingEditorService, @@ -126,26 +122,33 @@ export class ParameterComponent implements OnInit { } ngOnInit() { - var methName= "ngOnInit"; - this.selectedActionReference = this.mappingEditorService.newObject; + this.selectedActionReference = this.parameterDefinitionService.prepareFileName(); if (this.selectedActionReference && this.selectedActionReference != undefined) { - this.vnfType = this.selectedActionReference.vnf; - this.protocol = this.selectedActionReference.protocol; - this.action = this.selectedActionReference.action; - if( this.utilService.getTracelvl() > 0 ) - console.log( this.clName+": "+methName+": vnfType:["+this.vnfType+ - "] action:["+this.action+"] protocol:["+this.protocol+"]"); - if(this.selectedActionReference.vnfc) { - this.vnfcType = this.selectedActionReference.vnfc; - if( this.utilService.getTracelvl() > 0 ) - console.log( this.clName+": "+methName+": have vnfcType:["+ - this.vnfcType+"]"); - } - if( this.action === 'ConfigScaleOut'){ - // this.template_id = this.selectedActionReference.templateId; - this.template_id = this.mappingEditorService.identifier; + + this.vnfType = this.selectedActionReference.scope['vnf-type']; + this.vnfcType = this.selectedActionReference.scope['vnfc-type']; + this.protocol = this.selectedActionReference['device-protocol']; + this.action = this.selectedActionReference.action; + + for (let i = 0; i < this.selectedActionReference['artifact-list'].length; i++) { + let artifactList = this.selectedActionReference['artifact-list']; + if (artifactList[i]['artifact-type'] === 'parameter_definitions') { + var artifactName = artifactList[i]['artifact-name']; + var artifactNameWithoutExtension = ''; + if (artifactName) { + artifactNameWithoutExtension = artifactName.substring(0, artifactName.lastIndexOf(".")); + } + if (this.mappingEditorService.identifier) { + if (artifactNameWithoutExtension.endsWith(this.mappingEditorService.identifier)) { + this.artifact_fileName = artifactName; + } + + } + else { + this.artifact_fileName = artifactName; + } + } } - this.artifact_fileName = this.selectedActionReference.pd_artifact; this.parameterDefinitionService.setValues(this.vnfType, this.vnfcType, this.protocol, this.action, this.artifact_fileName); } else { @@ -162,26 +165,22 @@ export class ParameterComponent implements OnInit { 'scopeType': '' }; } - //let path = this.location.path - /* this.activeRoutes.url.subscribe(UrlSegment => { - this.actionType = UrlSegment[0].path - }) - */ + + this.template_id = this.mappingEditorService.identifier; } ngAfterViewInit() { - if( this.mappingEditorService.latestAction) { + if (this.mappingEditorService.latestAction) { this.displayParamObjects = []; this.modelParamDefinitionObjects = []; - this.displayParamObjects= this.paramShareService.getSessionParamData(); - // if( this.paramShareService.getSessionParamData() != undefined && - // this.paramShareService.getSessionParamData().length > 0) - if( this.displayParamObjects != undefined && - this.displayParamObjects.length > 0 ) - { - this.parameterDefinitionService.populateDataUponSource( this.displayParamObjects); + if (this.paramShareService.getSessionParamData() != undefined && this.paramShareService.getSessionParamData().length > 0) { + this.getPDFromSession(); } else { - this.getPD(); + this.ngProgress.start(); + this.getPD(); + setTimeout(() => { + this.ngProgress.done(); + }, 3500); } } else { this.nService.error(appConstants.errors.error, appConstants.errors["noAction&VNFTypeInRDscreenError"]); @@ -192,20 +191,19 @@ export class ParameterComponent implements OnInit { public getPD() { let result: any; - let input= - this.utilService.createPayloadForRetrieve( false, this.action, this.vnfType,this.artifact_fileName); + let input=this.utilService.createPayloadForRetrieve(false, this.action, this.vnfType,this.artifact_fileName); let artifactContent: any; - this.ngProgress.start(); - return this.apiService.callGetArtifactsApi(input).subscribe( data => { - if( this.utilService.checkResult(data)) { - let result: any = JSON.parse(data.output.data.block).artifactInfo[0]; + return this.httpService.post({ + url: environment.getDesigns, + data: input + }).subscribe(data => { + if (this.utilService.checkResult(data)) { + let result: any = JSON.parse(data.output.data.block).artifactInfo[0]; var pdObject = YAML.parse(result['artifact-content']); let fileModel = pdObject['vnf-parameter-list']; this.displayParamObjects = this.parameterDefinitionService.populatePD(fileModel); } - else { - } - this.ngProgress.done(); + }, error => this.nService.error(appConstants.errors.error, appConstants.errors.connectionError)); @@ -214,19 +212,20 @@ export class ParameterComponent implements OnInit { public getPDFromSession() { - this.ngProgress.start(); + this.ngProgress.start(); return this.httpService.get({ url: 'testurl', - }).subscribe( data => { - this.displayParamObjects = this.paramShareService.getSessionParamData(); - this.ngProgress.done(); + }).subscribe(data => { + this.displayParamObjects = this.paramShareService.getSessionParamData(); + this.ngProgress.done(); }, - error => { - this.displayParamObjects = this.paramShareService.getSessionParamData(); - this.ngProgress.done(); - }); + error => { + this.displayParamObjects = this.paramShareService.getSessionParamData(); + this.ngProgress.done(); + }); } + //========================== End of NGInit() Method============================================ selectedNavItem(item: any) { this.item = item; } @@ -267,10 +266,6 @@ export class ParameterComponent implements OnInit { // Create the file reader let reader = new FileReader(); this.readFile(input.files[0], reader, (result) => { - if ('keyfile' === uploadType) { - this.myKeyFileName = input.files[0].name; - this.displayParamObjects = this.parameterDefinitionService.processKeyFile(this.myKeyFileName, result); - } if ('pdfile' === uploadType) { this.myPdFileName = input.files[0].name; this.displayParamObjects = this.parameterDefinitionService.processPDfile(this.myPdFileName, result); @@ -299,7 +294,8 @@ export class ParameterComponent implements OnInit { let obj: any = fileInput.target.files; } - sourceChanged( data, obj) { + + sourceChanged(data, obj) { if (data == 'A&AI') { obj.ruleTypeValues = appConstants.ruleTypeValues; for (let x = 0; x < 5; x++) { @@ -321,7 +317,7 @@ export class ParameterComponent implements OnInit { } //========================== End of sourceChanged() Method============================================ - ruleTypeChanged( data, obj) { + ruleTypeChanged(data, obj) { if (data == null || data == undefined || data == 'null') { obj.showFilterFields = false; obj['rule-type'] = null; @@ -344,7 +340,7 @@ export class ParameterComponent implements OnInit { } for (let x = 0; x < sourceObject.length; x++) { obj['response-keys'][x]['key-name'] = sourceObject[x]['key-name']; - obj['response-keys'][x]['key-value'] = sourceObject[x]['key-value']; + obj['response-keys'][x]['key-value'] = sourceObject[x]['key-value']; } } |