import {MetadataTabComponent} from '../package-creation/metadata-tab/metadata-tab.component';
import * as JSZip from 'jszip';
import {ConfigurationDashboardService} from './configuration-dashboard.service';
-import {TemplateTopology, VlbDefinition} from '../package-creation/mapping-models/definitions/VlbDefinition';
+import {TemplateTopology, CBADefinition} from '../package-creation/mapping-models/definitions/CBADefinition';
import {CBAPackage} from '../package-creation/mapping-models/CBAPacakge.model';
import {PackageCreationUtils} from '../package-creation/package-creation.utils';
import {PackageCreationModes} from '../package-creation/creationModes/PackageCreationModes';
id: any;
currentBlob = new Blob();
- vlbDefinition: VlbDefinition = new VlbDefinition();
+ vlbDefinition: CBADefinition = new CBADefinition();
isSaveEnabled = false;
versionPattern = '^(\\d+\\.)?(\\d+\\.)?(\\*|\\d+)$';
metadataClasses = 'nav-item nav-link active';
import {PackageCreationModes} from './PackageCreationModes';
-import {CBAPackage, Scripts} from '../mapping-models/CBAPacakge.model';
+import {CBAPackage, Plans, Requirements, Scripts} from '../mapping-models/CBAPacakge.model';
import {FilesContent} from '../mapping-models/metadata/MetaDataTab.model';
-import {Import, Metadata, VlbDefinition} from '../mapping-models/definitions/VlbDefinition';
+import {CBADefinition, Import, Metadata} from '../mapping-models/definitions/CBADefinition';
import {PackageCreationUtils} from '../package-creation.utils';
this.createDefinitionsFolder(cbaPackage, packageCreationUtils);
this.addScriptsFolder(cbaPackage.scripts);
this.addTemplateFolder(cbaPackage);
+ this.addPlansFolder(cbaPackage.plans);
+ this.addRequirementsFolder(cbaPackage.requirements);
}
private addScriptsFolder(scripts: Scripts) {
});
}
+ private addRequirementsFolder(requirements: Requirements) {
+ requirements.files.forEach((value, key) => {
+ FilesContent.putData(key, value);
+ });
+ }
+
+ private addPlansFolder(plans: Plans) {
+ plans.files.forEach((value, key) => {
+ FilesContent.putData(key, value);
+ });
+ }
+
private addTemplateFolder(cbaPackage: CBAPackage) {
// Create Template Files Folder
cbaPackage.templates.files.forEach((value, key) => {
}
const filenameEntry = 'Definitions/' + cbaPackage.metaData.name.trim() + '.json';
- const vlbDefinition: VlbDefinition = new VlbDefinition();
+ const cbaDefinition: CBADefinition = new CBADefinition();
const metadata: Metadata = new Metadata();
metadata.template_author = 'Shaaban Ebrahim';
});
}
metadata.template_tags = fullTags;
- vlbDefinition.metadata = metadata;
+ cbaDefinition.metadata = metadata;
const files: Import[] = [];
- let insideVlbDefinition: VlbDefinition = null;
+ let insideVlbDefinition: CBADefinition = null;
if (cbaPackage.definitions.imports && cbaPackage.definitions.imports.size > 0) {
cbaPackage.definitions.imports.forEach((valueOfFile, key) => {
if (!key.includes(cbaPackage.metaData.name)) {
}
});
}
- vlbDefinition.imports = files;
+ cbaDefinition.imports = files;
if (cbaPackage.definitions && cbaPackage.definitions.dslDefinition &&
cbaPackage.definitions.dslDefinition.content) {
- vlbDefinition.dsl_definitions = JSON.parse(cbaPackage.definitions.dslDefinition.content);
+ cbaDefinition.dsl_definitions = JSON.parse(cbaPackage.definitions.dslDefinition.content);
}
- // vlbDefinition.imports = files;
+ // cbaDefinition.imports = files;
if (cbaPackage.templateTopology && cbaPackage.templateTopology.content) {
- vlbDefinition.topology_template = JSON.parse(cbaPackage.templateTopology.content);
+ cbaDefinition.topology_template = JSON.parse(cbaPackage.templateTopology.content);
} else if (insideVlbDefinition && insideVlbDefinition.topology_template) {
- vlbDefinition.topology_template = insideVlbDefinition.topology_template;
+ cbaDefinition.topology_template = insideVlbDefinition.topology_template;
}
- const value = packageCreationUtils.transformToJson(vlbDefinition);
+ const value = packageCreationUtils.transformToJson(cbaDefinition);
FilesContent.putData(filenameEntry, value);
console.log(FilesContent.getMapOfFilesNamesAndContent());
}
import {MetaDataTabModel} from './metadata/MetaDataTab.model';
-import {TemplateTopology} from './definitions/VlbDefinition';
+import {TemplateTopology} from './definitions/CBADefinition';
export class Definition {
}
}
+export class Plans extends Base {
+
+}
+
+export class Requirements extends Base {
+}
+
export class Template {
public files: Map<string, string>;
public templates: Template;
public mapping: Mapping;
public templateTopology: TemplateTopology;
+ public plans: Plans;
+ public requirements: Requirements;
constructor() {
this.templates = new Template();
this.mapping = new Mapping();
this.templateTopology = new TemplateTopology();
+ this.plans = new Plans();
+ this.requirements = new Requirements();
}
}
@JsonObject
-export class VlbDefinition {
+export class CBADefinition {
// tslint:disable-next-line:variable-name
tosca_definitions_version: string;
import {Injectable, ViewChild} from '@angular/core';
import {MetaDataTabModel} from './mapping-models/metadata/MetaDataTab.model';
-import {TemplateTopology, VlbDefinition} from './mapping-models/definitions/VlbDefinition';
+import {CBADefinition, TemplateTopology} from './mapping-models/definitions/CBADefinition';
import {DslDefinition} from './mapping-models/CBAPacakge.model';
import {PackageCreationStore} from './package-creation.store';
import * as JSZip from 'jszip';
} else if (filename.includes('Definitions/')) {
this.setImports(filename, fileData, packageName);
+ } else if (filename.includes('Plans/')) {
+ this.setPlans(filename, fileData);
+ } else if (filename.includes('Requirements/')) {
+ this.setRequirements(filename, fileData);
}
}
});
this.packageCreationStore.addScripts(filename, fileData);
}
+ public setPlans(filename: string, fileData: any) {
+ this.packageCreationStore.addPlans(filename, fileData);
+ }
+
+ public setRequirements(filename: string, fileData: any) {
+ this.packageCreationStore.addRequirements(filename, fileData);
+ }
+
public setImports(filename: string, fileData: any, packageName: string) {
console.log(filename);
if (filename.includes('Definitions/' + packageName.trim() + '.json')) {
- let definition = new VlbDefinition();
- definition = fileData as VlbDefinition;
+ let definition = new CBADefinition();
+ definition = fileData as CBADefinition;
definition = JSON.parse(fileData);
const dslDefinition = new DslDefinition();
dslDefinition.content = this.packageCreationUtils.transformToJson(definition.dsl_definitions);
import {CBAPackage, DslDefinition} from './mapping-models/CBAPacakge.model';
import {MetaDataTabModel} from './mapping-models/metadata/MetaDataTab.model';
-import {TemplateTopology} from './mapping-models/definitions/VlbDefinition';
+import {TemplateTopology} from './mapping-models/definitions/CBADefinition';
@Injectable({
}
+ addPlans(name: string, content: string) {
+ this.setState({
+ ...this.state,
+ plans: this.state.plans.setContent(name, content)
+ });
+
+ }
+
+ addRequirements(name: string, content: string) {
+ this.setState({
+ ...this.state,
+ requirements: this.state.requirements.setContent(name, content)
+ });
+
+ }
+
removeFileFromState(name: string) {
this.state.scripts.files.delete(name);
}