Skip to content
Snippets Groups Projects

Iss #168 - Update status page for potential external ID display

Merged Iss #168 - Update status page for potential external ID display
All threads resolved!
Merged Martin Lowe requested to merge malowe/main/external-id-status into main
All threads resolved!
Files
5
@@ -67,8 +67,8 @@ public class EclipseQuteTemplateExtensions {
/**
* <p>
* Obfuscates an email for public consumption, showing the first letter of the email address, and the domain of the
* address for identification, and stripping out the rest of the address.
* Obfuscates an email for public consumption, showing the first letter of the email address, and the domain of the address for
* identification, and stripping out the rest of the address.
* </p>
*
* <p>
@@ -123,28 +123,23 @@ public class EclipseQuteTemplateExtensions {
String out = "";
if (message.getStatusCode() == APIStatusCode.ERROR_PROXY_PUSH.getValue()) {
out = String
.format("Committer does not have permission to push on behalf of another user (Legacy). (%s)",
EclipseQuteTemplateExtensions.obfuscateEmail(message.getCommitterEmail()));
.format("Committer does not have permission to push on behalf of another user (Legacy).%s",
EclipseQuteTemplateExtensions.getUserInfoForMessage(message));
} else if (message.getStatusCode() == APIStatusCode.ERROR_COMMITTER.getValue()) {
out = String
.format("Committer did not have a signed ECA on file. (%s)",
EclipseQuteTemplateExtensions.obfuscateEmail(message.getCommitterEmail()));
.format("Committer did not have a signed ECA on file.%s", EclipseQuteTemplateExtensions.getUserInfoForMessage(message));
} else if (message.getStatusCode() == APIStatusCode.ERROR_AUTHOR.getValue()) {
out = String
.format("Author did not have a signed ECA on file. (%s)",
EclipseQuteTemplateExtensions.obfuscateEmail(message.getAuthorEmail()));
.format("Author did not have a signed ECA on file.%s", EclipseQuteTemplateExtensions.getUserInfoForMessage(message));
} else if (message.getStatusCode() == APIStatusCode.ERROR_COMMITTER_NOT_FOUND.getValue()) {
out = String
.format("Committer Eclipse account cannot be found. (%s)",
EclipseQuteTemplateExtensions.obfuscateEmail(message.getCommitterEmail()));
.format("Committer Eclipse account cannot be found.%s", EclipseQuteTemplateExtensions.getUserInfoForMessage(message));
} else if (message.getStatusCode() == APIStatusCode.ERROR_AUTHOR_NOT_FOUND.getValue()) {
out = String
.format("Author Eclipse account cannot be found. (%s)",
EclipseQuteTemplateExtensions.obfuscateEmail(message.getAuthorEmail()));
out = String.format("Author Eclipse account cannot be found.%s", EclipseQuteTemplateExtensions.getUserInfoForMessage(message));
} else if (message.getStatusCode() == APIStatusCode.ERROR_SPEC_PROJECT.getValue()) {
out = String
.format("Committer does not have permission to commit on specification projects. (%s)",
EclipseQuteTemplateExtensions.obfuscateEmail(message.getCommitterEmail()));
.format("Committer does not have permission to commit on specification projects.%s",
EclipseQuteTemplateExtensions.getUserInfoForMessage(message));
} else if (message.getStatusCode() == APIStatusCode.ERROR_SIGN_OFF.getValue()) {
out = "Sign-off not detected in the commit message (Legacy).";
} else if (message.getStatusCode() == APIStatusCode.ERROR_DEFAULT.getValue()) {
@@ -155,6 +150,30 @@ public class EclipseQuteTemplateExtensions {
return out;
}
/**
* Generate the info list stored with the validation message to be appended to the actual status message for more information.
*
* @param message the validation message being printed
* @return HTML containing the user details
*/
private static String getUserInfoForMessage(CommitValidationMessage message) {
StringBuilder sb = new StringBuilder();
sb.append("<ul><li>Email: ");
// switch on email depending on error code
sb
.append(EclipseQuteTemplateExtensions
.obfuscateEmail(
APIStatusCode.getValueForCode(message.getStatusCode()).isCommitterError() ? message.getCommitterEmail()
: message.getAuthorEmail()));
// only add a provider ID section if it is set
if (StringUtils.isNotBlank(message.getProviderId()) && message.getCommit().getProvider() != null) {
sb.append("</li><li>").append(message.getCommit().getProvider().getLegalName()).append(" ID: ");
sb.append(message.getProviderId());
}
sb.append("</li></ul>");
return sb.toString();
}
private EclipseQuteTemplateExtensions() {
}
Loading