Improve message if submit fails due to non-fulfilled submit requirements

If a submit request fails due to non-fulfilled submit requirements, the
response only contains the fallback text of the submit requirement.
Without letting the user know that this message is about a non-fulfilled
submit requirement, the message may be unclear to the caller.

The fallback text is usually kept as short as possible, since the
frontend is displaying it in the UI. Hence it cannot be made more
verbose without affecting the UI.

Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: Iecd9304aa98efa6f404da9a50d2e002c6aefc6f3
(cherry picked from commit f4099b6c72)
This commit is contained in:
Edwin Kempin
2020-10-22 14:30:46 +02:00
committed by Luca Milanesio
parent b74bd6dc2c
commit 2763b9d4d7

View File

@@ -352,7 +352,7 @@ public class MergeOp implements AutoCloseable {
}
if (record.requirements != null) {
record.requirements.stream()
.map(SubmitRequirement::fallbackText)
.map(MergeOp::describeSubmitRequirement)
.forEach(blockingConditions::add);
}
return Joiner.on("; ").join(blockingConditions);
@@ -388,6 +388,10 @@ public class MergeOp implements AutoCloseable {
return Joiner.on("; ").join(labelResults);
}
private static String describeSubmitRequirement(SubmitRequirement submitRequirement) {
return String.format("Submit requirement not fulfilled: %s", submitRequirement.fallbackText());
}
private void checkSubmitRulesAndState(ChangeSet cs, boolean allowMerged)
throws ResourceConflictException {
checkArgument(