@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.assigneeType = ofNullable(input.getAssigneeType()).orElse(existingProject.getAssigneeType()); return this;
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 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; }
String description = projectCreationData.getDescription(); Long avatarId = projectCreationData.getAvatarId(); Long assigneeType = projectCreationData.getAssigneeType(); ProjectTypeKey projectTypeKey = projectCreationData.getProjectTypeKey();