aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api/src/main
diff options
context:
space:
mode:
authorJacek <jacek.poreda@sonarsource.com>2021-02-19 16:20:34 +0100
committersonartech <sonartech@sonarsource.com>2021-02-26 20:07:39 +0000
commit7657870eed718a74c6b4e8dbd18ab6f8d5d5bc78 (patch)
treeed8eecb242a735063065f8533d589dc4e39166f6 /sonar-plugin-api/src/main
parent9cb17b6dbce261af578b7c5fe430fa340d4ff1ad (diff)
downloadsonarqube-7657870eed718a74c6b4e8dbd18ab6f8d5d5bc78.tar.gz
sonarqube-7657870eed718a74c6b4e8dbd18ab6f8d5d5bc78.zip
SONAR-14498 Support JSON property type
Diffstat (limited to 'sonar-plugin-api/src/main')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/PropertyType.java8
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java2
2 files changed, 9 insertions, 1 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/PropertyType.java b/sonar-plugin-api/src/main/java/org/sonar/api/PropertyType.java
index d9df6c4cd6d..604165fc5d4 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/PropertyType.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/PropertyType.java
@@ -107,5 +107,11 @@ public enum PropertyType {
* @deprecated since 6.3, this type is useless as Dashboards have been removed
*/
@Deprecated
- LONG
+ LONG,
+
+ /**
+ * JSON property type
+ * @since 8.8
+ */
+ JSON
}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java
index d6fac0aaf37..da3f1cc1c8c 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/PropertyDefinition.java
@@ -50,6 +50,7 @@ import static org.apache.commons.lang.StringUtils.isEmpty;
import static org.sonar.api.PropertyType.BOOLEAN;
import static org.sonar.api.PropertyType.FLOAT;
import static org.sonar.api.PropertyType.INTEGER;
+import static org.sonar.api.PropertyType.JSON;
import static org.sonar.api.PropertyType.LONG;
import static org.sonar.api.PropertyType.PROPERTY_SET;
import static org.sonar.api.PropertyType.REGULAR_EXPRESSION;
@@ -599,6 +600,7 @@ public final class PropertyDefinition {
fixType(key, type);
checkArgument(onQualifiers.isEmpty() || onlyOnQualifiers.isEmpty(), "Cannot define both onQualifiers and onlyOnQualifiers");
checkArgument(!hidden || (onQualifiers.isEmpty() && onlyOnQualifiers.isEmpty()), "Cannot be hidden and defining qualifiers on which to display");
+ checkArgument(!JSON.equals(type) || !multiValues, "Multivalues are not allowed to be defined for JSON-type property.");
if (hidden) {
global = false;
}