private static UserQuery.Builder buildUserQuery(Request request, OrganizationDto organization) { UserQuery.Builder userQuery = UserQuery.builder(); String textQuery = request.param(Param.TEXT_QUERY); checkArgument(textQuery == null || textQuery.length() >= 2, "Query length must be greater than or equal to 2"); userQuery.setTextQuery(textQuery); SelectionMode selectionMode = SelectionMode.fromParam(request.mandatoryParam(Param.SELECTED)); if (SelectionMode.DESELECTED.equals(selectionMode)) { userQuery.setExcludedOrganizationUuid(organization.getUuid()); } else { userQuery.setOrganizationUuid(organization.getUuid()); } return userQuery; }
@Override public void handle(Request request, Response response) throws Exception { SearchUsersRequest wsRequest = buildRequest(request); try (DbSession dbSession = dbClient.openSession(false)) { OrganizationDto organization = wsSupport.getOrganizationByKey(dbSession, wsRequest.getOrganization()); QProfileDto profile = wsSupport.getProfile(dbSession, organization, wsRequest.getQualityProfile(), wsRequest.getLanguage()); wsSupport.checkCanEdit(dbSession, organization, profile); SearchGroupsQuery query = builder() .setOrganization(organization) .setProfile(profile) .setQuery(wsRequest.getQuery()) .setMembership(MEMBERSHIP.get(fromParam(wsRequest.getSelected()))) .build(); int total = dbClient.qProfileEditGroupsDao().countByQuery(dbSession, query); List<GroupMembershipDto> groupMemberships = dbClient.qProfileEditGroupsDao().selectByQuery(dbSession, query, forPage(wsRequest.getPage()).andSize(wsRequest.getPageSize())); Map<Integer, GroupDto> groupsById = dbClient.groupDao().selectByIds(dbSession, groupMemberships.stream().map(GroupMembershipDto::getGroupId).collect(MoreCollectors.toList())) .stream() .collect(MoreCollectors.uniqueIndex(GroupDto::getId)); writeProtobuf( Qualityprofiles.SearchGroupsResponse.newBuilder() .addAllGroups(groupMemberships.stream() .map(groupsMembership -> toGroup(groupsById.get(groupsMembership.getGroupId()), groupsMembership.isSelected())) .collect(toList())) .setPaging(buildPaging(wsRequest, total)).build(), request, response); } }
@Override public void handle(Request request, Response response) throws Exception { SearchUsersRequest wsRequest = buildRequest(request); try (DbSession dbSession = dbClient.openSession(false)) { OrganizationDto organization = wsSupport.getOrganizationByKey(dbSession, wsRequest.getOrganization()); QProfileDto profile = wsSupport.getProfile(dbSession, organization, wsRequest.getQualityProfile(), wsRequest.getLanguage()); wsSupport.checkCanEdit(dbSession, organization, profile); SearchUsersQuery query = builder() .setOrganization(organization) .setProfile(profile) .setQuery(wsRequest.getQuery()) .setMembership(MEMBERSHIP.get(fromParam(wsRequest.getSelected()))) .build(); int total = dbClient.qProfileEditUsersDao().countByQuery(dbSession, query); List<UserMembershipDto> usersMembership = dbClient.qProfileEditUsersDao().selectByQuery(dbSession, query, forPage(wsRequest.getPage()).andSize(wsRequest.getPageSize())); Map<Integer, UserDto> usersById = dbClient.userDao().selectByIds(dbSession, usersMembership.stream().map(UserMembershipDto::getUserId).collect(toList())) .stream().collect(uniqueIndex(UserDto::getId)); writeProtobuf( SearchUsersResponse.newBuilder() .addAllUsers(usersMembership.stream() .map(userMembershipDto -> toUser(usersById.get(userMembershipDto.getUserId()), userMembershipDto.isSelected())) .collect(toList())) .setPaging(buildPaging(wsRequest, total)).build(), request, response); } }
@Override public void handle(Request request, Response response) throws Exception { SearchUsersRequest wsRequest = buildRequest(request); try (DbSession dbSession = dbClient.openSession(false)) { OrganizationDto organization = wsSupport.getOrganizationByKey(dbSession, wsRequest.getOrganization()); QProfileDto profile = wsSupport.getProfile(dbSession, organization, wsRequest.getQualityProfile(), wsRequest.getLanguage()); wsSupport.checkCanEdit(dbSession, organization, profile); SearchGroupsQuery query = builder() .setOrganization(organization) .setProfile(profile) .setQuery(wsRequest.getQuery()) .setMembership(MEMBERSHIP.get(fromParam(wsRequest.getSelected()))) .build(); int total = dbClient.qProfileEditGroupsDao().countByQuery(dbSession, query); List<GroupMembershipDto> groupMemberships = dbClient.qProfileEditGroupsDao().selectByQuery(dbSession, query, forPage(wsRequest.getPage()).andSize(wsRequest.getPageSize())); Map<Integer, GroupDto> groupsById = dbClient.groupDao().selectByIds(dbSession, groupMemberships.stream().map(GroupMembershipDto::getGroupId).collect(MoreCollectors.toList())) .stream() .collect(MoreCollectors.uniqueIndex(GroupDto::getId)); writeProtobuf( Qualityprofiles.SearchGroupsResponse.newBuilder() .addAllGroups(groupMemberships.stream() .map(groupsMembership -> toGroup(groupsById.get(groupsMembership.getGroupId()), groupsMembership.isSelected())) .collect(toList())) .setPaging(buildPaging(wsRequest, total)).build(), request, response); } }
@Override public void handle(Request request, Response response) throws Exception { SearchUsersRequest wsRequest = buildRequest(request); try (DbSession dbSession = dbClient.openSession(false)) { OrganizationDto organization = wsSupport.getOrganizationByKey(dbSession, wsRequest.getOrganization()); QProfileDto profile = wsSupport.getProfile(dbSession, organization, wsRequest.getQualityProfile(), wsRequest.getLanguage()); wsSupport.checkCanEdit(dbSession, organization, profile); SearchUsersQuery query = builder() .setOrganization(organization) .setProfile(profile) .setQuery(wsRequest.getQuery()) .setMembership(MEMBERSHIP.get(fromParam(wsRequest.getSelected()))) .build(); int total = dbClient.qProfileEditUsersDao().countByQuery(dbSession, query); List<UserMembershipDto> usersMembership = dbClient.qProfileEditUsersDao().selectByQuery(dbSession, query, forPage(wsRequest.getPage()).andSize(wsRequest.getPageSize())); Map<Integer, UserDto> usersById = dbClient.userDao().selectByIds(dbSession, usersMembership.stream().map(UserMembershipDto::getUserId).collect(toList())) .stream().collect(uniqueIndex(UserDto::getId)); writeProtobuf( SearchUsersResponse.newBuilder() .addAllUsers(usersMembership.stream() .map(userMembershipDto -> toUser(usersById.get(userMembershipDto.getUserId()), userMembershipDto.isSelected())) .collect(toList())) .setPaging(buildPaging(wsRequest, total)).build(), request, response); } }
private List<ProjectQprofileAssociationDto> loadAllProjects(String profileKey, DbSession session, String selected, String query) { QProfileDto profile = dbClient.qualityProfileDao().selectByUuid(session, profileKey); OrganizationDto organization = wsSupport.getOrganization(session, profile); List<ProjectQprofileAssociationDto> projects; SelectionMode selectionMode = SelectionMode.fromParam(selected); if (SelectionMode.SELECTED == selectionMode) { projects = dbClient.qualityProfileDao().selectSelectedProjects(session, organization, profile, query); } else if (SelectionMode.DESELECTED == selectionMode) { projects = dbClient.qualityProfileDao().selectDeselectedProjects(session, organization, profile, query); } else { projects = dbClient.qualityProfileDao().selectProjectAssociations(session, organization, profile, query); } return projects; }
private static String getMembership(String selected) { SelectionMode selectionMode = SelectionMode.fromParam(selected); String membership = GroupMembershipQuery.ANY; if (SelectionMode.SELECTED == selectionMode) { membership = GroupMembershipQuery.IN; } else if (SelectionMode.DESELECTED == selectionMode) { membership = GroupMembershipQuery.OUT; } return membership; }
private static UserQuery.Builder buildUserQuery(Request request, OrganizationDto organization) { UserQuery.Builder userQuery = UserQuery.builder(); String textQuery = request.param(Param.TEXT_QUERY); checkArgument(textQuery == null || textQuery.length() >= 2, "Query length must be greater than or equal to 2"); userQuery.setTextQuery(textQuery); SelectionMode selectionMode = SelectionMode.fromParam(request.mandatoryParam(Param.SELECTED)); if (SelectionMode.DESELECTED.equals(selectionMode)) { userQuery.setExcludedOrganizationUuid(organization.getUuid()); } else { userQuery.setOrganizationUuid(organization.getUuid()); } return userQuery; }
private static String getMembership(String selected) { SelectionMode selectionMode = SelectionMode.fromParam(selected); String membership = UserMembershipQuery.ANY; if (SelectionMode.SELECTED == selectionMode) { membership = UserMembershipQuery.IN; } else if (SelectionMode.DESELECTED == selectionMode) { membership = UserMembershipQuery.OUT; } return membership; } }
private List<ProjectQprofileAssociationDto> loadAllProjects(String profileKey, DbSession session, String selected, String query) { QProfileDto profile = dbClient.qualityProfileDao().selectByUuid(session, profileKey); OrganizationDto organization = wsSupport.getOrganization(session, profile); List<ProjectQprofileAssociationDto> projects; SelectionMode selectionMode = SelectionMode.fromParam(selected); if (SelectionMode.SELECTED == selectionMode) { projects = dbClient.qualityProfileDao().selectSelectedProjects(session, organization, profile, query); } else if (SelectionMode.DESELECTED == selectionMode) { projects = dbClient.qualityProfileDao().selectDeselectedProjects(session, organization, profile, query); } else { projects = dbClient.qualityProfileDao().selectProjectAssociations(session, organization, profile, query); } return projects; }
private static String getMembership(String selected) { SelectionMode selectionMode = SelectionMode.fromParam(selected); String membership = UserMembershipQuery.ANY; if (SelectionMode.SELECTED == selectionMode) { membership = UserMembershipQuery.IN; } else if (SelectionMode.DESELECTED == selectionMode) { membership = UserMembershipQuery.OUT; } return membership; } }
private static String getMembership(String selected) { SelectionMode selectionMode = SelectionMode.fromParam(selected); String membership = GroupMembershipQuery.ANY; if (SelectionMode.SELECTED == selectionMode) { membership = GroupMembershipQuery.IN; } else if (SelectionMode.DESELECTED == selectionMode) { membership = GroupMembershipQuery.OUT; } return membership; }