400304aabd47fe0d430c3bb24386819db37bcbae
[ccsdk/cds.git] /
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';
5
6
7 export abstract class PackageCreationModes {
8
9     protected constructor() {
10     }
11
12     public static setEntryPoint(metaDataTab: MetaDataTabModel) {
13         if (metaDataTab.mode.startsWith(ModeType.Designer)) {
14             metaDataTab.entryFileName = 'Definitions/vLB_CDS.json';
15         } else {
16             // TODO Not implemented
17             metaDataTab.entryFileName = '';
18         }
19         return metaDataTab;
20     }
21
22     public static mapModeType(cbaPackage: CBAPackage) {
23         if (cbaPackage.metaData.mode.startsWith('Scripting')) {
24             cbaPackage.metaData.mode = ModeType.Scripting;
25         } else if (cbaPackage.metaData.mode.startsWith('Designer')) {
26             cbaPackage.metaData.mode = ModeType.Designer;
27         } else {
28             cbaPackage.metaData.mode = ModeType.Generic;
29         }
30         return cbaPackage;
31     }
32
33     getValueOfMetaData(metaDataTab: MetaDataTabModel): string {
34         return 'TOSCA-Meta-File-Version: 1.0.0\n' +
35             'CSAR-Version: 1.0\n' +
36             'Created-By: Shaaban Ebrahim <shaaban.eltanany.ext@orange.con>\n' +
37             'Entry-Definitions:' + metaDataTab.entryFileName + '\n' +
38             'Template-Name:' + metaDataTab.name + '\n' +
39             'Template-Version:' + metaDataTab.version + '\n' +
40             'Template-Type: ' + metaDataTab.mode + '\n' +
41             'Template-Tags:' + metaDataTab.tags;
42
43     }
44
45     protected addToscaMetaDataFile(metaDataTab: MetaDataTabModel) {
46         const filename = 'TOSCA-Metadata/TOSCA.meta';
47         FilesContent.putData(this.getValueOfMetaData(metaDataTab), filename);
48     }
49
50
51     abstract execute(cbaPackage: CBAPackage, packageCreationUtils: PackageCreationUtils) ;
52
53
54 }