1
0
Fork 0
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:
Andrew Gvozdev 2013-04-22 14:52:08 -04:00
parent a6f057199a
commit f123a05068
3 changed files with 30 additions and 44 deletions

View file

@ -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.extension.CBuildData;
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.CFileData;
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.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.QualifiedName;
/**
@ -120,8 +122,8 @@ public class CConfigurationDescription extends CDataProxyContainer
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 {
super(null, projectDes, null);
@ -139,8 +141,8 @@ public class CConfigurationDescription extends CDataProxyContainer
fCfgSpecSettings.reconcileExtensionSettings(false);
}
/*
* preference config constructor
/**
* Preference config constructor.
*/
CConfigurationDescription(String id, String name, String bsId, ICStorageElement el, ICDataProxyContainer cr) throws CoreException {
super(null, cr, null);
@ -152,11 +154,14 @@ public class CConfigurationDescription extends CDataProxyContainer
fCfgSpecSettings.setId(id);
fCfgSpecSettings.setName(name);
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{
if(!containsWritableData()){
void doWritable() throws CoreException {
if (!containsWritableData()) {
CConfigurationData data = getConfigurationData(false);
CConfigurationDescriptionCache cache = (CConfigurationDescriptionCache)data;
data = cache.getConfigurationData();

View file

@ -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
* are made available under the terms of the Eclipse Public License v1.0
* 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.language.settings.providers.ILanguageSettingsProvider;
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.CProjectDescriptionEvent;
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.extension.CBuildData;
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.CFolderData;
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.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.QualifiedName;
/**
@ -91,6 +95,7 @@ import org.eclipse.core.runtime.QualifiedName;
*/
public class CConfigurationDescriptionCache extends CDefaultConfigurationData
implements ICConfigurationDescription, IInternalCCfgInfo, ILanguageSettingsProvidersKeeper, ICachedData {
private CProjectDescription fParent;
private PathSettingsContainer fPathSettingContainer = PathSettingsContainer.createRootContainer();
private ResourceDescriptionHolder fRcHolder = new ResourceDescriptionHolder(fPathSettingContainer, true);
@ -105,7 +110,7 @@ public class CConfigurationDescriptionCache extends CDefaultConfigurationData
private ICConfigurationDescription fBaseDescription;
private ICSourceEntry[] fResolvedSourceEntries;
CConfigurationDescriptionCache(ICStorageElement storage, CProjectDescription parent) throws CoreException{
CConfigurationDescriptionCache(ICStorageElement storage, CProjectDescription parent) throws CoreException {
super(null);
fInitializing = true;
fParent = parent;
@ -117,17 +122,18 @@ public class CConfigurationDescriptionCache extends CDefaultConfigurationData
// loadData();
}
public boolean isInitializing(){
public boolean isInitializing() {
return fInitializing;
}
void loadData() throws CoreException{
void loadData() throws CoreException {
if(fDataLoadded)
return;
fDataLoadded = true;
fData = CProjectDescriptionManager.getInstance().loadData(this, null);
CConfigurationDataProvider dataProvider = CProjectDescriptionManager.getInstance().getProvider(this);
fData = dataProvider.loadConfiguration(this, new NullProgressMonitor());
copySettingsFrom(fData, true);
@ -161,11 +167,12 @@ public class CConfigurationDescriptionCache extends CDefaultConfigurationData
return fBaseCache;
}
boolean applyData(SettingsContext context) throws CoreException{
boolean applyData(SettingsContext context) throws CoreException {
boolean modified = true;
if(fBaseDescription != null){
fData = CProjectDescriptionManager.getInstance().applyData(this, fBaseDescription, fData, context, null);
if (fBaseDescription != null){
context.init(this);
CConfigurationDataProvider dataProvider = CProjectDescriptionManager.getInstance().getProvider(this);
fData = dataProvider.applyConfiguration(this, fBaseDescription, fData, context, new NullProgressMonitor());
fDataLoadded = true;
fName = fData.getName();
fId = fData.getId();
@ -183,7 +190,6 @@ public class CConfigurationDescriptionCache extends CDefaultConfigurationData
fMacros = new StorableCdtVariables(vars, true);
fSpecSettings.serialize();
fSpecSettings.setModified(false);
}
fBaseDescription = null;

View file

@ -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
* are made available under the terms of the Eclipse Public License v1.0
* 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) {
if(monitor == null)
monitor = new NullProgressMonitor();
@ -1190,7 +1165,7 @@ public class CProjectDescriptionManager implements ICProjectDescriptionManager {
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);
if(providerDes == null)
throw ExceptionFactory.createCoreException(SettingsModelMessages.getString("CProjectDescriptionManager.1")); //$NON-NLS-1$