private Avatar.Type getValidAvatarType(final HttpServletRequest request) { String avatarTypeSpec = request.getParameter(AVATAR_TYPE_PARAM); final Avatar.Type type = Avatar.Type.getByName(avatarTypeSpec); if (null == type) { throw new IllegalArgumentException(AVATAR_TYPE_PARAM); } return type; }
/** * Deletes avatar * * @param avatarType Project id or project key * @param id database id for avatar * @return temporary avatar cropping instructions * @since v5.0 */ @DELETE @Path ("type/{type}/owner/{owningObjectId}/avatar/{id}") public Response deleteAvatar(final @PathParam ("type") String avatarType, final @PathParam ("owningObjectId") String owningObjectId, @PathParam ("id") final Long id) { final Avatar.Type avatarsType = Avatar.Type.getByName(avatarType); final TypeAvatarService avatarsForType = universalAvatars.getAvatars(avatarsType); if (null == avatarsForType) { return Response.status(Response.Status.NOT_FOUND).build(); } if (!avatarsForType.canUserCreateAvatar(authContext.getUser(), owningObjectId)) { return Response.status(Response.Status.FORBIDDEN).build(); } final Response avatarFromTemporaryResponse = avatarResourceHelper.deleteAvatar(id); return avatarFromTemporaryResponse; }
final @QueryParam ("size") Long size, final @Context HttpServletRequest request) return avatarResourceHelper.storeTemporaryAvatar(Avatar.Type.getByName(type), null, filename, size, request);
final Avatar.Type avatarsType = Avatar.Type.getByName(avatarType); if (null == avatarsType)
final Avatar.Type avatarsType = Avatar.Type.getByName(avatarType); if (null == avatarsType)
return avatarResourceHelper.cropTemporaryAvatar(Avatar.Type.getByName(type), null, croppingInstructions);
public Response getAllSystemAvatars(final @PathParam ("type") String type) return avatarResourceHelper.getAllSystemAvatars(Avatar.Type.getByName(type));
/** * @since v6.3 */ @GET @Path ("type/{type}/owner/{owningObjectId}") public Response getAvatars(final @PathParam ("type") String avatarType, final @PathParam ("owningObjectId") String owningObjectId) { final Avatar.Type avatarsType = Avatar.Type.getByName(avatarType); final TypeAvatarService avatarsForType = universalAvatars.getAvatars(avatarsType); if (null == avatarsForType) { return Response.status(Response.Status.NOT_FOUND).entity("avatarType").build(); } final AvatarImageResolver uriResolver = universalAvatars.getImages(avatarsType); if (null == uriResolver) { return Response.status(Response.Status.NOT_FOUND).entity("avatarType").build(); } final SystemAndCustomAvatars allAvatars = avatarsForType.getAvatars(authContext.getUser(), owningObjectId); final ApplicationUser remoteUser = authContext.getUser(); final List<AvatarBean> systemAvatarBeans = createAvatarBeans(allAvatars.getSystemAvatars(), remoteUser, uriResolver); final List<AvatarBean> customAvatarBeans = createAvatarBeans(allAvatars.getCustomAvatars(), remoteUser, uriResolver); Map<String, List<AvatarBean>> result = ImmutableMap.<String, List<AvatarBean>>builder(). put(SYSTEM_AVATARS_FIELD, systemAvatarBeans). put(CUSTOM_AVATARS_FIELD, customAvatarBeans). build(); return Response.ok(result).build(); }
@POST @Path ("type/{type}/owner/{owningObjectId}/avatar") public Response createAvatarFromTemporary(final @PathParam ("type") String avatarType, final @PathParam ("owningObjectId") String owningObjectId, final AvatarCroppingBean croppingInstructions) { try { final Avatar.Type avatarsType = Avatar.Type.getByName(avatarType); if (null == avatarsType) { throw new NoSuchElementException("avatarType"); } final ApplicationUser remoteUser = authContext.getUser(); final AvatarBean avatarFromTemporary = avatarTemporaryHelper.createAvatarFromTemporary( remoteUser, avatarsType, owningObjectId, croppingInstructions); return Response.status(Response.Status.CREATED).entity(avatarFromTemporary).cacheControl(never()).build(); } catch (NoSuchElementException x) { return Response.status(Response.Status.NOT_FOUND).entity(x.getMessage()).build(); } }
Avatar gvToAvatar(final GenericValue gv) { return new AvatarImpl(gv.getLong(ID), gv.getString(FILE_NAME), gv.getString(CONTENT_TYPE), Avatar.Type.getByName(gv.getString(AVATAR_TYPE)), gv.getString(OWNER), gv.getInteger(SYSTEM_AVATAR) != 0); }