Class ProjectService

java.lang.Object
com.gooddata.sdk.service.AbstractService
com.gooddata.sdk.service.project.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"));
 
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.gooddata.sdk.service.AbstractService

    AbstractService.OutputStreamResponseExtractor
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static org.springframework.web.util.UriTemplate LIST_PROJECTS_TEMPLATE  
    static org.springframework.web.util.UriTemplate PROJECT_TEMPLATE  
    static org.springframework.web.util.UriTemplate PROJECT_USER_TEMPLATE  
    static org.springframework.web.util.UriTemplate PROJECT_USERS_TEMPLATE  

    Fields inherited from class com.gooddata.sdk.service.AbstractService

    mapper, restTemplate
  • 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

    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 com.gooddata.sdk.service.AbstractService

    extractData

    Methods inherited from class java.lang.Object

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

    • 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 Details

    • 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 Details

    • 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