From 082d20599c0f4ec786ed794eeb8479c77c849524 Mon Sep 17 00:00:00 2001 From: Siarhei Hrabko <45555481+grabsefx@users.noreply.github.com> Date: Thu, 17 Oct 2024 11:35:31 +0300 Subject: [PATCH] EPMRPP-96262 fixed filter_target query (#1043) * EPMRPP-96262 fixed filter_target query --- .../reportportal/commons/querygen/FilterTarget.java | 12 ++++++++---- .../ta/reportportal/dao/util/OrganizationMapper.java | 10 +++++----- .../ta/reportportal/dao/util/ResultFetchers.java | 6 +++--- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/epam/ta/reportportal/commons/querygen/FilterTarget.java b/src/main/java/com/epam/ta/reportportal/commons/querygen/FilterTarget.java index 5a48af6ee..6736a9351 100644 --- a/src/main/java/com/epam/ta/reportportal/commons/querygen/FilterTarget.java +++ b/src/main/java/com/epam/ta/reportportal/commons/querygen/FilterTarget.java @@ -443,11 +443,11 @@ protected void addFrom(SelectQuery query) { @Override protected void joinTables(QuerySupplier query) { - query.addJoin(PROJECT_USER, JoinType.LEFT_OUTER_JOIN, USERS.ID.eq(PROJECT_USER.USER_ID)); + query.addJoin(ORGANIZATION_USER, JoinType.LEFT_OUTER_JOIN, ORGANIZATION_USER.USER_ID.eq(USERS.ID)); + query.addJoin(ORGANIZATION, JoinType.LEFT_OUTER_JOIN, ORGANIZATION.ID.eq(ORGANIZATION_USER.ORGANIZATION_ID)); + + query.addJoin(PROJECT_USER, JoinType.LEFT_OUTER_JOIN, ORGANIZATION_USER.USER_ID.eq(PROJECT_USER.USER_ID)); query.addJoin(PROJECT, JoinType.LEFT_OUTER_JOIN, PROJECT_USER.PROJECT_ID.eq(PROJECT.ID)); - query.addJoin(ORGANIZATION, JoinType.LEFT_OUTER_JOIN, ORGANIZATION.ID.eq(PROJECT.ORGANIZATION_ID)); - query.addJoin(ORGANIZATION_USER, JoinType.LEFT_OUTER_JOIN, - ORGANIZATION_USER.ORGANIZATION_ID.eq(PROJECT.ORGANIZATION_ID).and(USERS.ID.eq(ORGANIZATION_USER.USER_ID))); } @Override @@ -1624,6 +1624,8 @@ public QuerySupplier getQuery() { USERS.CREATED_AT, USERS.UPDATED_AT, USERS.FULL_NAME, + USERS.EXTERNAL_ID, + USERS.UUID, ORGANIZATION_USER.ORGANIZATION_ROLE); QuerySupplier querySupplier = new QuerySupplier(query); joinTables(querySupplier); @@ -1641,6 +1643,8 @@ protected Collection selectFields() { USERS.CREATED_AT, USERS.UPDATED_AT, USERS.FULL_NAME, + USERS.EXTERNAL_ID, + USERS.UUID, ORGANIZATION_USER.ORGANIZATION_ROLE ); } diff --git a/src/main/java/com/epam/ta/reportportal/dao/util/OrganizationMapper.java b/src/main/java/com/epam/ta/reportportal/dao/util/OrganizationMapper.java index 0b5b118ab..aded3d231 100644 --- a/src/main/java/com/epam/ta/reportportal/dao/util/OrganizationMapper.java +++ b/src/main/java/com/epam/ta/reportportal/dao/util/OrganizationMapper.java @@ -100,7 +100,7 @@ private OrganizationMapper() { organizationUserProfile.setAuthProvider(UserType.valueOf(row.get(USERS.TYPE))); organizationUserProfile.setEmail(row.get(USERS.EMAIL)); - Optional.ofNullable(row.field(USERS.METADATA)) + Optional.ofNullable(row.get(USERS.METADATA)) .ifPresent(meta -> { // TODO: refactor after switching to jooq 3.19 with jsonb processing support JSONObject json = new JSONObject(row.get(USERS.METADATA).data()); @@ -109,13 +109,13 @@ private OrganizationMapper() { }); - Optional.ofNullable(row.field(ORGANIZATION.EXTERNAL_ID)) + Optional.ofNullable(row.get(USERS.EXTERNAL_ID)) .ifPresent( - extId -> organizationUserProfile.setExternalId(row.get(ORGANIZATION.EXTERNAL_ID))); + extId -> organizationUserProfile.setExternalId(row.get(USERS.EXTERNAL_ID))); - Optional.ofNullable(row.field(ORGANIZATION.EXTERNAL_ID)) + Optional.ofNullable(row.get(USERS.UUID)) .ifPresent( - extId -> organizationUserProfile.setUuid(row.get(ORGANIZATION.EXTERNAL_ID, UUID.class))); + extId -> organizationUserProfile.setUuid(row.get(USERS.UUID, UUID.class))); organizationUserProfile.setProjectCount(row.get(PROJECTS_QUANTITY, Integer.class)); diff --git a/src/main/java/com/epam/ta/reportportal/dao/util/ResultFetchers.java b/src/main/java/com/epam/ta/reportportal/dao/util/ResultFetchers.java index 498e6da66..781235b52 100644 --- a/src/main/java/com/epam/ta/reportportal/dao/util/ResultFetchers.java +++ b/src/main/java/com/epam/ta/reportportal/dao/util/ResultFetchers.java @@ -298,7 +298,7 @@ private ResultFetchers() { } else { user = users.get(id); } - if (ofNullable(row.field(PROJECT_USER.PROJECT_ROLE)).isPresent()) { + if (ofNullable(row.get(PROJECT_USER.PROJECT_ROLE)).isPresent()) { boolean isProjectAdded = user.getProjects().stream() .map(ProjectUser::getProject) .map(Project::getKey) @@ -308,7 +308,7 @@ private ResultFetchers() { } } - if (ofNullable(row.field(ORGANIZATION_USER.ORGANIZATION_ROLE)).isPresent()) { + if (ofNullable(row.get(ORGANIZATION_USER.ORGANIZATION_ROLE)).isPresent()) { boolean isOrgAdded = user.getOrganizationUsers().stream() .map(OrganizationUser::getOrganization) .map(Organization::getId) @@ -432,7 +432,7 @@ private ResultFetchers() { rows.forEach( row -> - ofNullable(row.field(ORGANIZATION_USER.ORGANIZATION_ID)) + ofNullable(row.get(ORGANIZATION_USER.ORGANIZATION_ID)) .ifPresent(orgId -> { String orgName = row.get(ORGANIZATION.NAME, String.class);