@Override public void dispose(TemporaryAvatar avatar) { avatar.getFile().delete(); final HttpSession session = ExecutingHttpRequest.get().getSession(); session.removeAttribute(SessionKeys.TEMP_AVATAR); } }
final TemporaryAvatar temporaryAvatar = temporaryAvatars.getCurrentTemporaryAvatar(); if (temporaryAvatar == null || !temporaryAvatar.getFile().exists()) RenderedImage image = scaler.getSelectedImageData(ImageIO.read(new FileInputStream(temporaryAvatar.getFile())), temporaryAvatar.getSelection(), size.getPixels()); ImageIO.write(image, AvatarManager.AVATAR_IMAGE_FORMAT_FULL.getName(), out); IOUtil.copy(new FileInputStream(temporaryAvatar.getFile()), out, BUFFER_SIZE);
newAvatar = avatarManager.create(newAvatar, new FileInputStream(temporaryAvatar.getFile()), selection); if (temporaryAvatar.getFile().delete()) log.debug("Deleted temporary avatar file " + temporaryAvatar.getFile().getAbsolutePath()); log.info("Couldn't delete temporary avatar file. Will retry on shutdown. " + temporaryAvatar.getFile().getAbsolutePath());
@Override public Result<TemporaryAvatarBean> cropTemporary(String ownerId, Avatar.Type type, Selection selection) { if (!isAllowedToPickAvatar(ownerId, type)) { return new Result<TemporaryAvatarBean>().addError(null, ErrorCollection.Reason.FORBIDDEN); } TemporaryAvatar temporaryAvatar = (TemporaryAvatar) ExecutingHttpRequest.get().getSession() .getAttribute(SessionKeys.TEMP_AVATAR); if (temporaryAvatar == null) { return new Result<TemporaryAvatarBean>().addError(getText("avatarpicker.upload.failure"), ErrorCollection.Reason.SERVER_ERROR); } TemporaryAvatar croppedAvatar = new TemporaryAvatar(temporaryAvatar.getContentType(), temporaryAvatar.getTemporaryContentType(), temporaryAvatar.getOriginalFilename(), temporaryAvatar.getFile(), selection); ExecutingHttpRequest.get().getSession().setAttribute(SessionKeys.TEMP_AVATAR, croppedAvatar); return new Result<TemporaryAvatarBean>(new TemporaryAvatarBean(getTemporaryAvatarUrl(), selection)); }