# HG changeset patch # User Ed Swartz # Date 1259937167 21600 # Node ID c24c517fe8c2f04919df352540f705bbc45cbdd4 # Parent 149f2223eff025cc484a6aa4786aeeda05299a4e Fix SBSv2 SDK filtering. (1) When only SBSv2 is available, assume all SDKs are SBSv2-capable. (2) In the SBSv1+SBSv2 case, ensure the version check >= 8.3 is correct (it was disallowing anything with minor version < 3). diff -r 149f2223eff0 -r c24c517fe8c2 core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SBSv2Utils.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SBSv2Utils.java Fri Dec 04 08:30:12 2009 -0600 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SBSv2Utils.java Fri Dec 04 08:32:47 2009 -0600 @@ -22,7 +22,10 @@ import org.eclipse.cdt.utils.spawner.EnvironmentReader; import org.eclipse.core.filesystem.URIUtil; import org.eclipse.core.runtime.*; +import org.eclipse.core.runtime.preferences.IEclipsePreferences; +import org.eclipse.core.runtime.preferences.InstanceScope; import org.osgi.framework.Version; +import org.osgi.service.prefs.BackingStoreException; import org.w3c.dom.*; import org.xml.sax.InputSource; import org.xml.sax.helpers.DefaultHandler; @@ -114,16 +117,21 @@ */ public static List getSupportedSDKs(List sdks) { List supportedSDKs = new ArrayList(); - - //TODO need a better way to do this from Symbian. - // For now, just filter out anything older than 9.4 - for (ISymbianSDK sdk : sdks) { - Version osVersion = sdk.getOSVersion(); - if (osVersion.getMajor() > 8 && osVersion.getMinor() > 3) { - supportedSDKs.add(sdk); - } + + // If there is no SBSv1 builder, then assume all SDKs are SBSv2 capable + if (!enableSBSv1Support()) { + supportedSDKs.addAll(sdks); + } else { + //TODO need a better way to do this from Symbian. + // For now, just filter out anything older than 9.4 + for (ISymbianSDK sdk : sdks) { + Version osVersion = sdk.getOSVersion(); + if (osVersion.getMajor() > 8 || + (osVersion.getMajor() == 8 && osVersion.getMinor() > 3)) { + supportedSDKs.add(sdk); + } + } } - return supportedSDKs; } @@ -132,9 +140,9 @@ * be filtered out of any UI */ public static String[] getSBSv2ConfigurationsToFilter() { - Preferences prefs = SDKCorePlugin.getDefault().getPluginPreferences(); + IEclipsePreferences prefs = new InstanceScope().getNode(SDKCorePlugin.PLUGIN_ID); if (prefs != null) { - String configs = prefs.getString(SBSV2_FILTERED_CONFIGS_STORE); + String configs = prefs.get(SBSV2_FILTERED_CONFIGS_STORE, ""); return configs.split(SBSV2_FILTERED_CONFIGS_DELIMETER); } return new String[0]; @@ -146,7 +154,7 @@ * @param configs configs to be filtered */ public static void setSBSv2ConfigurationsToFilter(String[] configs) { - Preferences prefs = SDKCorePlugin.getDefault().getPluginPreferences(); + IEclipsePreferences prefs = new InstanceScope().getNode(SDKCorePlugin.PLUGIN_ID); if (prefs != null) { String store = ""; //$NON-NLS-1$ for (String config : configs) { @@ -159,8 +167,13 @@ } if (store.length() >= 0){ // lenght of zero means there are not configs to filter (or show them all) - prefs.setValue(SBSV2_FILTERED_CONFIGS_STORE, store); - SDKCorePlugin.getDefault().savePluginPreferences(); + prefs.put(SBSV2_FILTERED_CONFIGS_STORE, store); + try { + prefs.flush(); + } catch (BackingStoreException e) { + Logging.log(SDKCorePlugin.getDefault(), + Logging.newStatus(SDKCorePlugin.getDefault(), e)); + } } } }