-import {PackageCreationModes} from './PackageCreationModes';
-import {CBAPackage, 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';
+import { PackageCreationModes } from './PackageCreationModes';
+import { CBAPackage, 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 {
}
private addScriptsFolder(scripts: Scripts) {
- scripts.files.forEach((key, value) => {
+ scripts.files.forEach((value, key) => {
FilesContent.putData(key, value);
});
}
private createDefinitionsFolder(cbaPackage: CBAPackage, packageCreationUtils: PackageCreationUtils) {
- cbaPackage.definitions.imports.forEach((key, valueOfFile) => {
+ cbaPackage.definitions.imports.forEach((valueOfFile, key) => {
FilesContent.putData(key, valueOfFile);
});
metadata.template_version = cbaPackage.metaData.version;
metadata['author-email'] = 'shaaban.eltanany.ext@orange.com';
metadata['user-groups'] = 'test';
- cbaPackage.definitions.metaDataTab.mapOfCustomKey.forEach((key, customKeyValue) => {
+ cbaPackage.definitions.metaDataTab.mapOfCustomKey.forEach((customKeyValue, key) => {
metadata[key] = customKeyValue;
});
vlbDefinition.metadata = metadata;
const files: Import[] = [];
- cbaPackage.definitions.imports.forEach((key, valueOfFile) => {
- files.push({file: valueOfFile});
+ cbaPackage.definitions.imports.forEach((valueOfFile, key) => {
+ files.push({ file: valueOfFile });
});
console.log(vlbDefinition);
vlbDefinition.imports = files;
+ console.log(cbaPackage.definitions.dslDefinition.content);
+ if (cbaPackage.definitions.dslDefinition.content) {
+ vlbDefinition.dsl_definitions = JSON.parse(cbaPackage.definitions.dslDefinition.content);
+ }
+ console.log(vlbDefinition);
const value = packageCreationUtils.transformToJson(vlbDefinition);
FilesContent.putData(filenameEntry, value);
console.log('hello there');
-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';
+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 addToscaMetaDataFile(metaDataTab: MetaDataTabModel) {
const filename = 'TOSCA-Metadata/TOSCA.meta';
- FilesContent.putData(this.getValueOfMetaData(metaDataTab), filename);
+ FilesContent.putData(filename, this.getValueOfMetaData(metaDataTab));
}
- abstract execute(cbaPackage: CBAPackage, packageCreationUtils: PackageCreationUtils) ;
+ abstract execute(cbaPackage: CBAPackage, packageCreationUtils: PackageCreationUtils);
}
-import {Any, JsonObject, JsonProperty} from 'json2typescript';
+import { Any, JsonObject, JsonProperty } from 'json2typescript';
@JsonObject
tosca_definitions_version: string;
metadata: Metadata;
imports: Import[];
- // dsl_definitions: DSLDefinitions;
+ // tslint:disable-next-line: variable-name
+ dsl_definitions: DslContent;
// topology_template: TopologyTemplate;
}
+@JsonObject('dsl_definitions')
+export class DslContent {
+
+}
+
@JsonObject('metadata')
export class Metadata {
@JsonProperty('template_author')
- // tslint:disable-next-line:variable-name
+ // tslint:disable-next-line:variable-name
template_author: string;
'author-email': string;
'user-groups': string;
@JsonProperty('template_name')
- // tslint:disable-next-line:variable-name
+ // tslint:disable-next-line:variable-name
template_name: string;
@JsonProperty('template_version')
- // tslint:disable-next-line:variable-name
+ // tslint:disable-next-line:variable-name
template_version: string;
@JsonProperty('template_tag')
- // tslint:disable-next-line:variable-name
+ // tslint:disable-next-line:variable-name
template_tags: string;
@JsonProperty('dictionary_group')
- // tslint:disable-next-line:variable-name
+ // tslint:disable-next-line:variable-name
dictionary_group: string;
============LICENSE_END============================================
*/
-import {Component, OnInit} from '@angular/core';
-import {FilesContent, FolderNodeElement, MetaDataTabModel} from './mapping-models/metadata/MetaDataTab.model';
+import { Component, OnInit } from '@angular/core';
+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';
+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({
export class PackageCreationComponent implements OnInit {
counter = 0;
modes: object[] = [
- {name: 'Designer Mode', style: 'mode-icon icon-designer-mode'},
- {name: 'Scripting Mode', style: 'mode-icon icon-scripting-mode'}];
+ { name: 'Designer Mode', style: 'mode-icon icon-designer-mode' },
+ { name: 'Scripting Mode', style: 'mode-icon icon-scripting-mode' }];
private metaDataTab: MetaDataTabModel = new MetaDataTabModel();
private folder: FolderNodeElement = new FolderNodeElement();
private zipFile: JSZip = new JSZip();
saveBluePrintToDataBase() {
this.create();
- this.zipFile.generateAsync({type: 'blob'})
+ this.zipFile.generateAsync({ type: 'blob' })
.then(blob => {
this.packageCreationStore.saveBluePrint(blob);
});
create() {
- FilesContent.getMapOfFilesNamesAndContent().forEach((key, value) => {
+ FilesContent.getMapOfFilesNamesAndContent().forEach((value, key) => {
this.zipFile.folder(key.split('/')[0]);
this.zipFile.file(key, value);
});
import {JsonPipe} from '@angular/common';
import {Injectable} from '@angular/core';
-import {JsonConvert} from 'json2typescript';
-
@Injectable({
providedIn: 'root'