diff options
author | BenoƮt Gianinetti <benoit.gianinetti@sonarsource.com> | 2018-12-14 14:53:58 +0100 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2019-01-08 20:21:07 +0100 |
commit | 0c8a948cbd786a35f87ed962e8fff86a316c4153 (patch) | |
tree | c05347a0567148e738487ce4d97c056f37627e36 /server/sonar-db-dao/src | |
parent | b87a76fa468a726a61c1c635b4334387398aaa06 (diff) | |
download | sonarqube-0c8a948cbd786a35f87ed962e8fff86a316c4153.tar.gz sonarqube-0c8a948cbd786a35f87ed962e8fff86a316c4153.zip |
SONAR-11572 Limit list of operators for QG conditions
Diffstat (limited to 'server/sonar-db-dao/src')
4 files changed, 0 insertions, 155 deletions
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/metric/MetricDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/metric/MetricDto.java index 275d086adf4..33db00e3d25 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/metric/MetricDto.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/metric/MetricDto.java @@ -216,8 +216,4 @@ public class MetricDto { return this; } - public boolean isDataType() { - return DATA.name().equals(valueType) || DISTRIB.name().equals(valueType) || STRING.name().equals(valueType); - } - } diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDto.java index 853cfe174c8..25d7d75b254 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDto.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDto.java @@ -19,70 +19,18 @@ */ package org.sonar.db.qualitygate; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import java.util.Collection; -import java.util.Collections; import java.util.Date; -import java.util.List; -import java.util.Map; import javax.annotation.CheckForNull; import javax.annotation.Nullable; -import org.sonar.api.measures.Metric.ValueType; /** * @since 4.3 */ public class QualityGateConditionDto { - public static final String OPERATOR_EQUALS = "EQ"; - - public static final String OPERATOR_NOT_EQUALS = "NE"; - public static final String OPERATOR_GREATER_THAN = "GT"; - public static final String OPERATOR_LESS_THAN = "LT"; - public static final List<String> ALL_OPERATORS = ImmutableList.of( - OPERATOR_LESS_THAN, - OPERATOR_GREATER_THAN, - OPERATOR_EQUALS, - OPERATOR_NOT_EQUALS); - - private static final List<String> NUMERIC_OPERATORS = ImmutableList.of( - OPERATOR_LESS_THAN, - OPERATOR_GREATER_THAN, - OPERATOR_EQUALS, - OPERATOR_NOT_EQUALS); - - private static final List<String> STRING_OPERATORS = ImmutableList.of( - OPERATOR_EQUALS, - OPERATOR_NOT_EQUALS, - OPERATOR_LESS_THAN, - OPERATOR_GREATER_THAN); - - private static final List<String> LEVEL_OPERATORS = ImmutableList.of( - OPERATOR_EQUALS, - OPERATOR_NOT_EQUALS); - - private static final List<String> BOOLEAN_OPERATORS = ImmutableList.of( - OPERATOR_EQUALS); - - private static final List<String> RATING_OPERATORS = ImmutableList.of( - OPERATOR_GREATER_THAN); - - private static final Map<ValueType, List<String>> OPERATORS_BY_TYPE = ImmutableMap.<ValueType, List<String>>builder() - .put(ValueType.BOOL, BOOLEAN_OPERATORS) - .put(ValueType.LEVEL, LEVEL_OPERATORS) - .put(ValueType.STRING, STRING_OPERATORS) - .put(ValueType.INT, NUMERIC_OPERATORS) - .put(ValueType.FLOAT, NUMERIC_OPERATORS) - .put(ValueType.PERCENT, NUMERIC_OPERATORS) - .put(ValueType.MILLISEC, NUMERIC_OPERATORS) - .put(ValueType.RATING, RATING_OPERATORS) - .put(ValueType.WORK_DUR, NUMERIC_OPERATORS) - .build(); - private long id; private long qualityGateId; @@ -172,15 +120,4 @@ public class QualityGateConditionDto { return this; } - public static boolean isOperatorAllowed(String operator, ValueType metricType) { - return getOperatorsForType(metricType).contains(operator); - } - - public static Collection<String> getOperatorsForType(ValueType metricType) { - if (OPERATORS_BY_TYPE.containsKey(metricType)) { - return OPERATORS_BY_TYPE.get(metricType); - } else { - return Collections.emptySet(); - } - } } diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/metric/MetricDtoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/metric/MetricDtoTest.java index 7aa45f40797..a496b042d71 100644 --- a/server/sonar-db-dao/src/test/java/org/sonar/db/metric/MetricDtoTest.java +++ b/server/sonar-db-dao/src/test/java/org/sonar/db/metric/MetricDtoTest.java @@ -72,15 +72,6 @@ public class MetricDtoTest { } @Test - public void is_data_type() { - assertThat(MetricTesting.newMetricDto().setValueType(INT.name()).isDataType()).isFalse(); - - assertThat(MetricTesting.newMetricDto().setValueType(DATA.name()).isDataType()).isTrue(); - assertThat(MetricTesting.newMetricDto().setValueType(STRING.name()).isDataType()).isTrue(); - assertThat(MetricTesting.newMetricDto().setValueType(STRING.name()).isDataType()).isTrue(); - } - - @Test public void fail_if_key_longer_than_64_characters() { String a65 = repeat("a", 65); diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateConditionDtoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateConditionDtoTest.java deleted file mode 100644 index 6a3a753e95a..00000000000 --- a/server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateConditionDtoTest.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * 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.db.qualitygate; - -import java.util.Arrays; -import org.junit.Test; -import org.sonar.api.measures.Metric.ValueType; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.sonar.api.measures.Metric.ValueType.BOOL; -import static org.sonar.api.measures.Metric.ValueType.DATA; -import static org.sonar.api.measures.Metric.ValueType.FLOAT; -import static org.sonar.api.measures.Metric.ValueType.INT; -import static org.sonar.api.measures.Metric.ValueType.LEVEL; -import static org.sonar.api.measures.Metric.ValueType.MILLISEC; -import static org.sonar.api.measures.Metric.ValueType.PERCENT; -import static org.sonar.api.measures.Metric.ValueType.RATING; -import static org.sonar.api.measures.Metric.ValueType.STRING; -import static org.sonar.db.qualitygate.QualityGateConditionDto.isOperatorAllowed; - -public class QualityGateConditionDtoTest { - - @Test - public void validate_operators_for_DATA() { - assertThat(isOperatorAllowed("WHATEVER", DATA)).isFalse(); - } - - @Test - public void validate_operators_for_BOOL() { - assertThat(isOperatorAllowed("EQ", BOOL)).isTrue(); - assertThat(isOperatorAllowed("NE", BOOL)).isFalse(); - assertThat(isOperatorAllowed("LT", BOOL)).isFalse(); - assertThat(isOperatorAllowed("GT", BOOL)).isFalse(); - } - - @Test - public void validate_operators_for_LEVEL() { - assertThat(isOperatorAllowed("EQ", LEVEL)).isTrue(); - assertThat(isOperatorAllowed("NE", LEVEL)).isTrue(); - assertThat(isOperatorAllowed("LT", LEVEL)).isFalse(); - assertThat(isOperatorAllowed("GT", LEVEL)).isFalse(); - } - - @Test - public void validate_operators_for_RATING() { - assertThat(isOperatorAllowed("EQ", RATING)).isFalse(); - assertThat(isOperatorAllowed("NE", RATING)).isFalse(); - assertThat(isOperatorAllowed("LT", RATING)).isFalse(); - assertThat(isOperatorAllowed("GT", RATING)).isTrue(); - } - - @Test - public void validate_operators_for_other_types() { - Arrays.stream(new ValueType[] {STRING, INT, FLOAT, PERCENT, MILLISEC}).forEach(type -> { - assertThat(isOperatorAllowed("EQ", type)).isTrue(); - assertThat(isOperatorAllowed("NE", type)).isTrue(); - assertThat(isOperatorAllowed("LT", type)).isTrue(); - assertThat(isOperatorAllowed("GT", type)).isTrue(); - }); - } - -} |