aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2019-08-13 14:17:32 +0200
committerSonarTech <sonartech@sonarsource.com>2019-08-14 20:21:14 +0200
commitfb3e1d9a216fe911b45940c7a006a4ec11749569 (patch)
tree1fde0a42ce8e42154db4b9111625764a99735ea5
parent1179e7ef7f549aecdc1f240418dba3a1caac3d51 (diff)
downloadsonarqube-fb3e1d9a216fe911b45940c7a006a4ec11749569.tar.gz
sonarqube-fb3e1d9a216fe911b45940c7a006a4ec11749569.zip
make MetricToDto upper level class and move it to metric package
because it used in several unrelated packages
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/metric/MetricToDto.java51
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/startup/RegisterMetrics.java28
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/duplication/ws/ShowActionTest.java4
3 files changed, 54 insertions, 29 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/metric/MetricToDto.java b/server/sonar-server/src/main/java/org/sonar/server/metric/MetricToDto.java
new file mode 100644
index 00000000000..73b4a2599b1
--- /dev/null
+++ b/server/sonar-server/src/main/java/org/sonar/server/metric/MetricToDto.java
@@ -0,0 +1,51 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2019 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.server.metric;
+
+import com.google.common.base.Function;
+import javax.annotation.Nonnull;
+import org.sonar.api.measures.Metric;
+import org.sonar.db.metric.MetricDto;
+
+public enum MetricToDto implements Function<Metric, MetricDto> {
+ INSTANCE;
+ @Override
+ @Nonnull
+ public MetricDto apply(@Nonnull Metric metric) {
+ MetricDto dto = new MetricDto();
+ dto.setId(metric.getId());
+ dto.setKey(metric.getKey());
+ dto.setDescription(metric.getDescription());
+ dto.setShortName(metric.getName());
+ dto.setBestValue(metric.getBestValue());
+ dto.setDomain(metric.getDomain());
+ dto.setEnabled(metric.getEnabled());
+ dto.setDirection(metric.getDirection());
+ dto.setHidden(metric.isHidden());
+ dto.setQualitative(metric.getQualitative());
+ dto.setValueType(metric.getType().name());
+ dto.setOptimizedBestValue(metric.isOptimizedBestValue());
+ dto.setUserManaged(metric.getUserManaged());
+ dto.setWorstValue(metric.getWorstValue());
+ dto.setDeleteHistoricalData(metric.getDeleteHistoricalData());
+ dto.setDecimalScale(metric.getDecimalScale());
+ return dto;
+ }
+}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/startup/RegisterMetrics.java b/server/sonar-server/src/main/java/org/sonar/server/startup/RegisterMetrics.java
index 39bdbf8edfb..615d91cef80 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/startup/RegisterMetrics.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/startup/RegisterMetrics.java
@@ -20,12 +20,10 @@
package org.sonar.server.startup;
import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Function;
import com.google.common.collect.Maps;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import javax.annotation.Nonnull;
import org.picocontainer.Startable;
import org.sonar.api.measures.CoreMetrics;
import org.sonar.api.measures.Metric;
@@ -36,6 +34,7 @@ import org.sonar.api.utils.log.Profiler;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.metric.MetricDto;
+import org.sonar.server.metric.MetricToDto;
import static com.google.common.collect.FluentIterable.from;
import static com.google.common.collect.Iterables.concat;
@@ -137,29 +136,4 @@ public class RegisterMetrics implements Startable {
}
}
- public enum MetricToDto implements Function<Metric, MetricDto> {
- INSTANCE;
- @Override
- @Nonnull
- public MetricDto apply(@Nonnull Metric metric) {
- MetricDto dto = new MetricDto();
- dto.setId(metric.getId());
- dto.setKey(metric.getKey());
- dto.setDescription(metric.getDescription());
- dto.setShortName(metric.getName());
- dto.setBestValue(metric.getBestValue());
- dto.setDomain(metric.getDomain());
- dto.setEnabled(metric.getEnabled());
- dto.setDirection(metric.getDirection());
- dto.setHidden(metric.isHidden());
- dto.setQualitative(metric.getQualitative());
- dto.setValueType(metric.getType().name());
- dto.setOptimizedBestValue(metric.isOptimizedBestValue());
- dto.setUserManaged(metric.getUserManaged());
- dto.setWorstValue(metric.getWorstValue());
- dto.setDeleteHistoricalData(metric.getDeleteHistoricalData());
- dto.setDecimalScale(metric.getDecimalScale());
- return dto;
- }
- }
}
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/duplication/ws/ShowActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/duplication/ws/ShowActionTest.java
index 579484364bb..994e9d83e92 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/duplication/ws/ShowActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/duplication/ws/ShowActionTest.java
@@ -35,7 +35,7 @@ import org.sonar.db.organization.OrganizationDto;
import org.sonar.server.component.TestComponentFinder;
import org.sonar.server.exceptions.ForbiddenException;
import org.sonar.server.exceptions.NotFoundException;
-import org.sonar.server.startup.RegisterMetrics;
+import org.sonar.server.metric.MetricToDto;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.ws.TestRequest;
import org.sonar.server.ws.TestResponse;
@@ -49,7 +49,7 @@ import static org.sonar.test.JsonAssert.assertJson;
public class ShowActionTest {
- private static MetricDto dataMetric = RegisterMetrics.MetricToDto.INSTANCE.apply(CoreMetrics.DUPLICATIONS_DATA);
+ private static MetricDto dataMetric = MetricToDto.INSTANCE.apply(CoreMetrics.DUPLICATIONS_DATA);
@Rule
public ExpectedException expectedException = ExpectedException.none();