Deleted User Role Mapping
Delete User Role Mapping in Portal DB if the same role is already deleted from AAF
Issue-ID: PORTAL-1029
Change-Id: I2b15c1ce49a9a65160abb1f502590490c88b7256
Signed-off-by: Sudarshan Kumar <sudarshan.kumar@att.com>
diff --git a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/ExternalAccessRolesServiceImpl.java b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/ExternalAccessRolesServiceImpl.java
index ad06dd9..acc8351 100644
--- a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/ExternalAccessRolesServiceImpl.java
+++ b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/ExternalAccessRolesServiceImpl.java
@@ -2812,6 +2812,11 @@
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 @@
}
}
}
+
+ /**
+ * 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")