From 7250f46995cdf549fff1a87b1b8805a5dfb6620b Mon Sep 17 00:00:00 2001 From: Andrew Gvozdev Date: Sat, 26 Nov 2011 19:57:11 -0500 Subject: [PATCH] Removed UserLanguageSettingsProvider in favor of LanguageSettingsGenericProvider --- .../LanguageSettingsExtensionsTests.java | 9 ++++ .../LanguageSettingsGenericProvider.java | 10 ++-- .../LanguageSettingsSerializableEditable.java | 28 ----------- .../LanguageSettingsExtensionManager.java | 4 ++ core/org.eclipse.cdt.ui/plugin.xml | 2 +- .../providers/LanguageSettingsEntriesTab.java | 2 +- .../UserLanguageSettingsProvider.java | 47 ------------------- 7 files changed, 20 insertions(+), 82 deletions(-) delete mode 100644 core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsSerializableEditable.java delete mode 100644 core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/UserLanguageSettingsProvider.java diff --git a/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsExtensionsTests.java b/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsExtensionsTests.java index 2869db7d782..79aaaa3056f 100644 --- a/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsExtensionsTests.java +++ b/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsExtensionsTests.java @@ -324,4 +324,13 @@ public class LanguageSettingsExtensionsTests extends BaseTestCase { } } + /** + * Check that LanguageSettingsGenericProvider extension defined in plugin.xml is accessible. + */ + public void testExtensionGenericProvider() throws Exception { + ILanguageSettingsProvider provider = LanguageSettingsExtensionManager.getExtensionProviderClone(LanguageSettingsManager_TBD.PROVIDER_UI_USER); + assertNotNull("extension " + LanguageSettingsManager_TBD.PROVIDER_UI_USER + " not found", provider); + assertTrue(provider instanceof LanguageSettingsGenericProvider); + } + } diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsGenericProvider.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsGenericProvider.java index 0439cf26051..f920aa29d3f 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsGenericProvider.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsGenericProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2011 Andrew Gvozdev and others. + * Copyright (c) 2011, 2011 Andrew Gvozdev 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 @@ -12,17 +12,17 @@ package org.eclipse.cdt.core.language.settings.providers; /** - * TODO + * Generic implementation of language settings provider which can be edited in UI + * with entries persisted between eclipse sessions. */ -final public class LanguageSettingsGenericProvider extends LanguageSettingsSerializableProvider implements ILanguageSettingsEditableProvider { +final public class LanguageSettingsGenericProvider extends LanguageSettingsSerializableProvider + implements ILanguageSettingsEditableProvider { @Override public LanguageSettingsGenericProvider clone() throws CloneNotSupportedException { return (LanguageSettingsGenericProvider) super.clone(); } - @Override public LanguageSettingsGenericProvider cloneShallow() throws CloneNotSupportedException { return (LanguageSettingsGenericProvider) super.cloneShallow(); } - } diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsSerializableEditable.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsSerializableEditable.java deleted file mode 100644 index dd49ebc7a8e..00000000000 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/language/settings/providers/LanguageSettingsSerializableEditable.java +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2011 Andrew Gvozdev 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 - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Andrew Gvozdev - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.core.language.settings.providers; - -// TODO: move ILanguageSettingsEditableProvider here - -// TODO this one is unused - remove -final public class LanguageSettingsSerializableEditable extends LanguageSettingsSerializableProvider implements ILanguageSettingsEditableProvider { - @Override - public LanguageSettingsSerializableEditable clone() throws CloneNotSupportedException { - return (LanguageSettingsSerializableEditable) super.clone(); - } - - @Override - public LanguageSettingsSerializableEditable cloneShallow() throws CloneNotSupportedException { - return (LanguageSettingsSerializableEditable) super.cloneShallow(); - } - -} diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsExtensionManager.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsExtensionManager.java index 4a0e688b4ce..f19f6833b47 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsExtensionManager.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsExtensionManager.java @@ -265,6 +265,10 @@ public class LanguageSettingsExtensionManager { if (className.equals(LanguageSettingsGenericProvider.class.getName())) { return new LanguageSettingsGenericProvider(); } + // FIXME - older usage, will fade it out + if (className.equals("org.eclipse.cdt.internal.ui.language.settings.providers.UserLanguageSettingsProvider")) { + return new LanguageSettingsGenericProvider(); + } ILanguageSettingsProvider provider = createProviderCarcass(className, Platform.getExtensionRegistry()); if (provider==null) { diff --git a/core/org.eclipse.cdt.ui/plugin.xml b/core/org.eclipse.cdt.ui/plugin.xml index 44ec840d861..4cbf7d648df 100644 --- a/core/org.eclipse.cdt.ui/plugin.xml +++ b/core/org.eclipse.cdt.ui/plugin.xml @@ -3797,7 +3797,7 @@ diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsEntriesTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsEntriesTab.java index 36048bed7fa..4f01895a27f 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsEntriesTab.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsEntriesTab.java @@ -551,7 +551,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab { } if (status==null || status==Status.OK_STATUS) { ILanguageSettingsProvider provider = getSelectedProvider(); - if (provider!=null && !(provider instanceof UserLanguageSettingsProvider)) { + if (provider!=null && !(provider instanceof ILanguageSettingsBroadcastingProvider)) { String msg = "Setting entries for this provider are supplied by system and are not editable."; status = new Status(IStatus.INFO, CUIPlugin.PLUGIN_ID, msg); } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/UserLanguageSettingsProvider.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/UserLanguageSettingsProvider.java deleted file mode 100644 index cdc60c747e1..00000000000 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/UserLanguageSettingsProvider.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 2011 Andrew Gvozdev) 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 - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Andrew Gvozdev - initial API and implementation - *******************************************************************************/ - -package org.eclipse.cdt.internal.ui.language.settings.providers; - -import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsEditableProvider; -import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsSerializableProvider; - -/** - * Provider to support user interface for language settings. The important difference with - * {@link LanguageSettingsSerializableProvider} is that it implements {@link ILanguageSettingsEditableProvider}. - * - */ -public class UserLanguageSettingsProvider extends LanguageSettingsSerializableProvider implements ILanguageSettingsEditableProvider { - - @Override - public int hashCode() { - return super.hashCode()*13 + 1; - } - - @Override - public boolean equals(Object o) { - if (o instanceof UserLanguageSettingsProvider) { - return super.equals(o); - } - return false; - } - - @Override - public UserLanguageSettingsProvider cloneShallow() throws CloneNotSupportedException { - return (UserLanguageSettingsProvider)super.cloneShallow(); - } - - @Override - public UserLanguageSettingsProvider clone() throws CloneNotSupportedException { - return (UserLanguageSettingsProvider)super.clone(); - } - -}