tmf: Update TmfSimpleTableViewer use of comparator generics
authorPatrick Tasse <patrick.tasse@gmail.com>
Thu, 28 Jan 2016 18:54:14 +0000 (13:54 -0500)
committerPatrick Tasse <patrick.tasse@gmail.com>
Thu, 28 Jan 2016 20:44:10 +0000 (15:44 -0500)
Update is required due to changes in ViewerComparator from Bug 483190.

Change-Id: If8cf7b0d233515907f78fa85fe6f361e0ad49612
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/65401
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/viewers/table/TmfSimpleTableViewer.java

index 0c187d1a553b2f88d5fa0b96cecb9f1cc243a647..d86404e8df563fdd304758fa051270244dd02ba5 100644 (file)
@@ -68,15 +68,18 @@ public class TmfSimpleTableViewer extends TmfViewer {
      * Viewer comparator that ignores the element label strings and uses the
      * given comparator to compare the elements directly.
      */
-    private static class ElementComparator extends ViewerComparator {
+    private static class ElementComparator<T> extends ViewerComparator {
 
-        public ElementComparator(Comparator<?> comparator) {
-            super(comparator);
+        private Comparator<T> elementComparator;
+
+        public ElementComparator(Comparator<T> comparator) {
+            elementComparator = comparator;
         }
 
+        @SuppressWarnings("unchecked")
         @Override
         public int compare(Viewer viewer, Object e1, Object e2) {
-            return getComparator().compare(e1, e2);
+            return elementComparator.compare((T) e1, (T) e2);
         }
     }
 
@@ -107,11 +110,11 @@ public class TmfSimpleTableViewer extends TmfViewer {
         }
     }
 
-    private final class ColumnSorter extends SelectionAdapter {
+    private final class ColumnSorter<T> extends SelectionAdapter {
         private final @NonNull TableColumn fColumn;
-        private final @NonNull Comparator<?> fComparator;
+        private final @NonNull Comparator<T> fComparator;
 
-        private ColumnSorter(@NonNull TableColumn column, @NonNull Comparator<?> comparator) {
+        private ColumnSorter(@NonNull TableColumn column, @NonNull Comparator<T> comparator) {
             fColumn = column;
             fComparator = comparator;
         }
@@ -125,7 +128,7 @@ public class TmfSimpleTableViewer extends TmfViewer {
             }
             table.setSortDirection(fDirection);
             table.setSortColumn(fColumn);
-            Comparator<?> comparator;
+            Comparator<T> comparator;
             if (fDirection == SWT.DOWN) {
                 comparator = fComparator;
             } else {
@@ -139,7 +142,7 @@ public class TmfSimpleTableViewer extends TmfViewer {
                 ISortingLazyContentProvider sortingLazyContentProvider = (ISortingLazyContentProvider) contentProvider;
                 sortingLazyContentProvider.setSortOrder(comparator);
             } else {
-                fTableViewer.setComparator(new ElementComparator(comparator));
+                fTableViewer.setComparator(new ElementComparator<>(comparator));
             }
         }
     }
@@ -227,7 +230,7 @@ public class TmfSimpleTableViewer extends TmfViewer {
      * @return the column that was created
      * @since 2.0
      */
-    public final TableColumn createColumn(String name, ColumnLabelProvider provider, @Nullable Comparator<?> comparator) {
+    public final <T> TableColumn createColumn(String name, ColumnLabelProvider provider, @Nullable Comparator<T> comparator) {
         TableViewerColumn col = new TableViewerColumn(fTableViewer, SWT.NONE);
         col.setLabelProvider(provider);
         final TableColumn column = col.getColumn();
@@ -236,9 +239,9 @@ public class TmfSimpleTableViewer extends TmfViewer {
         column.setResizable(true);
         column.setMoveable(true);
         if (comparator == null) {
-            column.addSelectionListener(new ColumnSorter(column, new ColumnLabelComparator(provider)));
+            column.addSelectionListener(new ColumnSorter<>(column, new ColumnLabelComparator(provider)));
         } else {
-            column.addSelectionListener(new ColumnSorter(column, comparator));
+            column.addSelectionListener(new ColumnSorter<>(column, comparator));
         }
         return column;
     }
This page took 0.027986 seconds and 5 git commands to generate.