core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2QueryUtils.java
branchC3_BUILDER_WORK
changeset 1480 c26f1a4c14aa
parent 1478 69015f2143b2
child 1491 268b8ede3928
--- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2QueryUtils.java	Wed Jun 16 15:43:22 2010 -0500
+++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2QueryUtils.java	Wed Jun 16 16:53:22 2010 -0500
@@ -36,6 +36,7 @@
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
+import org.osgi.framework.Version;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
@@ -54,7 +55,10 @@
 	public static final String QUERY_CONFIG_COMMAND = "--query=config";
 	public static final String QUERY_COMMAND = "--query=aliases";
 	
-	public static HashMap<String, String> getAliasesForSDK(ISymbianSDK sdk){
+	public static HashMap<String, String> getAliasesForSDK(ISymbianSDK sdk) throws SBSv2MinimumVersionException{
+		
+		checkForMinimumRaptorVersion();
+		
 		List<String> argListAliasQuery = new ArrayList<String>();
 		argListAliasQuery.add(QUERY_COMMAND);
 		
@@ -70,7 +74,10 @@
 		return parseQueryAliasResult(queryResult);
 	}
 	
-	public static List<String> getProductVariantsForSDK(ISymbianSDK sdk){
+	public static List<String> getProductVariantsForSDK(ISymbianSDK sdk) throws SBSv2MinimumVersionException{
+		
+		checkForMinimumRaptorVersion();
+		
 		List<String> argListProductQuery = new ArrayList<String>();
 		
 		Properties envVars = EnvironmentReader.getEnvVars();
@@ -85,7 +92,9 @@
 		return parseQueryProductsResults(queryResult);
 	}
 	
-	public static String getConfigQueryXML(ISymbianSDK sdk, List<String> aliasOrMeaningArray){
+	public static String getConfigQueryXML(ISymbianSDK sdk, List<String> aliasOrMeaningArray) throws SBSv2MinimumVersionException{
+		
+		checkForMinimumRaptorVersion();
 		
 		List<String> argListConfigQuery = new ArrayList<String>();
 		
@@ -105,7 +114,9 @@
 	}
 	
 	
-	public static HashMap<String, String> queryConfigTargetInfo(ISymbianSDK sdk, List<String> aliasOrMeaningArray){
+	public static HashMap<String, String> queryConfigTargetInfo(ISymbianSDK sdk, List<String> aliasOrMeaningArray) throws SBSv2MinimumVersionException{
+		
+		checkForMinimumRaptorVersion();
 		
 		List<String> argListConfigQuery = new ArrayList<String>();
 		
@@ -298,7 +309,10 @@
 		return productList;
 	}
 
-	public static ISBSv2QueryData queryFilteredConfigsForSDK(ISymbianSDK sdk) {
+	public static ISBSv2QueryData queryFilteredConfigsForSDK(ISymbianSDK sdk) throws SBSv2MinimumVersionException {
+		
+		checkForMinimumRaptorVersion();
+		
 		List<String> argListConfigQuery = new ArrayList<String>();
 		argListConfigQuery.add(QUERY_COMMAND);
 		SBSv2QueryData sbsQueryData = new SBSv2QueryData();
@@ -333,7 +347,15 @@
 		return sbsQueryData;
 	}
 
-	
+	private static boolean checkForMinimumRaptorVersion() throws SBSv2MinimumVersionException{
+		Version sbsVers = SDKCorePlugin.getSDKManager().getSBSv2Version(false);
+		if (sbsVers.compareTo(SDKCorePlugin.getSDKManager().getMinimumSupportedSBSv2Version()) >= 0)
+			return true;
+		else {
+			String message = "Raptor/SBSv2 minimum version supported in Carbide.c++ is " + SDKCorePlugin.getSDKManager().getMinimumSupportedSBSv2Version() + ". Your sbs version is " + sbsVers + ". Please update your sbs installation.";
+			throw new SBSv2MinimumVersionException(message);
+		}
+	}
 	
 	
 }