1 import {PackageCreationModes} from './PackageCreationModes';
2 import {CBAPackage, Definition, Scripts} from '../mapping-models/CBAPacakge.model';
3 import {FilesContent} from '../mapping-models/metadata/MetaDataTab.model';
4 import {Import, Metadata, VlbDefinition} from '../mapping-models/definitions/VlbDefinition';
5 import {PackageCreationUtils} from '../package-creation.utils';
8 export class DesignerCreationMode extends PackageCreationModes {
14 execute(cbaPackage: CBAPackage, packageCreationUtils: PackageCreationUtils) {
15 this.addToscaMetaDataFile(cbaPackage.metaData);
16 this.createDefinitionsFolder(cbaPackage.definitions, packageCreationUtils);
17 this.addScriptsFolder(cbaPackage.scripts);
21 /* private createDefinitionsFolder(definition: Definition) {
22 definition.imports.forEach((key, value) => {
24 FilesContent.putData(key, value);
29 private addScriptsFolder(scripts: Scripts) {
30 scripts.files.forEach((key, value) => {
31 FilesContent.putData(key, value);
35 private createDefinitionsFolder(definition: Definition, packageCreationUtils: PackageCreationUtils) {
36 definition.imports.forEach((key, valueOfFile) => {
37 FilesContent.putData(key, valueOfFile);
40 const filenameEntry = 'Definitions/vLB_CDS.json';
41 const vlbDefinition: VlbDefinition = new VlbDefinition();
42 const metadata: Metadata = new Metadata();
44 metadata.template_author = 'Shaaban Ebrahim';
45 metadata.template_name = definition.metaDataTab.name;
46 metadata.template_tags = definition.metaDataTab.tags;
47 metadata.template_version = definition.metaDataTab.version;
48 metadata['author-email'] = 'shaaban.eltanany.ext@orange.com';
49 metadata['user-groups'] = 'test';
50 definition.metaDataTab.mapOfCustomKey.forEach((key, customKeyValue) => {
51 metadata[key] = customKeyValue;
53 vlbDefinition.metadata = metadata;
54 // const files = Import[definition.imports.size];
55 const files: Import[] = [];
56 definition.imports.forEach((key, valueOfFile) => {
57 files.push({file: valueOfFile});
59 console.log(vlbDefinition);
60 vlbDefinition.imports = files;
61 /* vlbDefinition.imports = this.definition.imports; /!*[{
62 this.this.definition.imports.forEach(key,value =>{
65 file: 'Definitions/data_types.json'
68 const value = packageCreationUtils.transformToJson(vlbDefinition);
69 FilesContent.putData(filenameEntry, value);
70 console.log('hello there');
71 console.log(FilesContent.getMapOfFilesNamesAndContent());