1 import {CBAPackage} from '../mapping-models/CBAPacakge.model';
2 import {ModeType} from '../mapping-models/ModeType';
3 import {FilesContent, MetaDataTabModel} from '../mapping-models/metadata/MetaDataTab.model';
4 import {PackageCreationUtils} from '../package-creation.utils';
7 export abstract class PackageCreationModes {
9 protected constructor() {
12 public static setEntryPoint(metaDataTab: MetaDataTabModel) {
13 if (metaDataTab.mode.startsWith(ModeType.Designer)) {
14 metaDataTab.entryFileName = 'Definitions/' + metaDataTab.name + '.json';
16 // TODO Not implemented
17 metaDataTab.entryFileName = '';
22 public static mapModeType(cbaPackage: CBAPackage) {
23 console.log(cbaPackage.metaData.mode);
24 /* if (cbaPackage.metaData.mode.includes('Scripting')) {
25 cbaPackage.metaData.mode = ModeType.Scripting;
26 } else if (cbaPackage.metaData.mode.includes('Designer') || cbaPackage.metaData.mode.includes('DEFAULT') ) {
27 cbaPackage.metaData.mode = ModeType.Designer;
29 cbaPackage.metaData.mode = ModeType.Generic;
31 cbaPackage.metaData.mode = ModeType.Designer;
35 getValueOfMetaData(metaDataTab: MetaDataTabModel): string {
38 if (metaDataTab.templateTags && metaDataTab.templateTags.size > 0) {
39 for (const tag of metaDataTab.templateTags) {
41 if (count === metaDataTab.templateTags.size) {
48 return 'TOSCA-Meta-File-Version: 1.0.0\n' +
49 'CSAR-Version: 1.0\n' +
50 'Created-By: Shaaban Ebrahim <shaaban.eltanany.ext@orange.con>\n' +
51 'Entry-Definitions:' + metaDataTab.entryFileName + '\n' +
52 'Template-Name:' + metaDataTab.name + '\n' +
53 'Template-Version:' + metaDataTab.version + '\n' +
54 'Template-Type: ' + metaDataTab.mode + '\n' +
55 'Template-Tags:' + tags;
59 protected addToscaMetaDataFile(metaDataTab: MetaDataTabModel) {
60 const filename = 'TOSCA-Metadata/TOSCA.meta';
61 FilesContent.putData(filename, this.getValueOfMetaData(metaDataTab));
65 abstract execute(cbaPackage: CBAPackage, packageCreationUtils: PackageCreationUtils);