@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();
}