From 3cbe8ee97ca73a7d85ff2e043a06d90e351bfe2a Mon Sep 17 00:00:00 2001 From: Andrew Gvozdev Date: Thu, 10 Mar 2011 22:34:54 +0000 Subject: [PATCH] bug 319512: Missing type arguments on managedbuilder.core --- .../core/ManagedBuildManager.java | 175 ++++++++---------- .../managedbuilder/internal/core/Builder.java | 4 +- .../managedbuilder/internal/core/Tool.java | 5 +- .../internal/core/ToolChain.java | 10 +- 4 files changed, 83 insertions(+), 111 deletions(-) diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java index 2d16baeb79e..df7aa3687ee 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java @@ -210,13 +210,13 @@ public class ManagedBuildManager extends AbstractCExtension { // Resource configurations defined in the manifest files private static Map extensionResourceConfigurationMap; // Tool-chains defined in the manifest files - private static SortedMap extensionToolChainMap; + private static SortedMap extensionToolChainMap; // Tools defined in the manifest files - private static SortedMap extensionToolMap; + private static SortedMap extensionToolMap; // Target Platforms defined in the manifest files private static Map extensionTargetPlatformMap; // Builders defined in the manifest files - private static SortedMap extensionBuilderMap; + private static SortedMap extensionBuilderMap; // Options defined in the manifest files private static Map extensionOptionMap; // Option Categories defined in the manifest files @@ -251,9 +251,9 @@ public class ManagedBuildManager extends AbstractCExtension { // Environment Build Paths Change Listener private static IEnvironmentBuildPathsChangeListener fEnvironmentBuildPathsChangeListener; - private static HashMap> fSortedToolChains; - private static HashMap> fSortedTools; - private static HashMap> fSortedBuilders; + private static HashMap, List> fSortedToolChains; + private static HashMap, List> fSortedTools; + private static HashMap, List> fSortedBuilders; private static Map fInfoMap = new HashMap(); @@ -407,55 +407,54 @@ public class ManagedBuildManager extends AbstractCExtension { } /** - * Safe accessor for the map of IDs to ToolChains + * Safe internal accessor for the map of IDs to ToolChains */ - public static SortedMap getExtensionToolChainMap() { + private static SortedMap getExtensionToolChainMapInternal() { try { loadExtensions(); } catch (BuildException e) { } if (extensionToolChainMap == null) { - extensionToolChainMap = new TreeMap(); + extensionToolChainMap = new TreeMap(); } return extensionToolChainMap; } + /** + * Safe accessor for the map of IDs to ToolChains + */ + public static SortedMap getExtensionToolChainMap() { + return getExtensionToolChainMapInternal(); + } + public static IToolChain[] getExtensionToolChains() { + return getExtensionToolChainMapInternal().values().toArray(new ToolChain[extensionToolChainMap.size()]); + } + + /** + * Safe internal accessor for the map of IDs to Tools + */ + private static SortedMap getExtensionToolMapInternal() { try { loadExtensions(); } catch (BuildException e) { } - - if (extensionToolChainMap == null) { - extensionToolChainMap = new TreeMap(); + if (extensionToolMap == null) { + extensionToolMap = new TreeMap(); } - return extensionToolChainMap.values().toArray(new ToolChain[extensionToolChainMap.size()]); + return extensionToolMap; } /** * Safe accessor for the map of IDs to Tools */ - public static SortedMap getExtensionToolMap() { - try { - loadExtensions(); - } catch (BuildException e) { - } - if (extensionToolMap == null) { - extensionToolMap = new TreeMap(); - } - return extensionToolMap; + public static SortedMap getExtensionToolMap() { + return getExtensionToolMapInternal(); } - + public static ITool[] getExtensionTools() { - try { - loadExtensions(); - } catch (BuildException e) { - } - if (extensionToolMap == null) { - extensionToolMap = new TreeMap(); - } - return extensionToolMap.values().toArray(new Tool[extensionToolMap.size()]); + return getExtensionToolMapInternal().values().toArray(new Tool[extensionToolMap.size()]); } /** @@ -469,28 +468,28 @@ public class ManagedBuildManager extends AbstractCExtension { } /** - * Safe accessor for the map of IDs to Builders + * Safe internal accessor for the map of IDs to Builders */ - public static SortedMap getExtensionBuilderMap() { + private static SortedMap getExtensionBuilderMapInternal() { try { loadExtensions(); } catch (BuildException e) { } if (extensionBuilderMap == null) { - extensionBuilderMap = new TreeMap(); + extensionBuilderMap = new TreeMap(); } return extensionBuilderMap; } + /** + * Safe accessor for the map of IDs to Builders + */ + public static SortedMap getExtensionBuilderMap() { + return getExtensionBuilderMapInternal(); + } + public static IBuilder[] getExtensionBuilders() { - try { - loadExtensions(); - } catch (BuildException e) { - } - if (extensionBuilderMap == null) { - extensionBuilderMap = new TreeMap(); - } - return extensionBuilderMap.values().toArray(new Builder[extensionBuilderMap.size()]); + return getExtensionBuilderMapInternal().values().toArray(new Builder[extensionBuilderMap.size()]); } /** @@ -635,15 +634,7 @@ public class ManagedBuildManager extends AbstractCExtension { * or {@code null}. */ public static IToolChain getExtensionToolChain(String id) { - try { - // Make sure the extensions are loaded - loadExtensions(); - } catch (BuildException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - return getExtensionToolChainMap().get(id); + return getExtensionToolChainMapInternal().get(id); } /** @@ -651,15 +642,7 @@ public class ManagedBuildManager extends AbstractCExtension { * or {@code null}. */ public static ITool getExtensionTool(String id) { - try { - // Make sure the extensions are loaded - loadExtensions(); - } catch (BuildException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - return getExtensionToolMap().get(id); + return getExtensionToolMapInternal().get(id); } /** @@ -683,15 +666,7 @@ public class ManagedBuildManager extends AbstractCExtension { * or {@code null}. */ public static IBuilder getExtensionBuilder(String id) { - try { - // Make sure the extensions are loaded - loadExtensions(); - } catch (BuildException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - return getExtensionBuilderMap().get(id); + return getExtensionBuilderMapInternal().get(id); } public static IBuilder getExtensionBuilder(IBuilder builder) { @@ -1735,7 +1710,7 @@ public class ManagedBuildManager extends AbstractCExtension { * has a reference to it as part of its description. */ public static void addExtensionToolChain(ToolChain toolChain) { - IToolChain previous = getExtensionToolChainMap().put(toolChain.getId(), toolChain); + IToolChain previous = getExtensionToolChainMapInternal().put(toolChain.getId(), toolChain); if (previous != null) { // Report error ManagedBuildManager.outputDuplicateIdError( @@ -1752,7 +1727,7 @@ public class ManagedBuildManager extends AbstractCExtension { * only once. */ public static void addExtensionTool(Tool tool) { - ITool previous = getExtensionToolMap().put(tool.getId(), tool); + ITool previous = getExtensionToolMapInternal().put(tool.getId(), tool); if (previous != null) { // Report error ManagedBuildManager.outputDuplicateIdError( @@ -1782,7 +1757,7 @@ public class ManagedBuildManager extends AbstractCExtension { * has a reference to it as part of its description. */ public static void addExtensionBuilder(Builder builder) { - IBuilder previous = getExtensionBuilderMap().put(builder.getId(), builder); + IBuilder previous = getExtensionBuilderMapInternal().put(builder.getId(), builder); if (previous != null) { // Report error ManagedBuildManager.outputDuplicateIdError( @@ -2133,7 +2108,7 @@ public class ManagedBuildManager extends AbstractCExtension { return buildInfo; } - /* (non-Javadoc) + /** * This method loads all of the managed build system manifest files * that have been installed with CDT. An internal hierarchy of * objects is created that contains the information from the manifest @@ -2284,19 +2259,19 @@ public class ManagedBuildManager extends AbstractCExtension { ex.printStackTrace(); } } - Collection toolChains = getExtensionToolChainMap().values(); - for (IToolChain toolChain : toolChains) { + Collection toolChains = getExtensionToolChainMapInternal().values(); + for (ToolChain toolChain : toolChains) { try { - ((ToolChain) toolChain).resolveReferences(); + toolChain.resolveReferences(); } catch (Exception ex) { // TODO: log ex.printStackTrace(); } } - Collection tools = getExtensionToolMap().values(); - for (ITool tool : tools) { + Collection tools = getExtensionToolMapInternal().values(); + for (Tool tool : tools) { try { - ((Tool) tool).resolveReferences(); + tool.resolveReferences(); } catch (Exception ex) { // TODO: log ex.printStackTrace(); @@ -2311,10 +2286,10 @@ public class ManagedBuildManager extends AbstractCExtension { ex.printStackTrace(); } } - Collection builders = getExtensionBuilderMap().values(); - for (IBuilder builder : builders) { + Collection builders = getExtensionBuilderMapInternal().values(); + for (Builder builder : builders) { try { - ((Builder) builder).resolveReferences(); + builder.resolveReferences(); } catch (Exception ex) { // TODO: log ex.printStackTrace(); @@ -2384,10 +2359,10 @@ public class ManagedBuildManager extends AbstractCExtension { } } // The V2 model can also add top-level Tools - they need to be "resolved" - Collection tools = getExtensionToolMap().values(); - for (ITool tool : tools) { + Collection tools = getExtensionToolMapInternal().values(); + for (Tool tool : tools) { try { - ((Tool) tool).resolveReferences(); + tool.resolveReferences(); } catch (Exception ex) { // TODO: log ex.printStackTrace(); @@ -4059,7 +4034,7 @@ public class ManagedBuildManager extends AbstractCExtension { /* private static List getSortedToolChains(){ if(sortedToolChains == null){ sortedToolChains = new ArrayList(); - SortedMap map = getExtensionToolChainMap(); + SortedMap map = getExtensionToolChainMapInternal(); for(Iterator iter = map.values().iterator(); iter.hasNext();){ ToolChain tc = (ToolChain)iter.next(); if(tc.isAbstract()) @@ -4198,31 +4173,31 @@ public class ManagedBuildManager extends AbstractCExtension { } */ - private static HashMap> getSortedToolChains(){ + private static HashMap, List> getSortedToolChains(){ if(fSortedToolChains == null){ - Collection toolChains = (Collection)ManagedBuildManager.getExtensionToolChainMap().values(); - fSortedToolChains = (HashMap)getSortedElements(toolChains); + Collection toolChains = getExtensionToolChainMapInternal().values(); + fSortedToolChains = getSortedElements(toolChains); } return fSortedToolChains; } - private static HashMap> getSortedTools(){ + private static HashMap, List> getSortedTools(){ if(fSortedTools == null){ - Collection tools = (Collection)ManagedBuildManager.getExtensionToolMap().values(); - fSortedTools = (HashMap)getSortedElements(tools); + Collection tools = getExtensionToolMapInternal().values(); + fSortedTools = getSortedElements(tools); } return fSortedTools; } - private static HashMap> getSortedBuilders(){ + private static HashMap, List> getSortedBuilders(){ if(fSortedBuilders == null){ - Collection builders = (Collection)ManagedBuildManager.getExtensionBuilderMap().values(); - fSortedBuilders = (HashMap)getSortedElements(builders); + Collection builders = getExtensionBuilderMapInternal().values(); + fSortedBuilders = getSortedElements(builders); } return fSortedBuilders; } - private static > HashMap, List> getSortedElements(Collection elements){ + private static > HashMap, List> getSortedElements(Collection elements){ HashMap, List> map = new HashMap, List>(); for (T p : elements) { MatchKey key = p.getMatchKey(); @@ -4246,7 +4221,7 @@ public class ManagedBuildManager extends AbstractCExtension { } public static IToolChain[] getRealToolChains(){ - HashMap> map = getSortedToolChains(); + HashMap, List> map = getSortedToolChains(); IToolChain tcs[] = new ToolChain[map.size()]; int i = 0; for (List list : map.values()) { @@ -4256,7 +4231,7 @@ public class ManagedBuildManager extends AbstractCExtension { } public static ITool[] getRealTools(){ - HashMap> map = getSortedTools(); + HashMap, List> map = getSortedTools(); Tool ts[] = new Tool[map.size()]; int i = 0; for (List list : map.values()) { @@ -4266,7 +4241,7 @@ public class ManagedBuildManager extends AbstractCExtension { } public static IBuilder[] getRealBuilders(){ - HashMap> map = getSortedBuilders(); + HashMap, List> map = getSortedBuilders(); IBuilder bs[] = new Builder[map.size()]; int i = 0; for (List list : map.values()) { @@ -4383,7 +4358,7 @@ public class ManagedBuildManager extends AbstractCExtension { } public static IToolChain[] getExtensionsToolChains(String propertyType, String propertyValue, boolean supportedPropsOnly){ - HashMap> all = getSortedToolChains(); + HashMap, List> all = getSortedToolChains(); List result = new ArrayList(); for (List list : all.values()) { IToolChain tc = findToolChain(list, propertyType, propertyValue, supportedPropsOnly); diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java index 0fba97e2a68..0b66a2ac28f 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Builder.java @@ -1418,7 +1418,7 @@ public class Builder extends HoldsOptions implements IBuilder, IMatchKeyProvider String high = ManagedBuildManager .getExtensionBuilderMap().lastKey(); - SortedMap subMap = null; + SortedMap subMap = null; if (superClassId.compareTo(high) <= 0) { subMap = ManagedBuildManager.getExtensionBuilderMap().subMap(superClassId, high + "\0"); //$NON-NLS-1$ } else { @@ -1443,7 +1443,7 @@ public class Builder extends HoldsOptions implements IBuilder, IMatchKeyProvider String version = ManagedBuildManager .getVersionFromIdAndVersion(superClassId); - Collection c = subMap.values(); + Collection c = subMap.values(); IBuilder[] builderElements = c.toArray(new IBuilder[c.size()]); for (int i = 0; i < builderElements.length; i++) { diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java index 7701f917a0b..3e63eab7a57 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java @@ -3067,10 +3067,9 @@ public class Tool extends HoldsOptions implements ITool, IOptionCategory, IMatch // If 'getSuperClass()' is null, then there is no tool available in // plugin manifest file with the same 'id' & version. // Look for the 'versionsSupported' attribute - String high = ManagedBuildManager.getExtensionToolMap() - .lastKey(); + String high = ManagedBuildManager.getExtensionToolMap().lastKey(); - SortedMap subMap = null; + SortedMap subMap = null; if (superClassId.compareTo(high) <= 0) { subMap = ManagedBuildManager.getExtensionToolMap().subMap( superClassId, high + "\0"); //$NON-NLS-1$ diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/ToolChain.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/ToolChain.java index 78df6d4de61..4223db25ab3 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/ToolChain.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/ToolChain.java @@ -30,7 +30,6 @@ import org.eclipse.cdt.internal.core.cdtvariables.StorableCdtVariables; import org.eclipse.cdt.managedbuilder.buildproperties.IBuildPropertyType; import org.eclipse.cdt.managedbuilder.buildproperties.IBuildPropertyValue; import org.eclipse.cdt.managedbuilder.core.IBuildObject; -import org.eclipse.cdt.managedbuilder.core.IBuildPropertiesRestriction; import org.eclipse.cdt.managedbuilder.core.IBuilder; import org.eclipse.cdt.managedbuilder.core.IConfiguration; import org.eclipse.cdt.managedbuilder.core.IFolderInfo; @@ -57,7 +56,7 @@ import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Platform; import org.osgi.framework.Version; -public class ToolChain extends HoldsOptions implements IToolChain, IBuildPropertiesRestriction, IMatchKeyProvider, IRealBuildObjectAssociation { +public class ToolChain extends HoldsOptions implements IToolChain, IMatchKeyProvider, IRealBuildObjectAssociation { private static final String EMPTY_STRING = new String(); @@ -1870,10 +1869,9 @@ public class ToolChain extends HoldsOptions implements IToolChain, IBuildPropert // If 'getSuperClass()' is null, then there is no toolchain available in // plugin manifest file with the 'id' & version. // Look for the 'versionsSupported' attribute - String high = ManagedBuildManager - .getExtensionToolChainMap().lastKey(); + String high = ManagedBuildManager.getExtensionToolChainMap().lastKey(); - SortedMap subMap = null; + SortedMap subMap = null; if (superClassId.compareTo(high) <= 0) { subMap = ManagedBuildManager.getExtensionToolChainMap().subMap( superClassId, high + "\0"); //$NON-NLS-1$ @@ -1895,7 +1893,7 @@ public class ToolChain extends HoldsOptions implements IToolChain, IBuildPropert String baseId = ManagedBuildManager.getIdFromIdAndVersion(superClassId); String version = getVersionFromId().toString(); - Collection c = subMap.values(); + Collection c = subMap.values(); IToolChain[] toolChainElements = c.toArray(new IToolChain[c.size()]); for (int i = 0; i < toolChainElements.length; i++) {