com.atlassian.jira.rpc.soap.service
Class ProjectServiceImpl

java.lang.Object
  extended by com.atlassian.jira.rpc.soap.service.ProjectServiceImpl
All Implemented Interfaces:
ProjectService

public class ProjectServiceImpl
extends java.lang.Object
implements ProjectService


Constructor Summary
ProjectServiceImpl(com.atlassian.jira.security.PermissionManager permissionManager, com.atlassian.jira.config.properties.ApplicationProperties applicationProperties, com.atlassian.jira.notification.NotificationSchemeManager notificationSchemeManager, com.atlassian.jira.permission.PermissionSchemeManager permissionSchemeManager, com.atlassian.jira.issue.security.IssueSecuritySchemeManager issueSecuritySchemeManager, com.atlassian.jira.issue.security.IssueSecurityLevelManager issueSecurityLevelManager, com.atlassian.jira.bc.project.ProjectService projectService, com.atlassian.jira.bc.project.component.ProjectComponentManager projectComponentManager, com.atlassian.jira.bc.project.version.VersionService versionService, com.atlassian.jira.web.util.OutlookDateManager outlookDateManager, com.atlassian.jira.user.util.UserManager userManager, com.atlassian.jira.avatar.AvatarManager avatarManager, RemoteEntityFactory remoteEntityFactory)
           
 
Method Summary
 void archiveVersion(com.atlassian.crowd.embedded.api.User user, java.lang.String projectKey, java.lang.String versionName, boolean archive)
           
 RemoteProject createProject(com.atlassian.crowd.embedded.api.User user, RemoteProject rProject)
           
 RemoteProject createProject(com.atlassian.crowd.embedded.api.User user, java.lang.String key, java.lang.String name, java.lang.String description, java.lang.String url, java.lang.String lead, RemotePermissionScheme permissionScheme, RemoteScheme notificationScheme, RemoteScheme issueSecurityScheme)
           
 RemoteVersion createVersion(com.atlassian.crowd.embedded.api.User user, java.lang.String projectKey, RemoteVersion remoteVersion)
           
 void deleteProject(com.atlassian.crowd.embedded.api.User user, java.lang.String projectKey)
           
 void deleteProjectAvatar(com.atlassian.crowd.embedded.api.User user, long avatarId)
          Deletes the given custom Avatar from the system.
 RemoteComponent[] getComponents(com.atlassian.crowd.embedded.api.User user, java.lang.String projectKey)
           
 RemoteAvatar getProjectAvatar(com.atlassian.crowd.embedded.api.User user, java.lang.String projectKey, java.lang.String size)
          Retrieves the current Avatar for the given project.
 RemoteAvatar[] getProjectAvatars(com.atlassian.crowd.embedded.api.User user, java.lang.String projectKey, boolean includeSystemAvatars, java.lang.String size)
          Retrieves avatars for the given project.
 RemoteProject getProjectById(com.atlassian.crowd.embedded.api.User user, java.lang.Long projectId)
          Returns the Project with the matching id (if the user has permission to browse it).
 RemoteProject getProjectByKey(com.atlassian.crowd.embedded.api.User user, java.lang.String projectKey)
          Returns the Project with the matching key (if the user has permission to browse it).
 RemoteProject[] getProjects(com.atlassian.crowd.embedded.api.User user, boolean addSchemes)
           
 RemoteProject getProjectWithSchemesById(com.atlassian.crowd.embedded.api.User user, java.lang.Long projectId)
          Returns the project with the matching id (if the user has permission to browse it) with notification, issue security and permission schemes attached.
 RemoteSecurityLevel[] getSecurityLevels(com.atlassian.crowd.embedded.api.User user, java.lang.String projectKey)
          Return an array of Security Levels for a given project
 RemoteVersion[] getVersions(com.atlassian.crowd.embedded.api.User user, java.lang.String projectKey)
           
 void releaseVersion(com.atlassian.crowd.embedded.api.User user, java.lang.String projectKey, RemoteVersion remoteVersion)
           
 void setProjectAvatar(com.atlassian.crowd.embedded.api.User user, java.lang.String projectKey, java.lang.Long avatarId)
          Sets the current avatar for the given project to that with the given id.
 void setProjectAvatar(com.atlassian.crowd.embedded.api.User user, java.lang.String projectKey, java.lang.String contentType, java.lang.String base64ImageData)
          Creates a new custom avatar for the given project and sets it to be current for the project.
 RemoteProject updateProject(com.atlassian.crowd.embedded.api.User user, RemoteProject rProject)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProjectServiceImpl

public ProjectServiceImpl(com.atlassian.jira.security.PermissionManager permissionManager,
                          com.atlassian.jira.config.properties.ApplicationProperties applicationProperties,
                          com.atlassian.jira.notification.NotificationSchemeManager notificationSchemeManager,
                          com.atlassian.jira.permission.PermissionSchemeManager permissionSchemeManager,
                          com.atlassian.jira.issue.security.IssueSecuritySchemeManager issueSecuritySchemeManager,
                          com.atlassian.jira.issue.security.IssueSecurityLevelManager issueSecurityLevelManager,
                          com.atlassian.jira.bc.project.ProjectService projectService,
                          com.atlassian.jira.bc.project.component.ProjectComponentManager projectComponentManager,
                          com.atlassian.jira.bc.project.version.VersionService versionService,
                          com.atlassian.jira.web.util.OutlookDateManager outlookDateManager,
                          com.atlassian.jira.user.util.UserManager userManager,
                          com.atlassian.jira.avatar.AvatarManager avatarManager,
                          RemoteEntityFactory remoteEntityFactory)
Method Detail

getProjects

public RemoteProject[] getProjects(com.atlassian.crowd.embedded.api.User user,
                                   boolean addSchemes)
                            throws RemoteException
Specified by:
getProjects in interface ProjectService
Throws:
RemoteException

getProjectById

public RemoteProject getProjectById(com.atlassian.crowd.embedded.api.User user,
                                    java.lang.Long projectId)
                             throws RemoteException
Description copied from interface: ProjectService
Returns the Project with the matching id (if the user has permission to browse it).

Specified by:
getProjectById in interface ProjectService
Parameters:
user - the authenticated User attempting to access the project. Permission checks are run against them.
projectId - the id of the requested after project
Returns:
the Project object specified by the id, if it exists and the user has the BROWSE permission for it
Throws:
RemotePermissionException - if the User does not have permission to BROWSE the project.
RemoteException

getProjectWithSchemesById

public RemoteProject getProjectWithSchemesById(com.atlassian.crowd.embedded.api.User user,
                                               java.lang.Long projectId)
                                        throws RemoteException
Description copied from interface: ProjectService
Returns the project with the matching id (if the user has permission to browse it) with notification, issue security and permission schemes attached.

Specified by:
getProjectWithSchemesById in interface ProjectService
Parameters:
user - the authenticated User attempting to access the project. Permission checks are run against them.
projectId - the id of the requested after project
Returns:
the Project object specified by the id, if it exists and the user has the BROWSE permission for it
Throws:
RemotePermissionException - if the User does not have permission to BROWSE the project.
RemoteException

getProjectByKey

public RemoteProject getProjectByKey(com.atlassian.crowd.embedded.api.User user,
                                     java.lang.String projectKey)
                              throws RemoteException
Description copied from interface: ProjectService
Returns the Project with the matching key (if the user has permission to browse it).

Specified by:
getProjectByKey in interface ProjectService
Parameters:
user - the authenticated User attempting to access the project. Permission checks are run against them.
projectKey - the key of the requested after project
Returns:
the Project object specified by the key, if it exists and the user has the BROWSE permission for it
Throws:
RemotePermissionException - if the User does not have permission to BROWSE the project.
RemoteException

getComponents

public RemoteComponent[] getComponents(com.atlassian.crowd.embedded.api.User user,
                                       java.lang.String projectKey)
                                throws RemoteException
Specified by:
getComponents in interface ProjectService
Throws:
RemoteException

getVersions

public RemoteVersion[] getVersions(com.atlassian.crowd.embedded.api.User user,
                                   java.lang.String projectKey)
                            throws RemoteException
Specified by:
getVersions in interface ProjectService
Throws:
RemoteException

createProject

public RemoteProject createProject(com.atlassian.crowd.embedded.api.User user,
                                   RemoteProject rProject)
                            throws RemoteException
Specified by:
createProject in interface ProjectService
Throws:
RemoteException

createProject

public RemoteProject createProject(com.atlassian.crowd.embedded.api.User user,
                                   java.lang.String key,
                                   java.lang.String name,
                                   java.lang.String description,
                                   java.lang.String url,
                                   java.lang.String lead,
                                   RemotePermissionScheme permissionScheme,
                                   RemoteScheme notificationScheme,
                                   RemoteScheme issueSecurityScheme)
                            throws RemoteException
Specified by:
createProject in interface ProjectService
Throws:
RemoteException

updateProject

public RemoteProject updateProject(com.atlassian.crowd.embedded.api.User user,
                                   RemoteProject rProject)
                            throws RemoteException
Specified by:
updateProject in interface ProjectService
Throws:
RemoteException

deleteProject

public void deleteProject(com.atlassian.crowd.embedded.api.User user,
                          java.lang.String projectKey)
                   throws RemoteException
Specified by:
deleteProject in interface ProjectService
Throws:
RemoteException

createVersion

public RemoteVersion createVersion(com.atlassian.crowd.embedded.api.User user,
                                   java.lang.String projectKey,
                                   RemoteVersion remoteVersion)
                            throws RemoteException
Specified by:
createVersion in interface ProjectService
Throws:
RemoteException

releaseVersion

public void releaseVersion(com.atlassian.crowd.embedded.api.User user,
                           java.lang.String projectKey,
                           RemoteVersion remoteVersion)
                    throws RemoteException
Specified by:
releaseVersion in interface ProjectService
Throws:
RemoteException

archiveVersion

public void archiveVersion(com.atlassian.crowd.embedded.api.User user,
                           java.lang.String projectKey,
                           java.lang.String versionName,
                           boolean archive)
                    throws RemoteException
Specified by:
archiveVersion in interface ProjectService
Throws:
RemoteException

getSecurityLevels

public RemoteSecurityLevel[] getSecurityLevels(com.atlassian.crowd.embedded.api.User user,
                                               java.lang.String projectKey)
                                        throws RemoteException
Description copied from interface: ProjectService
Return an array of Security Levels for a given project

Specified by:
getSecurityLevels in interface ProjectService
Parameters:
user - the authenticated User attempting to access the project. Permission checks are run against them.
projectKey - the key of the requested project
Returns:
array of RemoteSecurityLevel objects for the project. The Array will be empty if the user does not have the Set Security Level permission for the project.
Throws:
RemoteException - If the project key is invalid or the Security Levels could not be retrieved
RemotePermissionException - If the User does not have Browse permission for the project

getProjectAvatars

public RemoteAvatar[] getProjectAvatars(com.atlassian.crowd.embedded.api.User user,
                                        java.lang.String projectKey,
                                        boolean includeSystemAvatars,
                                        java.lang.String size)
                                 throws RemoteException,
                                        RemotePermissionException
Description copied from interface: ProjectService
Retrieves avatars for the given project. If the includeSystemAvatars parameter is true, this will include both system (built-in) avatars as well as custom (user-supplied) avatars for that project, otherwise it will include only the custom avatars.

Specified by:
getProjectAvatars in interface ProjectService
Parameters:
user - the user whos asking, must have BROWSE permission to the project.
projectKey - the key for the project.
includeSystemAvatars - if false, only custom avatars will be included in the returned array.
size - "large" or "small".
Returns:
the avatars for the project, possibly empty.
Throws:
RemoteException - If the project key is invalid.
RemotePermissionException - If you do not have Browse permission for the project.

setProjectAvatar

public void setProjectAvatar(com.atlassian.crowd.embedded.api.User user,
                             java.lang.String projectKey,
                             java.lang.String contentType,
                             java.lang.String base64ImageData)
                      throws RemoteException
Description copied from interface: ProjectService
Creates a new custom avatar for the given project and sets it to be current for the project. The image data must be provided as base64 encoded data and should be 48 pixels square. If the image is larger, the top left 48 pixels are taken, if it is smaller it is upscaled to 48 pixels. The small version of the avatar image (16 pixels) is generated automatically.

Specified by:
setProjectAvatar in interface ProjectService
Parameters:
user - the user setting the avatar, must have PROJECT ADMIN permission to the project.
projectKey - the key for the project.
contentType - the MIME type of the image provided, e.g. image/gif, image/jpeg, image/png.
base64ImageData - a base 64 encoded image, 48 pixels square.
Throws:
RemoteException - If the project key is invalid.
RemotePermissionException - If you do not have project admin permission for the project.

setProjectAvatar

public void setProjectAvatar(com.atlassian.crowd.embedded.api.User user,
                             java.lang.String projectKey,
                             java.lang.Long avatarId)
                      throws RemoteException
Description copied from interface: ProjectService
Sets the current avatar for the given project to that with the given id.

Specified by:
setProjectAvatar in interface ProjectService
Parameters:
user - the user setting the avatar, must have PROJECT ADMIN permission to the project.
projectKey - the key for the project.
avatarId - the id of an existing avatar to use for the project or null for the default avatar.
Throws:
RemoteException - If the project key is invalid.
RemotePermissionException - If you do not have project admin permission for the project.

getProjectAvatar

public RemoteAvatar getProjectAvatar(com.atlassian.crowd.embedded.api.User user,
                                     java.lang.String projectKey,
                                     java.lang.String size)
                              throws RemoteException,
                                     RemotePermissionException
Description copied from interface: ProjectService
Retrieves the current Avatar for the given project.

Specified by:
getProjectAvatar in interface ProjectService
Parameters:
user - the user whos asking, must have BROWSE permission to the project.
projectKey - the key for the project.
size - "large" or "small".
Returns:
the current avatar for the project.
Throws:
RemoteException - If the project key is invalid.
RemotePermissionException - If you do not have Browse permission for the project.

deleteProjectAvatar

public void deleteProjectAvatar(com.atlassian.crowd.embedded.api.User user,
                                long avatarId)
                         throws RemoteException
Description copied from interface: ProjectService
Deletes the given custom Avatar from the system. System avatars cannot be deleted.

Specified by:
deleteProjectAvatar in interface ProjectService
Parameters:
user - the user whos asking, must have PROJECT ADMIN permission to the project.
avatarId - id of the custom avatar to delete.
Throws:
RemoteException - if there is no avatar with the given id, or if it is a system avatar.
RemotePermissionException - If you do not have administer permission for the project.


Copyright © 2004-2011 Atlassian. All Rights Reserved.