mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-09 10:46:02 +02:00
Generalize properties for LanguageSettingsSerializableProvider, keep
storeEntriesInProjectArea attribute in there
This commit is contained in:
parent
b04a172c1a
commit
9a66dd7b79
6 changed files with 158 additions and 77 deletions
|
@ -239,7 +239,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
|
|
||||||
// create a provider
|
// create a provider
|
||||||
LanguageSettingsSerializableProvider mockProvider = new MockLanguageSettingsEditableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
LanguageSettingsSerializableProvider mockProvider = new MockLanguageSettingsEditableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
||||||
mockProvider.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(mockProvider, true);
|
||||||
mockProvider.setSettingEntries(cfgDescription, null, null, entries);
|
mockProvider.setSettingEntries(cfgDescription, null, null, entries);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(mockProvider);
|
providers.add(mockProvider);
|
||||||
|
@ -450,7 +450,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
|
|
||||||
LanguageSettingsSerializableProvider serializableProvider = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
LanguageSettingsSerializableProvider serializableProvider = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
||||||
serializableProvider.setSettingEntries(null, null, null, entries);
|
serializableProvider.setSettingEntries(null, null, null, entries);
|
||||||
serializableProvider.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(serializableProvider, true);
|
||||||
|
|
||||||
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(serializableProvider);
|
providers.add(serializableProvider);
|
||||||
|
@ -516,7 +516,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
|
|
||||||
assertEquals(CFG_ID, cfgDescription1.getId());
|
assertEquals(CFG_ID, cfgDescription1.getId());
|
||||||
LanguageSettingsSerializableProvider provider1 = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
LanguageSettingsSerializableProvider provider1 = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
||||||
provider1.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(provider1, true);
|
||||||
provider1.setSettingEntries(null, null, null, entries);
|
provider1.setSettingEntries(null, null, null, entries);
|
||||||
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(provider1);
|
providers.add(provider1);
|
||||||
|
@ -530,7 +530,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
|
|
||||||
assertEquals(CFG_ID_2, cfgDescription2.getId());
|
assertEquals(CFG_ID_2, cfgDescription2.getId());
|
||||||
LanguageSettingsSerializableProvider provider2 = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
LanguageSettingsSerializableProvider provider2 = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
||||||
provider2.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(provider2, true);
|
||||||
provider2.setSettingEntries(null, null, null, entries2);
|
provider2.setSettingEntries(null, null, null, entries2);
|
||||||
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(provider2);
|
providers.add(provider2);
|
||||||
|
@ -646,7 +646,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
|
|
||||||
LanguageSettingsSerializableProvider serializableProvider = new MockLanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
LanguageSettingsSerializableProvider serializableProvider = new MockLanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
||||||
serializableProvider.setSettingEntries(null, null, null, entries);
|
serializableProvider.setSettingEntries(null, null, null, entries);
|
||||||
serializableProvider.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(serializableProvider, true);
|
||||||
|
|
||||||
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(serializableProvider);
|
providers.add(serializableProvider);
|
||||||
|
@ -750,7 +750,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
|
|
||||||
// populate with provider overriding the extension (must be SerializableLanguageSettingsProvider or a class from another extension)
|
// populate with provider overriding the extension (must be SerializableLanguageSettingsProvider or a class from another extension)
|
||||||
MockLanguageSettingsSerializableProvider providerOverride = new MockLanguageSettingsSerializableProvider(idExt, PROVIDER_NAME_0);
|
MockLanguageSettingsSerializableProvider providerOverride = new MockLanguageSettingsSerializableProvider(idExt, PROVIDER_NAME_0);
|
||||||
providerOverride.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(providerOverride, true);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(providerOverride);
|
providers.add(providerOverride);
|
||||||
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
@ -817,11 +817,11 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
// 3. Providers defined in a configuration
|
// 3. Providers defined in a configuration
|
||||||
// 3.1
|
// 3.1
|
||||||
LanguageSettingsSerializableProvider mockProvider1 = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
LanguageSettingsSerializableProvider mockProvider1 = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
||||||
mockProvider1.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(mockProvider1, true);
|
||||||
mockProvider1.setSettingEntries(null, null, null, entries_31);
|
mockProvider1.setSettingEntries(null, null, null, entries_31);
|
||||||
// 3.2
|
// 3.2
|
||||||
LanguageSettingsSerializableProvider mockProvider2 = new MockLanguageSettingsSerializableProvider(PROVIDER_2, PROVIDER_NAME_2);
|
LanguageSettingsSerializableProvider mockProvider2 = new MockLanguageSettingsSerializableProvider(PROVIDER_2, PROVIDER_NAME_2);
|
||||||
mockProvider2.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(mockProvider2, true);
|
||||||
mockProvider2.setSettingEntries(null, null, null, entries_32);
|
mockProvider2.setSettingEntries(null, null, null, entries_32);
|
||||||
|
|
||||||
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
|
@ -901,7 +901,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
|
|
||||||
// create a provider
|
// create a provider
|
||||||
LanguageSettingsSerializableProvider mockProvider = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
LanguageSettingsSerializableProvider mockProvider = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
||||||
mockProvider.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(mockProvider, true);
|
||||||
mockProvider.setSettingEntries(cfgDescription, null, null, entries);
|
mockProvider.setSettingEntries(cfgDescription, null, null, entries);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(mockProvider);
|
providers.add(mockProvider);
|
||||||
|
@ -1042,7 +1042,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
LanguageSettingsSerializableProvider serializableProvider = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
LanguageSettingsSerializableProvider serializableProvider = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
||||||
serializableProvider.setSettingEntries(null, null, null, entries);
|
serializableProvider.setSettingEntries(null, null, null, entries);
|
||||||
// do not store entries inside project
|
// do not store entries inside project
|
||||||
serializableProvider.setStoringEntriesInProjectArea(false);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(serializableProvider, false);
|
||||||
|
|
||||||
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(serializableProvider);
|
providers.add(serializableProvider);
|
||||||
|
@ -1115,7 +1115,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
|
|
||||||
// create a provider
|
// create a provider
|
||||||
LanguageSettingsSerializableProvider mockProvider = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
LanguageSettingsSerializableProvider mockProvider = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
||||||
mockProvider.setStoringEntriesInProjectArea(false);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(mockProvider, false);
|
||||||
mockProvider.setSettingEntries(cfgDescription, null, null, entries);
|
mockProvider.setSettingEntries(cfgDescription, null, null, entries);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(mockProvider);
|
providers.add(mockProvider);
|
||||||
|
|
|
@ -116,9 +116,11 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
mockProvider.setCustomParameter(CUSTOM_PARAMETER);
|
mockProvider.setCustomParameter(CUSTOM_PARAMETER);
|
||||||
assertEquals(CUSTOM_PARAMETER, mockProvider.getCustomParameter());
|
assertEquals(CUSTOM_PARAMETER, mockProvider.getCustomParameter());
|
||||||
|
|
||||||
assertEquals(false, mockProvider.isStoringEntriesInProjectArea());
|
assertEquals(false, LanguageSettingsManager.isStoringEntriesInProjectArea(mockProvider));
|
||||||
mockProvider.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(mockProvider, true);
|
||||||
assertEquals(true, mockProvider.isStoringEntriesInProjectArea());
|
assertEquals(true, LanguageSettingsManager.isStoringEntriesInProjectArea(mockProvider));
|
||||||
|
LanguageSettingsManager.setStoringEntriesInProjectArea(mockProvider, false);
|
||||||
|
assertEquals(false, LanguageSettingsManager.isStoringEntriesInProjectArea(mockProvider));
|
||||||
|
|
||||||
mockProvider.setLanguageScope(languages);
|
mockProvider.setLanguageScope(languages);
|
||||||
assertEquals(languages, mockProvider.getLanguageScope());
|
assertEquals(languages, mockProvider.getLanguageScope());
|
||||||
|
@ -143,7 +145,7 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
{
|
{
|
||||||
// create customized provider
|
// create customized provider
|
||||||
LanguageSettingsSerializableProvider provider = new LanguageSettingsSerializableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
LanguageSettingsSerializableProvider provider = new LanguageSettingsSerializableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
||||||
provider.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(provider, true);
|
||||||
provider.setCustomParameter(CUSTOM_PARAMETER);
|
provider.setCustomParameter(CUSTOM_PARAMETER);
|
||||||
|
|
||||||
List<String> languageScope = new ArrayList<String>();
|
List<String> languageScope = new ArrayList<String>();
|
||||||
|
@ -170,7 +172,7 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
// re-load and check language settings of the newly loaded provider
|
// re-load and check language settings of the newly loaded provider
|
||||||
LanguageSettingsSerializableProvider provider = new LanguageSettingsSerializableProvider(elementProvider);
|
LanguageSettingsSerializableProvider provider = new LanguageSettingsSerializableProvider(elementProvider);
|
||||||
assertEquals(PROVIDER_1, provider.getId());
|
assertEquals(PROVIDER_1, provider.getId());
|
||||||
assertEquals(true, provider.isStoringEntriesInProjectArea());
|
assertEquals(true, LanguageSettingsManager.isStoringEntriesInProjectArea(provider));
|
||||||
assertEquals(CUSTOM_PARAMETER, provider.getCustomParameter());
|
assertEquals(CUSTOM_PARAMETER, provider.getCustomParameter());
|
||||||
assertNotNull(provider.getLanguageScope());
|
assertNotNull(provider.getLanguageScope());
|
||||||
assertTrue(provider.getLanguageScope().size()>0);
|
assertTrue(provider.getLanguageScope().size()>0);
|
||||||
|
@ -190,7 +192,7 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
{
|
{
|
||||||
// create customized provider
|
// create customized provider
|
||||||
LanguageSettingsSerializableProvider provider = new LanguageSettingsSerializableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
LanguageSettingsSerializableProvider provider = new LanguageSettingsSerializableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
||||||
provider.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(provider, true);
|
||||||
provider.setCustomParameter(CUSTOM_PARAMETER);
|
provider.setCustomParameter(CUSTOM_PARAMETER);
|
||||||
|
|
||||||
List<String> languageScope = new ArrayList<String>();
|
List<String> languageScope = new ArrayList<String>();
|
||||||
|
@ -219,7 +221,7 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
LanguageSettingsSerializableProvider provider = new LanguageSettingsSerializableProvider();
|
LanguageSettingsSerializableProvider provider = new LanguageSettingsSerializableProvider();
|
||||||
provider.loadAttributes(elementProvider);
|
provider.loadAttributes(elementProvider);
|
||||||
assertEquals(PROVIDER_1, provider.getId());
|
assertEquals(PROVIDER_1, provider.getId());
|
||||||
assertEquals(true, provider.isStoringEntriesInProjectArea());
|
assertEquals(true, LanguageSettingsManager.isStoringEntriesInProjectArea(provider));
|
||||||
assertEquals(CUSTOM_PARAMETER, provider.getCustomParameter());
|
assertEquals(CUSTOM_PARAMETER, provider.getCustomParameter());
|
||||||
assertNotNull(provider.getLanguageScope());
|
assertNotNull(provider.getLanguageScope());
|
||||||
assertTrue(provider.getLanguageScope().size()>0);
|
assertTrue(provider.getLanguageScope().size()>0);
|
||||||
|
@ -237,7 +239,7 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
{
|
{
|
||||||
// create customized provider
|
// create customized provider
|
||||||
LanguageSettingsSerializableProvider provider = new LanguageSettingsSerializableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
LanguageSettingsSerializableProvider provider = new LanguageSettingsSerializableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
||||||
provider.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(provider, true);
|
||||||
provider.setCustomParameter(CUSTOM_PARAMETER);
|
provider.setCustomParameter(CUSTOM_PARAMETER);
|
||||||
|
|
||||||
List<String> languageScope = new ArrayList<String>();
|
List<String> languageScope = new ArrayList<String>();
|
||||||
|
@ -271,7 +273,7 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
// no attributes should be loaded
|
// no attributes should be loaded
|
||||||
assertFalse(PROVIDER_1.equals(provider.getId()));
|
assertFalse(PROVIDER_1.equals(provider.getId()));
|
||||||
assertFalse(PROVIDER_NAME_1.equals(provider.getName()));
|
assertFalse(PROVIDER_NAME_1.equals(provider.getName()));
|
||||||
assertFalse(true==provider.isStoringEntriesInProjectArea());
|
assertFalse(true==LanguageSettingsManager.isStoringEntriesInProjectArea(provider));
|
||||||
assertFalse(CUSTOM_PARAMETER.equals(provider.getCustomParameter()));
|
assertFalse(CUSTOM_PARAMETER.equals(provider.getCustomParameter()));
|
||||||
assertNull(provider.getLanguageScope());
|
assertNull(provider.getLanguageScope());
|
||||||
// entries should be loaded
|
// entries should be loaded
|
||||||
|
@ -337,11 +339,11 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
public void testStoreEntriesWithProjectDOM() throws Exception {
|
public void testStoreEntriesWithProjectDOM() throws Exception {
|
||||||
Element elementProvider;
|
Element elementProvider;
|
||||||
{
|
{
|
||||||
// create provider with custom parameter
|
// create provider storing entries in project area
|
||||||
LanguageSettingsSerializableProvider provider = new LanguageSettingsSerializableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
LanguageSettingsSerializableProvider provider = new LanguageSettingsSerializableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
||||||
assertEquals(false, provider.isStoringEntriesInProjectArea());
|
assertEquals(false, LanguageSettingsManager.isStoringEntriesInProjectArea(provider));
|
||||||
provider.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(provider, true);
|
||||||
assertEquals(true, provider.isStoringEntriesInProjectArea());
|
assertEquals(true, LanguageSettingsManager.isStoringEntriesInProjectArea(provider));
|
||||||
|
|
||||||
Document doc = XmlUtil.newDocument();
|
Document doc = XmlUtil.newDocument();
|
||||||
Element rootElement = XmlUtil.appendElement(doc, ELEM_TEST);
|
Element rootElement = XmlUtil.appendElement(doc, ELEM_TEST);
|
||||||
|
@ -351,9 +353,9 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
assertTrue(xmlString.contains(VALUE_PROJECT));
|
assertTrue(xmlString.contains(VALUE_PROJECT));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
// re-load and check custom parameter of the newly loaded provider
|
// re-load and check storing mode of the newly loaded provider
|
||||||
LanguageSettingsSerializableProvider provider = new LanguageSettingsSerializableProvider(elementProvider);
|
LanguageSettingsSerializableProvider provider = new LanguageSettingsSerializableProvider(elementProvider);
|
||||||
assertEquals(true, provider.isStoringEntriesInProjectArea());
|
assertEquals(true, LanguageSettingsManager.isStoringEntriesInProjectArea(provider));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1174,8 +1176,8 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
LanguageSettingsSerializableProvider provider1 = new LanguageSettingsSerializableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
LanguageSettingsSerializableProvider provider1 = new LanguageSettingsSerializableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
||||||
provider1.setLanguageScope(sampleLanguages);
|
provider1.setLanguageScope(sampleLanguages);
|
||||||
provider1.setCustomParameter(CUSTOM_PARAMETER);
|
provider1.setCustomParameter(CUSTOM_PARAMETER);
|
||||||
assertEquals(false, provider1.isStoringEntriesInProjectArea());
|
assertEquals(false, LanguageSettingsManager.isStoringEntriesInProjectArea(provider1));
|
||||||
provider1.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(provider1, true);
|
||||||
provider1.setSettingEntries(MOCK_CFG, MOCK_RC, LANG_ID, sampleEntries_1);
|
provider1.setSettingEntries(MOCK_CFG, MOCK_RC, LANG_ID, sampleEntries_1);
|
||||||
provider1.setSettingEntries(null, null, LANG_ID, sampleEntries_2);
|
provider1.setSettingEntries(null, null, LANG_ID, sampleEntries_2);
|
||||||
|
|
||||||
|
@ -1201,7 +1203,7 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
assertFalse(provider1.equals(provider2));
|
assertFalse(provider1.equals(provider2));
|
||||||
assertFalse(provider1.hashCode()==provider2.hashCode());
|
assertFalse(provider1.hashCode()==provider2.hashCode());
|
||||||
|
|
||||||
provider2.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(provider2, true);
|
||||||
|
|
||||||
// All set now, so they should be equal
|
// All set now, so they should be equal
|
||||||
assertTrue(provider1.equals(provider2));
|
assertTrue(provider1.equals(provider2));
|
||||||
|
@ -1251,8 +1253,8 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
MockSerializableProvider provider1 = new MockSerializableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
MockSerializableProvider provider1 = new MockSerializableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
||||||
provider1.setLanguageScope(sampleLanguages);
|
provider1.setLanguageScope(sampleLanguages);
|
||||||
provider1.setCustomParameter(CUSTOM_PARAMETER);
|
provider1.setCustomParameter(CUSTOM_PARAMETER);
|
||||||
assertEquals(false, provider1.isStoringEntriesInProjectArea());
|
assertEquals(false, LanguageSettingsManager.isStoringEntriesInProjectArea(provider1));
|
||||||
provider1.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(provider1, true);
|
||||||
provider1.setSettingEntries(MOCK_CFG, MOCK_RC, LANG_ID, sampleEntries_1);
|
provider1.setSettingEntries(MOCK_CFG, MOCK_RC, LANG_ID, sampleEntries_1);
|
||||||
provider1.setSettingEntries(null, null, LANG_ID, sampleEntries_2);
|
provider1.setSettingEntries(null, null, LANG_ID, sampleEntries_2);
|
||||||
|
|
||||||
|
@ -1261,8 +1263,17 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
assertNotSame(provider1, providerClone);
|
assertNotSame(provider1, providerClone);
|
||||||
assertTrue(provider1.equals(providerClone));
|
assertTrue(provider1.equals(providerClone));
|
||||||
assertTrue(provider1.getClass()==providerClone.getClass());
|
assertTrue(provider1.getClass()==providerClone.getClass());
|
||||||
|
|
||||||
assertEquals(provider1.getCustomParameter(), providerClone.getCustomParameter());
|
assertEquals(provider1.getCustomParameter(), providerClone.getCustomParameter());
|
||||||
assertEquals(provider1.isStoringEntriesInProjectArea(), providerClone.isStoringEntriesInProjectArea());
|
// ensure we did not clone reference
|
||||||
|
provider1.setCustomParameter("");
|
||||||
|
assertFalse(provider1.getCustomParameter().equals(providerClone.getCustomParameter()));
|
||||||
|
|
||||||
|
assertEquals(LanguageSettingsManager.isStoringEntriesInProjectArea(provider1), LanguageSettingsManager.isStoringEntriesInProjectArea(providerClone));
|
||||||
|
// ensure we did not clone reference
|
||||||
|
LanguageSettingsManager.setStoringEntriesInProjectArea(provider1, !LanguageSettingsManager.isStoringEntriesInProjectArea(providerClone));
|
||||||
|
assertFalse(LanguageSettingsManager.isStoringEntriesInProjectArea(provider1) == LanguageSettingsManager.isStoringEntriesInProjectArea(providerClone));
|
||||||
|
|
||||||
assertEquals(provider1.getLanguageScope().get(0), providerClone.getLanguageScope().get(0));
|
assertEquals(provider1.getLanguageScope().get(0), providerClone.getLanguageScope().get(0));
|
||||||
|
|
||||||
List<ICLanguageSettingEntry> actual1 = providerClone.getSettingEntries(MOCK_CFG, MOCK_RC, LANG_ID);
|
List<ICLanguageSettingEntry> actual1 = providerClone.getSettingEntries(MOCK_CFG, MOCK_RC, LANG_ID);
|
||||||
|
@ -1299,8 +1310,8 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
MockSerializableProvider provider1 = new MockSerializableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
MockSerializableProvider provider1 = new MockSerializableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
||||||
provider1.setLanguageScope(sampleLanguages);
|
provider1.setLanguageScope(sampleLanguages);
|
||||||
provider1.setCustomParameter(CUSTOM_PARAMETER);
|
provider1.setCustomParameter(CUSTOM_PARAMETER);
|
||||||
assertEquals(false, provider1.isStoringEntriesInProjectArea());
|
assertEquals(false, LanguageSettingsManager.isStoringEntriesInProjectArea(provider1));
|
||||||
provider1.setStoringEntriesInProjectArea(true);
|
LanguageSettingsManager.setStoringEntriesInProjectArea(provider1, true);
|
||||||
|
|
||||||
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
||||||
entries.add(new CIncludePathEntry("path", 1));
|
entries.add(new CIncludePathEntry("path", 1));
|
||||||
|
@ -1312,7 +1323,7 @@ public class LanguageSettingsSerializableTests extends BaseTestCase {
|
||||||
assertFalse(provider1.equals(providerClone));
|
assertFalse(provider1.equals(providerClone));
|
||||||
assertTrue(provider1.getClass()==providerClone.getClass());
|
assertTrue(provider1.getClass()==providerClone.getClass());
|
||||||
assertEquals(provider1.getCustomParameter(), providerClone.getCustomParameter());
|
assertEquals(provider1.getCustomParameter(), providerClone.getCustomParameter());
|
||||||
assertEquals(provider1.isStoringEntriesInProjectArea(), providerClone.isStoringEntriesInProjectArea());
|
assertEquals(LanguageSettingsManager.isStoringEntriesInProjectArea(provider1), LanguageSettingsManager.isStoringEntriesInProjectArea(providerClone));
|
||||||
assertEquals(provider1.getLanguageScope().get(0), providerClone.getLanguageScope().get(0));
|
assertEquals(provider1.getLanguageScope().get(0), providerClone.getLanguageScope().get(0));
|
||||||
|
|
||||||
List<ICLanguageSettingEntry> actual = providerClone.getSettingEntries(null, null, null);
|
List<ICLanguageSettingEntry> actual = providerClone.getSettingEntries(null, null, null);
|
||||||
|
|
|
@ -274,6 +274,29 @@ public class LanguageSettingsManager {
|
||||||
LanguageSettingsProvidersSerializer.unregisterLanguageSettingsChangeListener(listener);
|
LanguageSettingsProvidersSerializer.unregisterLanguageSettingsChangeListener(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tells if language settings entries of the provider are persisted with the project
|
||||||
|
* (under .settings/ folder) or in workspace area. Persistence in the project area lets
|
||||||
|
* the entries migrate with the project.
|
||||||
|
*
|
||||||
|
* @param provider - provider to check the persistence mode.
|
||||||
|
* @return {@code true} if LSE persisted with the project or {@code false} if in the workspace.
|
||||||
|
*/
|
||||||
|
public static boolean isStoringEntriesInProjectArea(LanguageSettingsSerializableProvider provider) {
|
||||||
|
return LanguageSettingsProvidersSerializer.isStoringEntriesInProjectArea(provider);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Define where language settings are persisted for the provider.
|
||||||
|
*
|
||||||
|
* @param provider - provider to set the persistence mode.
|
||||||
|
* @param storeEntriesWithProject - {@code true} if with the project,
|
||||||
|
* {@code false} if in workspace area.
|
||||||
|
*/
|
||||||
|
public static void setStoringEntriesInProjectArea(LanguageSettingsSerializableProvider provider, boolean storeEntriesWithProject) {
|
||||||
|
LanguageSettingsProvidersSerializer.setStoringEntriesInProjectArea(provider, storeEntriesWithProject);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Save language settings providers of a project to persistent storage.
|
* Save language settings providers of a project to persistent storage.
|
||||||
*
|
*
|
||||||
|
|
|
@ -11,7 +11,10 @@
|
||||||
package org.eclipse.cdt.core.language.settings.providers;
|
package org.eclipse.cdt.core.language.settings.providers;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.CCorePlugin;
|
import org.eclipse.cdt.core.CCorePlugin;
|
||||||
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
||||||
|
@ -21,6 +24,7 @@ import org.eclipse.cdt.internal.core.XmlUtil;
|
||||||
import org.eclipse.cdt.internal.core.language.settings.providers.LanguageSettingsSerializableStorage;
|
import org.eclipse.cdt.internal.core.language.settings.providers.LanguageSettingsSerializableStorage;
|
||||||
import org.eclipse.core.resources.IResource;
|
import org.eclipse.core.resources.IResource;
|
||||||
import org.w3c.dom.Element;
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.NamedNodeMap;
|
||||||
import org.w3c.dom.Node;
|
import org.w3c.dom.Node;
|
||||||
import org.w3c.dom.NodeList;
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
|
@ -41,13 +45,8 @@ public class LanguageSettingsSerializableProvider extends LanguageSettingsBasePr
|
||||||
private static final String ATTR_NAME = "name"; //$NON-NLS-1$
|
private static final String ATTR_NAME = "name"; //$NON-NLS-1$
|
||||||
private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
|
private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
|
||||||
private static final String ATTR_PARAMETER = "parameter"; //$NON-NLS-1$
|
private static final String ATTR_PARAMETER = "parameter"; //$NON-NLS-1$
|
||||||
private static final String ATTR_STORE_ENTRIES = "store-entries"; //$NON-NLS-1$
|
|
||||||
private static final String VALUE_WORKSPACE = "workspace"; //$NON-NLS-1$
|
|
||||||
private static final String VALUE_PROJECT = "project"; //$NON-NLS-1$
|
|
||||||
|
|
||||||
/** Tells if language settings entries are persisted with the project or in workspace area while serializing. */
|
|
||||||
private boolean storeEntriesInProjectArea = false;
|
|
||||||
|
|
||||||
|
private Map<String, String> properties = new HashMap<String, String>();
|
||||||
private LanguageSettingsSerializableStorage fStorage = new LanguageSettingsSerializableStorage();
|
private LanguageSettingsSerializableStorage fStorage = new LanguageSettingsSerializableStorage();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -124,26 +123,6 @@ public class LanguageSettingsSerializableProvider extends LanguageSettingsBasePr
|
||||||
this.customParameter = customParameter;
|
this.customParameter = customParameter;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Tells if language settings entries are persisted with the project (under .settings folder)
|
|
||||||
* or in workspace area. Persistence in the project area lets the entries migrate with the
|
|
||||||
* project.
|
|
||||||
*
|
|
||||||
* @return {@code true} if LSE persisted with the project or {@code false} if in the workspace.
|
|
||||||
*/
|
|
||||||
public boolean isStoringEntriesInProjectArea() {
|
|
||||||
return storeEntriesInProjectArea;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Setter to define where language settings are persisted.
|
|
||||||
* @param storeEntriesWithProject - {@code true} if with the project,
|
|
||||||
* {@code false} if in workspace area.
|
|
||||||
*/
|
|
||||||
public void setStoringEntriesInProjectArea(boolean storeEntriesWithProject) {
|
|
||||||
this.storeEntriesInProjectArea = storeEntriesWithProject;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clear all the entries for all configurations, all resources and all languages.
|
* Clear all the entries for all configurations, all resources and all languages.
|
||||||
*/
|
*/
|
||||||
|
@ -230,13 +209,23 @@ public class LanguageSettingsSerializableProvider extends LanguageSettingsBasePr
|
||||||
* attached to the parent element.
|
* attached to the parent element.
|
||||||
*/
|
*/
|
||||||
public Element serializeAttributes(Element parentElement) {
|
public Element serializeAttributes(Element parentElement) {
|
||||||
Element elementProvider = XmlUtil.appendElement(parentElement, ELEM_PROVIDER, new String[] {
|
// Keeps pairs: key, value. See JavaDoc XmlUtil.appendElement(Node, String, String[]).
|
||||||
ATTR_ID, getId(),
|
List<String> attributes = new ArrayList<String>();
|
||||||
ATTR_NAME, getName(),
|
|
||||||
ATTR_CLASS, getClass().getCanonicalName(),
|
attributes.add(ATTR_ID);
|
||||||
ATTR_PARAMETER, getCustomParameter(),
|
attributes.add(getId());
|
||||||
ATTR_STORE_ENTRIES, isStoringEntriesInProjectArea() ? VALUE_PROJECT : VALUE_WORKSPACE,
|
attributes.add(ATTR_NAME);
|
||||||
});
|
attributes.add(getName());
|
||||||
|
attributes.add(ATTR_CLASS);
|
||||||
|
attributes.add(getClass().getCanonicalName());
|
||||||
|
attributes.add(ATTR_PARAMETER);
|
||||||
|
attributes.add(getCustomParameter());
|
||||||
|
for (Entry<String, String> entry : properties.entrySet()) {
|
||||||
|
attributes.add(entry.getKey());
|
||||||
|
attributes.add(entry.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
Element elementProvider = XmlUtil.appendElement(parentElement, ELEM_PROVIDER, attributes.toArray(new String[0]));
|
||||||
|
|
||||||
if (languageScope!=null) {
|
if (languageScope!=null) {
|
||||||
for (String langId : languageScope) {
|
for (String langId : languageScope) {
|
||||||
|
@ -293,12 +282,23 @@ public class LanguageSettingsSerializableProvider extends LanguageSettingsBasePr
|
||||||
String providerId = XmlUtil.determineAttributeValue(providerNode, ATTR_ID);
|
String providerId = XmlUtil.determineAttributeValue(providerNode, ATTR_ID);
|
||||||
String providerName = XmlUtil.determineAttributeValue(providerNode, ATTR_NAME);
|
String providerName = XmlUtil.determineAttributeValue(providerNode, ATTR_NAME);
|
||||||
String providerParameter = XmlUtil.determineAttributeValue(providerNode, ATTR_PARAMETER);
|
String providerParameter = XmlUtil.determineAttributeValue(providerNode, ATTR_PARAMETER);
|
||||||
String providerStoreEntries = XmlUtil.determineAttributeValue(providerNode, ATTR_STORE_ENTRIES);
|
|
||||||
|
properties.clear();
|
||||||
|
NamedNodeMap attrs = providerNode.getAttributes();
|
||||||
|
for (int i=0; i<attrs.getLength(); i++) {
|
||||||
|
Node attr = attrs.item(i);
|
||||||
|
if (attr.getNodeType()==Node.ATTRIBUTE_NODE) {
|
||||||
|
String key = attr.getNodeName();
|
||||||
|
if (!key.equals(ATTR_ID) && !key.equals(ATTR_NAME) && !key.equals(ATTR_CLASS)) {
|
||||||
|
String value = attr.getNodeValue();
|
||||||
|
properties.put(key, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.setId(providerId);
|
this.setId(providerId);
|
||||||
this.setName(providerName);
|
this.setName(providerName);
|
||||||
this.setCustomParameter(providerParameter);
|
this.setCustomParameter(providerParameter);
|
||||||
this.setStoringEntriesInProjectArea(VALUE_PROJECT.equals(providerStoreEntries));
|
|
||||||
|
|
||||||
NodeList nodes = providerNode.getChildNodes();
|
NodeList nodes = providerNode.getChildNodes();
|
||||||
for (int i=0;i<nodes.getLength();i++) {
|
for (int i=0;i<nodes.getLength();i++) {
|
||||||
|
@ -321,6 +321,20 @@ public class LanguageSettingsSerializableProvider extends LanguageSettingsBasePr
|
||||||
fStorage.loadEntries(providerNode);
|
fStorage.loadEntries(providerNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
|
public String getProperty(String key) {
|
||||||
|
return properties.get(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
|
public void setProperty(String key, String value) {
|
||||||
|
properties.put(key, value);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* See {@link #cloneShallow()}. This method is extracted to avoid expressing
|
* See {@link #cloneShallow()}. This method is extracted to avoid expressing
|
||||||
* {@link #clone()} via {@link #cloneShallow()}. Do not inline to "optimize"!
|
* {@link #clone()} via {@link #cloneShallow()}. Do not inline to "optimize"!
|
||||||
|
@ -329,6 +343,7 @@ public class LanguageSettingsSerializableProvider extends LanguageSettingsBasePr
|
||||||
LanguageSettingsSerializableProvider clone = (LanguageSettingsSerializableProvider)super.clone();
|
LanguageSettingsSerializableProvider clone = (LanguageSettingsSerializableProvider)super.clone();
|
||||||
if (languageScope!=null)
|
if (languageScope!=null)
|
||||||
clone.languageScope = new ArrayList<String>(languageScope);
|
clone.languageScope = new ArrayList<String>(languageScope);
|
||||||
|
clone.properties = new HashMap<String, String>(properties);
|
||||||
|
|
||||||
clone.fStorage = new LanguageSettingsSerializableStorage();
|
clone.fStorage = new LanguageSettingsSerializableStorage();
|
||||||
return clone;
|
return clone;
|
||||||
|
@ -360,7 +375,7 @@ public class LanguageSettingsSerializableProvider extends LanguageSettingsBasePr
|
||||||
result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
|
result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
|
||||||
result = prime * result + ((languageScope == null) ? 0 : languageScope.hashCode());
|
result = prime * result + ((languageScope == null) ? 0 : languageScope.hashCode());
|
||||||
result = prime * result + ((customParameter == null) ? 0 : customParameter.hashCode());
|
result = prime * result + ((customParameter == null) ? 0 : customParameter.hashCode());
|
||||||
result = prime * result + (storeEntriesInProjectArea ? 0 : 1);
|
result = prime * result + ((properties == null) ? 0 : properties.hashCode());
|
||||||
result = prime * result + ((fStorage == null) ? 0 : fStorage.hashCode());
|
result = prime * result + ((fStorage == null) ? 0 : fStorage.hashCode());
|
||||||
result = prime * result + getClass().hashCode();
|
result = prime * result + getClass().hashCode();
|
||||||
return result;
|
return result;
|
||||||
|
@ -408,7 +423,10 @@ public class LanguageSettingsSerializableProvider extends LanguageSettingsBasePr
|
||||||
} else if (!customParameter.equals(other.customParameter))
|
} else if (!customParameter.equals(other.customParameter))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (storeEntriesInProjectArea!=other.storeEntriesInProjectArea)
|
if (properties == null) {
|
||||||
|
if (other.properties != null)
|
||||||
|
return false;
|
||||||
|
} else if (!properties.equals(other.properties))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (fStorage == null) {
|
if (fStorage == null) {
|
||||||
|
|
|
@ -76,6 +76,10 @@ public class LanguageSettingsProvidersSerializer {
|
||||||
private static final String ELEM_PROVIDER = "provider"; //$NON-NLS-1$
|
private static final String ELEM_PROVIDER = "provider"; //$NON-NLS-1$
|
||||||
private static final String ELEM_PROVIDER_REFERENCE = "provider-reference"; //$NON-NLS-1$
|
private static final String ELEM_PROVIDER_REFERENCE = "provider-reference"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
private static final String ATTR_STORE_ENTRIES = "store-entries"; //$NON-NLS-1$
|
||||||
|
private static final String VALUE_WORKSPACE = "workspace"; //$NON-NLS-1$
|
||||||
|
private static final String VALUE_PROJECT = "project"; //$NON-NLS-1$
|
||||||
|
|
||||||
private static ILock serializingLock = Job.getJobManager().newLock();
|
private static ILock serializingLock = Job.getJobManager().newLock();
|
||||||
|
|
||||||
/** Cache of globally available providers to be consumed by calling clients */
|
/** Cache of globally available providers to be consumed by calling clients */
|
||||||
|
@ -512,7 +516,7 @@ projects:
|
||||||
LanguageSettingsSerializableProvider lss = (LanguageSettingsSerializableProvider) provider;
|
LanguageSettingsSerializableProvider lss = (LanguageSettingsSerializableProvider) provider;
|
||||||
|
|
||||||
boolean useWsp = projectElementWspStore!=null && projectElementPrjStore!=projectElementWspStore;
|
boolean useWsp = projectElementWspStore!=null && projectElementPrjStore!=projectElementWspStore;
|
||||||
if (lss.isStoringEntriesInProjectArea() || !useWsp) {
|
if (isStoringEntriesInProjectArea(lss) || !useWsp) {
|
||||||
lss.serialize(elementExtension);
|
lss.serialize(elementExtension);
|
||||||
} else {
|
} else {
|
||||||
lss.serializeAttributes(elementExtension);
|
lss.serializeAttributes(elementExtension);
|
||||||
|
@ -649,7 +653,7 @@ projects:
|
||||||
provider = loadProvider(providerNode);
|
provider = loadProvider(providerNode);
|
||||||
if (provider instanceof LanguageSettingsSerializableProvider) {
|
if (provider instanceof LanguageSettingsSerializableProvider) {
|
||||||
LanguageSettingsSerializableProvider lss = (LanguageSettingsSerializableProvider) provider;
|
LanguageSettingsSerializableProvider lss = (LanguageSettingsSerializableProvider) provider;
|
||||||
if (!lss.isStoringEntriesInProjectArea() && projectElementWsp!=null) {
|
if (!isStoringEntriesInProjectArea(lss) && projectElementWsp!=null) {
|
||||||
loadProviderEntries(lss, cfgId, projectElementWsp);
|
loadProviderEntries(lss, cfgId, projectElementWsp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1316,4 +1320,29 @@ projects:
|
||||||
return getSettingEntriesByKind(cfgDescription, rc, languageId, kind, /* checkLocality */ true, /* isLocal */ true);
|
return getSettingEntriesByKind(cfgDescription, rc, languageId, kind, /* checkLocality */ true, /* isLocal */ true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tells if language settings entries of the provider are persisted with the project
|
||||||
|
* (under .settings/ folder) or in workspace area. Persistence in the project area lets
|
||||||
|
* the entries migrate with the project.
|
||||||
|
*
|
||||||
|
* @param provider - provider to check the persistence mode.
|
||||||
|
* @return {@code true} if LSE persisted with the project or {@code false} if in the workspace.
|
||||||
|
*/
|
||||||
|
public static boolean isStoringEntriesInProjectArea(LanguageSettingsSerializableProvider provider) {
|
||||||
|
String value = provider.getProperty(ATTR_STORE_ENTRIES);
|
||||||
|
return VALUE_PROJECT.equals(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Define where language settings are persisted for the provider.
|
||||||
|
*
|
||||||
|
* @param provider - provider to set the persistence mode.
|
||||||
|
* @param storeEntriesWithProject - {@code true} if with the project,
|
||||||
|
* {@code false} if in workspace area.
|
||||||
|
*/
|
||||||
|
public static void setStoringEntriesInProjectArea(LanguageSettingsSerializableProvider provider, boolean storeEntriesWithProject) {
|
||||||
|
provider.setProperty(ATTR_STORE_ENTRIES, storeEntriesWithProject ? VALUE_PROJECT : VALUE_WORKSPACE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -406,7 +406,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
provider = toggleGlobalProvider(provider, isGlobal);
|
provider = toggleGlobalProvider(provider, isGlobal);
|
||||||
}
|
}
|
||||||
projectStorageCheckBox.setSelection(provider instanceof LanguageSettingsSerializableProvider
|
projectStorageCheckBox.setSelection(provider instanceof LanguageSettingsSerializableProvider
|
||||||
&& ((LanguageSettingsSerializableProvider) provider).isStoringEntriesInProjectArea());
|
&& LanguageSettingsManager.isStoringEntriesInProjectArea((LanguageSettingsSerializableProvider) provider));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -424,7 +424,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
boolean isWithProject = projectStorageCheckBox.getSelection();
|
boolean isWithProject = projectStorageCheckBox.getSelection();
|
||||||
ILanguageSettingsProvider provider = getWorkingCopy(getSelectedProvider().getId());
|
ILanguageSettingsProvider provider = getWorkingCopy(getSelectedProvider().getId());
|
||||||
Assert.isTrue(provider instanceof LanguageSettingsSerializableProvider);
|
Assert.isTrue(provider instanceof LanguageSettingsSerializableProvider);
|
||||||
((LanguageSettingsSerializableProvider)provider).setStoringEntriesInProjectArea(isWithProject);
|
LanguageSettingsManager.setStoringEntriesInProjectArea((LanguageSettingsSerializableProvider) provider, isWithProject);
|
||||||
refreshItem(provider);
|
refreshItem(provider);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -611,7 +611,7 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
projectStorageCheckBox.setEnabled(!isGlobal);
|
projectStorageCheckBox.setEnabled(!isGlobal);
|
||||||
projectStorageCheckBox.setVisible(rawProvider instanceof LanguageSettingsSerializableProvider);
|
projectStorageCheckBox.setVisible(rawProvider instanceof LanguageSettingsSerializableProvider);
|
||||||
projectStorageCheckBox.setSelection(provider instanceof LanguageSettingsSerializableProvider
|
projectStorageCheckBox.setSelection(provider instanceof LanguageSettingsSerializableProvider
|
||||||
&& ((LanguageSettingsSerializableProvider)provider).isStoringEntriesInProjectArea());
|
&& LanguageSettingsManager.isStoringEntriesInProjectArea((LanguageSettingsSerializableProvider) provider));
|
||||||
|
|
||||||
boolean needPreferencesLink=isGlobal && currentOptionsPage!=null;
|
boolean needPreferencesLink=isGlobal && currentOptionsPage!=null;
|
||||||
// TODO: message
|
// TODO: message
|
||||||
|
|
Loading…
Add table
Reference in a new issue