1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

bug 289608: [Scanner Discovery] Discovery options does not offer profiles defined in supertypes in project properties

cleanup only: java generics + loops to enhanced
This commit is contained in:
Andrew Gvozdev 2009-09-16 15:23:43 +00:00
parent 50277413ca
commit d0dd8c648e

View file

@ -11,8 +11,8 @@
package org.eclipse.cdt.build.internal.core.scannerconfig2; package org.eclipse.cdt.build.internal.core.scannerconfig2;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import org.eclipse.cdt.build.core.scannerconfig.CfgInfoContext; import org.eclipse.cdt.build.core.scannerconfig.CfgInfoContext;
import org.eclipse.cdt.build.core.scannerconfig.ICfgScannerConfigBuilderInfo2Set; import org.eclipse.cdt.build.core.scannerconfig.ICfgScannerConfigBuilderInfo2Set;
@ -62,17 +62,17 @@ public class CfgScannerConfigInfoFactory2 {
// private HashMap map; // private HashMap map;
CfgInfo(Configuration cfg){ CfgInfo(Configuration cfg){
this.cfg = (Configuration)cfg; this.cfg = cfg;
// init(); // init();
} }
public CfgInfoContext[] getContexts() { public CfgInfoContext[] getContexts() {
Map map = createMap(); Map<CfgInfoContext, IScannerConfigBuilderInfo2> map = createMap();
return (CfgInfoContext[])map.keySet().toArray(new CfgInfoContext[map.size()]); return map.keySet().toArray(new CfgInfoContext[map.size()]);
} }
public IScannerConfigBuilderInfo2 getInfo(CfgInfoContext context) { public IScannerConfigBuilderInfo2 getInfo(CfgInfoContext context) {
return (IScannerConfigBuilderInfo2)createMap().get(context); return createMap().get(context);
// IScannerConfigBuilderInfo2 info = null; // IScannerConfigBuilderInfo2 info = null;
// if(!isPerRcTypeDiscovery()){ // if(!isPerRcTypeDiscovery()){
// info = cfg.getScannerConfigInfo(); // info = cfg.getScannerConfigInfo();
@ -122,13 +122,13 @@ public class CfgScannerConfigInfoFactory2 {
return fContainer; return fContainer;
} }
private Map createMap(){ private Map<CfgInfoContext, IScannerConfigBuilderInfo2> createMap(){
HashMap map = new HashMap(); HashMap<CfgInfoContext, IScannerConfigBuilderInfo2> map = new HashMap<CfgInfoContext, IScannerConfigBuilderInfo2>();
try{ try{
IScannerConfigBuilderInfo2Set container = getContainer(); IScannerConfigBuilderInfo2Set container = getContainer();
boolean isPerRcType = cfg.isPerRcTypeDiscovery(); boolean isPerRcType = cfg.isPerRcTypeDiscovery();
Map baseMap = container.getInfoMap(); Map<InfoContext, IScannerConfigBuilderInfo2> baseMap = container.getInfoMap();
if(!isPerRcType){ if(!isPerRcType){
CfgInfoContext c = new CfgInfoContext(cfg); CfgInfoContext c = new CfgInfoContext(cfg);
InfoContext baseContext = c.toInfoContext(); InfoContext baseContext = c.toInfoContext();
@ -159,7 +159,7 @@ public class CfgScannerConfigInfoFactory2 {
} }
map.put(new CfgInfoContext(cfg), info); map.put(new CfgInfoContext(cfg), info);
} else { } else {
Map configMap = getConfigInfoMap(baseMap); Map<CfgInfoContext, IScannerConfigBuilderInfo2> configMap = getConfigInfoMap(baseMap);
IResourceInfo[] rcInfos = cfg.getResourceInfos(); IResourceInfo[] rcInfos = cfg.getResourceInfos();
for(int i = 0; i < rcInfos.length; i++){ for(int i = 0; i < rcInfos.length; i++){
@ -179,12 +179,12 @@ public class CfgScannerConfigInfoFactory2 {
CfgInfoContext context = new CfgInfoContext(rcInfo, tool, type); CfgInfoContext context = new CfgInfoContext(rcInfo, tool, type);
context = CfgScannerConfigUtil.adjustPerRcTypeContext(context); context = CfgScannerConfigUtil.adjustPerRcTypeContext(context);
if(context != null && context.getResourceInfo() != null){ if(context != null && context.getResourceInfo() != null){
IScannerConfigBuilderInfo2 info = (IScannerConfigBuilderInfo2)configMap.get(context); IScannerConfigBuilderInfo2 info = configMap.get(context);
if(info == null && !type.isExtensionElement() && type.getSuperClass() != null){ if(info == null && !type.isExtensionElement() && type.getSuperClass() != null){
CfgInfoContext superContext = new CfgInfoContext(rcInfo, tool, type.getSuperClass()); CfgInfoContext superContext = new CfgInfoContext(rcInfo, tool, type.getSuperClass());
superContext = CfgScannerConfigUtil.adjustPerRcTypeContext(superContext); superContext = CfgScannerConfigUtil.adjustPerRcTypeContext(superContext);
if(superContext != null && superContext.getResourceInfo() != null){ if(superContext != null && superContext.getResourceInfo() != null){
info = (IScannerConfigBuilderInfo2)configMap.get(superContext); info = configMap.get(superContext);
} }
String id = CfgScannerConfigUtil.getDefaultProfileId(context, true); String id = CfgScannerConfigUtil.getDefaultProfileId(context, true);
InfoContext baseContext = context.toInfoContext(); InfoContext baseContext = context.toInfoContext();
@ -213,7 +213,7 @@ public class CfgScannerConfigInfoFactory2 {
CfgInfoContext context = new CfgInfoContext(rcInfo, tool, null); CfgInfoContext context = new CfgInfoContext(rcInfo, tool, null);
context = CfgScannerConfigUtil.adjustPerRcTypeContext(context); context = CfgScannerConfigUtil.adjustPerRcTypeContext(context);
if(context != null && context.getResourceInfo() != null){ if(context != null && context.getResourceInfo() != null){
IScannerConfigBuilderInfo2 info = (IScannerConfigBuilderInfo2)configMap.get(context); IScannerConfigBuilderInfo2 info = configMap.get(context);
if(info == null){ if(info == null){
String id = CfgScannerConfigUtil.getDefaultProfileId(context, true); String id = CfgScannerConfigUtil.getDefaultProfileId(context, true);
InfoContext baseContext = context.toInfoContext(); InfoContext baseContext = context.toInfoContext();
@ -232,11 +232,10 @@ public class CfgScannerConfigInfoFactory2 {
} }
if(!configMap.isEmpty()){ if(!configMap.isEmpty()){
for(Iterator iter = configMap.entrySet().iterator(); iter.hasNext();){ for (Entry<CfgInfoContext, IScannerConfigBuilderInfo2> entry : configMap.entrySet()) {
Map.Entry entry = (Map.Entry)iter.next();
if(map.containsKey(entry.getKey())) if(map.containsKey(entry.getKey()))
continue; continue;
CfgInfoContext c = (CfgInfoContext)entry.getKey(); CfgInfoContext c = entry.getKey();
if(c.getResourceInfo() != null || c.getTool() != null || c.getInputType() != null){ if(c.getResourceInfo() != null || c.getTool() != null || c.getInputType() != null){
InfoContext baseC = c.toInfoContext(); InfoContext baseC = c.toInfoContext();
if(!baseC.isDefaultContext()) if(!baseC.isDefaultContext())
@ -252,15 +251,14 @@ public class CfgScannerConfigInfoFactory2 {
return map; return map;
} }
private Map getConfigInfoMap(Map baseMap){ private Map<CfgInfoContext, IScannerConfigBuilderInfo2> getConfigInfoMap(Map<InfoContext, IScannerConfigBuilderInfo2> baseMap){
Map map = new HashMap(); Map<CfgInfoContext, IScannerConfigBuilderInfo2> map = new HashMap<CfgInfoContext, IScannerConfigBuilderInfo2>();
for(Iterator iter = baseMap.entrySet().iterator(); iter.hasNext();){ for (Entry<InfoContext, IScannerConfigBuilderInfo2> entry : baseMap.entrySet()) {
Map.Entry entry = (Map.Entry)iter.next(); InfoContext baseContext = entry.getKey();
InfoContext baseContext = (InfoContext)entry.getKey();
CfgInfoContext c = CfgInfoContext.fromInfoContext(cfg, baseContext); CfgInfoContext c = CfgInfoContext.fromInfoContext(cfg, baseContext);
if(c != null){ if(c != null){
IScannerConfigBuilderInfo2 info = (IScannerConfigBuilderInfo2)entry.getValue(); IScannerConfigBuilderInfo2 info = entry.getValue();
map.put(c, info); map.put(c, info);
} }
} }
@ -268,7 +266,7 @@ public class CfgScannerConfigInfoFactory2 {
return map; return map;
} }
public Map getInfoMap() { public Map<CfgInfoContext,IScannerConfigBuilderInfo2> getInfoMap() {
return createMap(); return createMap();
} }