@Override public Project createProject(@Nonnull ApplicationUser user, @Nonnull ProjectCreationData projectCreationData) { MockProject project = new MockProject( nextId.addAndGet(1), projectCreationData.getKey(), projectCreationData.getName() ); project.setAssigneeType(projectCreationData.getAssigneeType()); return project; }
this.key = input.getKey(); this.description = input.getDescription(); this.url = input.getUrl();
private Project createProjectInternal(final CreateProjectValidationResult result, final Consumer<Project> projectConsumer) { if (result == null) { throw new IllegalArgumentException("You can not create a project with a null validation result."); } if (!result.isValid()) { throw new IllegalStateException("You can not create a project with an invalid validation result."); } if (result.getExistingProjectId().isPresent()) { ofNullable(projectManager.getProjectObj(result.getExistingProjectId().get())).orElseThrow(() -> new IllegalStateException("Existing project could not be found.")); } final ApplicationUser user = result.getUser(); final ProjectCreationData projectCreationData = result.getProjectCreationData(); final Project newProject = projectManager.createProject(user, new ProjectCreationData.Builder() .from(projectCreationData) .withKey(projectCreationData.getKey().toUpperCase()) .withLead(projectCreationData.getLead()) .withAssigneeType(effectiveAssigneeType(projectCreationData.getAssigneeType())) .build()); projectConsumer.accept(newProject); // Refresh the workflow cache workflowSchemeManager.clearWorkflowCache(); notifyHandlersOfProjectCreated(user, newProject, result); projectEventManager.dispatchProjectCreated(user, newProject); return newProject; }
public Builder from(ProjectCreationData data) { this.name = data.getName(); this.key = data.getKey(); this.description = data.getDescription(); this.projectTypeKey = data.getProjectTypeKey(); this.projectTemplateKey = data.getProjectTemplateKey(); this.lead = data.getLead(); this.url = data.getUrl(); this.assigneeType = data.getAssigneeType(); this.avatarId = data.getAvatarId(); return this; }
@Override public boolean isValidRequiredProjectData(JiraServiceContext serviceContext, ProjectCreationData projectCreationData) { final ErrorCollection errorCollection = ErrorCollections.empty(); final I18nHelper i18nBean = serviceContext.getI18nBean(); validateProjectName(projectCreationData.getName(), errorCollection, i18nBean); validateProjectKey(null, projectCreationData.getKey(), errorCollection, i18nBean); validateProjectLead(Option.option(projectCreationData.getLead()), errorCollection, i18nBean); validateProjectType(serviceContext.getLoggedInApplicationUser(), projectCreationData.getProjectTypeKey(), errorCollection, i18nBean); if (errorCollection.hasAnyErrors()) { serviceContext.getErrorCollection().addErrorCollection(errorCollection); return false; } return true; }
@Override public boolean isValidAllProjectData(JiraServiceContext serviceContext, ProjectCreationData projectCreationData) { final ErrorCollection errorCollection = ErrorCollections.empty(); final I18nHelper i18nHelper = serviceContext.getI18nBean(); isValidRequiredProjectData(getServiceContext(serviceContext.getLoggedInApplicationUser(), errorCollection), projectCreationData); validateProjectUrl(projectCreationData.getUrl(), errorCollection, i18nHelper); validateProjectAssigneeType(projectCreationData.getAssigneeType(), errorCollection, i18nHelper); validateAvatarId(projectCreationData.getAvatarId(), projectManager.getProjectObjByKey(projectCreationData.getKey()), errorCollection, i18nHelper); validateProjectTemplate(projectCreationData.getProjectTemplateKey(), errorCollection, i18nHelper); if (errorCollection.hasAnyErrors()) { serviceContext.getErrorCollection().addErrorCollection(errorCollection); return false; } return true; }
@Override public Project createProject(@Nonnull ApplicationUser user, @Nonnull ProjectCreationData projectCreationData) String key = projectCreationData.getKey(); String name = projectCreationData.getName(); ApplicationUser lead = projectCreationData.getLead();