From b88200ce0d30b5ad0433c70555f5b8ddcab98d3b Mon Sep 17 00:00:00 2001 From: Kishore Reddy Dwaram Date: Tue, 24 Nov 2020 16:41:46 -0500 Subject: [PATCH] Microservice Onboarding Issue resolved Issue-ID: PORTAL-1046 Signed-off-by: Kishore Reddy Dwaram Change-Id: I9b9a533cfbaf4c1ba85e256fecfac3a9e65c84a7 --- .../portal/controller/MicroserviceController.java | 8 ++++++-- .../microservice-add-details.component.ts | 19 ++++++++++++------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/MicroserviceController.java b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/MicroserviceController.java index a80a3b42..2c04ce83 100644 --- a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/MicroserviceController.java +++ b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/MicroserviceController.java @@ -51,6 +51,7 @@ import org.onap.portalapp.portal.domain.WidgetCatalog; import org.onap.portalapp.portal.domain.WidgetServiceHeaders; import org.onap.portalapp.portal.ecomp.model.PortalRestResponse; import org.onap.portalapp.portal.ecomp.model.PortalRestStatusEnum; +import org.onap.portalapp.portal.exceptions.DuplicateRecordException; import org.onap.portalapp.portal.logging.aop.EPAuditLog; import org.onap.portalapp.portal.service.WidgetMService; import org.onap.portalapp.portal.service.MicroserviceService; @@ -101,9 +102,12 @@ public class MicroserviceController extends EPRestrictedBaseController { "ERROR", "MicroserviceData is not valid"); } } - long serviceId = microserviceService.saveMicroservice(newServiceData); - try { + List microServiceData = microserviceService.getMicroserviceData(); + for(MicroserviceData exitMicroservice: microServiceData) + if(exitMicroservice.getName().equalsIgnoreCase(newServiceData.getName())) + throw new DuplicateRecordException("Microservice already exists: " + exitMicroservice.getName()); + long serviceId = microserviceService.saveMicroservice(newServiceData); microserviceService.saveServiceParameters(serviceId, newServiceData.getParameterList()); } catch (Exception e) { return new PortalRestResponse<>(PortalRestStatusEnum.ERROR, "FAILURE", e.getMessage()); diff --git a/portal-FE-common/src/app/pages/microservice-onboarding/microservice-add-details/microservice-add-details.component.ts b/portal-FE-common/src/app/pages/microservice-onboarding/microservice-add-details/microservice-add-details.component.ts index 5e359dd4..510fe12e 100644 --- a/portal-FE-common/src/app/pages/microservice-onboarding/microservice-add-details/microservice-add-details.component.ts +++ b/portal-FE-common/src/app/pages/microservice-onboarding/microservice-add-details/microservice-add-details.component.ts @@ -39,6 +39,7 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; import { IMircroservies } from 'src/app/shared/model/microservice-onboarding/microservices'; import { MicroserviceService, WidgetOnboardingService } from '../../../shared/services/index'; import { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { ConfirmationModalComponent } from 'src/app/modals/confirmation-modal/confirmation-modal.component'; @Component({ selector: 'app-microservice-add-details', @@ -291,13 +292,17 @@ export class MicroserviceAddDetailsComponent implements OnInit { this.microservice.createService(newService) .subscribe( data => { this.result = data; - console.log("add microservice response :: ",this.result); - this.passEntry.emit(this.result); - this.ngbModal.dismissAll(); - }, error => { - this.ngbModal.dismissAll(); - console.log(error); - }); + if(this.result.status === 'OK'){ + console.log("add microservice response :: ",this.result); + this.passEntry.emit(this.result); + this.ngbModal.dismissAll(); + } + else { + const modalErrorRef = this.ngbModal.open(ConfirmationModalComponent); + modalErrorRef.componentInstance.title = 'Error'; + modalErrorRef.componentInstance.message = this.result.response; + } + }); } } } -- 2.16.6