@@ -25,13 +25,13 @@ import org.sonar.api.server.ws.Request; | |||
import org.sonar.api.server.ws.Response; | |||
import org.sonar.api.server.ws.WebService; | |||
import org.sonar.batch.protocol.input.GlobalRepositories; | |||
import org.sonar.db.metric.MetricDto; | |||
import org.sonar.core.permission.GlobalPermissions; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.MyBatis; | |||
import org.sonar.db.metric.MetricDto; | |||
import org.sonar.db.property.PropertiesDao; | |||
import org.sonar.db.property.PropertyDto; | |||
import org.sonar.server.db.DbClient; | |||
import org.sonar.server.exceptions.ForbiddenException; | |||
import org.sonar.server.plugins.MimeTypes; | |||
import org.sonar.server.user.UserSession; |
@@ -26,14 +26,15 @@ import java.util.Map; | |||
import javax.annotation.CheckForNull; | |||
import javax.annotation.Nonnull; | |||
import org.picocontainer.Startable; | |||
import org.sonar.db.metric.MetricDto; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.server.db.DbClient; | |||
import org.sonar.db.metric.MetricDto; | |||
import static com.google.common.collect.FluentIterable.from; | |||
import static java.util.Objects.requireNonNull; | |||
public class MetricRepositoryImpl implements MetricRepository, Startable { | |||
private final DbClient dbClient; | |||
@CheckForNull | |||
private Map<String, Metric> metricsByKey; |
@@ -22,6 +22,7 @@ package org.sonar.server.computation.step; | |||
import com.google.common.annotations.VisibleForTesting; | |||
import java.util.List; | |||
import org.apache.commons.lang.math.NumberUtils; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.MyBatis; | |||
import org.sonar.db.measure.custom.CustomMeasureDto; | |||
@@ -32,7 +33,6 @@ import org.sonar.server.computation.measure.Measure; | |||
import org.sonar.server.computation.measure.MeasureRepository; | |||
import org.sonar.server.computation.metric.Metric; | |||
import org.sonar.server.computation.metric.MetricRepository; | |||
import org.sonar.server.db.DbClient; | |||
public class CustomMeasuresCopyStep implements ComputationStep { | |||
@@ -25,6 +25,7 @@ import org.apache.commons.lang.StringEscapeUtils; | |||
import org.sonar.api.measures.CoreMetrics; | |||
import org.sonar.batch.protocol.output.BatchReport; | |||
import org.sonar.core.util.CloseableIterator; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.MyBatis; | |||
import org.sonar.db.measure.MeasureDto; | |||
@@ -34,7 +35,6 @@ import org.sonar.server.computation.component.Component; | |||
import org.sonar.server.computation.component.DbIdsRepository; | |||
import org.sonar.server.computation.component.DepthTraversalTypeAwareVisitor; | |||
import org.sonar.server.computation.component.TreeRootHolder; | |||
import org.sonar.server.db.DbClient; | |||
import static org.sonar.server.computation.component.ComponentVisitor.Order.PRE_ORDER; | |||
@@ -32,10 +32,10 @@ import org.sonar.api.measures.Metrics; | |||
import org.sonar.api.utils.log.Logger; | |||
import org.sonar.api.utils.log.Loggers; | |||
import org.sonar.api.utils.log.Profiler; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.MyBatis; | |||
import org.sonar.db.metric.MetricDto; | |||
import org.sonar.server.db.DbClient; | |||
import static com.google.common.collect.FluentIterable.from; | |||
import static com.google.common.collect.Iterables.concat; |
@@ -27,14 +27,14 @@ import org.junit.rules.ExpectedException; | |||
import org.junit.runner.RunWith; | |||
import org.mockito.Mock; | |||
import org.mockito.runners.MockitoJUnitRunner; | |||
import org.sonar.db.metric.MetricDto; | |||
import org.sonar.core.permission.GlobalPermissions; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.metric.MetricDao; | |||
import org.sonar.db.metric.MetricDto; | |||
import org.sonar.db.property.PropertiesDao; | |||
import org.sonar.db.property.PropertyDto; | |||
import org.sonar.server.db.DbClient; | |||
import org.sonar.server.exceptions.ForbiddenException; | |||
import org.sonar.db.metric.MetricDao; | |||
import org.sonar.server.tester.UserSessionRule; | |||
import org.sonar.server.ws.WsTester; | |||
@@ -38,11 +38,9 @@ import org.junit.runner.RunWith; | |||
import org.sonar.api.rule.RuleKey; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.batch.protocol.output.BatchReport; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.DbTester; | |||
import org.sonar.db.component.ComponentDao; | |||
import org.sonar.db.component.SnapshotDao; | |||
import org.sonar.db.measure.MeasureDao; | |||
import org.sonar.db.measure.MeasureDto; | |||
import org.sonar.db.rule.RuleDto; | |||
import org.sonar.server.computation.batch.BatchReportReader; | |||
@@ -54,8 +52,6 @@ import org.sonar.server.computation.metric.Metric; | |||
import org.sonar.server.computation.metric.MetricImpl; | |||
import org.sonar.server.computation.metric.MetricRepository; | |||
import org.sonar.server.computation.metric.ReportMetricValidator; | |||
import org.sonar.server.db.DbClient; | |||
import org.sonar.db.metric.MetricDao; | |||
import static com.google.common.collect.FluentIterable.from; | |||
import static java.lang.String.format; | |||
@@ -93,7 +89,7 @@ public class MeasureRepositoryImplTest { | |||
private ReportMetricValidator reportMetricValidator = mock(ReportMetricValidator.class); | |||
private DbClient dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), new MeasureDao(), new SnapshotDao(), new MetricDao(), new ComponentDao()); | |||
private DbClient dbClient = dbTester.getDbClient(); | |||
private MetricRepository metricRepository = mock(MetricRepository.class); | |||
private MeasureRepositoryImpl underTest = new MeasureRepositoryImpl(dbClient, reportReader, metricRepository, reportMetricValidator); | |||
@@ -25,9 +25,8 @@ import org.junit.Test; | |||
import org.junit.experimental.categories.Category; | |||
import org.junit.rules.ExpectedException; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbTester; | |||
import org.sonar.server.db.DbClient; | |||
import org.sonar.db.metric.MetricDao; | |||
import org.sonar.test.DbTests; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
@@ -42,7 +41,7 @@ public class MetricRepositoryImplTest { | |||
@Rule | |||
public final ExpectedException expectedException = ExpectedException.none(); | |||
private DbClient dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), new MetricDao()); | |||
private DbClient dbClient = dbTester.getDbClient(); | |||
private MetricRepositoryImpl underTest = new MetricRepositoryImpl(dbClient); | |||
@Before |
@@ -25,6 +25,7 @@ import org.junit.Test; | |||
import org.junit.experimental.categories.Category; | |||
import org.mockito.ArgumentCaptor; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbTester; | |||
import org.sonar.db.measure.custom.CustomMeasureDto; | |||
import org.sonar.server.computation.batch.BatchReportReaderRule; | |||
@@ -36,8 +37,6 @@ import org.sonar.server.computation.measure.MeasureRepository; | |||
import org.sonar.server.computation.metric.Metric; | |||
import org.sonar.server.computation.metric.MetricImpl; | |||
import org.sonar.server.computation.metric.MetricRepository; | |||
import org.sonar.server.db.DbClient; | |||
import org.sonar.db.measure.custom.CustomMeasureDao; | |||
import org.sonar.test.DbTests; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
@@ -67,7 +66,7 @@ public class CustomMeasuresCopyStepTest { | |||
@Before | |||
public void setUp() { | |||
DbClient dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), new CustomMeasureDao()); | |||
DbClient dbClient = dbTester.getDbClient(); | |||
underTest = new CustomMeasuresCopyStep(treeRootHolder, dbClient, metricRepository, measureRepository); | |||
} | |||
@@ -29,17 +29,15 @@ import org.junit.experimental.categories.Category; | |||
import org.sonar.api.measures.CoreMetrics; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.batch.protocol.output.BatchReport; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.DbTester; | |||
import org.sonar.db.measure.MeasureDao; | |||
import org.sonar.db.metric.MetricDao; | |||
import org.sonar.db.metric.MetricDto; | |||
import org.sonar.server.computation.batch.BatchReportReaderRule; | |||
import org.sonar.server.computation.batch.TreeRootHolderRule; | |||
import org.sonar.server.computation.component.Component; | |||
import org.sonar.server.computation.component.DbIdsRepository; | |||
import org.sonar.server.computation.component.DumbComponent; | |||
import org.sonar.server.db.DbClient; | |||
import org.sonar.test.DbTests; | |||
import static com.google.common.collect.Lists.newArrayList; | |||
@@ -61,18 +59,15 @@ public class PersistDuplicationsStepTest extends BaseStepTest { | |||
DbIdsRepository dbIdsRepository = new DbIdsRepository(); | |||
DbSession session; | |||
DbSession session = dbTester.getSession(); | |||
DbClient dbClient; | |||
DbClient dbClient = dbTester.getDbClient(); | |||
PersistDuplicationsStep underTest; | |||
@Before | |||
public void setup() { | |||
dbTester.truncateTables(); | |||
session = dbTester.myBatis().openSession(false); | |||
dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), new MeasureDao(), new MetricDao()); | |||
underTest = new PersistDuplicationsStep(dbClient, dbIdsRepository, treeRootHolder, reportReader); | |||
} | |||
@@ -33,16 +33,14 @@ import org.sonar.batch.protocol.output.BatchReport; | |||
import org.sonar.core.issue.DefaultIssue; | |||
import org.sonar.core.issue.DefaultIssueComment; | |||
import org.sonar.core.issue.FieldDiffs; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.DbTester; | |||
import org.sonar.db.issue.IssueDao; | |||
import org.sonar.db.rule.RuleDao; | |||
import org.sonar.server.computation.batch.BatchReportReaderRule; | |||
import org.sonar.server.computation.issue.IssueCache; | |||
import org.sonar.server.computation.issue.RuleCacheLoader; | |||
import org.sonar.server.computation.issue.RuleRepositoryImpl; | |||
import org.sonar.server.computation.issue.UpdateConflictResolver; | |||
import org.sonar.server.db.DbClient; | |||
import static org.mockito.Mockito.mock; | |||
import static org.mockito.Mockito.when; | |||
@@ -60,9 +58,9 @@ public class PersistIssuesStepTest extends BaseStepTest { | |||
@Rule | |||
public BatchReportReaderRule reportReader = new BatchReportReaderRule(); | |||
DbSession session; | |||
DbSession session = dbTester.getSession(); | |||
DbClient dbClient; | |||
DbClient dbClient = dbTester.getDbClient(); | |||
System2 system2; | |||
@@ -78,8 +76,6 @@ public class PersistIssuesStepTest extends BaseStepTest { | |||
@Before | |||
public void setup() throws Exception { | |||
dbTester.truncateTables(); | |||
session = dbTester.myBatis().openSession(false); | |||
dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), new IssueDao(dbTester.myBatis()), new RuleDao()); | |||
issueCache = new IssueCache(temp.newFile(), System2.INSTANCE); | |||
system2 = mock(System2.class); | |||
when(system2.now()).thenReturn(NOW); |
@@ -28,10 +28,8 @@ import org.sonar.api.measures.CoreMetrics; | |||
import org.sonar.api.measures.Metric; | |||
import org.sonar.api.measures.Metrics; | |||
import org.sonar.api.utils.System2; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbTester; | |||
import org.sonar.db.qualitygate.QualityGateConditionDao; | |||
import org.sonar.server.db.DbClient; | |||
import org.sonar.db.metric.MetricDao; | |||
import org.sonar.test.DbTests; | |||
import static java.util.Arrays.asList; | |||
@@ -43,6 +41,8 @@ public class RegisterMetricsTest { | |||
@Rule | |||
public DbTester dbTester = DbTester.create(System2.INSTANCE); | |||
DbClient dbClient = dbTester.getDbClient(); | |||
/** | |||
* Insert new metrics, including custom metrics | |||
*/ | |||
@@ -62,7 +62,7 @@ public class RegisterMetricsTest { | |||
.setUserManaged(true) | |||
.create(); | |||
RegisterMetrics register = new RegisterMetrics(dbClient()); | |||
RegisterMetrics register = new RegisterMetrics(dbClient); | |||
register.register(asList(m1, custom)); | |||
dbTester.assertDbUnit(getClass(), "insert_new_metrics-result.xml", "metrics"); | |||
} | |||
@@ -74,7 +74,7 @@ public class RegisterMetricsTest { | |||
public void update_non_custom_metrics() { | |||
dbTester.prepareDbUnit(getClass(), "update_non_custom_metrics.xml"); | |||
RegisterMetrics register = new RegisterMetrics(dbClient()); | |||
RegisterMetrics register = new RegisterMetrics(dbClient); | |||
Metric m1 = new Metric.Builder("m1", "New name", Metric.ValueType.FLOAT) | |||
.setDescription("new description") | |||
.setDirection(-1) | |||
@@ -96,7 +96,7 @@ public class RegisterMetricsTest { | |||
public void disable_undefined_metrics() { | |||
dbTester.prepareDbUnit(getClass(), "disable_undefined_metrics.xml"); | |||
RegisterMetrics register = new RegisterMetrics(dbClient()); | |||
RegisterMetrics register = new RegisterMetrics(dbClient); | |||
register.register(Collections.<Metric>emptyList()); | |||
dbTester.assertDbUnit(getClass(), "disable_undefined_metrics-result.xml", "metrics"); | |||
@@ -106,7 +106,7 @@ public class RegisterMetricsTest { | |||
public void insert_core_metrics() { | |||
dbTester.truncateTables(); | |||
RegisterMetrics register = new RegisterMetrics(dbClient()); | |||
RegisterMetrics register = new RegisterMetrics(dbClient); | |||
register.start(); | |||
assertThat(dbTester.countRowsOfTable("metrics")).isEqualTo(CoreMetrics.getMetrics().size()); | |||
@@ -117,18 +117,14 @@ public class RegisterMetricsTest { | |||
Metrics plugin1 = new TestMetrics(new Metric.Builder("m1", "In first plugin", Metric.ValueType.FLOAT).create()); | |||
Metrics plugin2 = new TestMetrics(new Metric.Builder("m1", "In second plugin", Metric.ValueType.FLOAT).create()); | |||
new RegisterMetrics(dbClient(), new Metrics[]{plugin1, plugin2}).start(); | |||
new RegisterMetrics(dbClient, new Metrics[] {plugin1, plugin2}).start(); | |||
} | |||
@Test(expected = IllegalStateException.class) | |||
public void fail_if_plugin_duplicates_core_metric() { | |||
Metrics plugin = new TestMetrics(new Metric.Builder("ncloc", "In plugin", Metric.ValueType.FLOAT).create()); | |||
new RegisterMetrics(dbClient(), new Metrics[]{plugin}).start(); | |||
} | |||
private DbClient dbClient() { | |||
return new DbClient(dbTester.database(), dbTester.myBatis(), new MetricDao(), new QualityGateConditionDao(dbTester.myBatis())); | |||
new RegisterMetrics(dbClient, new Metrics[] {plugin}).start(); | |||
} | |||
private class TestMetrics implements Metrics { |