From 1424b10942d2485b1ba1618f1b93e92e9af56f7a Mon Sep 17 00:00:00 2001 From: Mauro Mugnaini Date: Tue, 26 Jan 2021 18:34:19 +0100 Subject: [PATCH] Revised transaction begin with check if it is already active. Added log of the storage ins use --- .../keycloak/account/DeleteAccountResource.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/delete-account/src/main/java/org/gcube/keycloak/account/DeleteAccountResource.java b/delete-account/src/main/java/org/gcube/keycloak/account/DeleteAccountResource.java index cca56eb..d24c593 100644 --- a/delete-account/src/main/java/org/gcube/keycloak/account/DeleteAccountResource.java +++ b/delete-account/src/main/java/org/gcube/keycloak/account/DeleteAccountResource.java @@ -57,9 +57,11 @@ public class DeleteAccountResource { UserModel user = auth.getUser(); try { - logger.debug("Beginning the transaction on transaction manager"); - session.getTransactionManager().begin(); - + if (!session.getTransactionManager().isActive()) { + logger.debug("Beginning a new transaction on transaction manager"); + session.getTransactionManager().begin(); + } + logger.debug("Finding user model and setting it as not enabled in realm"); session.users().getUserById(user.getId(), realm).setEnabled(false); @@ -71,9 +73,11 @@ public class DeleteAccountResource { logger.error("Cannot perform user model modifications", e); } + logger.debug("Getting the the configured avatar storage provider"); AvatarStorageProvider avatarStorageProvider = session.getProvider(AvatarStorageProvider.class); if (avatarStorageProvider != null) { - logger.debug("Deleting avatar from storage for the user"); + logger.tracev("Configured avatar storage provider type is {0}", avatarStorageProvider.getClass().getName()); + logger.debug("Deleting user's avatar from the configured storage"); avatarStorageProvider.deleteAvatarImage(realm, user); } else { logger.warn("Cannot perform avatar import ince the avatar storage provider is null");