diff options
-rw-r--r-- | cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.html | 6 | ||||
-rw-r--r-- | cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.ts | 66 | ||||
-rw-r--r-- | cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.service.ts | 1 | ||||
-rw-r--r-- | cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.component.ts | 7 | ||||
-rwxr-xr-x | ms/blueprintsprocessor/application/pom.xml | 5 | ||||
-rw-r--r-- | ms/blueprintsprocessor/application/src/main/java/org/onap/ccsdk/cds/blueprintsprocessor/HttpServerWhenGrpcDisable.java (renamed from ms/blueprintsprocessor/application/src/main/java/org/onap/ccsdk/cds/blueprintsprocessor/BlueprintHttpServer.java) | 5 | ||||
-rw-r--r-- | ms/blueprintsprocessor/application/src/main/java/org/onap/ccsdk/cds/blueprintsprocessor/HttpServerWhenGrpcEnable.java | 56 |
7 files changed, 116 insertions, 30 deletions
diff --git a/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.html b/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.html index 5a3973a5e..619412c17 100644 --- a/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.html +++ b/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.html @@ -35,13 +35,13 @@ limitations under the License. <button mat-icon-button disabled></button> <button mat-icon-button (click)="selectFileToView(node)">{{node.name}}</button> </mat-tree-node> - <mat-tree-node *matTreeNodeDef="let node;when: hasChild" matTreeNodePadding (click)="activeNode = node" [ngClass]="{ 'background-highlight': activeNode === node }"> + <mat-tree-node *matTreeNodeDef="let node;when: hasChild" matTreeNodePadding (click)="selectFolder(node);activeNode = node" [ngClass]="{ 'background-highlight': activeNode === node }"> <button mat-icon-button matTreeNodeToggle [attr.aria-label]="'toggle ' + node.name"> <mat-icon class="mat-icon-rtl-mirror"> {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}} </mat-icon> </button> - <button mat-icon-button (click)="selectFolder(node)">{{node.name}}</button> + <button mat-icon-button>{{node.name}}</button> </mat-tree-node> </mat-tree> </div> @@ -49,7 +49,7 @@ limitations under the License. <!-- <i class="fa fa-save save-icon" style="font-size:24px" (click)="updateBlueprint()"></i> <ace-editor [(text)]="text" [(mode)]="mode" #editor class="aceEditor"></ace-editor> --> <div class="normal-editor-mode" [ngClass]="{ 'resource-mapping-mode': viewTemplateMode}"> - <i class="fa fa-save save-icon" style="font-size:24px" (click)="updateBlueprint()"></i> + <i class="fa fa-save save-icon" style="font-size:24px" (click)="saveEditedChanges()"></i> <ace-editor [(text)]="text" [(mode)]="mode" #editor class="aceEditor"></ace-editor> </div> <button *ngIf="viewTemplateMode" class="btn-active" (click)="loadConfigParams()">Load Config Parameters</button> diff --git a/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.ts b/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.ts index 73cc72cfd..1f8526a53 100644 --- a/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.ts +++ b/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.component.ts @@ -165,7 +165,7 @@ export class EditorComponent implements OnInit { blueprint.push(this.blueprintdata[key]); } } - this.metadata=blueprintState.blueprint.metadata; + this.metadata = blueprintState.blueprint.metadata; let metadatavalues = []; for (let key in this.metadata) { if (this.metadata.hasOwnProperty(key)) { @@ -181,21 +181,21 @@ export class EditorComponent implements OnInit { } updateBlueprint() { - console.log(this.blueprint); - this.filesData.forEach(fileNode => { - if (this.selectedFile && fileNode.name.includes(this.blueprintName.trim()) && fileNode.name.includes(this.selectedFile.trim())) { - fileNode.data = this.text; - } else if (this.selectedFile && fileNode.name.includes(this.currentFilePath)) { - // this.selectedFile && fileNode.name.includes(this.selectedFile.trim())) { - fileNode.data = this.text; - } - }); + // console.log(this.blueprint); + // this.filesData.forEach(fileNode => { + // if (this.selectedFile && fileNode.name.includes(this.blueprintName.trim()) && fileNode.name.includes(this.selectedFile.trim())) { + // fileNode.data = this.text; + // } else if (this.selectedFile && fileNode.name.includes(this.currentFilePath)) { + // // this.selectedFile && fileNode.name.includes(this.selectedFile.trim())) { + // fileNode.data = this.text; + // } + // }); - if (this.selectedFile && this.selectedFile == this.blueprintName.trim()) { - this.blueprint = JSON.parse(this.text); - } else { - this.blueprint = this.blueprintdata; - } + // if (this.selectedFile && this.selectedFile == this.blueprintName.trim()) { + // this.blueprint = JSON.parse(this.text); + // } else { + // this.blueprint = this.blueprintdata; + // } let blueprintState = { blueprint: this.blueprint, @@ -243,11 +243,11 @@ export class EditorComponent implements OnInit { console.log("processed"); } }); - window.alert('Blueprint enriched successfully' ); + window.alert('Blueprint enriched successfully'); }); }); } - + saveToBackend() { @@ -300,7 +300,9 @@ export class EditorComponent implements OnInit { create() { this.filesData.forEach((path) => { - this.zipFile.file(path.name, path.data); + let index = path.name.indexOf("/"); + let name = path.name.slice(index + 1, path.name.length); + this.zipFile.file(name, path.data); }); } @@ -318,6 +320,13 @@ export class EditorComponent implements OnInit { // console.log(error); // } // ); + + // this.create(); + // var zipFilename = "baseconfiguration.zip"; + // this.zipFile.generateAsync({ type: "blob" }) + // .then(blob => { + // saveAs(blob, zipFilename); + // }); } setEditorMode() { switch (this.fileExtension) { @@ -436,7 +445,7 @@ export class EditorComponent implements OnInit { this.blueprintName = (((toscaData['Entry-Definitions']).split('/'))[1]).toString();; console.log(toscaData); } - + arrangeTreeData(paths) { const tree = []; @@ -557,4 +566,23 @@ export class EditorComponent implements OnInit { return paramValue; } } + + saveEditedChanges() { + this.filesData.forEach(fileNode => { + if (this.selectedFile && fileNode.name.includes(this.blueprintName.trim()) && fileNode.name.includes(this.selectedFile.trim())) { + fileNode.data = this.text; + } else if (this.selectedFile && fileNode.name.includes(this.currentFilePath)) { + // this.selectedFile && fileNode.name.includes(this.selectedFile.trim())) { + fileNode.data = this.text; + } + }); + + if (this.selectedFile && this.selectedFile == this.blueprintName.trim()) { + this.blueprint = JSON.parse(this.text); + } else { + this.blueprint = this.blueprintdata; + } + + this.updateBlueprint(); + } } diff --git a/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.service.ts b/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.service.ts index 98e43b6b1..63c8019c3 100644 --- a/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.service.ts +++ b/cds-ui/client/src/app/feature-modules/blueprint/modify-template/editor/editor.service.ts @@ -42,6 +42,7 @@ export class EditorService { .subscribe(response => { let blob = new Blob([response], { 'type': "application/octet-stream" }); saveAs(blob, "CBA.zip"); + window.alert('Blueprint download successfull' ); }); return "Download Success"; diff --git a/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.component.ts b/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.component.ts index 36876233d..9c11f7684 100644 --- a/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.component.ts +++ b/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.component.ts @@ -42,7 +42,7 @@ export class SearchTemplateComponent implements OnInit { blueprintState: IBlueprintState; bpState: Observable<IBlueprintState>; validfile: boolean = false; - + uploadedFileName: string; @ViewChild('fileInput') fileInput; result: string = ''; @@ -62,6 +62,7 @@ export class SearchTemplateComponent implements OnInit { fileChanged(e: any) { this.paths = []; this.file = e.target.files[0]; + this.uploadedFileName = (this.file.name.split('.'))[0]; this.zipFile.files = {}; this.zipFile.loadAsync(this.file) .then((zip) => { @@ -88,7 +89,9 @@ export class SearchTemplateComponent implements OnInit { this.paths = []; for (var file in zip.files) { this.fileObject = { - name: zip.files[file].name, + // 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'); diff --git a/ms/blueprintsprocessor/application/pom.xml b/ms/blueprintsprocessor/application/pom.xml index e7af4c852..c079ba990 100755 --- a/ms/blueprintsprocessor/application/pom.xml +++ b/ms/blueprintsprocessor/application/pom.xml @@ -37,11 +37,6 @@ </dependency> <dependency> <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-devtools</artifactId> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> diff --git a/ms/blueprintsprocessor/application/src/main/java/org/onap/ccsdk/cds/blueprintsprocessor/BlueprintHttpServer.java b/ms/blueprintsprocessor/application/src/main/java/org/onap/ccsdk/cds/blueprintsprocessor/HttpServerWhenGrpcDisable.java index 85ccd1f43..c20a324d5 100644 --- a/ms/blueprintsprocessor/application/src/main/java/org/onap/ccsdk/cds/blueprintsprocessor/BlueprintHttpServer.java +++ b/ms/blueprintsprocessor/application/src/main/java/org/onap/ccsdk/cds/blueprintsprocessor/HttpServerWhenGrpcDisable.java @@ -17,12 +17,15 @@ package org.onap.ccsdk.cds.blueprintsprocessor; import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.web.embedded.netty.NettyReactiveWebServerFactory; import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.stereotype.Component; +// When GRPC disable, no need to create the netty server +@ConditionalOnProperty(name = "blueprintsprocessor.grpcEnable", havingValue = "false") @Component -public class BlueprintHttpServer implements WebServerFactoryCustomizer<NettyReactiveWebServerFactory> { +public class HttpServerWhenGrpcDisable implements WebServerFactoryCustomizer<NettyReactiveWebServerFactory> { @Value("${blueprintsprocessor.httpPort}") private Integer httpPort; diff --git a/ms/blueprintsprocessor/application/src/main/java/org/onap/ccsdk/cds/blueprintsprocessor/HttpServerWhenGrpcEnable.java b/ms/blueprintsprocessor/application/src/main/java/org/onap/ccsdk/cds/blueprintsprocessor/HttpServerWhenGrpcEnable.java new file mode 100644 index 000000000..e769b9361 --- /dev/null +++ b/ms/blueprintsprocessor/application/src/main/java/org/onap/ccsdk/cds/blueprintsprocessor/HttpServerWhenGrpcEnable.java @@ -0,0 +1,56 @@ +/* + * Copyright © 2019 Bell Canada. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file 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. + */ +package org.onap.ccsdk.cds.blueprintsprocessor; + +import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.web.embedded.netty.NettyReactiveWebServerFactory; +import org.springframework.boot.web.reactive.server.ReactiveWebServerFactory; +import org.springframework.boot.web.server.WebServer; +import org.springframework.http.server.reactive.HttpHandler; +import org.springframework.stereotype.Component; + +// When GRPC enable, we need to manually create the netty server +@ConditionalOnProperty(name = "blueprintsprocessor.grpcEnable", havingValue = "true") +@Component +public class HttpServerWhenGrpcEnable { + + @Value("${blueprintsprocessor.httpPort}") + private Integer httpPort; + + private final HttpHandler httpHandler; + private WebServer http; + + @Autowired + public HttpServerWhenGrpcEnable(HttpHandler httpHandler) { + this.httpHandler = httpHandler; + } + + @PostConstruct + public void start() { + ReactiveWebServerFactory factory = new NettyReactiveWebServerFactory(httpPort); + this.http = factory.getWebServer(this.httpHandler); + this.http.start(); + } + + @PreDestroy + public void stop() { + this.http.stop(); + } +}
\ No newline at end of file |