Simplify column viewer comparator in order to make it more portable
authorMathieu Baudier <mbaudier@argeo.org>
Fri, 29 Dec 2017 13:21:47 +0000 (14:21 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Fri, 29 Dec 2017 13:21:47 +0000 (14:21 +0100)
org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/osgi/BundlesView.java
org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/osgi/CmsSessionsView.java
org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/ColumnViewerComparator.java

index 40a1372f7a0b7e329c2cb9cb858e36f0a81e47da..4032e785ca9ec5eae0d642fa4c1a1a31300517cc 100644 (file)
@@ -18,8 +18,6 @@
  */
 package org.argeo.cms.ui.workbench.osgi;
 
-import java.util.Comparator;
-
 import org.argeo.cms.ui.workbench.WorkbenchUiPlugin;
 import org.argeo.eclipse.ui.ColumnViewerComparator;
 import org.argeo.eclipse.ui.specific.EclipseUiSpecificUtils;
@@ -61,22 +59,14 @@ public class BundlesView extends ViewPart {
                                return Long.toString(((Bundle) element).getBundleId());
                        }
                });
-               new ColumnViewerComparator<Bundle>(column, new Comparator<Bundle>() {
-                       public int compare(Bundle o1, Bundle o2) {
-                               return (int) (o1.getBundleId() - o2.getBundleId());
-                       }
-               });
+               new ColumnViewerComparator(column);
 
                // State
                column = new TableViewerColumn(viewer, SWT.NONE);
                column.getColumn().setWidth(18);
                column.getColumn().setText("State");
                column.setLabelProvider(new StateLabelProvider());
-               new ColumnViewerComparator<Bundle>(column, new Comparator<Bundle>() {
-                       public int compare(Bundle o1, Bundle o2) {
-                               return o1.getState() - o2.getState();
-                       }
-               });
+               new ColumnViewerComparator(column);
 
                // Symbolic name
                column = new TableViewerColumn(viewer, SWT.NONE);
@@ -89,11 +79,7 @@ public class BundlesView extends ViewPart {
                                return ((Bundle) element).getSymbolicName();
                        }
                });
-               new ColumnViewerComparator<Bundle>(column, new Comparator<Bundle>() {
-                       public int compare(Bundle o1, Bundle o2) {
-                               return o1.getSymbolicName().compareTo(o2.getSymbolicName());
-                       }
-               });
+               new ColumnViewerComparator(column);
 
                // Version
                column = new TableViewerColumn(viewer, SWT.NONE);
@@ -107,14 +93,9 @@ public class BundlesView extends ViewPart {
                                return bundle.getVersion().toString();
                        }
                });
-               new ColumnViewerComparator<Bundle>(column, new Comparator<Bundle>() {
-                       public int compare(Bundle o1, Bundle o2) {
-                               return o1.getVersion().compareTo(o2.getVersion());
-                       }
-               });
+               new ColumnViewerComparator(column);
 
-               viewer.setInput(WorkbenchUiPlugin.getDefault().getBundle()
-                               .getBundleContext());
+               viewer.setInput(WorkbenchUiPlugin.getDefault().getBundle().getBundleContext());
 
        }
 
@@ -125,8 +106,7 @@ public class BundlesView extends ViewPart {
        }
 
        /** Content provider managing the array of bundles */
-       private static class BundleContentProvider implements
-                       IStructuredContentProvider {
+       private static class BundleContentProvider implements IStructuredContentProvider {
                private static final long serialVersionUID = -8533792785725875977L;
 
                public Object[] getElements(Object inputElement) {
index 8f34a0b2b88da8cf2a755064f41ff5414439eeab..44b554ed1b2128a44fc39ddea628676597dd6bbb 100644 (file)
@@ -20,7 +20,6 @@ package org.argeo.cms.ui.workbench.osgi;
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Comparator;
 import java.util.List;
 
 import javax.naming.ldap.LdapName;
@@ -75,11 +74,7 @@ public class CmsSessionsView extends ViewPart {
                                return ((CmsSession) element).getUserDn().toString();
                        }
                });
-               new ColumnViewerComparator<CmsSession>(column, new Comparator<CmsSession>() {
-                       public int compare(CmsSession o1, CmsSession o2) {
-                               return o1.getAuthorization().toString().compareTo(o2.getAuthorization().toString());
-                       }
-               });
+               new ColumnViewerComparator(column);
 
                // Creation time
                column = new TableViewerColumn(viewer, SWT.NONE);
@@ -96,11 +91,7 @@ public class CmsSessionsView extends ViewPart {
                                return ((CmsSession) element).getCreationTime().toString();
                        }
                });
-               new ColumnViewerComparator<CmsSession>(column, new Comparator<CmsSession>() {
-                       public int compare(CmsSession o1, CmsSession o2) {
-                               return o1.getCreationTime().compareTo(o2.getCreationTime());
-                       }
-               });
+               new ColumnViewerComparator(column);
 
                // Username
                column = new TableViewerColumn(viewer, SWT.NONE);
@@ -118,11 +109,7 @@ public class CmsSessionsView extends ViewPart {
                                return ((CmsSession) element).getUserDn().toString();
                        }
                });
-               new ColumnViewerComparator<CmsSession>(column, new Comparator<CmsSession>() {
-                       public int compare(CmsSession o1, CmsSession o2) {
-                               return o1.getUserDn().compareTo(o2.getUserDn());
-                       }
-               });
+               new ColumnViewerComparator(column);
 
                // UUID
                column = new TableViewerColumn(viewer, SWT.NONE);
@@ -139,11 +126,7 @@ public class CmsSessionsView extends ViewPart {
                                return getText(element);
                        }
                });
-               new ColumnViewerComparator<CmsSession>(column, new Comparator<CmsSession>() {
-                       public int compare(CmsSession o1, CmsSession o2) {
-                               return o1.getUuid().compareTo(o2.getUuid());
-                       }
-               });
+               new ColumnViewerComparator(column);
 
                // Local ID
                column = new TableViewerColumn(viewer, SWT.NONE);
@@ -160,11 +143,7 @@ public class CmsSessionsView extends ViewPart {
                                return getText(element);
                        }
                });
-               new ColumnViewerComparator<CmsSession>(column, new Comparator<CmsSession>() {
-                       public int compare(CmsSession o1, CmsSession o2) {
-                               return o1.getLocalId().compareTo(o2.getLocalId());
-                       }
-               });
+               new ColumnViewerComparator(column);
 
                viewer.setInput(WorkbenchUiPlugin.getDefault().getBundle().getBundleContext());
 
index a0a8c2d1a87cb32cad5febb75103f0e13b9302e4..f13378aaf1232e004c8f7116947b470e586d4122 100644 (file)
@@ -15,8 +15,6 @@
  */
 package org.argeo.eclipse.ui;
 
-import java.util.Comparator;
-
 import org.eclipse.jface.viewers.ColumnViewer;
 import org.eclipse.jface.viewers.TableViewerColumn;
 import org.eclipse.jface.viewers.Viewer;
@@ -26,7 +24,7 @@ import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 
 /** Generic column viewer sorter */
-public class ColumnViewerComparator<T> extends ViewerComparator {
+public class ColumnViewerComparator extends ViewerComparator {
        private static final long serialVersionUID = -2266218906355859909L;
 
        public static final int ASC = 1;
@@ -41,8 +39,8 @@ public class ColumnViewerComparator<T> extends ViewerComparator {
 
        private ColumnViewer viewer;
 
-       public ColumnViewerComparator(TableViewerColumn column, Comparator<T> comparator) {
-               super((Comparator<?>) comparator);
+       public ColumnViewerComparator(TableViewerColumn column) {
+               super(null);
                this.column = column;
                this.viewer = column.getViewer();
                this.column.getColumn().addSelectionListener(new SelectionAdapter() {