From 1cd0f3fe317252029ae18f1ed7d3841d338595a1 Mon Sep 17 00:00:00 2001 From: Anton Romanov Date: Wed, 12 May 2021 11:07:14 +0400 Subject: [PATCH] #28-Change database request --- .../extractor/model/CommitTimeStatistic.java | 17 +++++++++-------- .../extractor/repository/CommitRepository.java | 4 ++-- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/java/ru/ulstu/extractor/model/CommitTimeStatistic.java b/src/main/java/ru/ulstu/extractor/model/CommitTimeStatistic.java index 7828896..a9ca75c 100644 --- a/src/main/java/ru/ulstu/extractor/model/CommitTimeStatistic.java +++ b/src/main/java/ru/ulstu/extractor/model/CommitTimeStatistic.java @@ -1,18 +1,19 @@ package ru.ulstu.extractor.model; -import java.util.Date; - public class CommitTimeStatistic { - private Date date; - private Long countCommit; + private final static String DATE_TEMPLATE = "%s.%s"; + private final int month; + private final int year; + private final Long countCommit; - public CommitTimeStatistic(Date date, Long countCommit) { - this.date = date; + public CommitTimeStatistic(int month, int year, Long countCommit) { + this.month = month; + this.year = year; this.countCommit = countCommit; } - public Date getDate() { - return date; + public String getDate() { + return String.format(DATE_TEMPLATE, month, year); } public Long getCountCommit() { diff --git a/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java b/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java index bb70895..5853524 100644 --- a/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java +++ b/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java @@ -29,13 +29,13 @@ public interface CommitRepository extends JpaRepository { @Query("SELECT new ru.ulstu.extractor.model.CommitUrlStatistic(c.branch.repository.url, COUNT(DISTINCT c.hash)) FROM Commit c GROUP by c.branch.repository.url") List getCommitUrlStatistic(); - @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)") + @Query("SELECT new ru.ulstu.extractor.model.CommitTimeStatistic(extract(month FROM c.date) as month, extract(year FROM c.date) as year, COUNT(DISTINCT c.hash)) FROM Commit c GROUP by extract(month from c.date), extract(year from c.date) ORDER by extract(year from c.date), extract(month from c.date)") List getCommitTimeStatistic(); @Query("SELECT new ru.ulstu.extractor.model.CommitEntityStatistic(f.containsEntity, COUNT(DISTINCT c.hash)) FROM Commit c JOIN c.fileChanges f 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 JOIN c.fileChanges f WHERE f.containsEntity = true GROUP by cast(c.date as date) ORDER by cast(c.date as date)") + @Query("SELECT new ru.ulstu.extractor.model.CommitTimeStatistic(EXTRACT(MONTH FROM c.date), EXTRACT(YEAR FROM c.date), COUNT(DISTINCT c.hash)) FROM Commit c JOIN c.fileChanges f WHERE f.containsEntity = true GROUP by extract(month from c.date), extract(year from c.date) ORDER by extract(year from c.date), extract(month from c.date)") List getCommitTimeEntityStatistic(); void deleteByBranchIsNull();