diff options
Diffstat (limited to 'cds-ui/client/src/app/feature-modules/blueprint')
6 files changed, 50 insertions, 238 deletions
diff --git a/cds-ui/client/src/app/feature-modules/blueprint/blueprint.module.ts b/cds-ui/client/src/app/feature-modules/blueprint/blueprint.module.ts index edbaca67f..8f70d2e71 100644 --- a/cds-ui/client/src/app/feature-modules/blueprint/blueprint.module.ts +++ b/cds-ui/client/src/app/feature-modules/blueprint/blueprint.module.ts @@ -32,13 +32,11 @@ import { DeployTemplateModule } from './deploy-template/deploy-template.module'; import { TestTemplateModule } from './test-template/test-template.module'; import { AppMaterialModule } from '../../../app/common/modules/app-material.module'; import { ReactiveFormsModule } from '@angular/forms'; -import { ZipfileExtractionComponent } from './common-module/zipfile-extraction/zipfile-extraction.component'; @NgModule({ declarations: [ BlueprintComponent, - ZipfileExtractionComponent - ], + ], imports: [ CommonModule, BlueprintRoutingModule, diff --git a/cds-ui/client/src/app/feature-modules/blueprint/common-module/zipfile-extraction/zipfile-extraction.component.html b/cds-ui/client/src/app/feature-modules/blueprint/common-module/zipfile-extraction/zipfile-extraction.component.html deleted file mode 100644 index 9b7f44b1c..000000000 --- a/cds-ui/client/src/app/feature-modules/blueprint/common-module/zipfile-extraction/zipfile-extraction.component.html +++ /dev/null @@ -1,20 +0,0 @@ -<!-- -============LICENSE_START========================================== -=================================================================== -Copyright (C) 2019 IBM Intellectual Property. All rights reserved. -=================================================================== - -Unless otherwise specified, all software contained herein is licensed -under the Apache License, Version 2.0 (the License); -you may not use this software except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============LICENSE_END============================================ --->
\ No newline at end of file diff --git a/cds-ui/client/src/app/feature-modules/blueprint/common-module/zipfile-extraction/zipfile-extraction.component.scss b/cds-ui/client/src/app/feature-modules/blueprint/common-module/zipfile-extraction/zipfile-extraction.component.scss deleted file mode 100644 index 93f5c9dea..000000000 --- a/cds-ui/client/src/app/feature-modules/blueprint/common-module/zipfile-extraction/zipfile-extraction.component.scss +++ /dev/null @@ -1,20 +0,0 @@ -/* -============LICENSE_START========================================== -=================================================================== -Copyright (C) 2019 IBM Intellectual Property. All rights reserved. -=================================================================== - -Unless otherwise specified, all software contained herein is licensed -under the Apache License, Version 2.0 (the License); -you may not use this software except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============LICENSE_END============================================ -*/
\ No newline at end of file diff --git a/cds-ui/client/src/app/feature-modules/blueprint/common-module/zipfile-extraction/zipfile-extraction.component.spec.ts b/cds-ui/client/src/app/feature-modules/blueprint/common-module/zipfile-extraction/zipfile-extraction.component.spec.ts deleted file mode 100644 index a6674caae..000000000 --- a/cds-ui/client/src/app/feature-modules/blueprint/common-module/zipfile-extraction/zipfile-extraction.component.spec.ts +++ /dev/null @@ -1,46 +0,0 @@ -/* -============LICENSE_START========================================== -=================================================================== -Copyright (C) 2019 IBM Intellectual Property. All rights reserved. -=================================================================== - -Unless otherwise specified, all software contained herein is licensed -under the Apache License, Version 2.0 (the License); -you may not use this software except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============LICENSE_END============================================ -*/ - -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ZipfileExtractionComponent } from './zipfile-extraction.component'; - -describe('ZipfileExtractionComponent', () => { - let component: ZipfileExtractionComponent; - let fixture: ComponentFixture<ZipfileExtractionComponent>; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ ZipfileExtractionComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(ZipfileExtractionComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/cds-ui/client/src/app/feature-modules/blueprint/common-module/zipfile-extraction/zipfile-extraction.component.ts b/cds-ui/client/src/app/feature-modules/blueprint/common-module/zipfile-extraction/zipfile-extraction.component.ts deleted file mode 100644 index 2683ff5f4..000000000 --- a/cds-ui/client/src/app/feature-modules/blueprint/common-module/zipfile-extraction/zipfile-extraction.component.ts +++ /dev/null @@ -1,136 +0,0 @@ -/* -============LICENSE_START========================================== -=================================================================== -Copyright (C) 2019 IBM Intellectual Property. All rights reserved. -=================================================================== - -Unless otherwise specified, all software contained herein is licensed -under the Apache License, Version 2.0 (the License); -you may not use this software except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============LICENSE_END============================================ -*/ -import { Component, OnInit } from '@angular/core'; -import * as JSZip from 'jszip'; -import { SortPipe } from '../../../../common/shared/pipes/sort.pipe'; -import { LoaderService } from '../../../../common/core/services/loader.service'; - -@Component({ - selector: 'app-zipfile-extraction', - templateUrl: './zipfile-extraction.component.html', - styleUrls: ['./zipfile-extraction.component.scss'] -}) -export class ZipfileExtractionComponent implements OnInit { - private paths = []; - private tree; - private zipFile: JSZip = new JSZip(); - private fileObject: any; - private activationBlueprint: any; - private tocsaMetadaData: any; - private blueprintName: string; - private entryDefinition: string; - validfile: boolean = false; - uploadedFileName: string; - - constructor(private loader: LoaderService) { } - - ngOnInit() { - } - async buildFileViewData(zip) { - this.validfile = false; - this.paths = []; - console.log(zip.files); - for (var file in zip.files) { - console.log("name: " + zip.files[file].name); - this.fileObject = { - // nameForUIDisplay: this.uploadedFileName + '/' + zip.files[file].name, - // name: zip.files[file].name, - name: this.uploadedFileName + '/' + zip.files[file].name, - data: '' - }; - const value = <any>await zip.files[file].async('string'); - this.fileObject.data = value; - this.paths.push(this.fileObject); - } - - if (this.paths) { - this.paths.forEach(path => { - if (path.name.includes("TOSCA.meta")) { - this.validfile = true - } - }); - } else { - alert('Please update proper file'); - } - - if (this.validfile) { - this.fetchTOSACAMetadata(); - this.paths = new SortPipe().transform(this.paths, 'asc', 'name'); - this.tree = this.arrangeTreeData(this.paths); - } else { - alert('Please update proper file with TOSCA metadata'); - } - } - - arrangeTreeData(paths) { - const tree = []; - - paths.forEach((path) => { - - const pathParts = path.name.split('/'); - // pathParts.shift(); - let currentLevel = tree; - - pathParts.forEach((part) => { - const existingPath = currentLevel.filter(level => level.name === part); - - if (existingPath.length > 0) { - currentLevel = existingPath[0].children; - } else { - const newPart = { - name: part, - children: [], - data: path.data, - path: path.name - }; - if (part.trim() == this.blueprintName.trim()) { - this.activationBlueprint = path.data; - newPart.data = JSON.parse(this.activationBlueprint.toString()); - console.log('newpart', newPart); - this.entryDefinition = path.name.trim(); - } - if (newPart.name !== '') { - currentLevel.push(newPart); - currentLevel = newPart.children; - } - } - }); - }); - this.loader.hideLoader(); - return tree; - } - - fetchTOSACAMetadata() { - let toscaData = {}; - this.paths.forEach(file => { - if (file.name.includes('TOSCA.meta')) { - let keys = file.data.split("\n"); - keys.forEach((key) => { - let propertyData = key.split(':'); - toscaData[propertyData[0]] = propertyData[1]; - }); - } - }); - this.blueprintName = (((toscaData['Entry-Definitions']).split('/'))[1]).toString();; - console.log(toscaData); - } - -} diff --git a/cds-ui/client/src/app/feature-modules/blueprint/select-template/metadata/metadata.component.ts b/cds-ui/client/src/app/feature-modules/blueprint/select-template/metadata/metadata.component.ts index f49517017..35643ee62 100644 --- a/cds-ui/client/src/app/feature-modules/blueprint/select-template/metadata/metadata.component.ts +++ b/cds-ui/client/src/app/feature-modules/blueprint/select-template/metadata/metadata.component.ts @@ -48,7 +48,8 @@ export class MetadataComponent implements OnInit { blueprintName: string; uploadedFileName: string; entryDefinition: string; - + viewOnly: boolean = true; + options: string; constructor(private formBuilder: FormBuilder, private store: Store<IAppState>, private loader: LoaderService, private dataService: SelectTemplateService) { this.bpState = this.store.select('blueprint'); @@ -66,11 +67,10 @@ export class MetadataComponent implements OnInit { ngOnInit() { this.dataService.currentMessage.subscribe( res => { - let options = res; - console.log(options + " data from service ngoninit" + res); + this.options = res; + // this.metdataFormfields(res); } ); - this.bpState.subscribe( blueprintdata => { var blueprintState: IBlueprintState = { blueprint: blueprintdata.blueprint, isLoadSuccess: blueprintdata.isLoadSuccess, isSaveSuccess: blueprintdata.isSaveSuccess, isUpdateSuccess: blueprintdata.isUpdateSuccess }; @@ -92,6 +92,28 @@ export class MetadataComponent implements OnInit { } let temp_author = metadatavalues[0]; console.log(temp_author); + if(this.options=='2'){ + this.CBAMetadataForm = this.formBuilder.group({ + template_author: ['', Validators.required], + author_email: ['', Validators.required], + user_groups: [metadatavalues[2], Validators.required], + template_name: ['', Validators.required], + template_version: ['', Validators.required], + template_tags: [metadatavalues[5], Validators.required] + }); + } + else if(this.options=='3'){ + this.CBAMetadataForm = this.formBuilder.group({ + template_author: [metadatavalues[0]], + author_email: [metadatavalues[1]], + user_groups: [metadatavalues[2]], + template_name: [metadatavalues[3]], + template_version: [metadatavalues[4]], + template_tags: [metadatavalues[5]] + }); + this.CBAMetadataForm.disable(); + } + else{ this.CBAMetadataForm = this.formBuilder.group({ template_author: [metadatavalues[0], Validators.required], author_email: [metadatavalues[1], Validators.required], @@ -100,23 +122,37 @@ export class MetadataComponent implements OnInit { template_version: [metadatavalues[4], Validators.required], template_tags: [metadatavalues[5], Validators.required] }); + } + }) + + } - + + metdataFormfields(options: string) { + if (options == '2') { + this.CBAMetadataForm.setValue({ + template_author: ["", Validators.required], + author_email: ["", Validators.required], + template_name: ["", Validators.required], + template_version: ["1.0.0", Validators.required] + + }) + } + if (options == '3') { + this.CBAMetadataForm.disable(); + } + } + UploadMetadata() { this.loader.showLoader(); this.metadata = Object.assign({}, this.CBAMetadataForm.value); this.blueprint.metadata = this.metadata; - /*if (this.blueprint && - this.blueprint['topology_template'] && - this.blueprint['topology_template'].workflows && - this.blueprint['topology_template'].workflows['resource-assignment'] && - this.blueprint['topology_template'].workflows['resource-assignment'].name) { - delete this.blueprint['topology_template'].workflows['resource-assignment'].name; - }*/ this.filesData.forEach((fileNode) => { if (fileNode.name.includes(this.blueprintName) && fileNode.name == this.entryDefinition) { - fileNode.data = JSON.stringify(this.blueprint, null, "\t"); + let tempNodeData = JSON.parse(fileNode.data); + tempNodeData.metadata = this.blueprint.metadata; + fileNode.data = JSON.stringify(tempNodeData, null, "\t"); } }); let blueprintState = { |