public class

SetProfilePictureFromImageCommandImpl

extends AbstractServiceCommand
implements SetProfilePictureCommand
java.lang.Object
   ↳ com.atlassian.confluence.core.service.AbstractServiceCommand
     ↳ com.atlassian.confluence.user.service.SetProfilePictureFromImageCommandImpl

Class Overview

Service command for setting a user's profile picture to a newly uploaded image. The image is cropped, saved as an attachment and set as the user's profile picture.

Summary

[Expand]
Inherited Constants
From interface com.atlassian.confluence.user.service.SetProfilePictureCommand
Public Constructors
SetProfilePictureFromImageCommandImpl(PermissionManager permissionManager, PersonalInformationManager personalInformationManager, UserAccessor userAccessor, AttachmentManager attachmentManager, User user, InputStream imageData, String imageFileName, int topLeftX, int topLeftY, int width)
SetProfilePictureFromImageCommandImpl(PermissionManager permissionManager, PersonalInformationManager personalInformationManager, UserAccessor userAccessor, AttachmentManager attachmentManager, User user, InputStream imageData, String imageFileName)
SetProfilePictureFromImageCommandImpl(PermissionManager permissionManager, PersonalInformationManager personalInformationManager, UserAccessor userAccessor, AttachmentManager attachmentManager, User user, InputStream imageData, String imageFileName, SetProfilePictureFromImageCommandImpl.Selection cropSelection)
Public Methods
static byte[] convertImageToProfilePicture(InputStream imageData)
Crop an image so it's the right size and composition for a profile picture.
Protected Methods
void executeInternal()
Template method for implementations to perform command execution.
boolean isAuthorizedInternal()
Template method for implementations to perform authorization.
void validateInternal(ServiceCommandValidator validator)
Template method for implementations to perform validation.
[Expand]
Inherited Methods
From class com.atlassian.confluence.core.service.AbstractServiceCommand
From class java.lang.Object
From interface com.atlassian.confluence.core.service.ServiceCommand

Public Constructors

public SetProfilePictureFromImageCommandImpl (PermissionManager permissionManager, PersonalInformationManager personalInformationManager, UserAccessor userAccessor, AttachmentManager attachmentManager, User user, InputStream imageData, String imageFileName, int topLeftX, int topLeftY, int width)

public SetProfilePictureFromImageCommandImpl (PermissionManager permissionManager, PersonalInformationManager personalInformationManager, UserAccessor userAccessor, AttachmentManager attachmentManager, User user, InputStream imageData, String imageFileName)

public SetProfilePictureFromImageCommandImpl (PermissionManager permissionManager, PersonalInformationManager personalInformationManager, UserAccessor userAccessor, AttachmentManager attachmentManager, User user, InputStream imageData, String imageFileName, SetProfilePictureFromImageCommandImpl.Selection cropSelection)

Public Methods

public static byte[] convertImageToProfilePicture (InputStream imageData)

Crop an image so it's the right size and composition for a profile picture. This method is static so it can be called from a really old upgrade task, please don't call from anywhere else

Parameters
imageData a stream containing the image to crop
Returns
  • the cropped image, as a PNG

Protected Methods

protected void executeInternal ()

Template method for implementations to perform command execution. Implementations can assume that if this method is called, both authorization and validation have already been completed successfully.

protected boolean isAuthorizedInternal ()

Template method for implementations to perform authorization.

Returns
  • true if the current user is authorized to perform this command, false otherwise

protected void validateInternal (ServiceCommandValidator validator)

Template method for implementations to perform validation. Implementations should add validation errors using the provided methods. Validation will succeed or fail based on whether the list of validation errors is empty at the end of this method.

Implementations can assume that if this method is called, authorization was already successful.