From e58e2be28119c38d288f3b96180acf5c19221135 Mon Sep 17 00:00:00 2001 From: Anton Romanov Date: Fri, 9 Apr 2021 15:10:40 +0400 Subject: [PATCH] #19 -- Fix case sensitivity filtering --- .../ulstu/extractor/controller/GitFilteringController.java | 5 ++++- .../java/ru/ulstu/extractor/repository/CommitRepository.java | 2 +- src/main/resources/templates/filterCommits.html | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/ru/ulstu/extractor/controller/GitFilteringController.java b/src/main/java/ru/ulstu/extractor/controller/GitFilteringController.java index 0c9705e..a95cca2 100644 --- a/src/main/java/ru/ulstu/extractor/controller/GitFilteringController.java +++ b/src/main/java/ru/ulstu/extractor/controller/GitFilteringController.java @@ -40,7 +40,8 @@ public class GitFilteringController { @RequestParam Optional size, @RequestParam Optional repositoryUrl, @RequestParam Optional branchName, - @RequestParam Optional author) { + @RequestParam Optional author, + @RequestParam Optional filter) { int currentPage = page.orElse(1); int pageSize = size.orElse(DEFAULT_PAGE_SIZE); @@ -50,6 +51,7 @@ public class GitFilteringController { Page commitsPage = filteringService.getCommits(notEmptyRepositoryUrl, notEmptyBranchName, author.orElse(null), + filter.orElse(null), new OffsetablePageRequest(currentPage - 1, pageSize)); int totalPages = commitsPage.getTotalPages(); if (totalPages > 0) { @@ -63,6 +65,7 @@ public class GitFilteringController { filterForm.setBranchName(notEmptyBranchName); filterForm.setRepositoryUrl(notEmptyRepositoryUrl); filterForm.setAuthor(author.orElse(null)); + filterForm.setFilter(filter.orElse(null)); model.addAttribute("filterForm", filterForm); model.addAttribute("authors", filteringService.getRepositoryAuthors( notEmptyRepositoryUrl, diff --git a/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java b/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java index a6e599d..00fde10 100644 --- a/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java +++ b/src/main/java/ru/ulstu/extractor/repository/CommitRepository.java @@ -19,7 +19,7 @@ import ru.ulstu.extractor.model.Repository; import java.util.List; public interface CommitRepository extends JpaRepository { - @Query("SELECT c FROM Commit c, Repository r, Branch b, Author a WHERE c.branch = b AND r = b.repository AND a = c.author AND r = :repository AND b.name = :branchName AND (:author IS NULL OR :author = '' OR a.name = :author) AND c.message LIKE %:filter%") + @Query("SELECT c FROM Commit c, Repository r, Branch b, Author a WHERE c.branch = b AND r = b.repository AND a = c.author AND r = :repository AND b.name = :branchName AND (:author IS NULL OR :author = '' OR a.name = :author) AND (:filter IS NULL OR :filter = '' OR lower(c.message) LIKE lower(concat('%', :filter,'%')))") Page findByRepositoryAndBranch(Pageable pageable, @Param("repository") Repository repository, @Param("branchName") String branchName, @Param("author") String author, @Param("filter") String filter); @Query("SELECT new ru.ulstu.extractor.model.CommitAuthorStatistic(c.author.name, COUNT(DISTINCT c.hash)) FROM Commit c GROUP by c.author.name") diff --git a/src/main/resources/templates/filterCommits.html b/src/main/resources/templates/filterCommits.html index dfaa54d..8c4e365 100644 --- a/src/main/resources/templates/filterCommits.html +++ b/src/main/resources/templates/filterCommits.html @@ -34,6 +34,7 @@