From a536024f44aee99dd5e1e07f1782115cf304af30 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber < martin.oberhuber@windriver.com> Date: Mon, 23 Jul 2007 15:33:46 +0000 Subject: [PATCH] [165674] Sort subsystem configurations by priority then Id --- .../rse/ui/internal/model/SystemRegistry.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistry.java b/rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistry.java index 2ee219a62ac..2d14bd04cb3 100644 --- a/rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistry.java +++ b/rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistry.java @@ -33,7 +33,7 @@ * Martin Oberhuber (Wind River) - [190271] Move ISystemViewInputProvider to Core * Xuan Chen (IBM) - [194838] Move the code for comparing two objects by absolute name to a common location * David McKnight (IBM) - [165674] Sort subsystem configurations to be in deterministic order - * Martin Oberhuber (Wind River) - [165674] Sort subsystem configurations by Id rather than name + * Martin Oberhuber (Wind River) - [165674] Sort subsystem configurations by priority then Id ********************************************************************************/ package org.eclipse.rse.ui.internal.model; @@ -265,9 +265,14 @@ public class SystemRegistry implements ISystemRegistry ISubSystemConfigurationProxy[] newProxies = (ISubSystemConfigurationProxy[])proxies.clone(); Arrays.sort(newProxies, new Comparator(){ public int compare(Object o1, Object o2) { - String t1 = ((ISubSystemConfigurationProxy) o1).getId(); - String t2 = ((ISubSystemConfigurationProxy) o2).getId(); - return t1.compareTo(t2); + ISubSystemConfigurationProxy s1 = (ISubSystemConfigurationProxy)o1; + ISubSystemConfigurationProxy s2 = (ISubSystemConfigurationProxy)o2; + if (s1.getPriority() < s2.getPriority()) { + return -1; + } else if (s1.getPriority() > s2.getPriority()) { + return +1; + } + return s1.getId().compareTo(s2.getId()); } }); //for (int idx=0; idx