solving continuous saving 89/109389/3
authorShaabanEltanany <shaaban.eltanany.ext@orange.com>
Sun, 21 Jun 2020 19:48:49 +0000 (21:48 +0200)
committerShaaban Ebrahim <shaaban.eltanany.ext@orange.com>
Mon, 22 Jun 2020 12:11:40 +0000 (12:11 +0000)
Issue-ID: CCSDK-2336
Signed-off-by: ShaabanEltanany <shaaban.eltanany.ext@orange.com>
Change-Id: I7e488950a77a19b7b1b4ac2e4c9044698b9ff757

cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.component.html
cds-ui/designer-client/src/app/modules/feature-modules/packages/configuration-dashboard/configuration-dashboard.component.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/creationModes/PackageCreationModes.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/mapping-models/metadata/MetaDataTab.model.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/metadata-tab/metadata-tab.component.html
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/metadata-tab/metadata-tab.component.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.component.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.service.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/package-creation/package-creation.store.ts
ms/blueprintsprocessor/modules/commons/db-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/primary/service/BlueprintProcessorCatalogServiceImpl.kt

index ebfad93..bf6bf12 100644 (file)
@@ -22,8 +22,8 @@
             <div class="container">
                 <div class="creat-action-container">
 
-                    <a class="action-button save" (click)="editBluePrint()">
-                        <i class="icon-save-sm" aria-hidden="true"></i>
+                    <a class="action-button save" (click)="editBluePrint()" >
+                        <i class="icon-save-sm" aria-hidden="true" ></i>
                         <span>Save</span>
                     </a>
                     <a href="#" class="action-button" (click)="goBacktoDashboard()">
@@ -62,7 +62,7 @@
                                 <div class="col-12 package-name deployed">
                                     {{viewedPackage.artifactName}}
                                     <img src="/assets/img/icon-deploy-inactive.svg" class="deply-status-icon">
-                                    <span class="package-version">v1.0.2</span>
+                                    <span class="package-version">v{{viewedPackage.artifactVersion}}</span>
                                 </div>
                                 <div class="col-12 package-description">
                                     Last modified {{ viewedPackage.createdDate | date:'short' }} By
index 4a92943..e1e33a3 100644 (file)
@@ -14,6 +14,7 @@ import {PackageCreationBuilder} from '../package-creation/creationModes/PackageC
 import {saveAs} from 'file-saver';
 import {DesignerStore} from '../designer/designer.store';
 import {DesignerService} from '../designer/designer.service';
+import {ToastrService} from 'ngx-toastr';
 
 @Component({
     selector: 'app-configuration-dashboard',
@@ -42,7 +43,9 @@ export class ConfigurationDashboardComponent implements OnInit {
                 private packageCreationUtils: PackageCreationUtils,
                 private router: Router,
                 private designerStore: DesignerStore,
-                private designerService: DesignerService) {
+                private designerService: DesignerService,
+                private toastService: ToastrService
+    ) {
     }
 
     ngOnInit() {
@@ -164,8 +167,17 @@ export class ConfigurationDashboardComponent implements OnInit {
         this.create();
         this.zipFile.generateAsync({type: 'blob'})
             .then(blob => {
-                this.packageCreationStore.saveBluePrint(blob);
-                this.router.navigate(['/packages']);
+                this.packageCreationStore.saveBluePrint(blob).subscribe(
+                    bluePrintDetailModels => {
+                        if (bluePrintDetailModels) {
+                            const id = bluePrintDetailModels.toString().split('id')[1].split(':')[1].split('"')[1];
+                            this.toastService.info('package updated successfully ');
+                            this.router.navigate(['/packages/package/' + id]);
+                        }
+                    }, error => {
+                        this.toastService.error('error happened when editing ' + error.message);
+                        console.log('Error -' + error.message);
+                    });
             });
     }
 
index 5b8db6b..6b80358 100644 (file)
@@ -20,9 +20,10 @@ export abstract class PackageCreationModes {
     }
 
     public static mapModeType(cbaPackage: CBAPackage) {
-        if (cbaPackage.metaData.mode.startsWith('Scripting')) {
+        console.log(cbaPackage.metaData.mode);
+        if (cbaPackage.metaData.mode.includes('Scripting')) {
             cbaPackage.metaData.mode = ModeType.Scripting;
-        } else if (cbaPackage.metaData.mode.startsWith('Designer')) {
+        } else if (cbaPackage.metaData.mode.includes('Designer') || cbaPackage.metaData.mode.includes('DEFAULT') ) {
             cbaPackage.metaData.mode = ModeType.Designer;
         } else {
             cbaPackage.metaData.mode = ModeType.Generic;
index 7200e12..4d19cf6 100644 (file)
@@ -38,21 +38,6 @@ export class MetaDataTabModel {
 
 }
 
-/*TOSCA-Meta-File-Version: 1.0.0
-CSAR-Version: 1.0
-Created-By: PLATANIA, MARCO <platania@research.att.com>
-Entry-Definitions: Definitions/vLB_CDS.json
-Template-Name: baseconfiguration
-Template-Version: 1.0.0
-Template-Type: DEFAULT
-Template-Tags: vDNS-CDS-test1
-Content-Type: application/vnd.oasis.bpmn*/
-
-export class MetaDataFile {
-
-
-}
-
 
 export interface FolderNodes {
     name: string;
index d73f7da..28f8938 100644 (file)
@@ -80,7 +80,7 @@
                 <span>To add New Custom Key, fill the first key then <b>Press ENTER</b></span>
 
             </div>
-            <div *ngFor="let map of customKeysMap | keyvalue; let i=index" class="single-custom-key">
+            <div *ngFor="let map of  this.metaDataTab.mapOfCustomKey | keyvalue; let i=index" class="single-custom-key">
                 <div class="single-line-custom-key">
                     <label class="label-name"><span>{{i + 1}}.</span> Name</label>
                     <div class="label-input">
index 204d76f..dd9f45b 100644 (file)
@@ -56,6 +56,7 @@ export class MetadataTabComponent implements OnInit {
                 }
 
                 this.customKeysMap = element.metaData.mapOfCustomKey;
+                this.metaDataTab.mapOfCustomKey = this.customKeysMap;
                 // this.tags = element.metaData.templateTags;
 
             }
index 42db268..57c8497 100644 (file)
@@ -30,6 +30,7 @@ import {PackageCreationBuilder} from './creationModes/PackageCreationBuilder';
 import {PackageCreationUtils} from './package-creation.utils';
 import {MetadataTabComponent} from './metadata-tab/metadata-tab.component';
 import {Router} from '@angular/router';
+import {ToastrService} from 'ngx-toastr';
 
 
 @Component({
@@ -44,7 +45,8 @@ export class PackageCreationComponent implements OnInit {
 
     constructor(private packageCreationStore: PackageCreationStore,
                 private packageCreationUtils: PackageCreationUtils,
-                private router: Router) {
+                private router: Router,
+                private toastService: ToastrService) {
     }
 
     counter = 0;
@@ -89,8 +91,17 @@ export class PackageCreationComponent implements OnInit {
         this.create();
         this.zipFile.generateAsync({type: 'blob'})
             .then(blob => {
-                this.packageCreationStore.saveBluePrint(blob);
-                this.router.navigate(['/packages']);
+                this.packageCreationStore.saveBluePrint(blob).subscribe(
+                    bluePrintDetailModels => {
+                        if (bluePrintDetailModels) {
+                            const id = bluePrintDetailModels.toString().split('id')[1].split(':')[1].split('"')[1];
+                            this.toastService.info('package updated successfully ');
+                            this.router.navigate(['/packages/package/' + id]);
+                        }
+                    }, error => {
+                       // this.toastService.error('error happened when editing ' + error.message);
+                        console.log('Error -' + error.message);
+                    });
             });
     }
 
index 494c9e5..818577a 100644 (file)
@@ -26,7 +26,7 @@ import {ApiService} from '../../../../common/core/services/api.service';
 import {BlueprintURLs, ResourceDictionaryURLs} from '../../../../common/constants/app-constants';
 import {PackagesApiService} from '../packages-api.service';
 import {PackagesStore} from '../packages.store';
-import { ResourceDictionary } from './mapping-models/ResourceDictionary.model';
+import {ResourceDictionary} from './mapping-models/ResourceDictionary.model';
 
 @Injectable({
     providedIn: 'root'
@@ -54,13 +54,8 @@ export class PackageCreationService {
 
         const formData = new FormData();
         formData.append('file', blob);
-        this.saveBlueprint(formData)
-            .subscribe(
-                data => {
-                    console.log('Success:' + JSON.stringify(data));
-                }, error => {
-                    console.log('Error -' + error.message);
-                });
+        return this.saveBlueprint(formData);
+
     }
 
     getTemplateAndMapping(variables: string[]): Observable<ResourceDictionary[]> {
index 8302697..ce5dc48 100644 (file)
@@ -19,15 +19,16 @@ limitations under the License.
 ============LICENSE_END============================================
 */
 
-import { Injectable } from '@angular/core';
+import {Injectable} from '@angular/core';
 
-import { Store } from '../../../../common/core/stores/Store';
+import {Store} from '../../../../common/core/stores/Store';
 
-import { CBAPackage, DslDefinition } from './mapping-models/CBAPacakge.model';
-import { PackageCreationService } from './package-creation.service';
-import { MetaDataTabModel } from './mapping-models/metadata/MetaDataTab.model';
-import { Observable } from 'rxjs';
-import { ResourceDictionary } from './mapping-models/ResourceDictionary.model';
+import {CBAPackage, DslDefinition} from './mapping-models/CBAPacakge.model';
+import {PackageCreationService} from './package-creation.service';
+import {MetaDataTabModel} from './mapping-models/metadata/MetaDataTab.model';
+import {Observable} from 'rxjs';
+import {ResourceDictionary} from './mapping-models/ResourceDictionary.model';
+import {BluePrintDetailModel} from '../model/BluePrint.detail.model';
 
 
 @Injectable({
@@ -92,8 +93,8 @@ export class PackageCreationStore extends Store<CBAPackage> {
         this.state.definitions.imports.delete(filename);
     }
 
-    saveBluePrint(blob) {
-        this.packageCreationService.savePackage(blob);
+    saveBluePrint(blob): Observable<BluePrintDetailModel> {
+        return this.packageCreationService.savePackage(blob);
     }
 
     addTemplate(filePath: string, fileContent: string) {
index f846ab1..d10ec17 100755 (executable)
@@ -150,7 +150,7 @@ class BlueprintProcessorCatalogServiceImpl(
         blueprintModel.updatedBy = metadata[BluePrintConstants.METADATA_TEMPLATE_AUTHOR]!!
         blueprintModel.tags = metadata[BluePrintConstants.METADATA_TEMPLATE_TAGS]!!
         val description = if (null != metadata[BluePrintConstants.METADATA_TEMPLATE_DESCRIPTION]) metadata[BluePrintConstants.METADATA_TEMPLATE_DESCRIPTION] else ""
-        blueprintModel.artifactDescription = "Controller Blueprint for $artifactName:$artifactVersion $description"
+        blueprintModel.artifactDescription = description
 
         val blueprintModelContent = BlueprintModelContent()
         blueprintModelContent.id = metadata[BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID]