diff --git a/src/main/java/ru/ulstu/extractor/controller/StatisticController.java b/src/main/java/ru/ulstu/extractor/controller/StatisticController.java index 13595ee..eaa2340 100644 --- a/src/main/java/ru/ulstu/extractor/controller/StatisticController.java +++ b/src/main/java/ru/ulstu/extractor/controller/StatisticController.java @@ -47,6 +47,21 @@ public class StatisticController { url[i] = urlCommits.get(i)[0].toString().substring(urlCommits.get(i)[0].toString().lastIndexOf("/") + 1); } model.addAttribute("urls", url); + List entityCommits = commitRepository.getCommitEntityStatistic().stream() + .map(stat -> new Object[]{stat.getEntity(), stat.getCountCommit()}) + .collect(Collectors.toList()); + for (int i = 0; i < entityCommits.size(); i++) { + entityCommits.get(i)[0] = Boolean.TRUE.equals(entityCommits.get(i)[0]) + ? "Есть сущности" + : (entityCommits.get(i)[0] == null + ? "Нет данных" + : "Нет сущностей"); + } + model.addAttribute("commitEntityData", entityCommits); + List timeEntityCommits = commitRepository.getCommitTimeEntityStatistic().stream() + .map(stat -> new Object[]{stat.getDate(), stat.getCountCommit()}) + .collect(Collectors.toList()); + model.addAttribute("commitTimeEntityData", timeEntityCommits); return STATISTIC; } } diff --git a/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java b/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java index 9435847..f7fe48a 100644 --- a/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java +++ b/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java @@ -12,6 +12,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.CommitEntityStatistic; import ru.ulstu.extractor.model.CommitTimeStatistic; import ru.ulstu.extractor.model.CommitUrlStatistic; import ru.ulstu.extractor.model.Repository; @@ -31,4 +32,10 @@ public interface CommitRepository extends JpaRepository { @Query("SELECT new ru.ulstu.extractor.model.CommitTimeStatistic(cast(c.date as date), COUNT(DISTINCT c.hash)) FROM Commit c GROUP by cast(c.date as date) ORDER by cast(c.date as date)") List getCommitTimeStatistic(); + @Query("SELECT new ru.ulstu.extractor.model.CommitEntityStatistic(f.containsEntity, COUNT(DISTINCT c.hash)) FROM FileChange f, Commit c WHERE f MEMBER OF c.fileChanges GROUP by f.containsEntity") + List getCommitEntityStatistic(); + + @Query("SELECT new ru.ulstu.extractor.model.CommitTimeStatistic(cast(c.date as date), COUNT(DISTINCT c.hash)) FROM Commit c, FileChange f WHERE f MEMBER OF c.fileChanges AND f.containsEntity = true GROUP by cast(c.date as date) ORDER by cast(c.date as date)") + List getCommitTimeEntityStatistic(); + } diff --git a/src/main/resources/templates/statistic.html b/src/main/resources/templates/statistic.html index fd2107b..a1f9c9a 100644 --- a/src/main/resources/templates/statistic.html +++ b/src/main/resources/templates/statistic.html @@ -15,10 +15,6 @@ +
+