Merge branch 'stable-3.0'
* stable-3.0:
ProjectCreationValidatorIT: Fix expected substring
ProjectCreationValidator: apply GJF
Provide better error message when project name contains "/"
Change-Id: I5ccde59ad59a52074956c0685059ee258a059648
diff --git a/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java b/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java
index 03407b3..331c968 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidator.java
@@ -61,7 +61,10 @@
"Project name cannot contains spaces." + SEE_DOCUMENTATION_MSG;
private static final String ROOT_PROJECT_CANNOT_CONTAINS_SLASHES_MSG =
- "Root project name cannot contains slashes." + SEE_DOCUMENTATION_MSG;
+ "Since the \"Rights Inherit From\" field is empty, "
+ + "\"%s\" is considered a root project whose parent is \"%s\". "
+ + "Root project names cannot contain slashes."
+ + SEE_DOCUMENTATION_MSG;
private static final String REGULAR_PROJECT_NOT_ALLOWED_AS_ROOT_MSG =
"Regular projects are not allowed as root.\n\n"
@@ -199,7 +202,11 @@
if (name.contains("/")) {
log.debug("rejecting creation of {}: name contains slashes", name);
throw new ValidationException(
- String.format(ROOT_PROJECT_CANNOT_CONTAINS_SLASHES_MSG, documentationUrl));
+ String.format(
+ ROOT_PROJECT_CANNOT_CONTAINS_SLASHES_MSG,
+ name,
+ allProjectsName.get(),
+ documentationUrl));
}
if (!permissionOnly) {
log.debug("rejecting creation of {}: missing permissions only option", name);
diff --git a/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidatorIT.java b/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidatorIT.java
index d3f09f9..b190c59 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidatorIT.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/projectgroupstructure/ProjectCreationValidatorIT.java
@@ -94,7 +94,7 @@
// Creation is rejected when root project name contains slashes
RestResponse r = userRestSession.put("/projects/" + Url.encode("a/parentProject"), in);
r.assertConflict();
- assertThat(r.getEntityContent()).contains("Root project name cannot contains slashes");
+ assertThat(r.getEntityContent()).contains("Root project names cannot contain slashes");
}
@Test