diff --git a/src/main/java/ru/ulstu/extractor/controller/StatisticController.java b/src/main/java/ru/ulstu/extractor/controller/StatisticController.java index dfa9f24..5bd3c6f 100644 --- a/src/main/java/ru/ulstu/extractor/controller/StatisticController.java +++ b/src/main/java/ru/ulstu/extractor/controller/StatisticController.java @@ -27,28 +27,46 @@ public class StatisticController { @GetMapping(STATISTIC) public String indexBranch(Model model) { + model.addAttribute("commitAuthorData", authorCommits()); + model.addAttribute("commitUrlData", urlCommits()); + model.addAttribute("commitTimeData", timeCommits()); + String[] date = new String[timeCommits().size()]; + for (int i = 0; i < timeCommits().size(); i++) { + date[i] = timeCommits().get(i)[0].toString(); + } + model.addAttribute("dates", date); + String[] url = new String[urlCommits().size()]; + for (int i = 0; i < urlCommits().size(); i++) { + url[i] = urlCommits().get(i)[0].toString().substring(urlCommits().get(i)[0].toString().lastIndexOf("/") + 1); + } + model.addAttribute("urls", url); + model.addAttribute("commitEntityData", entityCommits()); + model.addAttribute("commitTimeEntityData", allTimeEntityCommits()); + return STATISTIC; + } + + public List authorCommits() { List authorCommits = commitRepository.getCommitAuthorStatistic().stream() .map(stat -> new Object[]{stat.getAuthor(), stat.getCountCommit()}) .collect(Collectors.toList()); - model.addAttribute("commitAuthorData", authorCommits); + return authorCommits; + } + + public List urlCommits() { List urlCommits = commitRepository.getCommitUrlStatistic().stream() .map(stat -> new Object[]{stat.getUrl(), stat.getCountCommit()}) .collect(Collectors.toList()); - model.addAttribute("commitUrlData", urlCommits); + return urlCommits; + } + + public List timeCommits() { List timeCommits = commitRepository.getCommitTimeStatistic().stream() .map(stat -> new Object[]{stat.getDate(), stat.getCountCommit()}) .collect(Collectors.toList()); - model.addAttribute("commitTimeData", timeCommits); - String[] date = new String[timeCommits.size()]; - for (int i = 0; i < timeCommits.size(); i++) { - date[i] = timeCommits.get(i)[0].toString(); - } - model.addAttribute("dates", date); - String[] url = new String[urlCommits.size()]; - for (int i = 0; i < urlCommits.size(); i++) { - url[i] = urlCommits.get(i)[0].toString().substring(urlCommits.get(i)[0].toString().lastIndexOf("/") + 1); - } - model.addAttribute("urls", url); + return timeCommits; + } + + public List entityCommits() { List entityCommits = commitRepository.getCommitEntityStatistic().stream() .map(stat -> new Object[]{stat.getEntity(), stat.getCountCommit()}) .collect(Collectors.toList()); @@ -59,17 +77,24 @@ public class StatisticController { ? "Нет данных" : "Нет сущностей"); } - model.addAttribute("commitEntityData", entityCommits); + return entityCommits; + } + + public List timeEntityCommits() { List timeEntityCommits = commitRepository.getCommitTimeEntityStatistic().stream() .map(stat -> new Object[]{stat.getDate(), stat.getCountCommit()}) .collect(Collectors.toList()); + return timeEntityCommits; + } + + public List allTimeEntityCommits() { List allTimeEntityCommits = commitRepository.getCommitTimeStatistic().stream() .map(stat -> new Object[]{stat.getDate(), stat.getCountCommit()}) .collect(Collectors.toList()); int j = 0; for (int i = 0; i < allTimeEntityCommits.size(); i++) { - if ((j < timeEntityCommits.size()) && (allTimeEntityCommits.get(i)[0].equals(timeEntityCommits.get(j)[0]))) { - allTimeEntityCommits.get(i)[1] = timeEntityCommits.get(j)[1]; + if ((j < timeEntityCommits().size()) && (allTimeEntityCommits.get(i)[0].equals(timeEntityCommits().get(j)[0]))) { + allTimeEntityCommits.get(i)[1] = timeEntityCommits().get(j)[1]; j++; } else { if (i > 0) { @@ -77,7 +102,6 @@ public class StatisticController { } } } - model.addAttribute("commitTimeEntityData", allTimeEntityCommits); - return STATISTIC; + return allTimeEntityCommits; } } diff --git a/src/main/resources/templates/statistic.html b/src/main/resources/templates/statistic.html index a1f9c9a..7e15db4 100644 --- a/src/main/resources/templates/statistic.html +++ b/src/main/resources/templates/statistic.html @@ -79,44 +79,6 @@ $('#container').highcharts(json); }); -