Bug 1253 Updating the VNFD via ngUI breaks charms execution

 * Fixed the bug by adding the symbolic link while extracting
   the file and while doing tar.
 * The file upload size is increased upto 50MB in UI

Change-Id: Ib1de6129018f11ce863a12a60e2ffab04187e795
Signed-off-by: Barath Kumar R <barath.r@tataelxsi.co.in>
diff --git a/src/services/SharedService.ts b/src/services/SharedService.ts
index f2f730e..48fbb17 100644
--- a/src/services/SharedService.ts
+++ b/src/services/SharedService.ts
@@ -23,7 +23,7 @@
 import { FormArray, FormGroup } from '@angular/forms';
 import { Router } from '@angular/router';
 import { TranslateService } from '@ngx-translate/core';
-import { CONSTANTNUMBER, ERRORDATA, GETAPIURLHEADER, PACKAGEINFO, PAGERSMARTTABLE, SMARTTABLECLASS, TARSETTINGS } from 'CommonModel';
+import { CONSTANTNUMBER, ERRORDATA, FILESETTINGS, GETAPIURLHEADER, PACKAGEINFO, PAGERSMARTTABLE, SMARTTABLECLASS, TARSETTINGS } from 'CommonModel';
 import { environment } from 'environment';
 import * as HttpStatus from 'http-status-codes';
 import * as untar from 'js-untar';
@@ -194,14 +194,15 @@
                         const getFoldersFiles: {}[] = extractedFiles;
                         const folderNameStr: string = extractedFiles[0].name;
                         getFoldersFiles.forEach((value: TARSETTINGS) => {
+                            const fileValueObj: FILESETTINGS = this.createFileValueObject(value);
                             const getRootFolder: string[] = value.name.split('/');
                             if (value.name.startsWith(folderNameStr) &&
                                 (value.name.endsWith('.yaml') || value.name.endsWith('.yml')) &&
                                 getRootFolder.length === this.directoryCount) {
-                                tar.append(value.name, packageInfo.descriptor, { type: value.type });
+                                tar.append(value.name, packageInfo.descriptor, fileValueObj);
                             } else {
                                 if (value.type !== 'L') {
-                                    tar.append(value.name, new Uint8Array(value.buffer), { type: value.type });
+                                    tar.append(value.name, new Uint8Array(value.buffer), fileValueObj);
                                 }
                             }
                         });
@@ -224,6 +225,15 @@
             });
         });
     }
+    /** Method to return the file information @public */
+    public createFileValueObject(value: TARSETTINGS): FILESETTINGS {
+        return {
+            type: value.type,
+            linkname: value.linkname,
+            owner: value.uname,
+            group: value.gname
+        };
+    }
     /** Method to check given string is JSON or not @public */
     public checkJson(jsonString: string): boolean {
         jsonString = jsonString.replace(/'/g, '"');