From 6c89e67ac7e2b41b6b7cbd61b55c2e2974fae1eb Mon Sep 17 00:00:00 2001 From: Anton Romanov Date: Mon, 5 Apr 2021 15:06:27 +0400 Subject: [PATCH] #18 - Create column table --- .../controller/StatisticController.java | 4 + .../extractor/model/CommitUrlStatistic.java | 20 +++ .../repository/CommitRepository.java | 5 + src/main/resources/templates/statistic.html | 114 ++++++++++++++++-- 4 files changed, 131 insertions(+), 12 deletions(-) create mode 100644 src/main/java/ru/ulstu/extractor/model/CommitUrlStatistic.java diff --git a/src/main/java/ru/ulstu/extractor/controller/StatisticController.java b/src/main/java/ru/ulstu/extractor/controller/StatisticController.java index 9a7b675..a6e60ce 100644 --- a/src/main/java/ru/ulstu/extractor/controller/StatisticController.java +++ b/src/main/java/ru/ulstu/extractor/controller/StatisticController.java @@ -34,6 +34,10 @@ public class StatisticController { .map(stat -> new Object[]{stat.getAuthor(), stat.getCountCommit()}) .collect(Collectors.toList()); model.addAttribute("commitAuthorData", authorCommits); + List urlCommits = commitRepository.getCommitUrlStatistic().stream() + .map(stat -> new Object[]{stat.getUrl(), stat.getCountCommit()}) + .collect(Collectors.toList()); + model.addAttribute("commitUrlData", urlCommits); return "statistic"; } } diff --git a/src/main/java/ru/ulstu/extractor/model/CommitUrlStatistic.java b/src/main/java/ru/ulstu/extractor/model/CommitUrlStatistic.java new file mode 100644 index 0000000..3eb4b37 --- /dev/null +++ b/src/main/java/ru/ulstu/extractor/model/CommitUrlStatistic.java @@ -0,0 +1,20 @@ +package ru.ulstu.extractor.model; + +public class CommitUrlStatistic { + private String url; + private Long countCommit; + + public CommitUrlStatistic(String url, Long countCommit) { + this.url = url; + this.countCommit = countCommit; + } + + public String getUrl() { + return url; + } + + public Long getCountCommit() { + return countCommit; + } + +} diff --git a/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java b/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java index b8f5659..c3870a6 100644 --- a/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java +++ b/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java @@ -7,6 +7,7 @@ import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import ru.ulstu.extractor.model.Commit; import ru.ulstu.extractor.model.CommitAuthorStatistic; +import ru.ulstu.extractor.model.CommitUrlStatistic; import ru.ulstu.extractor.model.Repository; import java.util.List; @@ -14,6 +15,10 @@ import java.util.List; public interface CommitRepository extends JpaRepository { @Query("SELECT c FROM Commit c, Repository r, Branch b WHERE c.branch = b AND r = b.repository AND r = :repository AND b.name = :branchName") Page findByRepositoryAndBranch(Pageable pageable, @Param("repository") Repository repository, @Param("branchName") String branchName); + @Query("SELECT new ru.ulstu.extractor.model.CommitAuthorStatistic(c.author.name, COUNT(c)) FROM Commit c GROUP by c.author.name") List getCommitAuthorStatistic(); + + @Query("SELECT new ru.ulstu.extractor.model.CommitUrlStatistic(c.branch.repository.url, COUNT(c)) FROM Commit c GROUP by c.branch.repository.url") + List getCommitUrlStatistic(); } diff --git a/src/main/resources/templates/statistic.html b/src/main/resources/templates/statistic.html index 7d69ac3..ce7997e 100644 --- a/src/main/resources/templates/statistic.html +++ b/src/main/resources/templates/statistic.html @@ -34,32 +34,122 @@ chart.draw(data, options); } - + + +
+