Add display names for email messageClass

Can be used in Soy templates as messageClassDisplay.

Release-Notes: Added messageClassDisplay param for Soy templates.
Change-Id: Ia850c825c1c4fb94814148078b14c12e4cb5ef77
diff --git a/Documentation/config-mail.txt b/Documentation/config-mail.txt
index 4f11ca8..1ec5208 100644
--- a/Documentation/config-mail.txt
+++ b/Documentation/config-mail.txt
@@ -170,6 +170,10 @@
 +
 A String containing the messageClass.
 
+$messageClassDisplay::
++
+A String containing the messageClass display text.
+
 === Change Emails
 
 Change related emails have the following template data available to them, in
diff --git a/java/com/google/gerrit/server/mail/EmailFactories.java b/java/com/google/gerrit/server/mail/EmailFactories.java
index 378fb34..0aeacff 100644
--- a/java/com/google/gerrit/server/mail/EmailFactories.java
+++ b/java/com/google/gerrit/server/mail/EmailFactories.java
@@ -66,6 +66,45 @@
   String INBOUND_EMAIL_REJECTED = "error";
   String NEW_EMAIL_REGISTERED = "registernewemail";
 
+  public static String messageClassDisplay(String messageClass) {
+    switch (messageClass) {
+      case CHANGE_ABANDONED:
+        return "Abandoned";
+      case ATTENTION_SET_ADDED:
+        return "Added to Attention Set";
+      case ATTENTION_SET_REMOVED:
+        return "Removed from Attention Set";
+      case COMMENTS_ADDED:
+        return "Comments";
+      case REVIEWER_DELETED:
+        return "Reviewer Deleted";
+      case VOTE_DELETED:
+        return "Vote Deleted";
+      case CHANGE_MERGED:
+        return "Merged";
+      case NEW_PATCHSET_ADDED:
+        return "New Patchset";
+      case CHANGE_RESTORED:
+        return "Restored";
+      case CHANGE_REVERTED:
+        return "Reverted";
+      case REVIEW_REQUESTED:
+        return "Review Request";
+      case KEY_ADDED:
+        return "Key Added";
+      case KEY_DELETED:
+        return "Key Deleted";
+      case PASSWORD_UPDATED:
+        return "Password Updated";
+      case INBOUND_EMAIL_REJECTED:
+        return "Error";
+      case NEW_EMAIL_REGISTERED:
+        return "Email Registered";
+      default:
+        return messageClass;
+    }
+  }
+
   /** ChangeEmail decorator that adds information about change being abandoned to the email. */
   ChangeEmailDecorator createAbandonedChangeEmail();
 
diff --git a/java/com/google/gerrit/server/mail/send/OutgoingEmail.java b/java/com/google/gerrit/server/mail/send/OutgoingEmail.java
index a6c89dc..aaa09cf 100644
--- a/java/com/google/gerrit/server/mail/send/OutgoingEmail.java
+++ b/java/com/google/gerrit/server/mail/send/OutgoingEmail.java
@@ -38,6 +38,7 @@
 import com.google.gerrit.server.CurrentUser;
 import com.google.gerrit.server.account.AccountState;
 import com.google.gerrit.server.change.NotifyResolver;
+import com.google.gerrit.server.mail.EmailFactories;
 import com.google.gerrit.server.permissions.PermissionBackendException;
 import com.google.gerrit.server.update.RetryableAction.ActionType;
 import com.google.gerrit.server.validators.OutgoingEmailValidationListener;
@@ -751,6 +752,7 @@
     }
 
     addSoyParam("messageClass", messageClass);
+    addSoyParam("messageClassDisplay", EmailFactories.messageClassDisplay(messageClass));
     addSoyParam("footers", footers);
     addSoyEmailDataParam("settingsUrl", getSettingsUrl());
     addSoyEmailDataParam("instanceName", getInstanceName());