Lines 18-30
Link Here
|
18 |
* Martin Oberhuber (Wind River) - [175680] Deprecate obsolete ISystemRegistry methods |
18 |
* Martin Oberhuber (Wind River) - [175680] Deprecate obsolete ISystemRegistry methods |
19 |
* Martin Oberhuber (Wind River) - [160293] NPE on startup when only Core feature is installed |
19 |
* Martin Oberhuber (Wind River) - [160293] NPE on startup when only Core feature is installed |
20 |
* Uwe Stieber (Wind River) - [192611] RSE Core plugin may fail to initialize because of cyclic code invocation |
20 |
* Uwe Stieber (Wind River) - [192611] RSE Core plugin may fail to initialize because of cyclic code invocation |
|
|
21 |
* Martin Oberhuber (Wind River) - [165674] Sort subsystem configurations by priority then Id |
21 |
********************************************************************************/ |
22 |
********************************************************************************/ |
22 |
package org.eclipse.rse.core; |
23 |
package org.eclipse.rse.core; |
23 |
|
24 |
|
24 |
import java.net.InetAddress; |
25 |
import java.net.InetAddress; |
25 |
import java.net.UnknownHostException; |
26 |
import java.net.UnknownHostException; |
|
|
27 |
import java.util.ArrayList; |
26 |
import java.util.Arrays; |
28 |
import java.util.Arrays; |
27 |
import java.util.Vector; |
29 |
import java.util.List; |
28 |
|
30 |
|
29 |
import org.eclipse.core.runtime.IConfigurationElement; |
31 |
import org.eclipse.core.runtime.IConfigurationElement; |
30 |
import org.eclipse.core.runtime.IExtensionRegistry; |
32 |
import org.eclipse.core.runtime.IExtensionRegistry; |
Lines 282-302
Link Here
|
282 |
IConfigurationElement[] factoryPlugins = getSubSystemConfigurationPlugins(); |
284 |
IConfigurationElement[] factoryPlugins = getSubSystemConfigurationPlugins(); |
283 |
if (factoryPlugins != null) |
285 |
if (factoryPlugins != null) |
284 |
{ |
286 |
{ |
285 |
Vector v = new Vector(); |
287 |
List l = new ArrayList(); |
286 |
for (int idx=0; idx<factoryPlugins.length; idx++) |
288 |
for (int idx=0; idx<factoryPlugins.length; idx++) |
287 |
{ |
289 |
{ |
288 |
SubSystemConfigurationProxy ssf = |
290 |
SubSystemConfigurationProxy ssf = |
289 |
new SubSystemConfigurationProxy(factoryPlugins[idx]); |
291 |
new SubSystemConfigurationProxy(factoryPlugins[idx]); |
290 |
|
292 |
|
291 |
v.addElement(ssf); |
293 |
l.add(ssf); |
292 |
} |
|
|
293 |
if (v.size() != 0) |
294 |
{ |
295 |
_subsystemConfigurations = new ISubSystemConfigurationProxy[v.size()]; |
296 |
for (int idx=0; idx<v.size(); idx++) |
297 |
_subsystemConfigurations[idx] = (ISubSystemConfigurationProxy)v.elementAt(idx); |
298 |
} |
294 |
} |
299 |
Arrays.sort(_subsystemConfigurations, new SubSystemConfigurationProxyComparator()); |
295 |
ISubSystemConfigurationProxy[] newProxies = (ISubSystemConfigurationProxy[])l.toArray(new ISubSystemConfigurationProxy[l.size()]); |
|
|
296 |
//[149280][165674]: Sort proxies by priority then ID in order to |
297 |
//get deterministic results on all getSubSystemConfiguration*() queries |
298 |
Arrays.sort(newProxies, new SubSystemConfigurationProxyComparator()); |
299 |
_subsystemConfigurations = newProxies; |
300 |
} |
300 |
} |
301 |
|
301 |
|
302 |
return _subsystemConfigurations; |
302 |
return _subsystemConfigurations; |