aboutsummaryrefslogtreecommitdiffstats
path: root/src/app/vnfs/build-artifacts/template-holder/param-name-value/param-name-value.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/vnfs/build-artifacts/template-holder/param-name-value/param-name-value.component.ts')
-rw-r--r--src/app/vnfs/build-artifacts/template-holder/param-name-value/param-name-value.component.ts291
1 files changed, 17 insertions, 274 deletions
diff --git a/src/app/vnfs/build-artifacts/template-holder/param-name-value/param-name-value.component.ts b/src/app/vnfs/build-artifacts/template-holder/param-name-value/param-name-value.component.ts
index 9ea95ec..a3c5a8e 100644
--- a/src/app/vnfs/build-artifacts/template-holder/param-name-value/param-name-value.component.ts
+++ b/src/app/vnfs/build-artifacts/template-holder/param-name-value/param-name-value.component.ts
@@ -40,17 +40,6 @@ import { environment } from '../../../../../environments/environment';
import { NgProgress } from 'ngx-progressbar';
import * as XLSX from 'xlsx';
-type AOA = Array<Array<any>>;
-
-function s2ab(s: string): ArrayBuffer {
- const buf = new ArrayBuffer(s.length);
- const view = new Uint8Array(buf);
- for (let i = 0; i !== s.length; ++i) {
- view[i] = s.charCodeAt(i) & 0xFF;
- }
- return buf;
-}
-
declare var $: any;
@Component({
@@ -62,7 +51,7 @@ export class GoldenConfigurationMappingComponent implements OnInit {
enableMappingSave: boolean = false;
aceText: string = '';
fileName: string = '';
- actionType: any;
+ actionType: any='';
modal: any;
configMappingEditorContent: any;
fileType: any = '';
@@ -80,11 +69,13 @@ export class GoldenConfigurationMappingComponent implements OnInit {
enableDownload: boolean = false;
showMappingDownloadDiv: boolean = false;
mapppingDownloadType: any;
- action: any;
- artifactName: any;
+ action: any='';
+ artifactName: any='';
enableMerge: boolean = false;
apiToken = localStorage['apiToken'];
userId = localStorage['userId'];
+ identifier: any;
+
public uploadTypes = [
{
value: 'Mapping Data',
@@ -107,20 +98,9 @@ export class GoldenConfigurationMappingComponent implements OnInit {
@ContentChildren(Tab) tabs: QueryList<Tab>;
public subscription: any;
public item: any = {};
-
- public Actions = [
- { action: 'ConfigBackup', value: 'ConfigBackup' },
- { action: 'ConfigModify', value: 'ConfigModify' },
- { action: 'ConfigRestore', value: 'ConfigRestore' },
- { action: 'Configure', value: 'Configure' },
- { action: 'GetRunningConfig', value: 'GetRunningConfig' },
- { action: 'HealthCheck', value: 'HealthCheck' },
- { action: 'StartApplication', value: 'StartApplication' },
- { action: 'StopApplication', value: 'StopApplication' }
- ];
- vnfType: any;
- vnfcType: any;
- protocol: any;
+ vnfType: any='';
+ vnfcType: any='';
+ protocol: any='';
refObj: any;
public paramsContent = localStorage['paramsContent'];
@@ -175,13 +155,12 @@ export class GoldenConfigurationMappingComponent implements OnInit {
this.activeRoutes.url.subscribe(UrlSegment => {
this.actionType = UrlSegment[0].path;
});
- if (this.actionType === 'configureTemplate') {
- this.mappingEditorService.fromScreen = 'TemplateScreen';
- }
+
if (this.actionType === 'myTemplates') {
this.mappingEditorService.fromScreen = 'MappingScreen';
}
this.mappingEditorService.paramData = [];
+ this.identifier = this.mappingEditorService.identifier;
}
@@ -192,11 +171,7 @@ export class GoldenConfigurationMappingComponent implements OnInit {
}
//========================== End of browseOption() Method============================================
- selectedNavItem(item: any) {
- this.item = item;
- }
-
- //========================== End of selectedNavItem() Method============================================
+
ngOnDestroy() {
this.prepareFileName();
}
@@ -221,73 +196,13 @@ export class GoldenConfigurationMappingComponent implements OnInit {
}
}
else {
- this.Actions = [];
this.enableMappingBrowse = false;
}
}
//========================== End of ngAfterViewInit() Method============================================
- upload(evt: any) {
- /* wire up file reader */
- if (evt.target.files[0]) {
- const target: DataTransfer = <DataTransfer>(evt.target);
- this.myfileName = evt.target.files[0].name;
- var fileExtension = this.myfileName.substr(this.myfileName.lastIndexOf('.') + 1);
- if (fileExtension.toUpperCase() === 'xls'.toUpperCase()) {
- if (target.files.length != 1) {
- throw new Error('Cannot upload multiple files on the entry');
- }
- const reader = new FileReader();
- reader.onload = (e: any) => {
- /* read workbook */
- const bstr = e.target.result;
- const wb = XLSX.read(bstr, { type: 'binary' });
- /* grab first sheet */
- const wsname = wb.SheetNames[0];
- const ws = wb.Sheets[wsname];
- /* save data */
- let arrData = (<AOA>(XLSX.utils.sheet_to_json(ws, { header: 1 })));
- var jsonStr = arrData.toString();
- var JsonArr = jsonStr.split(',');
- var finalStr = '{\r\n';
- for (var i = 0; i < JsonArr.length; i = i + 2) {
- var key = JsonArr[i];
- var value = JsonArr[i + 1];
- finalStr = finalStr + key + ':' + value + ',\r\n';
- }
- finalStr = finalStr.substring(0, finalStr.length - 3) + '\r\n}';
- this.artifactRequest.paramsContent = finalStr;
- this.initialData = finalStr;
- this.enableMappingSave = true;
- };
- reader.readAsBinaryString(target.files[0]);
- if ('Mapping Data' === this.selectedUploadType) {
- this.notificationService.notifySuccessMessage('Configuration Template file successfully uploaded..');
- this.mappingEditorService.setParamContent(this.artifactRequest.paramsContent);
- }
- }
- else {
- let reader = new FileReader();
- this.readFile(evt.target.files[0], reader, (result) => {
- if ('Mapping Data' === this.selectedUploadType) {
- var jsonObject = JSON.parse(result);
- this.artifactRequest.paramsContent = JSON.stringify(jsonObject, null, 1);
- this.notificationService.notifySuccessMessage('Configuration Template file successfully uploaded..');
- this.mappingEditorService.setParamContent(this.artifactRequest.paramsContent);
- }
- this.initialData = result;
- this.enableMappingSave = true;
- });
- }
- }
- else {
- this.notificationService.notifyErrorMessage('Failed to reading file..');
- }
- this.myInputParam.nativeElement.value = '';
- }
-
- //========================== End of upload() Method============================================
- //uncommenting for 1710
+
+
public fileParamChange(input) {
if (input.files && input.files[0]) {
this.enableMappingSave = true;
@@ -349,75 +264,7 @@ export class GoldenConfigurationMappingComponent implements OnInit {
}
//========================== End of onParamChanges() Method============================================
- onDownloadParameter() {
- let refObj = this.refObj;
- if (refObj) {
- // refObj = refObj[refObj.length - 1];
- let paramsKeyValueFromEditor: JSON;
- this.initialData = this.artifactRequest.paramsContent;
- paramsKeyValueFromEditor = JSON.parse(this.artifactRequest.paramsContent);
- let theJSON = JSON.stringify(paramsKeyValueFromEditor, null, '\t');
- var blob = new Blob([theJSON], {
- type: 'text/json'
- });
- this.showVersionDiv = true;
- let fileName: any;
- fileName = this.updateFileName(refObj.action, this.scopeName, this.versionNo);
- saveAs(blob, fileName);
- }
- else {
- this.nService.error('Error', 'Please enter Action and VNF type in Reference Data screen');
-
- }
- }
-
- //========================== End of onDownloadParameter() Method============================================
- JSONToCSVConvertor(JSONData, fileName, ShowLabel) {
- //If JSONData is not an object then JSON.parse will parse the JSON string in an Object
- var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;
- var CSV = '';
- //This condition will generate the Label/Header
- if (ShowLabel) {
- var testRow = '';
- for (var index in arrData[0]) {
- CSV += index + '\t' + arrData[0][index] + '\r\n';
- }
- }
- if (CSV == '') {
- return;
- }
- //Initialize file format you want csv or xls
- var uri = 'data:application/vnd.ms-excel,' + encodeURI(CSV);
- var link = document.createElement('a');
- link.href = uri;
- link.download = fileName + '.xls';
- //this part will append the anchor tag and remove it after automatic click
- document.body.appendChild(link);
- link.click();
- document.body.removeChild(link);
- }
-
- //========================== End of JSONToCSVConvertor() Method============================================
- updateFileNameForXls(action: any, scopeName: any, versionNo: any) {
- let fileName = 'param_' + action + '_' + scopeName + '_' + versionNo + 'V';
- return fileName;
- }
-
- //========================== End of updateFileNameForXls() Method============================================
- appendSlashes(artifactData) {
- let x = artifactData.replace(new RegExp(',"', 'g'), ',\"');
- let y = x.replace(new RegExp('":', 'g'), '\":');
- let z = y.replace(new RegExp('{"', 'g'), '{\"');
- let t = z.replace(new RegExp(':"', 'g'), ':\"');
- let m = t.replace(new RegExp('",', 'g'), '\",');
- let n = y.replace(new RegExp('"}', 'g'), '\"}');
- let nw = n.replace(new RegExp('{"', 'g'), '{\"');
- let nw1 = nw.replace(new RegExp(':"', 'g'), ':\"');
- let nw2 = nw1.replace(new RegExp('",', 'g'), '\",');
- return nw2;
- }
-
- //========================== End of appendSlashes() Method============================================
+
updateFileName(action: any, scopeName: any, versionNo: any) {
let fileName = 'param_' + action + '_' + scopeName + '_' + versionNo + 'V.json';
this.downloadedFileName = fileName;
@@ -431,55 +278,14 @@ export class GoldenConfigurationMappingComponent implements OnInit {
}
//========================== End of prepareFileName() Method============================================
- openModel(toShow: any, message: any, title: any) {
- this.message = message;
- this.title = title;
- $('#modalButton').trigger('click');
- }
-
- //========================== End of openModel() Method============================================
- checkSave(selectedAction): void {
- if (this.actionType === 'updateTemplate') {
- if (!this.buildDesignComponent.isReferenceFound(selectedAction, this.mappingEditorService.getReferenceList())) {
- this.nService.error('Error', 'Reference Data not found. Please add Reference Data for Action:' + selectedAction);
- }
- }
- if (this.initialData != this.artifactRequest.paramsContent) {
- this.showConfirm(this.initialData);
- }
- else {
- this.initialAction = this.item.action;
- }
- }
-
- //========================== End of checkSave() Method============================================
- showConfirm(initialData) {
- let disposable = this.dialogService.addDialog(ConfirmComponent, {
- title: 'Confirm title',
- message: 'Confirm message'
- })
- .subscribe((isConfirmed) => {
- //We get dialog result
- if (isConfirmed) {
- this.artifactRequest.paramsContent = initialData;
- this.initialAction = this.item.action;
- }
- else {
- this.item.action = this.initialAction;
- }
- });
- }
-
- //========================== End of showConfirm() Method============================================
+
retrieveNameValueFromAppc() {
let refObj = this.refObj;
if (refObj && refObj != undefined) {
- // console.log("REF OBJECT IN RETRIVE"+JSON.stringify(refObj));
this.enableMerge = true;
var scopeName = this.scopeName.replace(/ /g, '').replace(new RegExp('/', "g"), '_').replace(/ /g, '');
let fileName = this.updateFileName(this.item.action, scopeName, this.versionNo);
let payload = '{"userID": "' + this.userId + '", "action": "' + this.item.action + '", "vnf-type" : "' + this.vnfType + '", "artifact-type":"APPC-CONFIG", "artifact-name":"' + fileName + '"}';
- // console.log("payload OBJECT IN RETRIVE"+JSON.stringify(payload));
let input = {
'input': {
'design-request': {
@@ -531,70 +337,8 @@ export class GoldenConfigurationMappingComponent implements OnInit {
}
//========================== End of retrieveNameValueFromAppc() Method============================================
- saveNameValueToAppc() {
- let refObj = this.refObj;
- if (refObj && refObj != undefined) {
- // refObj = refObj[refObj.length - 1];
- let paramsKeyValueFromEditor = JSON.parse(this.artifactRequest.paramsContent);
- let action = this.item.action;
- let fileName = this.updateFileName(refObj.action, this.scopeName, this.versionNo);
- let vnfType = this.vnfType;
- let Json = [paramsKeyValueFromEditor];
- let slashedPayload = this.appendSlashes(JSON.stringify(Json));
- let newPayload =
- {
- 'userID': this.userId,
- 'vnf-type': this.vnfType,
- 'action': action,
- 'artifact-name': fileName,
- 'artifact-type': 'APPC-CONFIG',
- 'artifact-version': this.versionNo,
- 'artifact-contents': slashedPayload
- };
- let data =
- {
- 'input': {
- 'design-request': {
- 'request-id': this.apiToken,
- 'action': 'uploadArtifact',
- 'payload': JSON.stringify(newPayload)
- }
- }
- };
- this
- .httpUtil
- .post(
- { url: environment.getDesigns, data: data })
- .subscribe(resp => {
- if (resp.output.status.code === '400' && resp.output.status.message === 'success') {
- this.nService.success('Success', 'Name/value pairs saved successfully to APPC');
- }
- if (resp.output.status.code === '401') {
- this.nService.error('Error', resp.output.status.message);
- }
- },
- error => this.nService.error('Error', 'Could not save name value pairs. Error in connecting APPC Server'));
- }
- setTimeout(() => {
- this.ngProgress.done();
- }, 3500);
- }
-
- //========================== End of saveNameValueToAppc() Method============================================
+
formatNameValuePairs(namevaluePairs: string) {
- //var string = namevaluePairs.substring(2, namevaluePairs.length - 2);
- /* var stringArr = string.split(",");
- var newStringArr = [];
- var resultStr = "{\r\n\"";
- for (var index in stringArr) {
- newStringArr[index] = stringArr[index] + ",\r\n";
- }
- for (var index in newStringArr) {
- resultStr = resultStr + newStringArr[index];
- }
- resultStr = resultStr.substring(0, resultStr.length - 3) + "\"\r\n}"
- return resultStr;*/
-
var string = namevaluePairs.substring(1, namevaluePairs.length - 1);
var stringArr = string.split(',');
var newStringArr = [];
@@ -619,7 +363,6 @@ export class GoldenConfigurationMappingComponent implements OnInit {
var pdDataArrayForSession = [];
try {
paramNameValues = JSON.parse(paramNameValuesStr);
- console.log('Param Name values array==' + JSON.stringify(paramNameValues));
if (paramNameValues && paramNameValues != undefined) {
for (var index in paramNameValues) {
var json = {
@@ -688,7 +431,7 @@ export class GoldenConfigurationMappingComponent implements OnInit {
'ruleTypeValues': arr2item.ruleTypeValues
};
pdDataArrayForSession.splice(i, 1, json);
- // console.log("Result array index ==" + JSON.stringify(resultArr[i]))
+
}
});