Class ProjectService


  • public class ProjectService
    extends AbstractService
    List projects, create a project, ...

    Usage example:

    
         ProjectService projectService = gd.getProjectService();
         Collection<Project> projects = projectService.getProjects();
         Project project = projectService.createProject(new Project("my project", "MyToken"));
     
    • Constructor Summary

      Constructors 
      Constructor Description
      ProjectService​(org.springframework.web.client.RestTemplate restTemplate, AccountService accountService, GoodDataSettings settings)
      Constructs service for GoodData project management (list projects, create a project, ...).
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      com.gooddata.sdk.model.project.User addUserToProject​(com.gooddata.sdk.model.project.Project project, com.gooddata.sdk.model.account.Account account, com.gooddata.sdk.model.project.Role... userRoles)
      Add user in to the project
      FutureResult<com.gooddata.sdk.model.project.Project> createProject​(com.gooddata.sdk.model.project.Project project)
      Create new project.
      java.util.Set<com.gooddata.sdk.model.project.ProjectValidationType> getAvailableProjectValidationTypes​(com.gooddata.sdk.model.project.Project project)
      Get available validation types for project.
      com.gooddata.sdk.model.project.Project getProjectById​(java.lang.String id)
      Get project by id.
      com.gooddata.sdk.model.project.Project getProjectByUri​(java.lang.String uri)
      Get project by URI.
      java.util.Collection<com.gooddata.sdk.model.project.Project> getProjects()
      Deprecated.
      java.util.Collection<com.gooddata.sdk.model.project.ProjectTemplate> getProjectTemplates​(com.gooddata.sdk.model.project.Project project)  
      com.gooddata.sdk.model.project.Role getRoleByUri​(java.lang.String uri)
      Get role by given URI.
      java.util.Set<com.gooddata.sdk.model.project.Role> getRoles​(com.gooddata.sdk.model.project.Project project)
      Get set of user role by given project.
      com.gooddata.sdk.model.project.User getUser​(com.gooddata.sdk.model.project.Project project, com.gooddata.sdk.model.account.Account account)
      get user in project
      com.gooddata.sdk.common.collections.PageBrowser<com.gooddata.sdk.model.project.Project> listProjects()
      Get browser of projects that current user has access to.
      com.gooddata.sdk.common.collections.PageBrowser<com.gooddata.sdk.model.project.Project> listProjects​(com.gooddata.sdk.common.collections.PageRequest startPage)
      Get defined page of paged list of projects that current user has access to.
      com.gooddata.sdk.common.collections.PageBrowser<com.gooddata.sdk.model.project.User> listUsers​(com.gooddata.sdk.model.project.Project project)
      Get browser of users by given project.
      com.gooddata.sdk.common.collections.PageBrowser<com.gooddata.sdk.model.project.User> listUsers​(com.gooddata.sdk.model.project.Project project, com.gooddata.sdk.common.collections.PageRequest startPage)
      Get defined page of paged list of users by given project.
      void removeProject​(com.gooddata.sdk.model.project.Project project)
      Removes given project
      com.gooddata.sdk.model.project.CreatedInvitations sendInvitations​(com.gooddata.sdk.model.project.Project project, com.gooddata.sdk.model.project.Invitation... invitations)
      Send project invitations to users
      void updateUserInProject​(com.gooddata.sdk.model.project.Project project, com.gooddata.sdk.model.project.User... users)
      Update user in the project
      FutureResult<com.gooddata.sdk.model.project.ProjectValidationResults> validateProject​(com.gooddata.sdk.model.project.Project project)
      Validate project using all available validations.
      FutureResult<com.gooddata.sdk.model.project.ProjectValidationResults> validateProject​(com.gooddata.sdk.model.project.Project project, com.gooddata.sdk.model.project.ProjectValidationType... validations)
      Validate project with given validations
      FutureResult<com.gooddata.sdk.model.project.ProjectValidationResults> validateProject​(com.gooddata.sdk.model.project.Project project, java.util.Set<com.gooddata.sdk.model.project.ProjectValidationType> validations)
      Validate project with given validations
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • PROJECT_TEMPLATE

        public static final org.springframework.web.util.UriTemplate PROJECT_TEMPLATE
      • PROJECT_USERS_TEMPLATE

        public static final org.springframework.web.util.UriTemplate PROJECT_USERS_TEMPLATE
      • PROJECT_USER_TEMPLATE

        public static final org.springframework.web.util.UriTemplate PROJECT_USER_TEMPLATE
      • LIST_PROJECTS_TEMPLATE

        public static final org.springframework.web.util.UriTemplate LIST_PROJECTS_TEMPLATE
    • Constructor Detail

      • ProjectService

        public ProjectService​(org.springframework.web.client.RestTemplate restTemplate,
                              AccountService accountService,
                              GoodDataSettings settings)
        Constructs service for GoodData project management (list projects, create a project, ...).
        Parameters:
        restTemplate - RESTful HTTP Spring template
        accountService - GoodData account service
        settings - settings
    • Method Detail

      • getProjects

        @Deprecated
        public java.util.Collection<com.gooddata.sdk.model.project.Project> getProjects()
        Deprecated.
        use listProjects() or listProjects(PageRequest) instead. Deprecated since version 3.0.0. Will be removed in one of future versions.
        Get all projects current user has access to.
        Returns:
        collection of all projects current user has access to
        Throws:
        com.gooddata.sdk.common.GoodDataException - when projects can't be accessed
      • listProjects

        public com.gooddata.sdk.common.collections.PageBrowser<com.gooddata.sdk.model.project.Project> listProjects()
        Get browser of projects that current user has access to.
        Returns:
        PageBrowser list of found projects or empty list
      • listProjects

        public com.gooddata.sdk.common.collections.PageBrowser<com.gooddata.sdk.model.project.Project> listProjects​(com.gooddata.sdk.common.collections.PageRequest startPage)
        Get defined page of paged list of projects that current user has access to.
        Parameters:
        startPage - page to be retrieved first
        Returns:
        PageBrowser list of found projects or empty list
      • createProject

        public FutureResult<com.gooddata.sdk.model.project.Project> createProject​(com.gooddata.sdk.model.project.Project project)
        Create new project.
        Parameters:
        project - project to be created
        Returns:
        created project (including very useful id)
        Throws:
        com.gooddata.sdk.common.GoodDataException - when projects creation fails
      • getProjectByUri

        public com.gooddata.sdk.model.project.Project getProjectByUri​(java.lang.String uri)
        Get project by URI.
        Parameters:
        uri - URI of project resource (/gdc/projects/{id})
        Returns:
        project
        Throws:
        com.gooddata.sdk.common.GoodDataException - when project can't be accessed
      • getProjectById

        public com.gooddata.sdk.model.project.Project getProjectById​(java.lang.String id)
        Get project by id.
        Parameters:
        id - id of project
        Returns:
        project
        Throws:
        com.gooddata.sdk.common.GoodDataException - when project can't be accessed
      • removeProject

        public void removeProject​(com.gooddata.sdk.model.project.Project project)
        Removes given project
        Parameters:
        project - project to be removed
        Throws:
        com.gooddata.sdk.common.GoodDataException - when project can't be deleted
      • getProjectTemplates

        public java.util.Collection<com.gooddata.sdk.model.project.ProjectTemplate> getProjectTemplates​(com.gooddata.sdk.model.project.Project project)
      • getAvailableProjectValidationTypes

        public java.util.Set<com.gooddata.sdk.model.project.ProjectValidationType> getAvailableProjectValidationTypes​(com.gooddata.sdk.model.project.Project project)
        Get available validation types for project. Which can be passed to validateProject(Project, ProjectValidationType...).
        Parameters:
        project - project to fetch validation types for
        Returns:
        available validations
      • validateProject

        public FutureResult<com.gooddata.sdk.model.project.ProjectValidationResults> validateProject​(com.gooddata.sdk.model.project.Project project)
        Validate project using all available validations.
        Parameters:
        project - project to validate
        Returns:
        results of validation
      • validateProject

        public FutureResult<com.gooddata.sdk.model.project.ProjectValidationResults> validateProject​(com.gooddata.sdk.model.project.Project project,
                                                                                                     com.gooddata.sdk.model.project.ProjectValidationType... validations)
        Validate project with given validations
        Parameters:
        project - project to validate
        validations - validations to use
        Returns:
        results of validation
      • validateProject

        public FutureResult<com.gooddata.sdk.model.project.ProjectValidationResults> validateProject​(com.gooddata.sdk.model.project.Project project,
                                                                                                     java.util.Set<com.gooddata.sdk.model.project.ProjectValidationType> validations)
        Validate project with given validations
        Parameters:
        project - project to validate
        validations - validations to use
        Returns:
        results of validation
      • listUsers

        public com.gooddata.sdk.common.collections.PageBrowser<com.gooddata.sdk.model.project.User> listUsers​(com.gooddata.sdk.model.project.Project project)
        Get browser of users by given project.
        Parameters:
        project - project of users
        Returns:
        PageBrowser list of found users or empty list
      • listUsers

        public com.gooddata.sdk.common.collections.PageBrowser<com.gooddata.sdk.model.project.User> listUsers​(com.gooddata.sdk.model.project.Project project,
                                                                                                              com.gooddata.sdk.common.collections.PageRequest startPage)
        Get defined page of paged list of users by given project.
        Parameters:
        project - project of users
        startPage - page to be retrieved first
        Returns:
        PageBrowser list of found users or empty list
      • getRoles

        public java.util.Set<com.gooddata.sdk.model.project.Role> getRoles​(com.gooddata.sdk.model.project.Project project)
        Get set of user role by given project. Note: This makes n+1 API calls to retrieve all role details.
        Parameters:
        project - project of roles
        Returns:
        set of found roles or empty set
      • getRoleByUri

        public com.gooddata.sdk.model.project.Role getRoleByUri​(java.lang.String uri)
        Get role by given URI.
        Parameters:
        uri - role uri
        Returns:
        found role
        Throws:
        RoleNotFoundException - when the role doesn't exist
      • sendInvitations

        public com.gooddata.sdk.model.project.CreatedInvitations sendInvitations​(com.gooddata.sdk.model.project.Project project,
                                                                                 com.gooddata.sdk.model.project.Invitation... invitations)
        Send project invitations to users
        Parameters:
        project - target project
        invitations - invitations
        Returns:
        created invitation
      • getUser

        public com.gooddata.sdk.model.project.User getUser​(com.gooddata.sdk.model.project.Project project,
                                                           com.gooddata.sdk.model.account.Account account)
        get user in project
        Parameters:
        project - where to find
        account - which user to find
        Returns:
        User representation in project
        Throws:
        UserInProjectNotFoundException - when user is not in project
      • addUserToProject

        public com.gooddata.sdk.model.project.User addUserToProject​(com.gooddata.sdk.model.project.Project project,
                                                                    com.gooddata.sdk.model.account.Account account,
                                                                    com.gooddata.sdk.model.project.Role... userRoles)
        Add user in to the project
        Parameters:
        project - where to add user
        account - to be added
        userRoles - list of user roles
        Returns:
        user added to the project
        Throws:
        ProjectUsersUpdateException - in case of failure
      • updateUserInProject

        public void updateUserInProject​(com.gooddata.sdk.model.project.Project project,
                                        com.gooddata.sdk.model.project.User... users)
        Update user in the project
        Parameters:
        project - in which to update user
        users - to update
        Throws:
        ProjectUsersUpdateException - in case of failure