X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;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=c5b17e089266ee529756a9cc8dddd611661595c0;hpb=702f1e0c7d73edeb739dd62cd4248f489e1420b7;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 c5b17e089..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 @@ -5,12 +5,17 @@ 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,9 +49,12 @@ public class DistTreeComparator extends ViewerComparator { s2 = e2.toString(); } - if (e1 instanceof WorkspaceElem || e1 instanceof ModularDistVersionElem) + 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); }