From c1cda6283174db9ab610ce7142222c8a00be5bc9 Mon Sep 17 00:00:00 2001 From: Sudarshan Kumar Date: Mon, 27 Jul 2020 19:48:32 +0530 Subject: [PATCH] App Onboarding - Delete app not working App Onboarding - Delete app not working Issue-ID: PORTAL-963 Change-Id: I6ec10fc4266b4d66d5393925411a90d0245b3e72 Signed-off-by: Sudarshan Kumar --- .../onap/portalapp/portal/service/EPAppCommonServiceImpl.java | 11 +++++++++++ .../src/main/webapp/WEB-INF/fusion/orm/EP.hbm.xml | 7 +++++++ .../src/app/layout/components/tabbar/tabbar.component.html | 2 +- .../application-onboarding.component.ts | 10 +++++++--- 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/EPAppCommonServiceImpl.java b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/EPAppCommonServiceImpl.java index 54510d2c..a4463c7f 100644 --- a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/EPAppCommonServiceImpl.java +++ b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/EPAppCommonServiceImpl.java @@ -75,6 +75,7 @@ import org.onap.portalapp.portal.domain.EPUserAppsManualSortPreference; import org.onap.portalapp.portal.domain.EPUserAppsSortPreference; import org.onap.portalapp.portal.domain.EPWidgetsManualSortPreference; import org.onap.portalapp.portal.domain.EcompApp; +import org.onap.portalapp.portal.domain.MicroserviceData; import org.onap.portalapp.portal.domain.UserRole; import org.onap.portalapp.portal.domain.UserRoles; import org.onap.portalapp.portal.ecomp.model.AppCatalogItem; @@ -975,6 +976,16 @@ public class EPAppCommonServiceImpl implements EPAppService { } final Map params = new HashMap<>(); params.put("app_id", appid); + + //Checking if App is associated with any exiting microservices- ep_microservice: + final Map queryparams = new HashMap<>(); + queryparams.put("applicationId", appid); + List microservicesList = dataAccessService.executeNamedQuery( "getMicroservicesByAppId", queryparams, null); + if(microservicesList!=null && microservicesList.size()>0) { + fieldsValidator.httpStatusCode = new Long(HttpServletResponse.SC_METHOD_NOT_ALLOWED); + return fieldsValidator; + } + List EPUserAppRolesRequestList= new ArrayList<>(); EPUserAppRolesRequestList = dataAccessService.executeNamedQuery( "getRequestIdsForApp", params, null); for(int i=0;i + + + + + diff --git a/portal-FE-common/src/app/layout/components/tabbar/tabbar.component.html b/portal-FE-common/src/app/layout/components/tabbar/tabbar.component.html index d43328d5..65ccf1dc 100644 --- a/portal-FE-common/src/app/layout/components/tabbar/tabbar.component.html +++ b/portal-FE-common/src/app/layout/components/tabbar/tabbar.component.html @@ -86,7 +86,7 @@
+ [style.height]='tab.active? "calc(100vh)" : "calc(0vh)"'> diff --git a/portal-FE-os/src/app/pages/application-onboarding/application-onboarding.component.ts b/portal-FE-os/src/app/pages/application-onboarding/application-onboarding.component.ts index a2c759dc..5903d654 100644 --- a/portal-FE-os/src/app/pages/application-onboarding/application-onboarding.component.ts +++ b/portal-FE-os/src/app/pages/application-onboarding/application-onboarding.component.ts @@ -114,7 +114,7 @@ export class ApplicationOnboardingComponent implements OnInit { openAddApplicationModal(rowData: any, action:any) { console.log("Action : ", action); - const modalRef = this.ngbModal.open(ApplicationDetailsDialogComponent, { size: 'lg' }); + const modalRef = this.ngbModal.open(ApplicationDetailsDialogComponent, { size: 'lg', backdrop: 'static', keyboard: false }); modalRef.componentInstance.title = 'Application Details'; modalRef.componentInstance.action = action; //console.log("selectedData in parent",rowData); @@ -136,7 +136,7 @@ export class ApplicationOnboardingComponent implements OnInit { } deleteApplication(application: IApplications){ - let confirmationMsg = 'You are about to delete this App : ' + application.name+ '. Click OK to continue.'; + let confirmationMsg = 'You are about to delete this App : ' + application.appName+ '. Click OK to continue.'; this.openInformationModal("Confirmation",confirmationMsg).result.then((result) => { if (result === 'Ok') { if(!application || application == null){ @@ -150,7 +150,11 @@ export class ApplicationOnboardingComponent implements OnInit { this.getOnboardingApps(); }, error => { console.log(error); - this.openConfirmationModal('Error', error); + if(error && error.status == 405){ + this.openConfirmationModal('', 'Application : ' + application.appName+ ' can not be deleted as it is associsted with one of the Microservices.'); + }else{ + this.openConfirmationModal('Error', error.message); + } }); } }, (resut) => { -- 2.16.6