aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core/src
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2015-10-29 16:37:29 +0100
committerDuarte Meneses <duarte.meneses@sonarsource.com>2015-11-03 10:14:38 +0100
commit3e5cbb0098adc6b59313fd501d395272edfe2e64 (patch)
treec4b832fd10b176b1766b30c931ff46714b30749c /sonar-core/src
parentd5d4548ee4f0c13360ca4f28ff751f927daef663 (diff)
downloadsonarqube-3e5cbb0098adc6b59313fd501d395272edfe2e64.tar.gz
sonarqube-3e5cbb0098adc6b59313fd501d395272edfe2e64.zip
SONAR-6211 Skip project key validation in issues mode
Diffstat (limited to 'sonar-core/src')
-rw-r--r--sonar-core/src/main/java/org/sonar/core/component/ComponentKeys.java9
-rw-r--r--sonar-core/src/test/java/org/sonar/core/component/ComponentKeysTest.java10
2 files changed, 19 insertions, 0 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/component/ComponentKeys.java b/sonar-core/src/main/java/org/sonar/core/component/ComponentKeys.java
index a427b165afb..70a40d084b1 100644
--- a/sonar-core/src/main/java/org/sonar/core/component/ComponentKeys.java
+++ b/sonar-core/src/main/java/org/sonar/core/component/ComponentKeys.java
@@ -34,6 +34,8 @@ public final class ComponentKeys {
* Allowed characters are alphanumeric, '-', '_', '.' and ':', with at least one non-digit
*/
private static final String VALID_MODULE_KEY_REGEXP = "[\\p{Alnum}\\-_.:]*[\\p{Alpha}\\-_.:]+[\\p{Alnum}\\-_.:]*";
+
+ private static final String VALID_MODULE_KEY_ISSUES_MODE_REGEXP = "[\\p{Alnum}\\-_.:/]*[\\p{Alpha}\\-_.:/]+[\\p{Alnum}\\-_.:/]*";
/*
* Allowed characters are alphanumeric, '-', '_', '.' and '/'
*/
@@ -95,6 +97,13 @@ public final class ComponentKeys {
}
/**
+ * Same as {@link #isValidModuleKey(String)}, but allows additionally '/'.
+ */
+ public static boolean isValidModuleKeyIssuesMode(String keyCandidate) {
+ return keyCandidate.matches(VALID_MODULE_KEY_ISSUES_MODE_REGEXP);
+ }
+
+ /**
* <p>Test if given parameter is valid for a branch. Valid format is:</p>
* <ul>
* <li>Allowed characters:
diff --git a/sonar-core/src/test/java/org/sonar/core/component/ComponentKeysTest.java b/sonar-core/src/test/java/org/sonar/core/component/ComponentKeysTest.java
index 85d64836846..b2eb18a9d4d 100644
--- a/sonar-core/src/test/java/org/sonar/core/component/ComponentKeysTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/component/ComponentKeysTest.java
@@ -57,6 +57,16 @@ public class ComponentKeysTest {
assertThat(ComponentKeys.isValidModuleKey("ab_12")).isTrue();
assertThat(ComponentKeys.isValidModuleKey("ab/12")).isFalse();
}
+
+ @Test
+ public void isValidModuleKeyIssuesMode() {
+ assertThat(ComponentKeys.isValidModuleKeyIssuesMode("")).isFalse();
+ assertThat(ComponentKeys.isValidModuleKeyIssuesMode("abc")).isTrue();
+ assertThat(ComponentKeys.isValidModuleKeyIssuesMode("0123")).isFalse();
+ assertThat(ComponentKeys.isValidModuleKeyIssuesMode("ab 12")).isFalse();
+ assertThat(ComponentKeys.isValidModuleKeyIssuesMode("ab_12")).isTrue();
+ assertThat(ComponentKeys.isValidModuleKeyIssuesMode("ab/12")).isTrue();
+ }
@Test
public void isValidBranchKey() {