Package com.gooddata.sdk.service.project
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.UriTemplateLIST_PROJECTS_TEMPLATEstatic org.springframework.web.util.UriTemplatePROJECT_TEMPLATEstatic org.springframework.web.util.UriTemplatePROJECT_USER_TEMPLATEstatic org.springframework.web.util.UriTemplatePROJECT_USERS_TEMPLATE -
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.UseraddUserToProject(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 projectFutureResult<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.ProjectgetProjectById(java.lang.String id)Get project by id.com.gooddata.sdk.model.project.ProjectgetProjectByUri(java.lang.String uri)Get project by URI.java.util.Collection<com.gooddata.sdk.model.project.Project>getProjects()Deprecated.uselistProjects()orlistProjects(PageRequest)instead.java.util.Collection<com.gooddata.sdk.model.project.ProjectTemplate>getProjectTemplates(com.gooddata.sdk.model.project.Project project)com.gooddata.sdk.model.project.RolegetRoleByUri(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.UsergetUser(com.gooddata.sdk.model.project.Project project, com.gooddata.sdk.model.account.Account account)get user in projectcom.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.voidremoveProject(com.gooddata.sdk.model.project.Project project)Removes given projectcom.gooddata.sdk.model.project.CreatedInvitationssendInvitations(com.gooddata.sdk.model.project.Project project, com.gooddata.sdk.model.project.Invitation... invitations)Send project invitations to usersvoidupdateUserInProject(com.gooddata.sdk.model.project.Project project, com.gooddata.sdk.model.project.User... users)Update user in the projectFutureResult<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 validationsFutureResult<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
-
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 templateaccountService- GoodData account servicesettings- settings
-
-
Method Details
-
getProjects
@Deprecated public java.util.Collection<com.gooddata.sdk.model.project.Project> getProjects()Deprecated.uselistProjects()orlistProjects(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:
PageBrowserlist 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:
PageBrowserlist 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 tovalidateProject(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 validatevalidations- 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 validatevalidations- 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:
PageBrowserlist 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 usersstartPage- page to be retrieved first- Returns:
PageBrowserlist 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 projectinvitations- 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 findaccount- 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 useraccount- to be addeduserRoles- 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 userusers- to update- Throws:
ProjectUsersUpdateException- in case of failure
-