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;
+ };
}