Deleted User Role Mapping
[portal.git] / ecomp-portal-BE-common / src / main / java / org / onap / portalapp / portal / service / ExternalAccessRolesServiceImpl.java
index ad06dd9..acc8351 100644 (file)
@@ -2812,6 +2812,11 @@ public class ExternalAccessRolesServiceImpl implements ExternalAccessRolesServic
                                                EPRole updateRoleInactive = roleList.get(0);
                                                updateRoleInactive.setActive(false);
                                                dataAccessService.saveDomainObject(updateRoleInactive, null);
+                                               
+                                               /**
+                                                * Newly Added - Deleting User Role association as this role is not present in AAF and got removed from AAF directly
+                                               */
+                                               deleteUserRoleAssociation(updateRoleInactive, app);
                                        }
                                }
                        } catch (Exception e) {
@@ -2820,6 +2825,25 @@ public class ExternalAccessRolesServiceImpl implements ExternalAccessRolesServic
                        }
                }
        }
+       
+       /**
+        * Delete User Role Association mapping in Portal DB - In case of particular role is already removed from AAF directly.
+        * @param epRole
+        */
+       private void deleteUserRoleAssociation(EPRole epRole, EPApp app) {              
+               Session localSession = sessionFactory.openSession();
+               Query query = null;
+               try {
+                       String sql = "DELETE FROM FN_USER_ROLE where role_id=" +epRole.getId() + " AND app_id=" +app.getId();
+                       logger.debug(EELFLoggerDelegate.debugLogger,"deleteUserRoleAssociation: sql :"+ sql);
+                       query = localSession.createSQLQuery(sql);
+                       query.executeUpdate();
+               } catch (Exception e) {
+                       logger.error(EELFLoggerDelegate.errorLogger, "deleteUserRoleAssociation: failed", e);
+               } finally {
+                       localSession.close();
+               }
+       }
 
        @Override
        @SuppressWarnings("unchecked")