private Map<String, UserDto> loadUserDtoByUuid(NewIssuesStatistics statistics) { List<Map.Entry<String, NewIssuesStatistics.Stats>> entriesWithIssuesOnLeak = statistics.getAssigneesStatistics().entrySet() .stream().filter(e -> e.getValue().hasIssuesOnLeak()).collect(toList()); List<String> assigneeUuids = entriesWithIssuesOnLeak.stream().map(Map.Entry::getKey).collect(toList()); try (DbSession dbSession = dbClient.openSession(false)) { return dbClient.userDao().selectByUuids(dbSession, assigneeUuids).stream().collect(toMap(UserDto::getUuid, u -> u)); } }
private void sendMyNewIssuesNotification(NewIssuesStatistics statistics, Component project, long analysisDate, NotificationStatistics notificationStatistics) { Map<String, UserDto> userDtoByUuid = loadUserDtoByUuid(statistics); statistics.getAssigneesStatistics().entrySet() .stream() .filter(e -> e.getValue().hasIssuesOnLeak()) .forEach(e -> { String assigneeUuid = e.getKey(); NewIssuesStatistics.Stats assigneeStatistics = e.getValue(); MyNewIssuesNotification myNewIssuesNotification = newIssuesNotificationFactory .newMyNewIssuesNotification() .setAssignee(userDtoByUuid.get(assigneeUuid)); myNewIssuesNotification .setProject(project.getKey(), project.getName(), getBranchName(), getPullRequest()) .setProjectVersion(project.getProjectAttributes().getVersion()) .setAnalysisDate(new Date(analysisDate)) .setStatistics(project.getName(), assigneeStatistics) .setDebt(Duration.create(assigneeStatistics.effort().getOnLeak())); notificationStatistics.myNewIssuesDeliveries += service.deliver(myNewIssuesNotification); notificationStatistics.myNewIssues++; }); }
private Map<String, UserDto> loadUserDtoByUuid(NewIssuesStatistics statistics) { List<Map.Entry<String, NewIssuesStatistics.Stats>> entriesWithIssuesOnLeak = statistics.getAssigneesStatistics().entrySet() .stream().filter(e -> e.getValue().hasIssuesOnLeak()).collect(toList()); List<String> assigneeUuids = entriesWithIssuesOnLeak.stream().map(Map.Entry::getKey).collect(toList()); try (DbSession dbSession = dbClient.openSession(false)) { return dbClient.userDao().selectByUuids(dbSession, assigneeUuids).stream().collect(toMap(UserDto::getUuid, u -> u)); } }
private void sendNewIssuesNotificationToAssignees(NewIssuesStatistics statistics, Component project, long analysisDate) { Map<String, UserDto> userDtoByUuid = loadUserDtoByUuid(statistics); statistics.getAssigneesStatistics().entrySet() .stream() .filter(e -> e.getValue().hasIssuesOnLeak()) .forEach(e -> { String assigneeUuid = e.getKey(); NewIssuesStatistics.Stats assigneeStatistics = e.getValue(); MyNewIssuesNotification myNewIssuesNotification = newIssuesNotificationFactory .newMyNewIssuesNotification() .setAssignee(userDtoByUuid.get(assigneeUuid)); myNewIssuesNotification .setProject(project.getPublicKey(), project.getName(), getBranchName(), getPullRequest()) .setProjectVersion(project.getReportAttributes().getVersion()) .setAnalysisDate(new Date(analysisDate)) .setStatistics(project.getName(), assigneeStatistics) .setDebt(Duration.create(assigneeStatistics.effort().getOnLeak())); service.deliver(myNewIssuesNotification); }); }
public boolean hasIssuesOnLeak() { return globalStatistics.hasIssuesOnLeak(); }
public boolean hasIssuesOnLeak() { return globalStatistics.hasIssuesOnLeak(); }