adding support for plans and requirements of importing package 44/114144/2
authorShaabanEltanany <shaaban.eltanany.ext@orange.com>
Thu, 22 Oct 2020 09:32:41 +0000 (11:32 +0200)
committerKAPIL SINGAL <ks220y@att.com>
Thu, 22 Oct 2020 17:58:50 +0000 (17:58 +0000)
Issue-ID: CCSDK-2930
Signed-off-by: ShaabanEltanany <shaaban.eltanany.ext@orange.com>
Change-Id: I495054a8cf24ea44251e6600a8fe8ada88ead61b

cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.component.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/DesignerCreationMode.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/mapping-models/CBAPacakge.model.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/mapping-models/definitions/CBADefinition.ts [moved from cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/mapping-models/definitions/VlbDefinition.ts with 98% similarity]
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation-extraction.service.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.store.ts

index a78fe4e..7ca429d 100644 (file)
@@ -6,7 +6,7 @@ import {FilesContent, FolderNodeElement} from '../package-creation/mapping-model
 import {MetadataTabComponent} from '../package-creation/metadata-tab/metadata-tab.component';
 import * as JSZip from 'jszip';
 import {ConfigurationDashboardService} from './configuration-dashboard.service';
-import {TemplateTopology, VlbDefinition} from '../package-creation/mapping-models/definitions/VlbDefinition';
+import {TemplateTopology, CBADefinition} from '../package-creation/mapping-models/definitions/CBADefinition';
 import {CBAPackage} from '../package-creation/mapping-models/CBAPacakge.model';
 import {PackageCreationUtils} from '../package-creation/package-creation.utils';
 import {PackageCreationModes} from '../package-creation/creationModes/PackageCreationModes';
@@ -43,7 +43,7 @@ export class ConfigurationDashboardComponent extends ComponentCanDeactivate impl
     id: any;
 
     currentBlob = new Blob();
-    vlbDefinition: VlbDefinition = new VlbDefinition();
+    vlbDefinition: CBADefinition = new CBADefinition();
     isSaveEnabled = false;
     versionPattern = '^(\\d+\\.)?(\\d+\\.)?(\\*|\\d+)$';
     metadataClasses = 'nav-item nav-link active';
index d6e15ed..b892981 100644 (file)
@@ -1,7 +1,7 @@
 import {PackageCreationModes} from './PackageCreationModes';
-import {CBAPackage, Scripts} from '../mapping-models/CBAPacakge.model';
+import {CBAPackage, Plans, Requirements, Scripts} from '../mapping-models/CBAPacakge.model';
 import {FilesContent} from '../mapping-models/metadata/MetaDataTab.model';
-import {Import, Metadata, VlbDefinition} from '../mapping-models/definitions/VlbDefinition';
+import {CBADefinition, Import, Metadata} from '../mapping-models/definitions/CBADefinition';
 import {PackageCreationUtils} from '../package-creation.utils';
 
 
@@ -17,6 +17,8 @@ export class DesignerCreationMode extends PackageCreationModes {
         this.createDefinitionsFolder(cbaPackage, packageCreationUtils);
         this.addScriptsFolder(cbaPackage.scripts);
         this.addTemplateFolder(cbaPackage);
+        this.addPlansFolder(cbaPackage.plans);
+        this.addRequirementsFolder(cbaPackage.requirements);
     }
 
     private addScriptsFolder(scripts: Scripts) {
@@ -25,6 +27,18 @@ export class DesignerCreationMode extends PackageCreationModes {
         });
     }
 
+    private addRequirementsFolder(requirements: Requirements) {
+        requirements.files.forEach((value, key) => {
+            FilesContent.putData(key, value);
+        });
+    }
+
+    private addPlansFolder(plans: Plans) {
+        plans.files.forEach((value, key) => {
+            FilesContent.putData(key, value);
+        });
+    }
+
     private addTemplateFolder(cbaPackage: CBAPackage) {
         // Create Template Files Folder
         cbaPackage.templates.files.forEach((value, key) => {
@@ -44,7 +58,7 @@ export class DesignerCreationMode extends PackageCreationModes {
         }
 
         const filenameEntry = 'Definitions/' + cbaPackage.metaData.name.trim() + '.json';
-        const vlbDefinition: VlbDefinition = new VlbDefinition();
+        const cbaDefinition: CBADefinition = new CBADefinition();
         const metadata: Metadata = new Metadata();
 
         metadata.template_author = 'Shaaban Ebrahim';
@@ -72,9 +86,9 @@ export class DesignerCreationMode extends PackageCreationModes {
             });
         }
         metadata.template_tags = fullTags;
-        vlbDefinition.metadata = metadata;
+        cbaDefinition.metadata = metadata;
         const files: Import[] = [];
-        let insideVlbDefinition: VlbDefinition = null;
+        let insideVlbDefinition: CBADefinition = null;
         if (cbaPackage.definitions.imports && cbaPackage.definitions.imports.size > 0) {
             cbaPackage.definitions.imports.forEach((valueOfFile, key) => {
                 if (!key.includes(cbaPackage.metaData.name)) {
@@ -86,20 +100,20 @@ export class DesignerCreationMode extends PackageCreationModes {
                 }
             });
         }
-        vlbDefinition.imports = files;
+        cbaDefinition.imports = files;
         if (cbaPackage.definitions && cbaPackage.definitions.dslDefinition &&
             cbaPackage.definitions.dslDefinition.content) {
-            vlbDefinition.dsl_definitions = JSON.parse(cbaPackage.definitions.dslDefinition.content);
+            cbaDefinition.dsl_definitions = JSON.parse(cbaPackage.definitions.dslDefinition.content);
         }
 
-        // vlbDefinition.imports = files;
+        // cbaDefinition.imports = files;
         if (cbaPackage.templateTopology && cbaPackage.templateTopology.content) {
-            vlbDefinition.topology_template = JSON.parse(cbaPackage.templateTopology.content);
+            cbaDefinition.topology_template = JSON.parse(cbaPackage.templateTopology.content);
         } else if (insideVlbDefinition && insideVlbDefinition.topology_template) {
-            vlbDefinition.topology_template = insideVlbDefinition.topology_template;
+            cbaDefinition.topology_template = insideVlbDefinition.topology_template;
         }
 
-        const value = packageCreationUtils.transformToJson(vlbDefinition);
+        const value = packageCreationUtils.transformToJson(cbaDefinition);
         FilesContent.putData(filenameEntry, value);
         console.log(FilesContent.getMapOfFilesNamesAndContent());
     }
index e34b549..c8c93cd 100644 (file)
@@ -1,5 +1,5 @@
 import {MetaDataTabModel} from './metadata/MetaDataTab.model';
-import {TemplateTopology} from './definitions/VlbDefinition';
+import {TemplateTopology} from './definitions/CBADefinition';
 
 export class Definition {
 
@@ -65,6 +65,13 @@ export class Scripts {
     }
 }
 
+export class Plans extends Base {
+
+}
+
+export class Requirements extends Base {
+}
+
 
 export class Template {
     public files: Map<string, string>;
@@ -94,6 +101,8 @@ export class CBAPackage {
     public templates: Template;
     public mapping: Mapping;
     public templateTopology: TemplateTopology;
+    public plans: Plans;
+    public requirements: Requirements;
 
 
     constructor() {
@@ -103,6 +112,8 @@ export class CBAPackage {
         this.templates = new Template();
         this.mapping = new Mapping();
         this.templateTopology = new TemplateTopology();
+        this.plans = new Plans();
+        this.requirements = new Requirements();
     }
 
 
index f44f688..585c169 100644 (file)
@@ -1,6 +1,6 @@
 import {Injectable, ViewChild} from '@angular/core';
 import {MetaDataTabModel} from './mapping-models/metadata/MetaDataTab.model';
-import {TemplateTopology, VlbDefinition} from './mapping-models/definitions/VlbDefinition';
+import {CBADefinition, TemplateTopology} from './mapping-models/definitions/CBADefinition';
 import {DslDefinition} from './mapping-models/CBAPacakge.model';
 import {PackageCreationStore} from './package-creation.store';
 import * as JSZip from 'jszip';
@@ -67,6 +67,10 @@ export class PackageCreationExtractionService {
 
                         } else if (filename.includes('Definitions/')) {
                             this.setImports(filename, fileData, packageName);
+                        } else if (filename.includes('Plans/')) {
+                            this.setPlans(filename, fileData);
+                        } else if (filename.includes('Requirements/')) {
+                            this.setRequirements(filename, fileData);
                         }
                     }
                 });
@@ -78,11 +82,19 @@ export class PackageCreationExtractionService {
         this.packageCreationStore.addScripts(filename, fileData);
     }
 
+    public setPlans(filename: string, fileData: any) {
+        this.packageCreationStore.addPlans(filename, fileData);
+    }
+
+    public setRequirements(filename: string, fileData: any) {
+        this.packageCreationStore.addRequirements(filename, fileData);
+    }
+
     public setImports(filename: string, fileData: any, packageName: string) {
         console.log(filename);
         if (filename.includes('Definitions/' + packageName.trim() + '.json')) {
-            let definition = new VlbDefinition();
-            definition = fileData as VlbDefinition;
+            let definition = new CBADefinition();
+            definition = fileData as CBADefinition;
             definition = JSON.parse(fileData);
             const dslDefinition = new DslDefinition();
             dslDefinition.content = this.packageCreationUtils.transformToJson(definition.dsl_definitions);
index 77867e5..24a4d47 100644 (file)
@@ -25,7 +25,7 @@ import {Store} from '../../../../common/core/stores/Store';
 
 import {CBAPackage, DslDefinition} from './mapping-models/CBAPacakge.model';
 import {MetaDataTabModel} from './mapping-models/metadata/MetaDataTab.model';
-import {TemplateTopology} from './mapping-models/definitions/VlbDefinition';
+import {TemplateTopology} from './mapping-models/definitions/CBADefinition';
 
 
 @Injectable({
@@ -82,6 +82,22 @@ export class PackageCreationStore extends Store<CBAPackage> {
 
     }
 
+    addPlans(name: string, content: string) {
+        this.setState({
+            ...this.state,
+            plans: this.state.plans.setContent(name, content)
+        });
+
+    }
+
+    addRequirements(name: string, content: string) {
+        this.setState({
+            ...this.state,
+            requirements: this.state.requirements.setContent(name, content)
+        });
+
+    }
+
     removeFileFromState(name: string) {
         this.state.scripts.files.delete(name);
     }