From 95c50460bc2390e914c3849ec643ab20a968af5e Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Mon, 30 Jul 2018 22:11:15 +0200 Subject: [PATCH] SONAR-11077 log nb of triggered portfolio refreshes in CE --- .../step/TriggerViewRefreshStep.java | 4 +++- .../view/TriggerViewRefreshDelegate.java | 14 ++++++++++++-- .../step/TriggerViewRefreshStepTest.java | 2 +- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/TriggerViewRefreshStep.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/TriggerViewRefreshStep.java index b8f22b27a18..de155ff5a43 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/TriggerViewRefreshStep.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/TriggerViewRefreshStep.java @@ -20,6 +20,7 @@ package org.sonar.ce.task.projectanalysis.step; +import java.util.OptionalInt; import javax.annotation.Nullable; import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder; import org.sonar.ce.task.projectanalysis.view.TriggerViewRefreshDelegate; @@ -58,7 +59,8 @@ public class TriggerViewRefreshStep implements ComputationStep { @Override public void execute(ComputationStep.Context context) { if (triggerViewRefreshDelegate != null) { - triggerViewRefreshDelegate.accept(analysisMetadata.getProject()); + OptionalInt count = triggerViewRefreshDelegate.triggerFrom(analysisMetadata.getProject()); + count.ifPresent(i -> context.getStatistics().add("refreshes", i)); } } } diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/view/TriggerViewRefreshDelegate.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/view/TriggerViewRefreshDelegate.java index 0775e84242d..5b3410a9c71 100644 --- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/view/TriggerViewRefreshDelegate.java +++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/view/TriggerViewRefreshDelegate.java @@ -20,8 +20,18 @@ package org.sonar.ce.task.projectanalysis.view; -import java.util.function.Consumer; +import java.util.OptionalInt; import org.sonar.server.project.Project; -public interface TriggerViewRefreshDelegate extends Consumer { +public interface TriggerViewRefreshDelegate { + + /** + * Triggers the refresh of portfolios and applications + * associated to the project. + * + * @return the number of portfolios and applications being refreshed, + * or {@link OptionalInt#empty()} if not applicable. + */ + OptionalInt triggerFrom(Project project); + } diff --git a/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/TriggerViewRefreshStepTest.java b/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/TriggerViewRefreshStepTest.java index 3229eaae4fe..12a766edbd3 100644 --- a/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/TriggerViewRefreshStepTest.java +++ b/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/TriggerViewRefreshStepTest.java @@ -61,6 +61,6 @@ public class TriggerViewRefreshStepTest { underTest.execute(new TestComputationStepContext()); verify(analysisMetadataHolder).getProject(); - verify(delegate).accept(project); + verify(delegate).triggerFrom(project); } } -- 2.39.5