From 40d301bf05463b10f9ad9860fbc16f0f8948e5bf Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20Lesaint?= Date: Thu, 28 May 2015 09:38:49 +0200 Subject: [PATCH] SONAR-6589 move LanguageRepository out of ComputationContext --- .../server/computation/ComputationContext.java | 6 ------ .../computation/context/ComputationContext.java | 3 --- .../computation/step/QualityProfileEventsStep.java | 13 ++++++++----- .../step/QualityProfileEventsStepTest.java | 2 +- 4 files changed, 9 insertions(+), 15 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationContext.java b/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationContext.java index e6edb383684..76a82b541fe 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationContext.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationContext.java @@ -29,13 +29,11 @@ import org.sonar.server.db.DbClient; public class ComputationContext implements org.sonar.server.computation.context.ComputationContext { private final DbClient dbClient; private final Component component; - private final LanguageRepository languageRepository; public ComputationContext(BatchReportReader reportReader, String projectKey, Settings projectSettings, DbClient dbClient, ComponentTreeBuilder componentTreeBuilder, LanguageRepository languageRepository) { this.dbClient = dbClient; this.component = componentTreeBuilder.build(this); - this.languageRepository = languageRepository; } @Override @@ -51,8 +49,4 @@ public class ComputationContext implements org.sonar.server.computation.context. return dbClient; } - @Override - public LanguageRepository getLanguageRepository() { - return languageRepository; - } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/context/ComputationContext.java b/server/sonar-server/src/main/java/org/sonar/server/computation/context/ComputationContext.java index 171639acbc4..9a0a838ae6c 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/context/ComputationContext.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/context/ComputationContext.java @@ -20,12 +20,9 @@ package org.sonar.server.computation.context; import org.sonar.server.computation.component.Component; -import org.sonar.server.computation.language.LanguageRepository; public interface ComputationContext { Component getRoot(); - LanguageRepository getLanguageRepository(); - } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/QualityProfileEventsStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/QualityProfileEventsStep.java index 511bb9b14f6..ab85fb602af 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/QualityProfileEventsStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/QualityProfileEventsStep.java @@ -33,6 +33,7 @@ import org.sonar.server.computation.component.Component; import org.sonar.server.computation.component.DepthTraversalTypeAwareVisitor; import org.sonar.server.computation.event.Event; import org.sonar.server.computation.event.EventRepository; +import org.sonar.server.computation.language.LanguageRepository; import org.sonar.server.computation.measure.MeasureRepository; import org.sonar.server.computation.qualityprofile.QPMeasureData; import org.sonar.server.computation.qualityprofile.QualityProfile; @@ -47,10 +48,12 @@ import static org.sonar.server.computation.component.DepthTraversalTypeAwareVisi public class QualityProfileEventsStep implements ComputationStep { private final MeasureRepository measureRepository; private final EventRepository eventRepository; + private final LanguageRepository languageRepository; - public QualityProfileEventsStep(MeasureRepository measureRepository, EventRepository eventRepository) { + public QualityProfileEventsStep(MeasureRepository measureRepository, EventRepository eventRepository, LanguageRepository languageRepository) { this.measureRepository = measureRepository; this.eventRepository = eventRepository; + this.languageRepository = languageRepository; } @Override @@ -119,16 +122,16 @@ public class QualityProfileEventsStep implements ComputationStep { eventRepository.add(component, createQProfileEvent(component, profile, "Use %s")); } - private static Event createQProfileEvent(Component component, QualityProfile profile, String namePattern) { + private Event createQProfileEvent(Component component, QualityProfile profile, String namePattern) { return createQProfileEvent(component, profile, namePattern, null); } - private static Event createQProfileEvent(Component component, QualityProfile profile, String namePattern, @Nullable String data) { + private Event createQProfileEvent(Component component, QualityProfile profile, String namePattern, @Nullable String data) { return Event.createProfile(String.format(namePattern, profileLabel(component, profile)), data, null); } - private static String profileLabel(Component component, QualityProfile profile) { - Optional language = component.getContext().getLanguageRepository().find(profile.getLanguageKey()); + private String profileLabel(Component component, QualityProfile profile) { + Optional language = languageRepository.find(profile.getLanguageKey()); String languageName = language.isPresent() ? language.get().getName() : profile.getLanguageKey(); return String.format("'%s' (%s)", profile.getQpName(), languageName); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/QualityProfileEventsStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/QualityProfileEventsStepTest.java index 0f86e6d7c9d..2812600334e 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/QualityProfileEventsStepTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/QualityProfileEventsStepTest.java @@ -76,7 +76,7 @@ public class QualityProfileEventsStepTest { private EventRepository eventRepository = mock(EventRepository.class); private ArgumentCaptor eventArgumentCaptor = ArgumentCaptor.forClass(Event.class); - private QualityProfileEventsStep underTest = new QualityProfileEventsStep(measureRepository, eventRepository); + private QualityProfileEventsStep underTest = new QualityProfileEventsStep(measureRepository, eventRepository, languageRepository); @Test public void no_effect_if_no_previous_measure() { -- 2.39.5