private void updateAvatarImage(LDAPResource ldap, Entry entry, User user) { try { byte[] jpegBytes = getAvatarImage(ldap, entry); if (jpegBytes != null) { String fileName = user.getEmail() + ".jpg"; DefaultUploadedFile avatar = new DefaultUploadedFile( new ByteArrayInputStream(jpegBytes), fileName, "image/jpeg", jpegBytes.length); Attachment attachment = imageStore.processAndStore(avatar, user, clientIp); Attachment old = user.getAvatar(); if (old != null) { imageStore.delete(old); } user.setAvatar(attachment); } } catch (LdapException | IOException e) { // problems with avatar processing are non-fatal logger.warn("Error updating user avatar from LDAP: " + user.getName(), e); } }