diff options
author | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2019-08-13 14:17:32 +0200 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2019-08-14 20:21:14 +0200 |
commit | fb3e1d9a216fe911b45940c7a006a4ec11749569 (patch) | |
tree | 1fde0a42ce8e42154db4b9111625764a99735ea5 | |
parent | 1179e7ef7f549aecdc1f240418dba3a1caac3d51 (diff) | |
download | sonarqube-fb3e1d9a216fe911b45940c7a006a4ec11749569.tar.gz sonarqube-fb3e1d9a216fe911b45940c7a006a4ec11749569.zip |
make MetricToDto upper level class and move it to metric package
because it used in several unrelated packages
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(); |