create getInternalProperties() method

Separate out the construction details of internal properties to a
separate method so that higher level property expansion policies are
more obvious.

Change-Id: I981a50ea4013a1f6a8fe198901fb399071c2d4ef
diff --git a/src/main/java/com/googlesource/gerrit/plugins/task/Properties.java b/src/main/java/com/googlesource/gerrit/plugins/task/Properties.java
index d63d441..51887a7 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/task/Properties.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/task/Properties.java
@@ -37,15 +37,7 @@
   public Properties(ChangeData changeData, Task definition, Map<String, String> parentProperties)
       throws OrmException {
     Map<String, String> expanded = new HashMap<>(parentProperties);
-    expanded.put("_name", definition.name);
-    Change c = changeData.change();
-    expanded.put("_change_number", String.valueOf(c.getId().get()));
-    expanded.put("_change_id", c.getKey().get());
-    expanded.put("_change_project", c.getProject().get());
-    expanded.put("_change_branch", c.getDest().get());
-    expanded.put("_change_status", c.getStatus().toString());
-    expanded.put("_change_topic", c.getTopic());
-
+    expanded.putAll(getInternalProperties(definition, changeData));
     Map<String, String> unexpanded = definition.properties;
     unexpanded.putAll(definition.exported);
     new RecursiveExpander(expanded).expand(unexpanded);
@@ -62,6 +54,23 @@
     new Expander(properties).expandFieldValues(namesFactory, Sets.newHashSet(TaskConfig.KEY_TYPE));
   }
 
+  protected static Map<String, String> getInternalProperties(Task definition, ChangeData changeData)
+      throws OrmException {
+    Map<String, String> properties = new HashMap<>();
+
+    properties.put("_name", definition.name);
+
+    Change c = changeData.change();
+    properties.put("_change_number", String.valueOf(c.getId().get()));
+    properties.put("_change_id", c.getKey().get());
+    properties.put("_change_project", c.getProject().get());
+    properties.put("_change_branch", c.getDest().get());
+    properties.put("_change_status", c.getStatus().toString());
+    properties.put("_change_topic", c.getTopic());
+
+    return properties;
+  }
+
   /**
    * Use to expand properties whose values may contain other references to properties.
    *