From 5ffd345e7e840a004c8d919a46840b240046e592 Mon Sep 17 00:00:00 2001 From: Mauro Mugnaini Date: Tue, 10 Oct 2023 15:41:48 +0200 Subject: [PATCH] Some logs added --- .../s3/MinioAvatarStorageProvider.java | 31 +++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/avatar-realm-resource/src/main/java/org/gcube/keycloak/avatar/storage/s3/MinioAvatarStorageProvider.java b/avatar-realm-resource/src/main/java/org/gcube/keycloak/avatar/storage/s3/MinioAvatarStorageProvider.java index e0965d5..f686dce 100644 --- a/avatar-realm-resource/src/main/java/org/gcube/keycloak/avatar/storage/s3/MinioAvatarStorageProvider.java +++ b/avatar-realm-resource/src/main/java/org/gcube/keycloak/avatar/storage/s3/MinioAvatarStorageProvider.java @@ -28,23 +28,33 @@ public class MinioAvatarStorageProvider implements AvatarStorageProvider { @Override public void saveAvatarImage(RealmModel realmModel, UserModel userModel, InputStream input) { - execute(minioClient -> minioClient - .putObject(PutObjectArgs.builder().bucket(configuration.rootBucket).object(getAvatarFilePath( - realmModel, userModel)).stream(input, -1, CHUNK_SIZE).build())); + logger.debugf("Saving avatar to S3 for user: %s", userModel.getUsername()); + execute(minioClient -> { + String avatarFileName = getAvatarFilePath(realmModel, userModel); + logger.tracef("Saving avatar file object as: %s", avatarFileName); + return minioClient + .putObject(PutObjectArgs.builder().bucket(configuration.rootBucket).object(avatarFileName) + .stream(input, -1, CHUNK_SIZE).build()); + }); } @Override public InputStream loadAvatarImage(RealmModel realmModel, UserModel userModel) { - logger.debug("Loading avatar from S3"); + logger.debugf("Loading avatar from S3 for user: %s", userModel.getUsername()); return execute(new Executor() { public InputStream execute(MinioClient minioClient) throws Exception { try { + String avatarFileName = getAvatarFilePath(realmModel, userModel); + logger.tracef("Getting avatar file object: %s", avatarFileName); return minioClient - .getObject(GetObjectArgs.builder().bucket(configuration.rootBucket).object(getAvatarFilePath( - realmModel, userModel)).build()); + .getObject( + GetObjectArgs.builder().bucket(configuration.rootBucket).object(avatarFileName) + .build()); } catch (ErrorResponseException e) { if (e.response().code() == 404) { - logger.debugf("Avatar file not found for user '%s' in realm '%s'", userModel.getUsername(), realmModel.getName()); + logger.debugf("Avatar file not found for user '%s' in realm '%s'", userModel.getUsername(), + realmModel.getName()); + return null; } else { throw e; @@ -56,10 +66,13 @@ public class MinioAvatarStorageProvider implements AvatarStorageProvider { @Override public void deleteAvatarImage(RealmModel realmModel, UserModel userModel) { - logger.debug("Deeleting avatar from S3"); + logger.debugf("Deleting avatar from S3 for user: %s", userModel.getUsername()); execute(minioClient -> { + String avatarFileName = getAvatarFilePath(realmModel, userModel); + logger.tracef("Deleting avatar file object: %s", avatarFileName); minioClient.removeObject(RemoveObjectArgs.builder().bucket(configuration.rootBucket) - .object(getAvatarFilePath(realmModel, userModel)).build()); + .object(avatarFileName).build()); + return true; });