X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=plugins%2Forg.argeo.slc.client.ui.dist%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fdist%2Fcontrollers%2FDistTreeComparator.java;h=96a08812564ef8e7a4c77e1d94e3a759e3ea38e5;hb=32337de479444ceb5050207fdd2e7e5e6340c42a;hp=d0c7066d1fd82f0118024f68bbb98c4b8377e8a1;hpb=706b98df2c68382d7bd501fa05cb128f329087ee;p=gpl%2Fargeo-slc.git diff --git a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeComparator.java b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeComparator.java index d0c7066d1..96a088125 100644 --- a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeComparator.java +++ b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/controllers/DistTreeComparator.java @@ -1,15 +1,21 @@ package org.argeo.slc.client.ui.dist.controllers; import org.argeo.slc.client.ui.dist.model.DistParentElem; +import org.argeo.slc.client.ui.dist.model.ModularDistVersionElem; import org.argeo.slc.client.ui.dist.model.RepoElem; import org.argeo.slc.client.ui.dist.model.WkspGroupElem; import org.argeo.slc.client.ui.dist.model.WorkspaceElem; +import org.argeo.slc.client.ui.dist.utils.NameVersionComparator; +import org.argeo.slc.client.ui.dist.utils.VersionComparator; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerComparator; /** Specific comparator to enhance Distribution tree browsers */ public class DistTreeComparator extends ViewerComparator { + private VersionComparator vc = new VersionComparator(); + private NameVersionComparator nvc = new NameVersionComparator(); + public int category(Object element) { if (element instanceof RepoElem) if (((RepoElem) element).inHome()) @@ -44,8 +50,11 @@ public class DistTreeComparator extends ViewerComparator { } if (e1 instanceof WorkspaceElem) + // Reverse order for nameversions + return nvc.compare(viewer, s2, s1); + else if (e1 instanceof ModularDistVersionElem) // Reverse order for versions - return s2.compareTo(s1); + return vc.compare(viewer, s2, s1); else return s1.compareTo(s2); }