From fb9e0b502a6e5aa897b17c61dbc6244e0f500fc5 Mon Sep 17 00:00:00 2001 From: Florian Ehrenstorfer Date: Fri, 31 Jan 2025 17:59:02 +0100 Subject: [PATCH] adjust changelog(#223) --- .../tum/in/www1/hephaestus/activity/ActivityService.java | 9 +++++---- .../PullRequestBadPracticeDetector.java | 3 ++- .../activity/model/PullRequestBadPractice.java | 8 ++------ .../gitprovider/pullrequest/PullRequestRepository.java | 1 + .../resources/db/changelog/1738063112622_changelog.xml | 6 +++--- .../app/home/activity/activity-dashboard.component.ts | 2 +- .../pull-request-bad-practice-card.component.html | 2 +- 7 files changed, 15 insertions(+), 16 deletions(-) diff --git a/server/application-server/src/main/java/de/tum/in/www1/hephaestus/activity/ActivityService.java b/server/application-server/src/main/java/de/tum/in/www1/hephaestus/activity/ActivityService.java index 00b3a4e8..16f366ec 100644 --- a/server/application-server/src/main/java/de/tum/in/www1/hephaestus/activity/ActivityService.java +++ b/server/application-server/src/main/java/de/tum/in/www1/hephaestus/activity/ActivityService.java @@ -48,7 +48,7 @@ public ActivityDTO getActivity(String login) { pullRequestBadPracticeRepository.findAssignedByLoginAndOpen(login); Map> pullRequestBadPracticesMap = openPulLRequestBadPractices - .stream() + .stream().filter(pullRequestBadPractice -> !pullRequestBadPractice.isResolved()) .collect( Collectors.groupingBy( PullRequestBadPractice::getPullrequest, @@ -71,7 +71,6 @@ public ActivityDTO getActivity(String login) { return new ActivityDTO(openPullRequestsWithBadPractices); } - @Transactional public List detectBadPractices(String login) { logger.info("Detecting bad practices for user with login: {}", login); @@ -80,12 +79,14 @@ public List detectBadPractices(String login) { Set.of(Issue.State.OPEN) ); + List existingBadPractices = pullRequestBadPracticeRepository.findAssignedByLoginAndOpen(login); + existingBadPractices.forEach(existingBadPractice -> existingBadPractice.setResolved(true)); + pullRequestBadPracticeRepository.saveAll(existingBadPractices); + List detectedBadPractices = new ArrayList<>(); for (PullRequest pullRequest : pullRequests) { detectedBadPractices.addAll(pullRequestBadPracticeDetector.detectAndSyncBadPractices(pullRequest)); } return detectedBadPractices.stream().map(PullRequestBadPracticeDTO::fromPullRequestBadPractice).toList(); } - - } diff --git a/server/application-server/src/main/java/de/tum/in/www1/hephaestus/activity/badpracticedetector/PullRequestBadPracticeDetector.java b/server/application-server/src/main/java/de/tum/in/www1/hephaestus/activity/badpracticedetector/PullRequestBadPracticeDetector.java index cc2c337a..e9d8d863 100644 --- a/server/application-server/src/main/java/de/tum/in/www1/hephaestus/activity/badpracticedetector/PullRequestBadPracticeDetector.java +++ b/server/application-server/src/main/java/de/tum/in/www1/hephaestus/activity/badpracticedetector/PullRequestBadPracticeDetector.java @@ -44,7 +44,8 @@ public List detectAndSyncBadPractices(PullRequest pullRe return detectedBadPractices; } - private PullRequestBadPractice handleDetectedBadPractices(PullRequest pullRequest, BadPractice badPractice) { + @Transactional + protected PullRequestBadPractice handleDetectedBadPractices(PullRequest pullRequest, BadPractice badPractice) { PullRequestBadPractice pullRequestBadPractice = new PullRequestBadPractice(); pullRequestBadPractice.setTitle(badPractice.getTitle()); diff --git a/server/application-server/src/main/java/de/tum/in/www1/hephaestus/activity/model/PullRequestBadPractice.java b/server/application-server/src/main/java/de/tum/in/www1/hephaestus/activity/model/PullRequestBadPractice.java index e1a4303d..040f99ab 100644 --- a/server/application-server/src/main/java/de/tum/in/www1/hephaestus/activity/model/PullRequestBadPractice.java +++ b/server/application-server/src/main/java/de/tum/in/www1/hephaestus/activity/model/PullRequestBadPractice.java @@ -2,12 +2,7 @@ import de.tum.in.www1.hephaestus.gitprovider.pullrequest.PullRequest; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; +import jakarta.persistence.*; import lombok.*; @Entity @@ -15,6 +10,7 @@ @Setter @NoArgsConstructor @ToString +@Table(name="pullrequestbadpractice") public class PullRequestBadPractice { @Id diff --git a/server/application-server/src/main/java/de/tum/in/www1/hephaestus/gitprovider/pullrequest/PullRequestRepository.java b/server/application-server/src/main/java/de/tum/in/www1/hephaestus/gitprovider/pullrequest/PullRequestRepository.java index ed22e954..c49fb365 100644 --- a/server/application-server/src/main/java/de/tum/in/www1/hephaestus/gitprovider/pullrequest/PullRequestRepository.java +++ b/server/application-server/src/main/java/de/tum/in/www1/hephaestus/gitprovider/pullrequest/PullRequestRepository.java @@ -22,6 +22,7 @@ SELECT MIN(p.createdAt) ) Optional firstContributionByAuthorLogin(@Param("authorLogin") String authorLogin); + @Transactional @Query( """ SELECT p diff --git a/server/application-server/src/main/resources/db/changelog/1738063112622_changelog.xml b/server/application-server/src/main/resources/db/changelog/1738063112622_changelog.xml index c57ae33f..b3c4114c 100644 --- a/server/application-server/src/main/resources/db/changelog/1738063112622_changelog.xml +++ b/server/application-server/src/main/resources/db/changelog/1738063112622_changelog.xml @@ -1,8 +1,8 @@ - - + + @@ -14,6 +14,6 @@ - + diff --git a/webapp/src/app/home/activity/activity-dashboard.component.ts b/webapp/src/app/home/activity/activity-dashboard.component.ts index 5a30b42c..bbb23eef 100644 --- a/webapp/src/app/home/activity/activity-dashboard.component.ts +++ b/webapp/src/app/home/activity/activity-dashboard.component.ts @@ -20,6 +20,7 @@ export class ActivityDashboardComponent { protected userLogin: string | null = null; protected numberOfPullRequests = computed(() => this.query.data()?.pullRequests?.length ?? 0); protected numberOfBadPractices = computed(() => this.query.data()?.pullRequests?.reduce((acc, pr) => acc + (pr.badPractices?.length ?? 0), 0) ?? 0); + protected readonly RefreshCcw = RefreshCcw; constructor(private route: ActivatedRoute) { this.userLogin = this.route.snapshot.paramMap.get('id'); @@ -35,5 +36,4 @@ export class ActivityDashboardComponent { console.log('Detecting bad practices'); this.activityService.detectBadPracticesByUser(this.userLogin!).subscribe(); }; - protected readonly RefreshCcw = RefreshCcw; } diff --git a/webapp/src/app/user/pull-request-bad-practice-card/pull-request-bad-practice-card.component.html b/webapp/src/app/user/pull-request-bad-practice-card/pull-request-bad-practice-card.component.html index 532914e3..8b23af05 100644 --- a/webapp/src/app/user/pull-request-bad-practice-card/pull-request-bad-practice-card.component.html +++ b/webapp/src/app/user/pull-request-bad-practice-card/pull-request-bad-practice-card.component.html @@ -58,7 +58,7 @@ @for (badpractice of badPractices(); track badpractice.title) { - + }