mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Tidy up a bit.
This commit is contained in:
parent
a6f057199a
commit
f123a05068
3 changed files with 30 additions and 44 deletions
|
@ -39,6 +39,7 @@ import org.eclipse.cdt.core.settings.model.ICTargetPlatformSetting;
|
||||||
import org.eclipse.cdt.core.settings.model.WriteAccessException;
|
import org.eclipse.cdt.core.settings.model.WriteAccessException;
|
||||||
import org.eclipse.cdt.core.settings.model.extension.CBuildData;
|
import org.eclipse.cdt.core.settings.model.extension.CBuildData;
|
||||||
import org.eclipse.cdt.core.settings.model.extension.CConfigurationData;
|
import org.eclipse.cdt.core.settings.model.extension.CConfigurationData;
|
||||||
|
import org.eclipse.cdt.core.settings.model.extension.CConfigurationDataProvider;
|
||||||
import org.eclipse.cdt.core.settings.model.extension.CDataObject;
|
import org.eclipse.cdt.core.settings.model.extension.CDataObject;
|
||||||
import org.eclipse.cdt.core.settings.model.extension.CFileData;
|
import org.eclipse.cdt.core.settings.model.extension.CFileData;
|
||||||
import org.eclipse.cdt.core.settings.model.extension.CFolderData;
|
import org.eclipse.cdt.core.settings.model.extension.CFolderData;
|
||||||
|
@ -51,6 +52,7 @@ import org.eclipse.cdt.internal.core.settings.model.xml.InternalXmlStorageElemen
|
||||||
import org.eclipse.core.resources.IProject;
|
import org.eclipse.core.resources.IProject;
|
||||||
import org.eclipse.core.runtime.CoreException;
|
import org.eclipse.core.runtime.CoreException;
|
||||||
import org.eclipse.core.runtime.IPath;
|
import org.eclipse.core.runtime.IPath;
|
||||||
|
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||||
import org.eclipse.core.runtime.QualifiedName;
|
import org.eclipse.core.runtime.QualifiedName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -120,8 +122,8 @@ public class CConfigurationDescription extends CDataProxyContainer
|
||||||
setData(CProjectDescriptionManager.getInstance().createData(this, base, baseData, false, null));
|
setData(CProjectDescriptionManager.getInstance().createData(this, base, baseData, false, null));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* conveter cnfig constructor
|
* Converter config constructor.
|
||||||
*/
|
*/
|
||||||
CConfigurationDescription(String id, String name, ICStorageElement el, CProjectDescription projectDes) throws CoreException {
|
CConfigurationDescription(String id, String name, ICStorageElement el, CProjectDescription projectDes) throws CoreException {
|
||||||
super(null, projectDes, null);
|
super(null, projectDes, null);
|
||||||
|
@ -139,8 +141,8 @@ public class CConfigurationDescription extends CDataProxyContainer
|
||||||
fCfgSpecSettings.reconcileExtensionSettings(false);
|
fCfgSpecSettings.reconcileExtensionSettings(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* preference config constructor
|
* Preference config constructor.
|
||||||
*/
|
*/
|
||||||
CConfigurationDescription(String id, String name, String bsId, ICStorageElement el, ICDataProxyContainer cr) throws CoreException {
|
CConfigurationDescription(String id, String name, String bsId, ICStorageElement el, ICDataProxyContainer cr) throws CoreException {
|
||||||
super(null, cr, null);
|
super(null, cr, null);
|
||||||
|
@ -152,11 +154,14 @@ public class CConfigurationDescription extends CDataProxyContainer
|
||||||
fCfgSpecSettings.setId(id);
|
fCfgSpecSettings.setId(id);
|
||||||
fCfgSpecSettings.setName(name);
|
fCfgSpecSettings.setName(name);
|
||||||
fCfgSpecSettings.setBuildSystemId(bsId);
|
fCfgSpecSettings.setBuildSystemId(bsId);
|
||||||
setData(CProjectDescriptionManager.getInstance().loadData(this, null));
|
|
||||||
|
CConfigurationDataProvider dataProvider = CProjectDescriptionManager.getInstance().getProvider(this);
|
||||||
|
CConfigurationData data = dataProvider.loadConfiguration(this, new NullProgressMonitor());
|
||||||
|
setData(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void doWritable() throws CoreException{
|
void doWritable() throws CoreException {
|
||||||
if(!containsWritableData()){
|
if (!containsWritableData()) {
|
||||||
CConfigurationData data = getConfigurationData(false);
|
CConfigurationData data = getConfigurationData(false);
|
||||||
CConfigurationDescriptionCache cache = (CConfigurationDescriptionCache)data;
|
CConfigurationDescriptionCache cache = (CConfigurationDescriptionCache)data;
|
||||||
data = cache.getConfigurationData();
|
data = cache.getConfigurationData();
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2007, 2010 Intel Corporation and others.
|
* Copyright (c) 2007, 2013 Intel Corporation and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -18,6 +18,8 @@ import org.eclipse.cdt.core.cdtvariables.ICdtVariable;
|
||||||
import org.eclipse.cdt.core.cdtvariables.ICdtVariablesContributor;
|
import org.eclipse.cdt.core.cdtvariables.ICdtVariablesContributor;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvider;
|
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvider;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvidersKeeper;
|
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvidersKeeper;
|
||||||
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager;
|
||||||
|
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
|
||||||
import org.eclipse.cdt.core.settings.model.CConfigurationStatus;
|
import org.eclipse.cdt.core.settings.model.CConfigurationStatus;
|
||||||
import org.eclipse.cdt.core.settings.model.CProjectDescriptionEvent;
|
import org.eclipse.cdt.core.settings.model.CProjectDescriptionEvent;
|
||||||
import org.eclipse.cdt.core.settings.model.ICBuildSetting;
|
import org.eclipse.cdt.core.settings.model.ICBuildSetting;
|
||||||
|
@ -40,6 +42,7 @@ import org.eclipse.cdt.core.settings.model.IModificationContext;
|
||||||
import org.eclipse.cdt.core.settings.model.WriteAccessException;
|
import org.eclipse.cdt.core.settings.model.WriteAccessException;
|
||||||
import org.eclipse.cdt.core.settings.model.extension.CBuildData;
|
import org.eclipse.cdt.core.settings.model.extension.CBuildData;
|
||||||
import org.eclipse.cdt.core.settings.model.extension.CConfigurationData;
|
import org.eclipse.cdt.core.settings.model.extension.CConfigurationData;
|
||||||
|
import org.eclipse.cdt.core.settings.model.extension.CConfigurationDataProvider;
|
||||||
import org.eclipse.cdt.core.settings.model.extension.CFileData;
|
import org.eclipse.cdt.core.settings.model.extension.CFileData;
|
||||||
import org.eclipse.cdt.core.settings.model.extension.CFolderData;
|
import org.eclipse.cdt.core.settings.model.extension.CFolderData;
|
||||||
import org.eclipse.cdt.core.settings.model.extension.CLanguageData;
|
import org.eclipse.cdt.core.settings.model.extension.CLanguageData;
|
||||||
|
@ -53,6 +56,7 @@ import org.eclipse.cdt.internal.core.cdtvariables.StorableCdtVariables;
|
||||||
import org.eclipse.core.resources.IProject;
|
import org.eclipse.core.resources.IProject;
|
||||||
import org.eclipse.core.runtime.CoreException;
|
import org.eclipse.core.runtime.CoreException;
|
||||||
import org.eclipse.core.runtime.IPath;
|
import org.eclipse.core.runtime.IPath;
|
||||||
|
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||||
import org.eclipse.core.runtime.QualifiedName;
|
import org.eclipse.core.runtime.QualifiedName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -91,6 +95,7 @@ import org.eclipse.core.runtime.QualifiedName;
|
||||||
*/
|
*/
|
||||||
public class CConfigurationDescriptionCache extends CDefaultConfigurationData
|
public class CConfigurationDescriptionCache extends CDefaultConfigurationData
|
||||||
implements ICConfigurationDescription, IInternalCCfgInfo, ILanguageSettingsProvidersKeeper, ICachedData {
|
implements ICConfigurationDescription, IInternalCCfgInfo, ILanguageSettingsProvidersKeeper, ICachedData {
|
||||||
|
|
||||||
private CProjectDescription fParent;
|
private CProjectDescription fParent;
|
||||||
private PathSettingsContainer fPathSettingContainer = PathSettingsContainer.createRootContainer();
|
private PathSettingsContainer fPathSettingContainer = PathSettingsContainer.createRootContainer();
|
||||||
private ResourceDescriptionHolder fRcHolder = new ResourceDescriptionHolder(fPathSettingContainer, true);
|
private ResourceDescriptionHolder fRcHolder = new ResourceDescriptionHolder(fPathSettingContainer, true);
|
||||||
|
@ -105,7 +110,7 @@ public class CConfigurationDescriptionCache extends CDefaultConfigurationData
|
||||||
private ICConfigurationDescription fBaseDescription;
|
private ICConfigurationDescription fBaseDescription;
|
||||||
private ICSourceEntry[] fResolvedSourceEntries;
|
private ICSourceEntry[] fResolvedSourceEntries;
|
||||||
|
|
||||||
CConfigurationDescriptionCache(ICStorageElement storage, CProjectDescription parent) throws CoreException{
|
CConfigurationDescriptionCache(ICStorageElement storage, CProjectDescription parent) throws CoreException {
|
||||||
super(null);
|
super(null);
|
||||||
fInitializing = true;
|
fInitializing = true;
|
||||||
fParent = parent;
|
fParent = parent;
|
||||||
|
@ -117,17 +122,18 @@ public class CConfigurationDescriptionCache extends CDefaultConfigurationData
|
||||||
// loadData();
|
// loadData();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isInitializing(){
|
public boolean isInitializing() {
|
||||||
return fInitializing;
|
return fInitializing;
|
||||||
}
|
}
|
||||||
|
|
||||||
void loadData() throws CoreException{
|
void loadData() throws CoreException {
|
||||||
if(fDataLoadded)
|
if(fDataLoadded)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
fDataLoadded = true;
|
fDataLoadded = true;
|
||||||
|
|
||||||
fData = CProjectDescriptionManager.getInstance().loadData(this, null);
|
CConfigurationDataProvider dataProvider = CProjectDescriptionManager.getInstance().getProvider(this);
|
||||||
|
fData = dataProvider.loadConfiguration(this, new NullProgressMonitor());
|
||||||
|
|
||||||
copySettingsFrom(fData, true);
|
copySettingsFrom(fData, true);
|
||||||
|
|
||||||
|
@ -161,11 +167,12 @@ public class CConfigurationDescriptionCache extends CDefaultConfigurationData
|
||||||
return fBaseCache;
|
return fBaseCache;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean applyData(SettingsContext context) throws CoreException{
|
boolean applyData(SettingsContext context) throws CoreException {
|
||||||
boolean modified = true;
|
boolean modified = true;
|
||||||
if(fBaseDescription != null){
|
if (fBaseDescription != null){
|
||||||
|
context.init(this);
|
||||||
fData = CProjectDescriptionManager.getInstance().applyData(this, fBaseDescription, fData, context, null);
|
CConfigurationDataProvider dataProvider = CProjectDescriptionManager.getInstance().getProvider(this);
|
||||||
|
fData = dataProvider.applyConfiguration(this, fBaseDescription, fData, context, new NullProgressMonitor());
|
||||||
fDataLoadded = true;
|
fDataLoadded = true;
|
||||||
fName = fData.getName();
|
fName = fData.getName();
|
||||||
fId = fData.getId();
|
fId = fData.getId();
|
||||||
|
@ -183,7 +190,6 @@ public class CConfigurationDescriptionCache extends CDefaultConfigurationData
|
||||||
fMacros = new StorableCdtVariables(vars, true);
|
fMacros = new StorableCdtVariables(vars, true);
|
||||||
fSpecSettings.serialize();
|
fSpecSettings.serialize();
|
||||||
fSpecSettings.setModified(false);
|
fSpecSettings.setModified(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fBaseDescription = null;
|
fBaseDescription = null;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2007, 2010 Intel Corporation and others.
|
* Copyright (c) 2007, 2013 Intel Corporation and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -1137,31 +1137,6 @@ public class CProjectDescriptionManager implements ICProjectDescriptionManager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CConfigurationData loadData(ICConfigurationDescription des, IProgressMonitor monitor) throws CoreException{
|
|
||||||
if(monitor == null)
|
|
||||||
monitor = new NullProgressMonitor();
|
|
||||||
|
|
||||||
CConfigurationDataProvider provider = getProvider(des);
|
|
||||||
CConfigurationData data = provider.loadConfiguration(des, monitor);
|
|
||||||
|
|
||||||
if (des instanceof ILanguageSettingsProvidersKeeper && ! des.isPreferenceConfiguration()) {
|
|
||||||
String[] defaultIds = ((ILanguageSettingsProvidersKeeper) des).getDefaultLanguageSettingsProvidersIds();
|
|
||||||
if (defaultIds == null) {
|
|
||||||
((ILanguageSettingsProvidersKeeper) des).setDefaultLanguageSettingsProvidersIds(ScannerDiscoveryLegacySupport.getDefaultProviderIdsLegacy(des));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
CConfigurationData applyData(CConfigurationDescriptionCache des, ICConfigurationDescription baseDescription, CConfigurationData base, SettingsContext context, IProgressMonitor monitor) throws CoreException {
|
|
||||||
if(monitor == null)
|
|
||||||
monitor = new NullProgressMonitor();
|
|
||||||
|
|
||||||
CConfigurationDataProvider provider = getProvider(des);
|
|
||||||
context.init(des);
|
|
||||||
return provider.applyConfiguration(des, baseDescription, base, context, monitor);
|
|
||||||
}
|
|
||||||
|
|
||||||
void notifyCached(ICConfigurationDescription des, CConfigurationData data, IProgressMonitor monitor) {
|
void notifyCached(ICConfigurationDescription des, CConfigurationData data, IProgressMonitor monitor) {
|
||||||
if(monitor == null)
|
if(monitor == null)
|
||||||
monitor = new NullProgressMonitor();
|
monitor = new NullProgressMonitor();
|
||||||
|
@ -1190,7 +1165,7 @@ public class CProjectDescriptionManager implements ICProjectDescriptionManager {
|
||||||
return provider.createConfiguration(des, baseDescription, base, clone, monitor);
|
return provider.createConfiguration(des, baseDescription, base, clone, monitor);
|
||||||
}
|
}
|
||||||
|
|
||||||
private CConfigurationDataProvider getProvider(ICConfigurationDescription des) throws CoreException{
|
CConfigurationDataProvider getProvider(ICConfigurationDescription des) throws CoreException{
|
||||||
CConfigurationDataProviderDescriptor providerDes = getCfgProviderDescriptor(des);
|
CConfigurationDataProviderDescriptor providerDes = getCfgProviderDescriptor(des);
|
||||||
if(providerDes == null)
|
if(providerDes == null)
|
||||||
throw ExceptionFactory.createCoreException(SettingsModelMessages.getString("CProjectDescriptionManager.1")); //$NON-NLS-1$
|
throw ExceptionFactory.createCoreException(SettingsModelMessages.getString("CProjectDescriptionManager.1")); //$NON-NLS-1$
|
||||||
|
|
Loading…
Add table
Reference in a new issue