private void cropImageToSize(final BufferedImage imageData, final Selection croppingSelection, final Avatar.Size size, OutputStream target) throws IOException { final int pixels = size.getPixels(); RenderedImage image = cropImage(imageData, croppingSelection, pixels); avatarTagger.saveTaggedAvatar(image, targetFormat, target); }
@Override final public SystemAndCustomAvatars getAvatars(final ApplicationUser remoteUser, final String owningObjectId) { final List<Avatar> systemAvatars = avatarManager.getAllSystemAvatars(type); final List<Avatar> avatarsForOwner = avatarManager.getCustomAvatarsForOwner(type, owningObjectId); return new SystemAndCustomAvatars(systemAvatars, avatarsForOwner); }
@Override public void setCustomUserAvatar(ApplicationUser remoteUser, ApplicationUser user, Long avatarId) throws AvatarsDisabledException, NoPermissionException { if (!canSetCustomUserAvatar(remoteUser, user)) { throw new NoPermissionException(); } setConfiguredAvatarIdFor(user, avatarId); }
File processImage(final Avatar created, final InputStream imageData, final Selection croppingSelection, final ImageSize size) throws IOException { RenderedImage image = scaler.getSelectedImageData(new Thumber().getImage(imageData), croppingSelection, size.getPixels()); File file = createAvatarFile(created, size.getFilenameFlag()); avatarTagger.saveTaggedAvatar(image, AVATAR_IMAGE_FORMAT_FULL.getName(), file); eventPublisher.publish(new JiraHomeChangeEvent(JiraHomeChangeEvent.Action.FILE_ADD, JiraHomeChangeEvent.FileType.AVATAR, file)); return file; }
/** * Returns the anonymous avatar, if configured. Otherwise returns null. * * @return the anonymous avatar, or null */ protected Avatar getAnonymousAvatar() { Long anonAvatarId = avatarManager.getAnonymousAvatarId(); return anonAvatarId != null ? avatarManager.getById(anonAvatarId) : null; }
private String getAvatarPath(final Avatar avatar, final ImageSize size) { if (hasVectorIcon(avatar)) { return AVATAR_CLASSPATH_PREFIX + avatar.getFileName(); } else { return AVATAR_CLASSPATH_PREFIX + size.getFilenameFlag() + avatar.getFileName(); } }
private Avatar getAvatar(final TemporaryAvatar temporaryAvatar, final Avatar.Type type, final String ownerId) { return AvatarImpl.createCustomAvatar(temporaryAvatar.getOriginalFilename(), temporaryAvatar.getTemporaryContentType(), ownerId, type); }
@Override public boolean userCanViewAvatar(final ApplicationUser user, final Avatar avatar) { return Avatar.Type.ISSUETYPE == avatar.getAvatarType(); }
private void setCroppingCoordinates(final Selection selection) { cropperWidth = selection.getWidth(); cropperOffsetX = selection.getTopLeftX(); cropperOffsetY = selection.getTopLeftY(); } }
@Override public boolean apply( final Avatar.Size input) { return input.getPixels() <= 48; } };
@Override public Avatar getAvatar(ApplicationUser remoteUser, ApplicationUser avatarUser) throws AvatarsDisabledException { if (avatarUser == null) { return getAnonymousAvatar(); } return getAvatarImpl(remoteUser, false, avatarUser, false); }
@Override public boolean canSetCustomUserAvatar(ApplicationUser remoteUser, ApplicationUser user) { return avatarManager.hasPermissionToEdit(remoteUser, user); }
private boolean isSizeDefaultOrNone(final Avatar.Size size) { return size == null || size == Avatar.Size.defaultSize(); } }
@Override public AvatarImageDataProvider createStreamsFrom(final InputStream uploadedImage, final Selection cropping) throws IOException { return new AvatarImageDataProviderImpl(uploadedImage, cropping); }
/** * Factory method for creating a system Avatar to be created by {@link com.atlassian.jira.avatar.AvatarManager}. */ public static AvatarImpl createSystemAvatar(final String fileName, final String contentType, final Avatar.Type avatarType) { return new AvatarImpl(null, fileName, IMAGE_PNG, avatarType, null, true); }
public void readAvatarData(final Avatar avatar, ImageSize size, final Consumer<InputStream> dataAccessor) throws IOException { processAvatarData(avatar, dataAccessor, size); }
@Override public URI getAvatarURL(ApplicationUser remoteUser, ApplicationUser avatarUser, Avatar.Size size) throws AvatarsDisabledException { return getAvatarURLImpl(remoteUser, false, avatarUser, size); }
@Override public boolean userCanViewAvatar(final ApplicationUser user, final Avatar avatar) { return type == avatar.getAvatarType(); }
@Override protected Avatar.Size create() throws Exception { return Avatar.Size.defaultSize(); } };