summaryrefslogtreecommitdiffstats
path: root/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes
diff options
context:
space:
mode:
Diffstat (limited to 'cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes')
-rw-r--r--cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/DesignerCreationMode.ts74
-rw-r--r--cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/GenericCreationMode.ts12
-rw-r--r--cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/PackageCreation.ts13
-rw-r--r--cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/PackageCreationBuilder.ts24
-rw-r--r--cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/PackageCreationModes.ts54
-rw-r--r--cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/ScriptingCreationMode.ts11
6 files changed, 175 insertions, 13 deletions
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/DesignerCreationMode.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/DesignerCreationMode.ts
new file mode 100644
index 000000000..1df011948
--- /dev/null
+++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/DesignerCreationMode.ts
@@ -0,0 +1,74 @@
+import {PackageCreationModes} from './PackageCreationModes';
+import {CBAPackage, Definition, Scripts} from '../mapping-models/CBAPacakge.model';
+import {FilesContent} from '../mapping-models/metadata/MetaDataTab.model';
+import {Import, Metadata, VlbDefinition} from '../mapping-models/definitions/VlbDefinition';
+import {PackageCreationUtils} from '../package-creation.utils';
+
+
+export class DesignerCreationMode extends PackageCreationModes {
+
+ constructor() {
+ super();
+ }
+
+ execute(cbaPackage: CBAPackage, packageCreationUtils: PackageCreationUtils) {
+ this.addToscaMetaDataFile(cbaPackage.metaData);
+ this.createDefinitionsFolder(cbaPackage.definitions, packageCreationUtils);
+ this.addScriptsFolder(cbaPackage.scripts);
+ }
+
+
+ /* private createDefinitionsFolder(definition: Definition) {
+ definition.imports.forEach((key, value) => {
+ console.log(key);
+ FilesContent.putData(key, value);
+ });
+
+ }*/
+
+ private addScriptsFolder(scripts: Scripts) {
+ scripts.files.forEach((key, value) => {
+ FilesContent.putData(key, value);
+ });
+ }
+
+ private createDefinitionsFolder(definition: Definition, packageCreationUtils: PackageCreationUtils) {
+ definition.imports.forEach((key, valueOfFile) => {
+ FilesContent.putData(key, valueOfFile);
+ });
+
+ const filenameEntry = 'Definitions/vLB_CDS.json';
+ const vlbDefinition: VlbDefinition = new VlbDefinition();
+ const metadata: Metadata = new Metadata();
+
+ metadata.template_author = 'Shaaban Ebrahim';
+ metadata.template_name = definition.metaDataTab.name;
+ metadata.template_tags = definition.metaDataTab.tags;
+ metadata.template_version = definition.metaDataTab.version;
+ metadata['author-email'] = 'shaaban.eltanany.ext@orange.com';
+ metadata['user-groups'] = 'test';
+ definition.metaDataTab.mapOfCustomKey.forEach((key, customKeyValue) => {
+ metadata[key] = customKeyValue;
+ });
+ vlbDefinition.metadata = metadata;
+ // const files = Import[definition.imports.size];
+ const files: Import[] = [];
+ definition.imports.forEach((key, valueOfFile) => {
+ files.push({file: valueOfFile});
+ });
+ console.log(vlbDefinition);
+ vlbDefinition.imports = files;
+ /* vlbDefinition.imports = this.definition.imports; /!*[{
+ this.this.definition.imports.forEach(key,value =>{
+
+ });
+ file: 'Definitions/data_types.json'
+ }]; */
+
+ const value = packageCreationUtils.transformToJson(vlbDefinition);
+ FilesContent.putData(filenameEntry, value);
+ console.log('hello there');
+ console.log(FilesContent.getMapOfFilesNamesAndContent());
+
+ }
+}
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/GenericCreationMode.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/GenericCreationMode.ts
new file mode 100644
index 000000000..58409eea8
--- /dev/null
+++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/GenericCreationMode.ts
@@ -0,0 +1,12 @@
+/*import {CBAPackage} from '../mapping-models/CBAPacakge.model';
+import {PackageCreationModes} from './PackageCreationModes';
+
+export class GenericCreationMode extends PackageCreationModes {
+
+ execute(cbaPackage: CBAPackage) {
+ this.addToscaMetaDataFile(cbaPackage.metaData);
+ }
+
+
+}
+*/
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/PackageCreation.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/PackageCreation.ts
deleted file mode 100644
index e1d28105f..000000000
--- a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/PackageCreation.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import {CBAPackage} from '../mapping-models/CBAPacakge.model';
-
-export abstract class PackageCreation {
-
- abstract setModeType(cbaPackage: CBAPackage);
-
- abstract setEntryPoint(cbaPackage: CBAPackage);
-
- createToscaMetaData(cbaPackage: CBAPackage) {
-
- }
-
-}
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/PackageCreationBuilder.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/PackageCreationBuilder.ts
new file mode 100644
index 000000000..08443cca1
--- /dev/null
+++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/PackageCreationBuilder.ts
@@ -0,0 +1,24 @@
+import {CBAPackage} from '../mapping-models/CBAPacakge.model';
+import {ModeType} from '../mapping-models/ModeType';
+import {DesignerCreationMode} from './DesignerCreationMode';
+import {PackageCreationModes} from './PackageCreationModes';
+
+
+export class PackageCreationBuilder {
+
+ constructor() {
+ }
+
+ public static getCreationMode(cbaPackage: CBAPackage): PackageCreationModes {
+ let creationMode: PackageCreationModes;
+ /*if (cbaPackage.metaData.mode.includes(ModeType.Generic)) {
+ creationMode = new GenericCreationMode();
+ } else */
+ if (cbaPackage.metaData.mode.includes(ModeType.Designer)) {
+ creationMode = new DesignerCreationMode();
+ } /*else if (cbaPackage.metaData.mode.includes(ModeType.Scripting)) {
+ creationMode = new ScriptingCreationMode();
+ }*/
+ return creationMode;
+ }
+}
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/PackageCreationModes.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/PackageCreationModes.ts
new file mode 100644
index 000000000..400304aab
--- /dev/null
+++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/PackageCreationModes.ts
@@ -0,0 +1,54 @@
+import {CBAPackage} from '../mapping-models/CBAPacakge.model';
+import {ModeType} from '../mapping-models/ModeType';
+import {FilesContent, MetaDataTabModel} from '../mapping-models/metadata/MetaDataTab.model';
+import {PackageCreationUtils} from '../package-creation.utils';
+
+
+export abstract class PackageCreationModes {
+
+ protected constructor() {
+ }
+
+ public static setEntryPoint(metaDataTab: MetaDataTabModel) {
+ if (metaDataTab.mode.startsWith(ModeType.Designer)) {
+ metaDataTab.entryFileName = 'Definitions/vLB_CDS.json';
+ } else {
+ // TODO Not implemented
+ metaDataTab.entryFileName = '';
+ }
+ return metaDataTab;
+ }
+
+ public static mapModeType(cbaPackage: CBAPackage) {
+ if (cbaPackage.metaData.mode.startsWith('Scripting')) {
+ cbaPackage.metaData.mode = ModeType.Scripting;
+ } else if (cbaPackage.metaData.mode.startsWith('Designer')) {
+ cbaPackage.metaData.mode = ModeType.Designer;
+ } else {
+ cbaPackage.metaData.mode = ModeType.Generic;
+ }
+ return cbaPackage;
+ }
+
+ getValueOfMetaData(metaDataTab: MetaDataTabModel): string {
+ return 'TOSCA-Meta-File-Version: 1.0.0\n' +
+ 'CSAR-Version: 1.0\n' +
+ 'Created-By: Shaaban Ebrahim <shaaban.eltanany.ext@orange.con>\n' +
+ 'Entry-Definitions:' + metaDataTab.entryFileName + '\n' +
+ 'Template-Name:' + metaDataTab.name + '\n' +
+ 'Template-Version:' + metaDataTab.version + '\n' +
+ 'Template-Type: ' + metaDataTab.mode + '\n' +
+ 'Template-Tags:' + metaDataTab.tags;
+
+ }
+
+ protected addToscaMetaDataFile(metaDataTab: MetaDataTabModel) {
+ const filename = 'TOSCA-Metadata/TOSCA.meta';
+ FilesContent.putData(this.getValueOfMetaData(metaDataTab), filename);
+ }
+
+
+ abstract execute(cbaPackage: CBAPackage, packageCreationUtils: PackageCreationUtils) ;
+
+
+}
diff --git a/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/ScriptingCreationMode.ts b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/ScriptingCreationMode.ts
new file mode 100644
index 000000000..21dce171d
--- /dev/null
+++ b/cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/ScriptingCreationMode.ts
@@ -0,0 +1,11 @@
+/*import {CBAPackage, Definition, Scripts} from '../mapping-models/CBAPacakge.model';
+import {PackageCreationModes} from './PackageCreationModes';
+import {FilesContent} from '../mapping-models/metadata/MetaDataTab.model';
+
+export class ScriptingCreationMode extends PackageCreationModes {
+ execute(cbaPackage: CBAPackage) {
+ }
+
+
+}
+*/