@Override public String tagAvatar(final long id, final String filename) throws IOException { final File base = getAvatarBaseDirectory(); for (AvatarManager.ImageSize size : AvatarManager.ImageSize.values()) { final String sizeFlag = size.getFilenameFlag(); final File avatarFileInstance = new File(base, id + "_" + sizeFlag + filename); if (avatarFileInstance.exists()) { tagSingleAvatarFile(avatarFileInstance, new File(toTaggedName(avatarFileInstance.getAbsolutePath()))); } } // Don't delete the old files until we're done, in case we can't tag all versions of the files try { for (AvatarManager.ImageSize size : AvatarManager.ImageSize.values()) { final String sizeFlag = size.getFilenameFlag(); final File oldAvatarFile = new File(base, id + "_" + sizeFlag + filename); if (oldAvatarFile.exists()) { oldAvatarFile.delete(); } } } catch (SecurityException ignored) { } return toTaggedName(filename); }
public static ImageSize fromSize(Avatar.Size size) { for(ImageSize imageSize : values()) { if (imageSize.getSize().equals(size)) return imageSize; } throw new IllegalArgumentException("There should be a matching ImageSize for every Avatar.Size, but there wasn't for '" + size + "'."); }
for (ImageSize value : values())
for (ImageSize size : ImageSize.values())
public boolean delete(Long avatarId, boolean alsoDeleteAvatarFile) { Assertions.notNull("avatarId", avatarId); final Avatar avatar = store.getById(avatarId); if (avatar == null) { return false; } if (alsoDeleteAvatarFile) { final ImageSize[] imageSizes = ImageSize.values(); final File[] avatarFiles = new File[imageSizes.length]; for (int i = 0; i < imageSizes.length; i++) { avatarFiles[i] = getAvatarFile(avatar, imageSizes[i].getFilenameFlag()); deleteFile(avatarFiles[i]); } eventPublisher.publish(new JiraHomeChangeEvent(JiraHomeChangeEvent.Action.FILE_DELETED, JiraHomeChangeEvent.FileType.AVATAR, avatarFiles)); } return store.delete(avatarId); }