52 |
52 |
53 public static final String QUERY_PRODUCTS_COMMAND = "--query=products"; |
53 public static final String QUERY_PRODUCTS_COMMAND = "--query=products"; |
54 public static final String QUERY_CONFIG_COMMAND = "--query=config"; |
54 public static final String QUERY_CONFIG_COMMAND = "--query=config"; |
55 public static final String QUERY_COMMAND = "--query=aliases"; |
55 public static final String QUERY_COMMAND = "--query=aliases"; |
56 |
56 |
57 public static ISBSv2QueryData queryAliasAndProductVariants() { |
57 public static HashMap<String, String> getAliasesForSDK(ISymbianSDK sdk){ |
|
58 List<String> argListAliasQuery = new ArrayList<String>(); |
|
59 argListAliasQuery.add(QUERY_COMMAND); |
|
60 |
|
61 Properties envVars = EnvironmentReader.getEnvVars(); |
|
62 if (sdk != null){ |
|
63 envVars.setProperty("EPOCROOT", sdk.getEPOCROOT()); |
|
64 } else { |
|
65 envVars.setProperty("EPOCROOT", "FOOBAR"); |
|
66 } |
|
67 |
|
68 String queryResult = getSBSQueryOutput(argListAliasQuery, createEnvStringList(envVars)); |
|
69 |
|
70 return parseQueryAliasResult(queryResult); |
|
71 } |
|
72 |
|
73 public static List<String> getProductVariantsForSDK(ISymbianSDK sdk){ |
|
74 List<String> argListProductQuery = new ArrayList<String>(); |
|
75 |
|
76 Properties envVars = EnvironmentReader.getEnvVars(); |
|
77 if (sdk != null){ |
|
78 envVars.setProperty("EPOCROOT", sdk.getEPOCROOT()); |
|
79 } else { |
|
80 envVars.setProperty("EPOCROOT", "FOOBAR"); |
|
81 } |
|
82 |
|
83 argListProductQuery.add(QUERY_PRODUCTS_COMMAND); |
|
84 String queryResult = getSBSQueryOutput(argListProductQuery, createEnvStringList(envVars)); |
|
85 return parseQueryProductsResults(queryResult); |
|
86 } |
|
87 |
|
88 public static String getConfigQueryXML(ISymbianSDK sdk, List<String> aliasOrMeaningArray){ |
|
89 |
58 List<String> argListConfigQuery = new ArrayList<String>(); |
90 List<String> argListConfigQuery = new ArrayList<String>(); |
59 List<String> argListProductQuery = new ArrayList<String>(); |
91 |
60 argListConfigQuery.add(QUERY_COMMAND); |
92 for (String alias : aliasOrMeaningArray){ |
61 SBSv2QueryData sbsQueryData = new SBSv2QueryData(); |
93 argListConfigQuery.add(QUERY_CONFIG_COMMAND + "[" + alias + "]"); |
62 |
94 } |
63 /////// Invoke Raptor once with no EPOCROOT |
95 |
64 Properties envVars = EnvironmentReader.getEnvVars(); |
96 Properties envVars = null; |
65 envVars.setProperty("EPOCROOT", "FOOBAR"); |
97 if (sdk != null){ |
66 String queryResult = getSBSQueryOutput(argListConfigQuery, createEnvStringList(envVars)); |
98 File epocRoot = new File(sdk.getEPOCROOT()); |
67 |
99 if (epocRoot.exists()){ |
68 HashMap<String, String> sbsAliasMap = parseQueryAliasResult(queryResult); |
100 envVars = EnvironmentReader.getEnvVars(); |
69 |
101 envVars.setProperty("EPOCROOT", sdk.getEPOCROOT()); |
70 for (String aliasKey : sbsAliasMap.keySet()){ |
|
71 String meaning = sbsAliasMap.get(aliasKey); |
|
72 SBSv2ConfigData oneSBSConfig = new SBSv2ConfigData(aliasKey, meaning, null); |
|
73 sbsQueryData.addConfigurationData(null, oneSBSConfig); |
|
74 } |
|
75 |
|
76 /////// Do for each SDK to build up the alias list... |
|
77 for (ISymbianSDK sdk : SDKCorePlugin.getSDKManager().getSDKList()){ |
|
78 IPath epocRoot = new Path(sdk.getEPOCROOT()); |
|
79 if ((sdk.getOSVersion().getMajor() <= 9 && sdk.getOSVersion().getMinor() <5) |
|
80 || !epocRoot.toFile().exists()){ |
|
81 |
|
82 continue; // skip it, the sdk is not supported or broken |
|
83 } |
102 } |
84 |
103 } |
85 envVars = EnvironmentReader.getEnvVars(); |
104 return getSBSQueryOutput(argListConfigQuery, createEnvStringList(envVars)); |
86 envVars.setProperty("EPOCROOT", sdk.getEPOCROOT()); |
105 } |
87 |
106 |
88 queryResult = getSBSQueryOutput(argListConfigQuery, createEnvStringList(envVars)); |
107 |
89 |
108 public static HashMap<String, String> queryConfigTargetInfo(ISymbianSDK sdk, List<String> aliasOrMeaningArray){ |
90 sbsAliasMap = parseQueryAliasResult(queryResult); |
|
91 |
|
92 for (String aliasKey : sbsAliasMap.keySet()){ |
|
93 String meaning = sbsAliasMap.get(aliasKey); |
|
94 SBSv2ConfigData oneSBSConfig = new SBSv2ConfigData(aliasKey, meaning, sdk); |
|
95 sbsQueryData.addConfigurationData(sdk, oneSBSConfig); |
|
96 } |
|
97 |
|
98 // Now get the products for each SDK |
|
99 argListProductQuery.add(QUERY_PRODUCTS_COMMAND); |
|
100 queryResult = getSBSQueryOutput(argListProductQuery, createEnvStringList(envVars)); |
|
101 List<String> productList = parseQueryProductsResults(queryResult); |
|
102 sbsQueryData.addProductListForSDK(sdk, productList); |
|
103 } |
|
104 |
|
105 return sbsQueryData; |
|
106 } |
|
107 |
|
108 public static HashMap<String, String> queryConfigTargetInfo(List<String> aliasOrMeaningArray, ISymbianSDK sdk){ |
|
109 |
109 |
110 List<String> argListConfigQuery = new ArrayList<String>(); |
110 List<String> argListConfigQuery = new ArrayList<String>(); |
111 |
111 |
112 for (String alias : aliasOrMeaningArray){ |
112 for (String alias : aliasOrMeaningArray){ |
113 argListConfigQuery.add(QUERY_CONFIG_COMMAND + "[" + alias + "]"); |
113 argListConfigQuery.add(QUERY_CONFIG_COMMAND + "[" + alias + "]"); |
297 } |
296 } |
298 |
297 |
299 return productList; |
298 return productList; |
300 } |
299 } |
301 |
300 |
|
301 public static ISBSv2QueryData queryFilteredConfigsForSDK(ISymbianSDK sdk) { |
|
302 List<String> argListConfigQuery = new ArrayList<String>(); |
|
303 argListConfigQuery.add(QUERY_COMMAND); |
|
304 SBSv2QueryData sbsQueryData = new SBSv2QueryData(); |
|
305 |
|
306 IPath epocRoot = new Path(sdk.getEPOCROOT()); |
|
307 if ((sdk.getOSVersion().getMajor() <= 9 && sdk.getOSVersion() |
|
308 .getMinor() < 5) || !epocRoot.toFile().exists()) { |
|
309 |
|
310 return null; // skip it, the sdk is not supported or broken |
|
311 } |
|
312 |
|
313 Properties envVars = EnvironmentReader.getEnvVars(); |
|
314 envVars.setProperty("EPOCROOT", sdk.getEPOCROOT()); |
|
315 |
|
316 String queryResult = getSBSQueryOutput(argListConfigQuery, |
|
317 createEnvStringList(envVars)); |
|
318 |
|
319 HashMap<String, String> sbsAliasMap = parseQueryAliasResult(queryResult); |
|
320 |
|
321 List<String> aliasFilterList = SBSv2Utils.getSBSv2FilteredConfigs(); |
|
322 for (String aliasKey : sbsAliasMap.keySet()) { |
|
323 |
|
324 if (!aliasFilterList.contains(aliasKey)) |
|
325 continue; |
|
326 |
|
327 String meaning = sbsAliasMap.get(aliasKey); |
|
328 SBSv2ConfigData oneSBSConfig = new SBSv2ConfigData(aliasKey, |
|
329 meaning, sdk); |
|
330 sbsQueryData.addConfigurationData(sdk, oneSBSConfig); |
|
331 } |
|
332 |
|
333 return sbsQueryData; |
|
334 } |
|
335 |
302 |
336 |
303 |
337 |
304 |
338 |
305 } |
339 } |