Add handling of the commit files for the extension point.

Change-Id: Id50355a9c882c6692bf6c0eeab4e2e9eb4fb6417
Signed-off-by: Jacques Bouthillier <jacques.bouthillier@ericsson.com>
diff --git a/org.eclipse.egerrit.ui/src/org/eclipse/egerrit/extensionpoint/definition/HandleExternalFileSelection.java b/org.eclipse.egerrit.ui/src/org/eclipse/egerrit/extensionpoint/definition/HandleExternalFileSelection.java
index f2d7f0d..79a90b0 100644
--- a/org.eclipse.egerrit.ui/src/org/eclipse/egerrit/extensionpoint/definition/HandleExternalFileSelection.java
+++ b/org.eclipse.egerrit.ui/src/org/eclipse/egerrit/extensionpoint/definition/HandleExternalFileSelection.java
@@ -11,10 +11,13 @@
 
 package org.eclipse.egerrit.extensionpoint.definition;
 
+import java.util.ArrayList;
 import java.util.Iterator;
+import java.util.List;
 
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.databinding.observable.list.IObservableList;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.egerrit.internal.core.GerritClient;
@@ -101,6 +104,30 @@
 		ExternalInfo.reviewCommit = fileInfo.getRevision().getId();
 		ExternalInfo.patchSet = fileInfo.getRevision().getRef();
 		ExternalInfo.serverPath = this.fGerritClient.getRepository().getServerInfo().getServerURI();
+		ExternalInfo.listCommitFiles = this.listCommitFiles();
 
 	}
+
+	/**
+	 * Create a list of all files adjusted with this commit. The list filter the COMMIT_MSG.
+	 *
+	 * @return List<String> of files found in this commit
+	 */
+	private List<String> listCommitFiles() {
+		List<String> listFiles = new ArrayList<>();
+
+		if (fViewer instanceof TableViewer) {
+			Object obj = fViewer.getInput();
+			if (obj instanceof IObservableList) {
+				IObservableList<StringToFileInfoImpl> list = (IObservableList<StringToFileInfoImpl>) obj;
+				for (int i = 0; i < list.size(); i++) {
+					// Remove the commit msg from the list of files
+					if (!list.get(i).getKey().toUpperCase().endsWith("COMMIT_MSG")) { //$NON-NLS-1$
+						listFiles.add(list.get(i).getKey());
+					}
+				}
+			}
+		}
+		return listFiles;
+	}
 }
diff --git a/org.eclipse.egerrit.ui/src/org/eclipse/egerrit/ui/extension/IExternalCmd.java b/org.eclipse.egerrit.ui/src/org/eclipse/egerrit/ui/extension/IExternalCmd.java
index 41b3217..2900038 100644
--- a/org.eclipse.egerrit.ui/src/org/eclipse/egerrit/ui/extension/IExternalCmd.java
+++ b/org.eclipse.egerrit.ui/src/org/eclipse/egerrit/ui/extension/IExternalCmd.java
@@ -11,6 +11,8 @@
 
 package org.eclipse.egerrit.ui.extension;
 
+import java.util.List;
+
 /**
  * Interface returning some of the current review information to be used in an external plug-in
  */
@@ -31,6 +33,8 @@
 
 		public static String reviewCommit;
 
+		public static List<String> listCommitFiles;
+
 	};
 
 	// Method to be implemented from the Extension point plugin
@@ -65,4 +69,7 @@
 		return ExternalInfo.reviewCommit;
 	};
 
+	public default List<String> getListCommitFiles() {
+		return ExternalInfo.listCommitFiles;
+	};
 }