Added `deleteAvatarImage` method and implementations
This commit is contained in:
parent
0e5240920f
commit
e9061b5fee
|
@ -39,6 +39,9 @@ public class FileAvatarStorageProvider implements AvatarStorageProvider {
|
|||
public void saveAvatarImage(RealmModel realm, UserModel user, InputStream input) {
|
||||
checkRealmFolderExistence(realm.getName());
|
||||
File avatarFile = getAvatarFile(realm, user);
|
||||
logger.debugf("Saving new avatar file for user %s, file path is: %s", user.getUsername(),
|
||||
avatarFile.getAbsolutePath());
|
||||
|
||||
if (!avatarFile.exists()) {
|
||||
try {
|
||||
avatarFile.createNewFile();
|
||||
|
@ -65,6 +68,12 @@ public class FileAvatarStorageProvider implements AvatarStorageProvider {
|
|||
public InputStream loadAvatarImage(RealmModel realm, UserModel user) {
|
||||
checkRealmFolderExistence(realm.getName());
|
||||
File avatarFile = getAvatarFile(realm, user);
|
||||
if (avatarFile.exists()) {
|
||||
logger.debugf("Loading avatar file for user %s, file path is: %s", user.getUsername(),
|
||||
avatarFile.getAbsolutePath());
|
||||
} else {
|
||||
logger.debugf("Avatar file not found for user %s", user.getUsername());
|
||||
}
|
||||
try {
|
||||
return new FileInputStream(avatarFile);
|
||||
} catch (FileNotFoundException e) {
|
||||
|
@ -78,6 +87,20 @@ public class FileAvatarStorageProvider implements AvatarStorageProvider {
|
|||
useEmailAsFilename ? user.getEmail() : user.getUsername());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteAvatarImage(RealmModel realm, UserModel user) {
|
||||
checkRealmFolderExistence(realm.getName());
|
||||
File avatarFile = getAvatarFile(realm, user);
|
||||
if (avatarFile.exists()) {
|
||||
logger.debugf("Deleting avatar file for user %s, file path is: %s", user.getUsername(),
|
||||
avatarFile.getAbsolutePath());
|
||||
|
||||
avatarFile.delete();
|
||||
} else {
|
||||
logger.debugf("Avatar file to delete not found for user %s", user.getUsername());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
// NOOP
|
||||
|
|
|
@ -52,6 +52,12 @@ public class UserAttributeAvatarStorageProvider implements AvatarStorageProvider
|
|||
byte[] decoded = base64EncodedImage != null ? Base64.getDecoder().decode(base64EncodedImage) : new byte[0];
|
||||
return new ByteArrayInputStream(decoded);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteAvatarImage(RealmModel realm, UserModel user) {
|
||||
logger.debugf("Removing avatar image user's attribute: %s", userAttribute);
|
||||
user.removeAttribute(userAttribute);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
|
|
|
@ -12,4 +12,6 @@ public interface AvatarStorageProvider extends Provider {
|
|||
|
||||
InputStream loadAvatarImage(RealmModel realm, UserModel user);
|
||||
|
||||
void deleteAvatarImage(RealmModel realm, UserModel user);
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue