aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-db-dao/src
diff options
context:
space:
mode:
authorBenoƮt Gianinetti <benoit.gianinetti@sonarsource.com>2018-12-14 14:53:58 +0100
committerSonarTech <sonartech@sonarsource.com>2019-01-08 20:21:07 +0100
commit0c8a948cbd786a35f87ed962e8fff86a316c4153 (patch)
treec05347a0567148e738487ce4d97c056f37627e36 /server/sonar-db-dao/src
parentb87a76fa468a726a61c1c635b4334387398aaa06 (diff)
downloadsonarqube-0c8a948cbd786a35f87ed962e8fff86a316c4153.tar.gz
sonarqube-0c8a948cbd786a35f87ed962e8fff86a316c4153.zip
SONAR-11572 Limit list of operators for QG conditions
Diffstat (limited to 'server/sonar-db-dao/src')
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/metric/MetricDto.java4
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/qualitygate/QualityGateConditionDto.java63
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/metric/MetricDtoTest.java9
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/qualitygate/QualityGateConditionDtoTest.java79
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();
- });
- }
-
-}