import {Store} from '../../../../common/core/stores/Store';
-import {CBAPackage, Definition} from './mapping-models/CBAPacakge.model';
-import {Metadata} from './mapping-models/definitions/VlbDefinition';
-import {PackageCreationService} from './package-creation.service';
+import {CBAPackage, DslDefinition} from './mapping-models/CBAPacakge.model';
+import {MetaDataTabModel} from './mapping-models/metadata/MetaDataTab.model';
+import {TemplateTopology} from './mapping-models/definitions/CBADefinition';
@Injectable({
})
export class PackageCreationStore extends Store<CBAPackage> {
- constructor(private packageCreationService: PackageCreationService) {
+
+ constructor() {
super(new CBAPackage());
}
- changeMetaData(metaDataObject: Metadata) {
+ changeMetaData(metaDataObject: MetaDataTabModel) {
this.setState({
...this.state,
});
}
+ setCustomKeys(mapOfCustomKey: Map<string, string>) {
+ this.setState({
+ ...this.state,
+ metaData: this.state.metaData.setCustomKey(mapOfCustomKey)
+ });
+ }
+
+ istemplateExist(): boolean {
+ return this.state.templates.files.size > 0 && this.state.mapping.files.size > 0;
+ }
+
+ changeDslDefinition(dslDefinition: DslDefinition) {
+
+ this.setState({
+ ...this.state,
+ definitions: this.state.definitions.setDslDefinition(dslDefinition)
+ });
+ }
+
+
addDefinition(name: string, content: string) {
this.setState({
...this.state,
- definitions: new Definition(this.state.definitions.files.set(name, content))
+ definitions: this.state.definitions.setImports(name, content)
});
}
+
+ addScripts(name: string, content: string) {
+ this.setState({
+ ...this.state,
+ scripts: this.state.scripts.setScripts(name, content)
+ });
+
+ }
+
+ 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);
+ }
+
+ fileExist(key: string) {
+ return this.state.templates.files.has(key);
+ }
+
+ removeFileFromDefinition(filename) {
+ this.state.definitions.imports.delete(filename);
+ }
+
+
+ addTemplate(filePath: string, fileContent: string) {
+ this.setState({
+ ...this.state,
+ templates: this.state.templates.setTemplates(filePath, fileContent)
+ });
+ }
+
+ addMapping(filePath: string, fileContent: string) {
+ this.setState({
+ ...this.state,
+ mapping: this.state.mapping.setContent(filePath, fileContent)
+ });
+ }
+
+ clear() {
+ console.log('clearing the store');
+ this.setState(new CBAPackage());
+ console.log('it should be empty');
+ }
+
+ setEntryDefinition(data: string) {
+ console.log('setting manual enrichment ');
+ }
+
+ addTopologyTemplate(templateTopology: TemplateTopology) {
+ this.setState({
+ ...this.state,
+ templateTopology
+ });
+ }
+
+ getMetaData() {
+ return this.state.metaData;
+ }
}