Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 74369 Details for
Bug 165674
Ordering of Services in the New Connection Wizard is not always consistent
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Simplified patch re-using SubSystemConfigurationProxyComparator
bug165674_subSysSortById3.diff.txt (text/plain), 6.61 KB, created by
Martin Oberhuber
on 2007-07-23 11:50:30 EDT
(
hide
)
Description:
Simplified patch re-using SubSystemConfigurationProxyComparator
Filename:
MIME Type:
Creator:
Martin Oberhuber
Created:
2007-07-23 11:50:30 EDT
Size:
6.61 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.rse.ui >Index: model/org/eclipse/rse/ui/internal/model/SystemRegistry.java >=================================================================== >RCS file: /cvsroot/dsdp/org.eclipse.tm.rse/plugins/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistry.java,v >retrieving revision 1.33 >diff -u -r1.33 SystemRegistry.java >--- model/org/eclipse/rse/ui/internal/model/SystemRegistry.java 23 Jul 2007 15:33:46 -0000 1.33 >+++ model/org/eclipse/rse/ui/internal/model/SystemRegistry.java 23 Jul 2007 15:50:28 -0000 >@@ -39,7 +39,6 @@ > package org.eclipse.rse.ui.internal.model; > import java.util.ArrayList; > import java.util.Arrays; >-import java.util.Comparator; > import java.util.Iterator; > import java.util.List; > import java.util.Vector; >@@ -255,29 +254,17 @@ > > /** > * Private method used by RSEUIPlugin to tell registry all registered subsystem >- * factories. This way, all code can use this registry to access them versus the >- * RSEUIPlugin. >+ * factories. This way, all code can use this registry to access them versus the >+ * RSEUIPlugin. >+ * >+ * Proxies must be set sorted by priority, then ID in order to get deterministic >+ * results for all getSubSystemConfiguration*() queries. > */ > public void setSubSystemConfigurationProxies(ISubSystemConfigurationProxy[] proxies) > { >- //[165674]: Sort proxies by ID in order to get deterministic results >- //on all getSubSystemConfiguration*() queries >- ISubSystemConfigurationProxy[] newProxies = (ISubSystemConfigurationProxy[])proxies.clone(); >- Arrays.sort(newProxies, new Comparator(){ >- public int compare(Object o1, Object o2) { >- 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<newProxies.length; idx++) >- // newProxies[idx].setLogFile(logFile); >- subsystemConfigurationProxies = newProxies; >+ subsystemConfigurationProxies = proxies; >+ //for (int idx=0; idx<proxies.length; idx++) >+ // proxies[idx].setLogFile(logFile); > } > /** > * Public method to retrieve list of subsystem factory proxies registered by extension points. >#P org.eclipse.rse.core >Index: src/org/eclipse/rse/internal/core/subsystems/SubSystemConfigurationProxyComparator.java >=================================================================== >RCS file: /cvsroot/dsdp/org.eclipse.tm.rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/subsystems/SubSystemConfigurationProxyComparator.java,v >retrieving revision 1.2 >diff -u -r1.2 SubSystemConfigurationProxyComparator.java >--- src/org/eclipse/rse/internal/core/subsystems/SubSystemConfigurationProxyComparator.java 5 Jun 2007 10:46:11 -0000 1.2 >+++ src/org/eclipse/rse/internal/core/subsystems/SubSystemConfigurationProxyComparator.java 23 Jul 2007 15:50:28 -0000 >@@ -7,6 +7,7 @@ > * > * Contributors: > * IBM Corporation - initial API and implementation >+ * Martin Oberhuber (Wind River) - [165674] Sort subsystem configurations by priority then Id > *******************************************************************************/ > package org.eclipse.rse.internal.core.subsystems; > >@@ -23,7 +24,7 @@ > } > > /** >- * Compares priorities of subsystem configuration proxies. >+ * Compares subsystem configuration proxies by Priority, then Id. > * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) > */ > public int compare(Object o1, Object o2) { >@@ -36,14 +37,11 @@ > return -1; > } > else if (proxy1.getPriority() > proxy2.getPriority()) { >- return 1; >+ return +1; >+ } else { >+ return proxy1.getId().compareTo(proxy2.getId()); > } >- else { >- return 0; >- } >- } >- else { >- return 0; > } >+ return 0; > } > } >Index: src/org/eclipse/rse/core/RSECorePlugin.java >=================================================================== >RCS file: /cvsroot/dsdp/org.eclipse.tm.rse/plugins/org.eclipse.rse.core/src/org/eclipse/rse/core/RSECorePlugin.java,v >retrieving revision 1.21 >diff -u -r1.21 RSECorePlugin.java >--- src/org/eclipse/rse/core/RSECorePlugin.java 14 Jun 2007 12:59:10 -0000 1.21 >+++ src/org/eclipse/rse/core/RSECorePlugin.java 23 Jul 2007 15:50:28 -0000 >@@ -18,13 +18,15 @@ > * Martin Oberhuber (Wind River) - [175680] Deprecate obsolete ISystemRegistry methods > * Martin Oberhuber (Wind River) - [160293] NPE on startup when only Core feature is installed > * Uwe Stieber (Wind River) - [192611] RSE Core plugin may fail to initialize because of cyclic code invocation >+ * Martin Oberhuber (Wind River) - [165674] Sort subsystem configurations by priority then Id > ********************************************************************************/ > package org.eclipse.rse.core; > > import java.net.InetAddress; > import java.net.UnknownHostException; >+import java.util.ArrayList; > import java.util.Arrays; >-import java.util.Vector; >+import java.util.List; > > import org.eclipse.core.runtime.IConfigurationElement; > import org.eclipse.core.runtime.IExtensionRegistry; >@@ -282,21 +284,19 @@ > IConfigurationElement[] factoryPlugins = getSubSystemConfigurationPlugins(); > if (factoryPlugins != null) > { >- Vector v = new Vector(); >+ List l = new ArrayList(); > for (int idx=0; idx<factoryPlugins.length; idx++) > { > SubSystemConfigurationProxy ssf = > new SubSystemConfigurationProxy(factoryPlugins[idx]); > >- v.addElement(ssf); >- } >- if (v.size() != 0) >- { >- _subsystemConfigurations = new ISubSystemConfigurationProxy[v.size()]; >- for (int idx=0; idx<v.size(); idx++) >- _subsystemConfigurations[idx] = (ISubSystemConfigurationProxy)v.elementAt(idx); >+ l.add(ssf); > } >- Arrays.sort(_subsystemConfigurations, new SubSystemConfigurationProxyComparator()); >+ ISubSystemConfigurationProxy[] newProxies = (ISubSystemConfigurationProxy[])l.toArray(new ISubSystemConfigurationProxy[l.size()]); >+ //[149280][165674]: Sort proxies by priority then ID in order to >+ //get deterministic results on all getSubSystemConfiguration*() queries >+ Arrays.sort(newProxies, new SubSystemConfigurationProxyComparator()); >+ _subsystemConfigurations = newProxies; > } > > return _subsystemConfigurations;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 165674
:
74361
|
74368
| 74369