Fix support for Velocity and Soy comments

So far, when trying to support both types of comments, if one was read
it was immediately overwritten by a new assignment which could be empty.

Change-Id: If47185e9bf66468b9fcc25faff8c460c2d2c4c7a
diff --git a/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/action/AddStandardComment.java b/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/action/AddStandardComment.java
index 813fec1..8a7a09f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/action/AddStandardComment.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/action/AddStandardComment.java
@@ -41,25 +41,14 @@
     this.its = its;
   }
 
-  private String formatPerson(String prefix, Map<String, String> map) {
-    String ret = Strings.nullToEmpty(map.get(prefix + "-name"));
-    ret = Strings.nullToEmpty(map.get(prefix + "Name"));
-    if (ret.isEmpty()) {
-      ret = Strings.nullToEmpty(map.get(prefix + "-username"));
-      ret = Strings.nullToEmpty(map.get(prefix + "Username"));
-    }
-    return ret;
-  }
-
   private String getCommentChangeEvent(String action, String prefix, Map<String, String> map) {
     String ret = "";
-    String changeNumber = Strings.nullToEmpty(map.get("change-number"));
-    changeNumber = Strings.nullToEmpty(map.get("changeNumber"));
+    String changeNumber = getValueFromMap(map, "", "change-number", "changeNumber");
     if (!changeNumber.isEmpty()) {
       changeNumber += " ";
     }
     ret += "Change " + changeNumber + action;
-    String submitter = formatPerson(prefix, map);
+    String submitter = getValueFromMap(map, prefix, "-name", "Name", "-username", "Username");
     if (!submitter.isEmpty()) {
       ret += " by " + submitter;
     }
@@ -71,14 +60,23 @@
     if (!reason.isEmpty()) {
       ret += "\n\nReason:\n" + reason;
     }
-    String url = Strings.nullToEmpty(map.get("change-url"));
-    url = Strings.nullToEmpty(map.get("changeUrl"));
+    String url = getValueFromMap(map, "", "change-url", "changeUrl");
     if (!url.isEmpty()) {
       ret += "\n\n" + its.createLinkForWebui(url, url);
     }
     return ret;
   }
 
+  private String getValueFromMap(Map<String, String> map, String keyPrefix, String... keyOptions) {
+    for (String key : keyOptions) {
+      String ret = Strings.nullToEmpty(map.get(keyPrefix + key));
+      if (!ret.isEmpty()) {
+        return ret;
+      }
+    }
+    return "";
+  }
+
   private String getCommentChangeAbandoned(Map<String, String> map) {
     return getCommentChangeEvent("abandoned", "abandoner", map);
   }