From f7a326eb312d507f0ae11e5b7edc73aba367267d Mon Sep 17 00:00:00 2001 From: shaaban Altanany Date: Mon, 3 Feb 2020 16:46:57 +0200 Subject: Package creation refactoring and save the package to CBA store. Issue-ID: CCSDK-2070 Signed-off-by: shaaban Altanany Change-Id: Iac67b71dbd48fe18319b381ee8a284ef9928ec46 --- .../package-creation/package-creation.component.ts | 86 ++++++---------------- 1 file changed, 23 insertions(+), 63 deletions(-) (limited to 'cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.component.ts') diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.component.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.component.ts index cdf8cf38b..c15a5dd4f 100644 --- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.component.ts +++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.component.ts @@ -20,11 +20,15 @@ limitations under the License. */ import {Component, OnInit} from '@angular/core'; -import {FilesContent, FolderNodeElement, MetaDataFile, MetaDataTabModel} from './mapping-models/metadata/MetaDataTab.model'; -// import {saveAs} from 'file-saver/dist/FileSaver'; +import {FilesContent, FolderNodeElement, MetaDataTabModel} from './mapping-models/metadata/MetaDataTab.model'; + import * as JSZip from 'jszip'; import {PackageCreationStore} from './package-creation.store'; import {Definition} from './mapping-models/CBAPacakge.model'; +import {PackageCreationModes} from './creationModes/PackageCreationModes'; +import {PackageCreationBuilder} from './creationModes/PackageCreationBuilder'; +import {PackageCreationUtils} from './package-creation.utils'; + @Component({ selector: 'app-package-creation', @@ -42,7 +46,10 @@ export class PackageCreationComponent implements OnInit { private filesData: any = []; private definition: Definition = new Definition(); - constructor(private packageCreationStore: PackageCreationStore) { + // adding initial referencing to designer mode + + + constructor(private packageCreationStore: PackageCreationStore, private packageCreationUtils: PackageCreationUtils) { } ngOnInit() { @@ -53,17 +60,12 @@ export class PackageCreationComponent implements OnInit { this.packageCreationStore.state$.subscribe( cbaPackage => { console.log(cbaPackage); - this.metaDataTab = cbaPackage.metaData; - this.setModeType(this.metaDataTab); - this.setEntryPoint(this.metaDataTab); - this.addToscaMetaDataFile(this.metaDataTab); - - this.definition = cbaPackage.definitions; - this.definition.metaDataTab = cbaPackage.metaData; - this.createDefinitionsFolder(this.definition); - // const vlbDefinition: VlbDefinition = new VlbDefinition(); - // this.fillVLBDefinition(vlbDefinition, this.metaDataTab); - + FilesContent.clear(); + let packageCreationModes: PackageCreationModes; + cbaPackage = PackageCreationModes.mapModeType(cbaPackage); + cbaPackage.metaData = PackageCreationModes.setEntryPoint(cbaPackage.metaData); + packageCreationModes = PackageCreationBuilder.getCreationMode(cbaPackage); + packageCreationModes.execute(cbaPackage, this.packageCreationUtils); this.filesData.push(this.folder.TREE_DATA); this.saveBluePrintToDataBase(); }); @@ -71,29 +73,6 @@ export class PackageCreationComponent implements OnInit { } - private addToscaMetaDataFile(metaDataTab: MetaDataTabModel) { - const filename = 'TOSCA-Metadata/TOSCA.meta'; - FilesContent.putData(filename, MetaDataFile.getValueOfMetaData(metaDataTab)); - } - -// TODO use enumerator - private setModeType(metaDataTab: MetaDataTabModel) { - if (metaDataTab.mode.startsWith('Scripting')) { - metaDataTab.mode = 'KOTLIN_SCRIPT'; - } else if (metaDataTab.mode.startsWith('Designer')) { - metaDataTab.mode = 'DEFAULT'; - } else { - metaDataTab.mode = 'GENERIC_SCRIPT'; - } - } - - private setEntryPoint(metaDataTab: MetaDataTabModel) { - if (metaDataTab.mode.startsWith('DEFAULT')) { - metaDataTab.entryFileName = 'Definitions/vLB_CDS.json'; - } else { - metaDataTab.entryFileName = ''; - } - } saveBluePrintToDataBase() { this.create(); @@ -105,7 +84,11 @@ export class PackageCreationComponent implements OnInit { create() { - this.folder.TREE_DATA.forEach((path) => { + FilesContent.getMapOfFilesNamesAndContent().forEach((key, value) => { + this.zipFile.folder(key.split('/')[0]); + this.zipFile.file(key, value); + }); + /*this.folder.TREE_DATA.forEach((path) => { const name = path.name; if (path.children) { this.zipFile.folder(name); @@ -114,37 +97,14 @@ export class PackageCreationComponent implements OnInit { if (FilesContent.getMapOfFilesNamesAndContent().has(name2)) { this.zipFile.file(name + '/' + name2, FilesContent.getMapOfFilesNamesAndContent().get(name2)); } else { + // this.zipFile.file(name2, FilesContent.getMapOfFilesNamesAndContent().get(name2)); } }); } - }); + });*/ } - private createDefinitionsFolder(definition: Definition) { - this.definition.imports.forEach((key, value) => { - FilesContent.putData(key, value); - }); - - /*const filenameEntry = 'vLB_CDS.json'; - const vlbDefinition: VlbDefinition = new VlbDefinition(); - const metadata: MetaDataTabModel = new MetaDataTabModel(); - - metadata.templateAuthor = ' lldkslds'; - metadata.templateName = ' lldkslds'; - metadata.templateTags = ' lldkslds'; - metadata.templateVersion = ' lldkslds'; - metadata['author-email'] = ' lldkslds'; - metadata['user-groups'] = ' lldkslds'; - vlbDefinition.metadata = metadata; - - vlbDefinition.imports = [{ - file: 'Definitions/data_types.json' - }]; - - const value = this.packageCreationUtils.transformToJson(vlbDefinition); - FilesContent.putData(filenameEntry, value);*/ - } } -- cgit 1.2.3-korg