@Override public Map<String, Object> apply(final String input) { final Map<String, Object> entity = ImmutableMap.<String, Object>builder(). put(CachingTaggingAvatarStore.FILE_NAME, input). put(CachingTaggingAvatarStore.CONTENT_TYPE, "image/png"). put(CachingTaggingAvatarStore.AVATAR_TYPE, Avatar.Type.ISSUETYPE.getName()). put(CachingTaggingAvatarStore.SYSTEM_AVATAR, 1).build(); return entity; }
private Set<String> findExistingSystemAvatarFileNames() { final ImmutableMap<String, Object> systemIssueTypeAvatarSearchCriteria = ImmutableMap.<String, Object>builder(). put(CachingTaggingAvatarStore.SYSTEM_AVATAR, 1). put(CachingTaggingAvatarStore.AVATAR_TYPE, Avatar.Type.ISSUETYPE.getName()). build(); final List<GenericValue> existingSystemAvatars = ofBizDelegator.findByAnd( CachingTaggingAvatarStore.AVATAR_ENTITY, systemIssueTypeAvatarSearchCriteria); final Function<GenericValue, String> extractItemFileName = GenericValueFunctions.getString(CachingTaggingAvatarStore.FILE_NAME); return Sets.newHashSet(Iterables.transform(existingSystemAvatars, extractItemFileName)); }
private static ImmutableMap<String, Type> createNameToTypeMap() { final ImmutableMap.Builder<String, Type> typesByNameBuilder = ImmutableMap.builder(); for( Type type: Type.values()) { typesByNameBuilder.put( type.getName(), type ); } return typesByNameBuilder.build(); }
if (typeAvatars == null) throwWebException(i18nHelper.getText("rest.error.invalid.avatar.type", type.getName()), com.atlassian.jira.util.ErrorCollection.Reason.VALIDATION_FAILED);
!avatarType.equals(Avatar.Type.USER.getName()) || fileName.endsWith(TAGGED_AVATAR_FILE_SUFFIX))
@Override public void doUpgrade(boolean setupMode) throws Exception { final List<GenericValue> avatars = delegator.findByAnd(AVATAR_ENTITY, FieldMap.build(SYSTEM_AVATAR, NOT_SYSTEM, AVATAR_TYPE, Avatar.Type.USER.getName())); if (avatars == null) { return; } LOG.info(String.format("Analysing %d Avatars...", avatars.size())); for (GenericValue gv : avatars) { final String owner = gv.getString(OWNER); if (owner != null) { final String lowercase_owner = IdentifierUtils.toLowerCase(owner); if (!owner.equals(lowercase_owner)) { gv.setString(OWNER, lowercase_owner); try { gv.store(); } catch (GenericEntityException e) { throw new DataAccessException(e); } } } } }
RemoteAvatar createRemoteAvatar(final Avatar a, final boolean large, final Base64InputStreamConsumer data) { final long id = a.getId(); final String contentType = a.getContentType(); final String type = a.getAvatarType().getName(); try { if (large) { avatarManager.readAvatarData(a, AvatarManager.ImageSize.LARGE, data); } else { avatarManager.readAvatarData(a, AvatarManager.ImageSize.SMALL, data); } } catch (IOException e) { log.error("Exception trying to get Avatar image data, continuing without it", e); } return new RemoteAvatar(id, contentType, a.getOwner(), a.isSystemAvatar(), type, data.getEncoded()); }
private long getIdOfAvatar(final String avatarFilename) { // i'm looking in database - default avatar may exist - be created in previous (i.e. broken) upgrade final ImmutableMap<String, Object> systemIssueTypeAvatarSearchCriteria = ImmutableMap.<String, Object>builder(). put(CachingTaggingAvatarStore.SYSTEM_AVATAR, 1). put(CachingTaggingAvatarStore.AVATAR_TYPE, Avatar.Type.ISSUETYPE.getName()). put(CachingTaggingAvatarStore.FILE_NAME, avatarFilename). build(); final List<GenericValue> defaultIssueTypeAvatar = ofBizDelegator.findByAnd( CachingTaggingAvatarStore.AVATAR_ENTITY, systemIssueTypeAvatarSearchCriteria); if (defaultIssueTypeAvatar.size() == 0) { throw new RuntimeException("Expected default avatar not found in database: " + systemIssueTypeAvatarSearchCriteria); } // if there is more i'm just picking first final GenericValue firstMatchingAvatar = defaultIssueTypeAvatar.get(0); return firstMatchingAvatar.getLong(CachingTaggingAvatarStore.ID); }
public List<Avatar> getAllSystemAvatars(final Avatar.Type type) { return getAvatars(FieldMap.build(SYSTEM_AVATAR, IS_SYSTEM, AVATAR_TYPE, type.getName())); }
public List<Avatar> getCustomAvatarsForOwner(final Avatar.Type type, final String ownerId) { Assertions.notNull("type", type); Assertions.notNull("ownerId", ownerId); return getAvatars(FieldMap.build(SYSTEM_AVATAR, NOT_SYSTEM, AVATAR_TYPE, type.getName(), OWNER, ownerId)); }
@Override public String asRelativeLinkForDefaultSize(final Avatar.Type type) { return String.format("/secure/viewavatar?avatarId=%dl&avatarType=%s", avatarId, type.getName()); } }
private Map<String, Object> getNonPkFields(Avatar avatar) { final Map<String, Object> fields = new HashMap<>(); fields.put(FILE_NAME, avatar.getFileName()); fields.put(CONTENT_TYPE, avatar.getContentType()); fields.put(AVATAR_TYPE, avatar.getAvatarType().getName()); fields.put(OWNER, avatar.getOwner()); fields.put(SYSTEM_AVATAR, avatar.isSystemAvatar() ? IS_SYSTEM : NOT_SYSTEM); return fields; }
private void addAvatarParametersToUrlBuilder(final UrlBuilder urlBuilder, final Avatar avatar, final Avatar.Size size) { if (!isSizeDefaultOrNone(size)) { urlBuilder.addParameter(SIZE_PARAM, size.getParam()); } Long avatarId = avatar.getId(); urlBuilder.addParameter(AVATAR_ID_PARAM, avatarId.toString()); urlBuilder.addParameter(AVATAR_TYPE_PARAM, type.getName()); }