private ComponentDto getParentProject(String rootUuid, Map<String, ComponentDto> subProjectsByUuid, DbSession session) { ComponentDto project = subProjectsByUuid.get(rootUuid); if (project == null) { Optional<ComponentDto> projectOptional = componentDao.selectByUuid(session, rootUuid); if (projectOptional.isPresent()) { project = projectOptional.get(); subProjectsByUuid.put(project.uuid(), project); } } return project; }
private ComponentDto getProject(String projectUuid, Map<String, ComponentDto> projectsByUuid, DbSession session) { ComponentDto project = projectsByUuid.get(projectUuid); if (project == null) { Optional<ComponentDto> projectOptional = componentDao.selectByUuid(session, projectUuid); if (projectOptional.isPresent()) { project = projectOptional.get(); projectsByUuid.put(project.uuid(), project); } } return project; }
private ComponentDto getComponent(DbSession dbSession, DefaultIssue issue, @Nullable String componentUuid) { String issueKey = issue.key(); checkState(componentUuid != null, "Issue '%s' has no component", issueKey); ComponentDto component = dbClient.componentDao().selectByUuid(dbSession, componentUuid).orElse(null); checkState(component != null, "Component uuid '%s' for issue key '%s' cannot be found", componentUuid, issueKey); return component; }
@CheckForNull private ComponentDto loadComponent(DbSession dbSession, Request request) { String componentId = request.getComponentId(); if (componentId == null) { return null; } return checkFoundWithOptional(dbClient.componentDao().selectByUuid(dbSession, componentId), "Component '%s' does not exist", componentId); }
private ComponentDto getProjectOrApplication(DbSession dbSession, SnapshotDto analysis) { ComponentDto project = dbClient.componentDao().selectByUuid(dbSession, analysis.getComponentUuid()).orElse(null); checkState(project != null, "Project of analysis '%s' is not found", analysis.getUuid()); checkArgument(ALLOWED_QUALIFIERS.contains(project.qualifier()) && Scopes.PROJECT.equals(project.scope()), "An event must be created on a project or an application"); return project; }
private Optional<ComponentDto> getReferenceComponent(DbSession dbSession, ComponentDto component) { if (component.getCopyResourceUuid() == null) { return Optional.empty(); } return dbClient.componentDao().selectByUuid(dbSession, component.getCopyResourceUuid()); }
private void checkMembership(DbSession dbSession, IssueDto issueDto, UserDto user) { String projectUuid = requireNonNull(issueDto.getProjectUuid()); ComponentDto project = Optional.ofNullable(dbClient.componentDao().selectByUuid(dbSession, projectUuid).orElse(null)) .orElseThrow(() -> new IllegalStateException(format("Unknown project %s", projectUuid))); OrganizationDto organizationDto = dbClient.organizationDao().selectByUuid(dbSession, project.getOrganizationUuid()) .orElseThrow(() -> new IllegalStateException(format("Unknown organizationMember %s", project.getOrganizationUuid()))); checkArgument(dbClient.organizationMemberDao().select(dbSession, organizationDto.getUuid(), user.getId()).isPresent(), "User '%s' is not member of organization '%s'", user.getLogin(), organizationDto.getKey()); } }
private Optional<CurrentWsResponse.Homepage> projectHomepage(DbSession dbSession, UserDto user) { Optional<ComponentDto> projectOptional = ofNullable(dbClient.componentDao().selectByUuid(dbSession, of(user.getHomepageParameter()).orElse(EMPTY)).orElse(null)); if (shouldCleanProjectHomepage(projectOptional)) { cleanUserHomepageInDb(dbSession, user); return empty(); } CurrentWsResponse.Homepage.Builder homepage = CurrentWsResponse.Homepage.newBuilder() .setType(CurrentWsResponse.HomepageType.valueOf(user.getHomepageType())) .setComponent(projectOptional.get().getKey()); ofNullable(projectOptional.get().getBranch()).ifPresent(homepage::setBranch); return of(homepage.build()); }
private boolean isMember(DbSession dbSession, IssueDto issue) { Optional<ComponentDto> project = dbClient.componentDao().selectByUuid(dbSession, issue.getProjectUuid()); checkState(project.isPresent(), "Cannot find the project with uuid %s from issue.id %s", issue.getProjectUuid(), issue.getId()); Optional<OrganizationDto> organization = dbClient.organizationDao().selectByUuid(dbSession, project.get().getOrganizationUuid()); checkState(organization.isPresent(), "Cannot find the organization with uuid %s from issue.id %s", project.get().getOrganizationUuid(), issue.getId()); return userSession.hasMembership(organization.get()); }
private Optional<CurrentWsResponse.Homepage> applicationAndPortfolioHomepage(DbSession dbSession, UserDto user) { Optional<ComponentDto> componentOptional = ofNullable(dbClient.componentDao().selectByUuid(dbSession, of(user.getHomepageParameter()).orElse(EMPTY)).orElse(null)); if (shouldCleanApplicationOrPortfolioHomepage(componentOptional)) { cleanUserHomepageInDb(dbSession, user); return empty(); } return of(CurrentWsResponse.Homepage.newBuilder() .setType(CurrentWsResponse.HomepageType.valueOf(user.getHomepageType())) .setComponent(componentOptional.get().getKey()) .build()); }
public void persist(DbSession dbSession) { Branch branch = analysisMetadataHolder.getBranch(); String branchUuid = treeRootHolder.getRoot().getUuid(); ComponentDto branchComponentDto = dbClient.componentDao().selectByUuid(dbSession, branchUuid) .orElseThrow(() -> new IllegalStateException("Component has been deleted by end-user during analysis")); // insert or update in table project_branches dbClient.branchDao().upsert(dbSession, toBranchDto(branchComponentDto, branch)); }
private void loginWithBrowsePermission(UserDto user, String permission, IssueDto issueDto) { userSession.logIn(user).addProjectPermission(permission, dbClient.componentDao().selectByUuid(dbTester.getSession(), issueDto.getProjectUuid()).get(), dbClient.componentDao().selectByUuid(dbTester.getSession(), issueDto.getComponentUuid()).get()); }
private void logIn(IssueDto issueDto) { userSession.logIn("john").registerComponents( dbClient.componentDao().selectByUuid(db.getSession(), issueDto.getProjectUuid()).get(), dbClient.componentDao().selectByUuid(db.getSession(), issueDto.getComponentUuid()).get()); }
@Test public void selectByUuid_on_disabled_component() { ComponentDto enabledProject = db.components().insertPublicProject(p -> p.setEnabled(true)); ComponentDto disabledProject = db.components().insertPublicProject(p -> p.setEnabled(false)); ComponentDto result = underTest.selectByUuid(dbSession, disabledProject.uuid()).get(); assertThat(result).isNotNull(); assertThat(result.isEnabled()).isFalse(); }
private void setUserWithBrowseAndAdministerIssuePermission(IssueDto issue) { ComponentDto project = db.getDbClient().componentDao().selectByUuid(db.getSession(), issue.getProjectUuid()).get(); ComponentDto component = db.getDbClient().componentDao().selectByUuid(db.getSession(), issue.getComponentUuid()).get(); userSession.logIn(USER_LOGIN) .addProjectPermission(ISSUE_ADMIN, project, component) .addProjectPermission(USER, project, component); }
private void setUserWithBrowseAndAdministerIssuePermission(IssueDto issueDto) { ComponentDto project = db.getDbClient().componentDao().selectByUuid(db.getSession(), issueDto.getProjectUuid()).get(); ComponentDto component = db.getDbClient().componentDao().selectByUuid(db.getSession(), issueDto.getComponentUuid()).get(); userSession.logIn(USER_LOGIN) .addProjectPermission(ISSUE_ADMIN, project, component) .addProjectPermission(USER, project, component); }
private void setUserWithBrowseAndAdministerIssuePermission(IssueDto issueDto) { ComponentDto project = dbClient.componentDao().selectByUuid(dbTester.getSession(), issueDto.getProjectUuid()).get(); userSession.logIn("john") .addProjectPermission(ISSUE_ADMIN, project) .addProjectPermission(USER, project); }
private void setUserWithBrowseAndAdministerIssuePermission(IssueDto issueDto) { ComponentDto project = dbClient.componentDao().selectByUuid(dbTester.getSession(), issueDto.getProjectUuid()).get(); userSession.logIn("john") .addProjectPermission(ISSUE_ADMIN, project) .addProjectPermission(USER, project); }
@Test public void persists_existing_components_with_visibility_of_root_in_db_out_of_functional_transaction() { ComponentDto project = prepareProject(p -> p.setPrivate(true)); ComponentDto module = newModuleDto(project).setPrivate(false); db.components().insertComponent(module); ComponentDto dir = db.components().insertComponent(newDirectory(module, "DEFG", "Directory").setDbKey("DIR").setPrivate(true)); treeRootHolder.setRoot(createSampleProjectComponentTree(project)); underTest.execute(new TestComputationStepContext()); Stream.of(project.uuid(), module.uuid(), dir.uuid()) .forEach(uuid -> assertThat(dbClient.componentDao().selectByUuid(db.getSession(), uuid).get().isPrivate()) .describedAs("for uuid " + uuid) .isEqualTo(true)); }
@Test public void do_not_update_created_at_on_existing_component() { Date oldDate = DateUtils.parseDate("2015-01-01"); ComponentDto project = prepareProject(p -> p.setCreatedAt(oldDate)); db.getSession().commit(); treeRootHolder.setRoot( builder(PROJECT, 1).setUuid(project.uuid()).setKey(project.getDbKey()) .build()); underTest.execute(new TestComputationStepContext()); Optional<ComponentDto> projectReloaded = dbClient.componentDao().selectByUuid(db.getSession(), project.uuid()); assertThat(projectReloaded.get().getCreatedAt()).isNotEqualTo(now); }