Microservice Onboarding Issue resolved 56/115356/1
authorKishore Reddy Dwaram <kishore.reddy.dwaram@att.com>
Tue, 24 Nov 2020 21:41:46 +0000 (16:41 -0500)
committerKishore Reddy Dwaram <kishore.reddy.dwaram@att.com>
Tue, 24 Nov 2020 21:41:58 +0000 (16:41 -0500)
Issue-ID: PORTAL-1046
Signed-off-by: Kishore Reddy Dwaram <kishore.reddy.dwaram@att.com>
Change-Id: I9b9a533cfbaf4c1ba85e256fecfac3a9e65c84a7

ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/MicroserviceController.java
portal-FE-common/src/app/pages/microservice-onboarding/microservice-add-details/microservice-add-details.component.ts

index a80a3b4..2c04ce8 100644 (file)
@@ -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> 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());
index 5e359dd..510fe12 100644 (file)
@@ -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;
+          }
+        }); 
     }
   }
 }