diff options
-rw-r--r-- | org.eclipse.core.variables/META-INF/MANIFEST.MF | 2 | ||||
-rw-r--r-- | org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java | 19 |
2 files changed, 17 insertions, 4 deletions
diff --git a/org.eclipse.core.variables/META-INF/MANIFEST.MF b/org.eclipse.core.variables/META-INF/MANIFEST.MF index 9ab0c461e..eb43f8008 100644 --- a/org.eclipse.core.variables/META-INF/MANIFEST.MF +++ b/org.eclipse.core.variables/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.core.variables; singleton:=true -Bundle-Version: 3.2.100.qualifier +Bundle-Version: 3.2.200.qualifier Bundle-Activator: org.eclipse.core.variables.VariablesPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java index 6338cda8b..fe3e8d69a 100644 --- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java +++ b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. + * Copyright (c) 2000, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * IBM Corporation - initial API and implementation + * Stefan Liebig - Bug 242685 StringVariableManager - Variable contributions may silently override existing variables *******************************************************************************/ package org.eclipse.core.internal.variables; @@ -224,7 +225,13 @@ public class StringVariableManager implements IStringVariableManager, IPropertyC } String description= element.getAttribute(ATTR_DESCRIPTION); DynamicVariable variable= new DynamicVariable(name, description, element); - fDynamicVariables.put(variable.getName(), variable); + Object old = fDynamicVariables.put(variable.getName(), variable); + if (old != null) { + DynamicVariable oldVariable = (DynamicVariable)old; + VariablesPlugin.logMessage(NLS.bind("Dynamic variable extension from bundle ''{0}'' overrides existing extension variable ''{1}'' from bundle ''{2}''", //$NON-NLS-1$ + new String[] {element.getDeclaringExtension().getContributor().getName(),oldVariable.getName(), + oldVariable.getConfigurationElement().getDeclaringExtension().getContributor().getName()}), null); + } } } @@ -245,7 +252,13 @@ public class StringVariableManager implements IStringVariableManager, IPropertyC boolean isReadOnly = TRUE_VALUE.equals(element.getAttribute(ATTR_READ_ONLY)); IValueVariable variable = new ContributedValueVariable(name, description, isReadOnly, element); - fValueVariables.put(name, variable); + Object old = fValueVariables.put(name, variable); + if (old != null) { + StringVariable oldVariable = (StringVariable)old; + VariablesPlugin.logMessage(NLS.bind("Contributed variable extension from bundle ''{0}'' overrides existing extension variable ''{1}'' from bundle ''{2}''", //$NON-NLS-1$ + new String[] {element.getDeclaringExtension().getContributor().getName(),oldVariable.getName(), + oldVariable.getConfigurationElement().getDeclaringExtension().getContributor().getName()}), null); + } } } |