mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Cosmetics/JavaDoc.
This commit is contained in:
parent
53f251ec84
commit
a6f057199a
5 changed files with 314 additions and 344 deletions
|
@ -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
|
||||
|
@ -17,8 +17,8 @@ import org.eclipse.cdt.core.settings.model.extension.impl.CDefaultConfigurationD
|
|||
import org.eclipse.cdt.core.settings.model.util.CDataSerializer;
|
||||
import org.eclipse.cdt.core.settings.model.util.UserAndDiscoveredEntryDataSerializer;
|
||||
import org.eclipse.cdt.make.internal.core.scannerconfig.CDataDiscoveredInfoCalculator;
|
||||
import org.eclipse.cdt.make.internal.core.scannerconfig.CDataDiscoveredInfoProcessor;
|
||||
import org.eclipse.cdt.make.internal.core.scannerconfig.CDataDiscoveredInfoCalculator.DiscoveredSettingInfo;
|
||||
import org.eclipse.cdt.make.internal.core.scannerconfig.CDataDiscoveredInfoProcessor;
|
||||
import org.eclipse.core.resources.IProject;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
|
@ -42,44 +42,40 @@ public class MakeConfigurationDataProvider extends CDefaultConfigurationDataProv
|
|||
}
|
||||
|
||||
@Override
|
||||
public CConfigurationData applyConfiguration(
|
||||
ICConfigurationDescription des,
|
||||
ICConfigurationDescription baseDescription,
|
||||
CConfigurationData base, IProgressMonitor monitor)
|
||||
throws CoreException {
|
||||
CConfigurationData result = super.applyConfiguration(des, baseDescription, base, monitor);
|
||||
if(!des.isPreferenceConfiguration())
|
||||
updateDiscoveredInfo(des.getProjectDescription().getProject(), result);
|
||||
public CConfigurationData applyConfiguration(ICConfigurationDescription cfgDescription,
|
||||
ICConfigurationDescription baseCfgDescription, CConfigurationData baseData,
|
||||
IProgressMonitor monitor) throws CoreException {
|
||||
|
||||
CConfigurationData result = super.applyConfiguration(cfgDescription, baseCfgDescription, baseData, monitor);
|
||||
if(!cfgDescription.isPreferenceConfiguration())
|
||||
updateDiscoveredInfo(cfgDescription.getProjectDescription().getProject(), result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CConfigurationData loadConfiguration(ICConfigurationDescription des,
|
||||
IProgressMonitor monitor) throws CoreException {
|
||||
CConfigurationData result = super.loadConfiguration(des, monitor);
|
||||
if(!des.isPreferenceConfiguration())
|
||||
updateDiscoveredInfo(des.getProjectDescription().getProject(), result);
|
||||
public CConfigurationData loadConfiguration(ICConfigurationDescription cfgDescription, IProgressMonitor monitor) throws CoreException {
|
||||
CConfigurationData result = super.loadConfiguration(cfgDescription, monitor);
|
||||
if(!cfgDescription.isPreferenceConfiguration())
|
||||
updateDiscoveredInfo(cfgDescription.getProjectDescription().getProject(), result);
|
||||
return result;
|
||||
}
|
||||
|
||||
protected void updateDiscoveredInfo(IProject project, CConfigurationData cfgData){
|
||||
protected void updateDiscoveredInfo(IProject project, CConfigurationData cfgData) {
|
||||
updateDiscoveredInfo(project, cfgData, getInfoCalculator(), getInfoProcessor());
|
||||
}
|
||||
|
||||
public static void updateDiscoveredInfo(IProject project, CConfigurationData cfgData,
|
||||
CDataDiscoveredInfoCalculator calculator,
|
||||
CDataDiscoveredInfoProcessor processor){
|
||||
CDataDiscoveredInfoCalculator calculator, CDataDiscoveredInfoProcessor processor) {
|
||||
|
||||
DiscoveredSettingInfo dsInfo = calculator.getSettingInfos(project, cfgData);
|
||||
|
||||
processor.applyDiscoveredInfo(cfgData, dsInfo);
|
||||
}
|
||||
|
||||
protected CDataDiscoveredInfoProcessor getInfoProcessor(){
|
||||
protected CDataDiscoveredInfoProcessor getInfoProcessor( ){
|
||||
return MakeDiscoveredInfoProcessor.getDefault();
|
||||
}
|
||||
|
||||
protected CDataDiscoveredInfoCalculator getInfoCalculator(){
|
||||
protected CDataDiscoveredInfoCalculator getInfoCalculator() {
|
||||
return CDataDiscoveredInfoCalculator.getDefault();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2007, 2012 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
|
||||
|
@ -102,7 +102,7 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
try {
|
||||
IProjectDescription eDes = fProject.getDescription();
|
||||
if(BuilderFactory.applyBuilder(eDes, fBuilder) == BuilderFactory.CMD_CHANGED) {
|
||||
fProject.setDescription(eDes, monitor);
|
||||
fProject.setDescription(eDes, monitor);
|
||||
}
|
||||
} catch (Exception e){
|
||||
ManagedBuilderCorePlugin.log(e);
|
||||
|
@ -110,9 +110,11 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
}
|
||||
|
||||
}
|
||||
static BuildConfigurationData writeConfiguration(ICConfigurationDescription cfgDescription,
|
||||
BuildConfigurationData base) throws CoreException {
|
||||
BuildConfigurationData appliedCfg = base;
|
||||
|
||||
static BuildConfigurationData writeConfiguration(ICConfigurationDescription cfgDescription, BuildConfigurationData baseData)
|
||||
throws CoreException {
|
||||
|
||||
BuildConfigurationData appliedCfg = baseData;
|
||||
ICStorageElement rootElement = cfgDescription.getStorage(BUILD_SYSTEM_DATA_MODULE_NAME, true);
|
||||
rootElement.clear();
|
||||
rootElement.setAttribute(VERSION_ATTRIBUTE, ManagedBuildManager.getVersion().toString());
|
||||
|
@ -132,12 +134,10 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
return appliedCfg;
|
||||
}
|
||||
|
||||
protected CConfigurationData applyPreferences(
|
||||
ICConfigurationDescription cfgDescription, CConfigurationData base) throws CoreException{
|
||||
protected CConfigurationData applyPreferences(ICConfigurationDescription cfgDescription, CConfigurationData baseData) throws CoreException {
|
||||
BuildConfigurationData appliedCfg = writeConfiguration(cfgDescription, (BuildConfigurationData)baseData);
|
||||
|
||||
BuildConfigurationData appliedCfg = writeConfiguration(cfgDescription, (BuildConfigurationData)base);
|
||||
|
||||
IConfiguration cfg = ((BuildConfigurationData)base).getConfiguration();
|
||||
IConfiguration cfg = ((BuildConfigurationData)baseData).getConfiguration();
|
||||
try {
|
||||
CfgScannerConfigInfoFactory2.savePreference(cfg);
|
||||
} catch (CoreException e){
|
||||
|
@ -148,17 +148,15 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
}
|
||||
|
||||
@Override
|
||||
public CConfigurationData applyConfiguration(
|
||||
ICConfigurationDescription cfgDescription,
|
||||
ICConfigurationDescription baseCfgDescription,
|
||||
CConfigurationData base,
|
||||
IModificationContext context,
|
||||
IProgressMonitor monitor)
|
||||
throws CoreException {
|
||||
if(cfgDescription.isPreferenceConfiguration())
|
||||
return applyPreferences(cfgDescription, base);
|
||||
public CConfigurationData applyConfiguration(ICConfigurationDescription cfgDescription,
|
||||
ICConfigurationDescription baseCfgDescription, CConfigurationData baseData,
|
||||
IModificationContext context, IProgressMonitor monitor) throws CoreException {
|
||||
|
||||
BuildConfigurationData baseCfgData = (BuildConfigurationData)base;
|
||||
if (cfgDescription.isPreferenceConfiguration()) {
|
||||
return applyPreferences(cfgDescription, baseData);
|
||||
}
|
||||
|
||||
BuildConfigurationData baseCfgData = (BuildConfigurationData)baseData;
|
||||
IConfiguration baseCfg = baseCfgData.getConfiguration();
|
||||
BuildConfigurationData appliedCfg;
|
||||
if(context.isBaseDataCached() && !baseCfg.isDirty()){
|
||||
|
@ -208,20 +206,16 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
cfgDescription.setSessionProperty(CFG_PERSISTED_PROPERTY, Boolean.TRUE);
|
||||
}
|
||||
|
||||
private static void writeManagedProjectInfo(ICProjectDescription des,
|
||||
ManagedProject mProj) throws CoreException {
|
||||
ICStorageElement rootElement = des.getStorage(BUILD_SYSTEM_DATA_MODULE_NAME, true);
|
||||
private static void writeManagedProjectInfo(ICProjectDescription prjDescription, ManagedProject mProj) throws CoreException {
|
||||
ICStorageElement rootElement = prjDescription.getStorage(BUILD_SYSTEM_DATA_MODULE_NAME, true);
|
||||
rootElement.clear();
|
||||
rootElement.setAttribute(VERSION_ATTRIBUTE, ManagedBuildManager.getVersion().toString());
|
||||
ICStorageElement mProjElem = rootElement.createChild(IManagedProject.MANAGED_PROJECT_ELEMENT_NAME);
|
||||
mProj.serializeProjectInfo(mProjElem);
|
||||
}
|
||||
|
||||
|
||||
protected CConfigurationData createPreferences(
|
||||
ICConfigurationDescription cfgDescription, CConfigurationData base)
|
||||
throws CoreException {
|
||||
Configuration cfg = (Configuration)((BuildConfigurationData)base).getConfiguration();
|
||||
protected CConfigurationData createPreferences(ICConfigurationDescription cfgDescription, CConfigurationData baseData) throws CoreException {
|
||||
Configuration cfg = (Configuration)((BuildConfigurationData)baseData).getConfiguration();
|
||||
Configuration newCfg = new Configuration((ManagedProject)cfg.getManagedProject(), cfg, cfgDescription.getId(), true, true, true);
|
||||
newCfg.setConfigurationDescription(cfgDescription);
|
||||
newCfg.setName(cfgDescription.getName());
|
||||
|
@ -234,12 +228,10 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
|
||||
|
||||
@Override
|
||||
public CConfigurationData createConfiguration(
|
||||
ICConfigurationDescription cfgDescription,
|
||||
ICConfigurationDescription baseCfgDescription,
|
||||
CConfigurationData base, boolean clone,
|
||||
IProgressMonitor monitor)
|
||||
throws CoreException {
|
||||
public CConfigurationData createConfiguration(ICConfigurationDescription cfgDescription,
|
||||
ICConfigurationDescription baseCfgDescription, CConfigurationData base, boolean clone,
|
||||
IProgressMonitor monitor) throws CoreException {
|
||||
|
||||
if(cfgDescription.isPreferenceConfiguration())
|
||||
return createPreferences(cfgDescription, base);
|
||||
|
||||
|
@ -259,7 +251,7 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
return newCfg.getConfigurationData();
|
||||
}
|
||||
|
||||
public static Configuration copyCfg(Configuration cfg, ICConfigurationDescription cfgDescription){
|
||||
public static Configuration copyCfg(Configuration cfg, ICConfigurationDescription cfgDescription) {
|
||||
IManagedBuildInfo info = getBuildInfo(cfgDescription);
|
||||
ManagedProject mProj = (ManagedProject)info.getManagedProject();
|
||||
|
||||
|
@ -278,7 +270,7 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
return newCfg;
|
||||
}
|
||||
|
||||
private static IManagedBuildInfo getBuildInfo(ICConfigurationDescription cfgDescription){
|
||||
private static IManagedBuildInfo getBuildInfo(ICConfigurationDescription cfgDescription) {
|
||||
ICProjectDescription projDes = cfgDescription.getProjectDescription();
|
||||
IProject project = projDes.getProject();
|
||||
IManagedBuildInfo info = ManagedBuildManager.getBuildInfo(project, false);
|
||||
|
@ -292,15 +284,15 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
return info;
|
||||
}
|
||||
|
||||
private static void setLoaddedBuildInfo(ICProjectDescription des, IManagedBuildInfo info){
|
||||
des.setSessionProperty(BUILD_INFO_PROPERTY, info);
|
||||
private static void setLoaddedBuildInfo(ICProjectDescription prjDescription, IManagedBuildInfo info) {
|
||||
prjDescription.setSessionProperty(BUILD_INFO_PROPERTY, info);
|
||||
}
|
||||
|
||||
public static ManagedBuildInfo getLoaddedBuildInfo(ICProjectDescription des){
|
||||
return (ManagedBuildInfo)des.getSessionProperty(BUILD_INFO_PROPERTY);
|
||||
public static ManagedBuildInfo getLoaddedBuildInfo(ICProjectDescription prjDescription) {
|
||||
return (ManagedBuildInfo)prjDescription.getSessionProperty(BUILD_INFO_PROPERTY);
|
||||
}
|
||||
|
||||
private static IManagedProject getManagedProject(ICConfigurationDescription cfgDescription, IManagedBuildInfo info){
|
||||
private static IManagedProject getManagedProject(ICConfigurationDescription cfgDescription, IManagedBuildInfo info) {
|
||||
IManagedProject mProj = info.getManagedProject();
|
||||
if(mProj == null){
|
||||
mProj = createManagedProject(info, cfgDescription.getProjectDescription());
|
||||
|
@ -308,10 +300,10 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
return mProj;
|
||||
}
|
||||
|
||||
private static IManagedProject createManagedProject(IManagedBuildInfo info, ICProjectDescription des){
|
||||
private static IManagedProject createManagedProject(IManagedBuildInfo info, ICProjectDescription prjDescription) {
|
||||
IManagedProject mProj = null;
|
||||
try {
|
||||
ICStorageElement rootElem = des.getStorage(BUILD_SYSTEM_DATA_MODULE_NAME, false);
|
||||
ICStorageElement rootElem = prjDescription.getStorage(BUILD_SYSTEM_DATA_MODULE_NAME, false);
|
||||
if(rootElem != null){
|
||||
String version = rootElem.getAttribute(VERSION_ATTRIBUTE);
|
||||
ICStorageElement children[] = rootElem.getChildren();
|
||||
|
@ -327,26 +319,26 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
}
|
||||
|
||||
if(mProj == null){
|
||||
mProj = new ManagedProject(des);
|
||||
mProj = new ManagedProject(prjDescription);
|
||||
info.setManagedProject(mProj);
|
||||
}
|
||||
|
||||
return mProj;
|
||||
}
|
||||
|
||||
public static String[] getNaturesIdsUsedOnCache(IConfiguration cfg){
|
||||
public static String[] getNaturesIdsUsedOnCache(IConfiguration cfg) {
|
||||
ICConfigurationDescription cfgDescription = ManagedBuildManager.getDescriptionForConfiguration(cfg);
|
||||
if(cfgDescription != null)
|
||||
return getNaturesIdsUsedOnCache(cfgDescription);
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String[] getNaturesIdsUsedOnCache(ICConfigurationDescription cfgDescription){
|
||||
public static String[] getNaturesIdsUsedOnCache(ICConfigurationDescription cfgDescription) {
|
||||
String[] strs = (String[])cfgDescription.getSessionProperty(NATURES_USED_ON_CACHE_PROPERTY);
|
||||
return strs != null && strs.length != 0 ? (String[])strs.clone() : strs;
|
||||
}
|
||||
|
||||
public static void cacheNaturesIdsUsedOnCache(ICConfigurationDescription cfgDescription){
|
||||
public static void cacheNaturesIdsUsedOnCache(ICConfigurationDescription cfgDescription) {
|
||||
IProject project = cfgDescription.getProjectDescription().getProject();
|
||||
try {
|
||||
IProjectDescription eDes = project.getDescription();
|
||||
|
@ -357,12 +349,12 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
}
|
||||
}
|
||||
|
||||
private static void setNaturesIdsUsedOnCache(ICConfigurationDescription cfgDescription, String ids[]){
|
||||
private static void setNaturesIdsUsedOnCache(ICConfigurationDescription cfgDescription, String ids[]) {
|
||||
ids = ids != null && ids.length != 0 ? (String[])ids.clone() : ids;
|
||||
cfgDescription.setSessionProperty(NATURES_USED_ON_CACHE_PROPERTY, ids);
|
||||
}
|
||||
|
||||
private Configuration load(ICConfigurationDescription cfgDescription, ManagedProject mProj, boolean isPreference) throws CoreException{
|
||||
private Configuration load(ICConfigurationDescription cfgDescription, ManagedProject mProj, boolean isPreference) throws CoreException {
|
||||
ICStorageElement rootElement = cfgDescription.getStorage(BUILD_SYSTEM_DATA_MODULE_NAME, true);
|
||||
ICStorageElement children[] = rootElement.getChildren();
|
||||
String version = rootElement.getAttribute(VERSION_ATTRIBUTE);
|
||||
|
@ -378,36 +370,28 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
return cfg;
|
||||
}
|
||||
|
||||
protected CConfigurationData loadPreferences(ICConfigurationDescription cfgDescription)
|
||||
throws CoreException {
|
||||
|
||||
protected CConfigurationData loadPreferences(ICConfigurationDescription cfgDescription) throws CoreException {
|
||||
Configuration cfg = load(cfgDescription, null, true);
|
||||
|
||||
cfg = updatePreferenceOnLoad(cfg, cfgDescription);
|
||||
|
||||
cfg.setConfigurationDescription(cfgDescription);
|
||||
|
||||
return cfg.getConfigurationData();
|
||||
}
|
||||
|
||||
public static Configuration getClearPreference(String id){
|
||||
public static Configuration getClearPreference(String id) {
|
||||
Configuration cfg = createEmptyPrefConfiguration(id, null);
|
||||
|
||||
cfg = adjustPreferenceConfig(cfg);
|
||||
|
||||
return cfg;
|
||||
}
|
||||
|
||||
private static Configuration updatePreferenceOnLoad(Configuration cfg, ICConfigurationDescription cfgDescription){
|
||||
if(cfg == null)
|
||||
private static Configuration updatePreferenceOnLoad(Configuration cfg, ICConfigurationDescription cfgDescription) {
|
||||
if(cfg == null) {
|
||||
cfg = createEmptyPrefConfiguration(cfgDescription.getId(), cfgDescription.getName());
|
||||
|
||||
}
|
||||
cfg = adjustPreferenceConfig(cfg);
|
||||
|
||||
return cfg;
|
||||
}
|
||||
|
||||
private static Configuration adjustPreferenceConfig(Configuration cfg){
|
||||
private static Configuration adjustPreferenceConfig(Configuration cfg) {
|
||||
LanguageManager mngr = LanguageManager.getInstance();
|
||||
ILanguageDescriptor dess[] = mngr.getLanguageDescriptors();
|
||||
Map<String, ILanguageDescriptor[]> map = mngr.getContentTypeIdToLanguageDescriptionsMap();
|
||||
|
@ -422,7 +406,7 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
return cfg;
|
||||
}
|
||||
|
||||
private static void adjustFolderInfo(IFolderInfo info, ILanguageDescriptor dess[], HashMap<Object, ILanguageDescriptor[]> map){
|
||||
private static void adjustFolderInfo(IFolderInfo info, ILanguageDescriptor dess[], HashMap<Object, ILanguageDescriptor[]> map) {
|
||||
IToolChain tch = info.getToolChain();
|
||||
Map<String, ILanguageDescriptor> langMap = new HashMap<String, ILanguageDescriptor>();
|
||||
for(int i = 0; i < dess.length; i++){
|
||||
|
@ -464,7 +448,7 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
}
|
||||
}
|
||||
|
||||
private static InputType adjustInputType(Tool tool, InputType type, ILanguageDescriptor des){
|
||||
private static InputType adjustInputType(Tool tool, InputType type, ILanguageDescriptor des) {
|
||||
String [] cTypeIds = des.getContentTypeIds();
|
||||
String srcIds[] = type.getSourceContentTypeIds();
|
||||
String hIds[] = type.getHeaderContentTypeIds();
|
||||
|
@ -488,7 +472,7 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
return type;
|
||||
}
|
||||
|
||||
private static void addTools(IToolChain tc, Map<String, ILanguageDescriptor> langMap, Map<Object, ILanguageDescriptor[]> cTypeToLangMap){
|
||||
private static void addTools(IToolChain tc, Map<String, ILanguageDescriptor> langMap, Map<Object, ILanguageDescriptor[]> cTypeToLangMap ){
|
||||
ITool extTool = ManagedBuildManager.getExtensionTool(PREF_TOOL_ID);
|
||||
List<ILanguageDescriptor> list = new ArrayList<ILanguageDescriptor>(langMap.values());
|
||||
ILanguageDescriptor des;
|
||||
|
@ -521,7 +505,7 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
}
|
||||
|
||||
|
||||
private static Configuration createEmptyPrefConfiguration(String id, String name){
|
||||
private static Configuration createEmptyPrefConfiguration(String id, String name) {
|
||||
Configuration extCfg = (Configuration)ManagedBuildManager.getExtensionConfiguration(PREF_CFG_ID);
|
||||
Configuration emptyPrefCfg = null;
|
||||
if(extCfg != null){
|
||||
|
@ -538,16 +522,15 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
}
|
||||
|
||||
@Override
|
||||
public CConfigurationData loadConfiguration(ICConfigurationDescription cfgDescription,
|
||||
IProgressMonitor monitor)
|
||||
throws CoreException {
|
||||
if(cfgDescription.isPreferenceConfiguration())
|
||||
public CConfigurationData loadConfiguration(ICConfigurationDescription cfgDescription, IProgressMonitor monitor) throws CoreException {
|
||||
if(cfgDescription.isPreferenceConfiguration()) {
|
||||
return loadPreferences(cfgDescription);
|
||||
}
|
||||
|
||||
IManagedBuildInfo info = getBuildInfo(cfgDescription);
|
||||
Configuration cfg = load(cfgDescription, (ManagedProject)info.getManagedProject(), false);
|
||||
|
||||
if(cfg != null){
|
||||
if(cfg != null) {
|
||||
cfg.setConfigurationDescription(cfgDescription);
|
||||
info.setValid(true);
|
||||
setPersistedFlag(cfgDescription);
|
||||
|
@ -607,7 +590,7 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
}
|
||||
}
|
||||
|
||||
private boolean isPersistedCfg(ICConfigurationDescription cfgDescription){
|
||||
private boolean isPersistedCfg(ICConfigurationDescription cfgDescription) {
|
||||
return cfgDescription.getSessionProperty(CFG_PERSISTED_PROPERTY) != null;
|
||||
}
|
||||
|
||||
|
@ -627,9 +610,7 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
}
|
||||
|
||||
@Override
|
||||
public void removeConfiguration(ICConfigurationDescription cfgDescription,
|
||||
CConfigurationData data,
|
||||
IProgressMonitor monitor) {
|
||||
public void removeConfiguration(ICConfigurationDescription cfgDescription, CConfigurationData data, IProgressMonitor monitor) {
|
||||
IConfiguration cfg = ((BuildConfigurationData)data).getConfiguration();
|
||||
ManagedBuildManager.performValueHandlerEvent(cfg, IManagedOptionValueHandler.EVENT_CLOSE);
|
||||
IManagedBuildInfo info = getBuildInfo(cfgDescription);
|
||||
|
@ -638,9 +619,7 @@ public class ConfigurationDataProvider extends CConfigurationDataProvider implem
|
|||
}
|
||||
|
||||
@Override
|
||||
public void dataCached(ICConfigurationDescription cfgDescription,
|
||||
CConfigurationData data,
|
||||
IProgressMonitor monitor) {
|
||||
public void dataCached(ICConfigurationDescription cfgDescription, CConfigurationData data, IProgressMonitor monitor) {
|
||||
BuildConfigurationData cfgData = (BuildConfigurationData)data;
|
||||
((Configuration)cfgData.getConfiguration()).setConfigurationDescription(cfgDescription);
|
||||
cfgData.clearCachedData();
|
||||
|
|
|
@ -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
|
||||
|
@ -11,95 +11,114 @@
|
|||
package org.eclipse.cdt.core.settings.model.extension;
|
||||
|
||||
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
||||
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
|
||||
import org.eclipse.cdt.core.settings.model.IModificationContext;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
|
||||
/**
|
||||
* the class is to be implemented by the Configuration data provider contributed via
|
||||
* The class is to be implemented by the Configuration data provider contributed via
|
||||
* a org.eclipse.cdt.core.CConfigurationDataProvider extension point
|
||||
*
|
||||
*/
|
||||
public abstract class CConfigurationDataProvider {
|
||||
/**
|
||||
* requests the Configuration Data to be loadded for the given ConfigurationDescription
|
||||
*/
|
||||
public abstract CConfigurationData loadConfiguration(ICConfigurationDescription des, IProgressMonitor monitor) throws CoreException;
|
||||
|
||||
/**
|
||||
* requests the Configuration Data to be created for the given ConfigurationDescription
|
||||
* The method can be called in several cases:
|
||||
* 1. When the new configuration is being created based upon the already existing one via
|
||||
* theICProjectDescription.createConfiguration method call
|
||||
* 2. When the configuration copy (clone) is being created for the copy description
|
||||
|
||||
* @param des
|
||||
* @param baseDescription
|
||||
* @param baseData
|
||||
* @param clone true indicates that the configuration copy (clone) is being created for
|
||||
* the copy description.
|
||||
* @param monitor
|
||||
* @return {@code false} indicates that the new configuration is being created based upon the already existing one via
|
||||
* theICProjectDescription.createConfiguration method call, {@code true} otherwise
|
||||
* @throws CoreException
|
||||
*/
|
||||
public abstract CConfigurationData createConfiguration(ICConfigurationDescription des,
|
||||
ICConfigurationDescription baseDescription,
|
||||
CConfigurationData baseData, boolean clone,
|
||||
IProgressMonitor monitor) throws CoreException;
|
||||
|
||||
/**
|
||||
* called to notify the provider that the configuration is removed
|
||||
*/
|
||||
public abstract void removeConfiguration(ICConfigurationDescription des, CConfigurationData data, IProgressMonitor monitor);
|
||||
|
||||
/**
|
||||
* the method is called in case the implementer does NOT override
|
||||
* the {@link #applyConfiguration(ICConfigurationDescription, ICConfigurationDescription, CConfigurationData, IModificationContext, IProgressMonitor)}
|
||||
* method. See {@link #applyConfiguration(ICConfigurationDescription, ICConfigurationDescription, CConfigurationData, IModificationContext, IProgressMonitor)}
|
||||
* for detail
|
||||
* Requests the Configuration Data to be loaded for the given ConfigurationDescription.
|
||||
* The method can be called in following cases:
|
||||
* <br>
|
||||
* 1. Loading configuration from external data source such as .cproject.<br>
|
||||
* 2. Loading preference configuration defined in Preferences -> C/C++ -> New project Wizard -> Makefile Project.
|
||||
*
|
||||
* @param cfgDescription - configuration description being loaded.
|
||||
* @param monitor - progress monitor.
|
||||
*
|
||||
* @throws CoreException
|
||||
*/
|
||||
public CConfigurationData applyConfiguration(ICConfigurationDescription des,
|
||||
ICConfigurationDescription baseDescription,
|
||||
CConfigurationData baseData,
|
||||
IProgressMonitor monitor) throws CoreException{
|
||||
public abstract CConfigurationData loadConfiguration(ICConfigurationDescription cfgDescription, IProgressMonitor monitor) throws CoreException;
|
||||
|
||||
/**
|
||||
* Requests the Configuration Data to be created for the given ConfigurationDescription.
|
||||
* The method can be called in several cases:
|
||||
* <br>
|
||||
* 1. When the new configuration is being created based upon the already existing one via
|
||||
* ICProjectDescription.createConfiguration method call.<br>
|
||||
* 2. When the configuration copy (clone) is being created for the copy description.
|
||||
*
|
||||
* @param cfgDescription - configuration description for the configuration data being created.
|
||||
* @param baseCfgDescription - configuration description for the configuration data the new data to be based upon.
|
||||
* @param baseData - configuration data the new data to be based upon.
|
||||
* @param clone - {@code true} indicates that the configuration copy (clone) is being created for the copy description.
|
||||
* @param monitor - progress monitor.
|
||||
*
|
||||
* @return {@code false} indicates that the new configuration is being created based upon the already existing one via
|
||||
* ICProjectDescription.createConfiguration method call, {@code true} otherwise.
|
||||
*
|
||||
* @throws CoreException
|
||||
*/
|
||||
public abstract CConfigurationData createConfiguration(ICConfigurationDescription cfgDescription,
|
||||
ICConfigurationDescription baseCfgDescription, CConfigurationData baseData,
|
||||
boolean clone, IProgressMonitor monitor) throws CoreException;
|
||||
|
||||
/**
|
||||
* Called to notify the provider that the configuration is removed.
|
||||
*
|
||||
* @param cfgDescription - configuration description being removed.
|
||||
* @param data - configuration data.
|
||||
* @param monitor - progress monitor.
|
||||
*/
|
||||
public abstract void removeConfiguration(ICConfigurationDescription cfgDescription, CConfigurationData data, IProgressMonitor monitor);
|
||||
|
||||
/**
|
||||
* The method is called in case the implementer does NOT override method
|
||||
* {@link #applyConfiguration(ICConfigurationDescription, ICConfigurationDescription, CConfigurationData, IModificationContext, IProgressMonitor)}.
|
||||
*
|
||||
* @param cfgDescription - configuration description where the configuration data are being applied to.
|
||||
* @param baseCfgDescription - configuration description of the configuration data being applied.
|
||||
* @param baseData - configuration data being applied.
|
||||
*
|
||||
* @throws CoreException
|
||||
*/
|
||||
public CConfigurationData applyConfiguration(ICConfigurationDescription cfgDescription,
|
||||
ICConfigurationDescription baseCfgDescription, CConfigurationData baseData,
|
||||
IProgressMonitor monitor) throws CoreException {
|
||||
|
||||
return baseData;
|
||||
}
|
||||
|
||||
/**
|
||||
* called during the setProjectDescription operation to notify the provider that the configuration data
|
||||
* Called during the setProjectDescription operation to notify the provider that the configuration data
|
||||
* is being applied.
|
||||
* Provider would typically store all the necessary data configuration during this call.
|
||||
*
|
||||
* @param des
|
||||
* @param baseDescription
|
||||
* @param baseData
|
||||
* @param cfgDescription - configuration description where the configuration data are being applied to.
|
||||
* @param baseCfgDescription - configuration description of the configuration data being applied.
|
||||
* @param baseData - configuration data being applied.
|
||||
* @param context the {@link IModificationContext} allows registering workspace runnables to be run
|
||||
* as a single batch workspace operation.
|
||||
* If possible the runnables will be run directly in the apply context(thread) after all
|
||||
* configuration datas get applied. Otherwise runnables will be run as a separate job.
|
||||
* This allows to perform all workspace modifications registered by different configurations
|
||||
* to be run as a single batch peration together with the workspace modifications performed by the
|
||||
* ICProjectDesacription framework
|
||||
* @param monitor
|
||||
* as a single batch workspace operation.
|
||||
* If possible the runnables will be run directly in the apply context(thread) after all
|
||||
* configuration datas get applied. Otherwise runnables will be run as a separate job.
|
||||
* This allows to perform all workspace modifications registered by different configurations
|
||||
* to be run as a single batch operation together with the workspace modifications performed by the
|
||||
* {@link ICProjectDescription} framework.
|
||||
* @param monitor - progress monitor.
|
||||
*
|
||||
* @throws CoreException
|
||||
*/
|
||||
public CConfigurationData applyConfiguration(ICConfigurationDescription des,
|
||||
ICConfigurationDescription baseDescription,
|
||||
CConfigurationData baseData,
|
||||
IModificationContext context,
|
||||
IProgressMonitor monitor) throws CoreException{
|
||||
return applyConfiguration(des, baseDescription, baseData, monitor);
|
||||
public CConfigurationData applyConfiguration(ICConfigurationDescription cfgDescription,
|
||||
ICConfigurationDescription baseCfgDescription, CConfigurationData baseData,
|
||||
IModificationContext context, IProgressMonitor monitor) throws CoreException {
|
||||
|
||||
return applyConfiguration(cfgDescription, baseCfgDescription, baseData, monitor);
|
||||
}
|
||||
|
||||
/**
|
||||
* called to notify that the configuration data was cached
|
||||
* implementors can do any necessary cleaning, etc.
|
||||
* Default implementation is empty
|
||||
* Called to notify that the configuration data was cached. Implementors can do any necessary cleaning, etc.
|
||||
* Default implementation is empty.
|
||||
*
|
||||
* @param cfgDescription - configuration description which was cached.
|
||||
* @param data - configuration data.
|
||||
* @param monitor - progress monitor.
|
||||
*/
|
||||
public void dataCached(ICConfigurationDescription cfgDes, CConfigurationData data, IProgressMonitor monitor){
|
||||
public void dataCached(ICConfigurationDescription cfgDescription, CConfigurationData data, IProgressMonitor monitor) {
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2007, 2008 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
|
||||
|
@ -19,79 +19,70 @@ import org.eclipse.cdt.core.settings.model.util.CDataUtil;
|
|||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
|
||||
public class CDefaultConfigurationDataProvider extends
|
||||
CConfigurationDataProvider {
|
||||
public class CDefaultConfigurationDataProvider extends CConfigurationDataProvider {
|
||||
private static final String DEFAULT_STORAGE_ID = "defaultConfigurationDataProvider"; //$NON-NLS-1$
|
||||
|
||||
@Override
|
||||
public CConfigurationData applyConfiguration(
|
||||
ICConfigurationDescription des,
|
||||
ICConfigurationDescription baseDescription,
|
||||
CConfigurationData base,
|
||||
IProgressMonitor monitor)
|
||||
throws CoreException {
|
||||
ICStorageElement el = getStorageElement(des, true);
|
||||
CDataSerializer serializer = getDataSerializer();
|
||||
serializer.store(base, el);
|
||||
return base;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CConfigurationData createConfiguration(
|
||||
ICConfigurationDescription des,
|
||||
ICConfigurationDescription baseDescription,
|
||||
CConfigurationData base,
|
||||
boolean clone,
|
||||
public CConfigurationData applyConfiguration(ICConfigurationDescription cfgDescription,
|
||||
ICConfigurationDescription baseCfgDescription, CConfigurationData baseData,
|
||||
IProgressMonitor monitor) throws CoreException {
|
||||
CDataFactory factory = getDataFactory();
|
||||
return factory.createConfigurationdata(des.getId(), des.getName(), base, clone);
|
||||
|
||||
ICStorageElement el = getStorageElement(cfgDescription, true);
|
||||
CDataSerializer serializer = getDataSerializer();
|
||||
serializer.store(baseData, el);
|
||||
return baseData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CConfigurationData loadConfiguration(ICConfigurationDescription des,
|
||||
IProgressMonitor monitor)
|
||||
throws CoreException {
|
||||
ICStorageElement el = getStorageElement(des, false);
|
||||
if(el != null){
|
||||
public CConfigurationData createConfiguration(ICConfigurationDescription cfgDescription,
|
||||
ICConfigurationDescription baseCfgDescription, CConfigurationData baseData,
|
||||
boolean clone, IProgressMonitor monitor) throws CoreException {
|
||||
|
||||
CDataFactory factory = getDataFactory();
|
||||
return factory.createConfigurationdata(cfgDescription.getId(), cfgDescription.getName(), baseData, clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CConfigurationData loadConfiguration(ICConfigurationDescription cfgDescription, IProgressMonitor monitor) throws CoreException {
|
||||
ICStorageElement el = getStorageElement(cfgDescription, false);
|
||||
if(el != null) {
|
||||
CDataSerializer serializer = getDataSerializer();
|
||||
CDataFactory factory = getDataFactory();
|
||||
try {
|
||||
return serializer.loadConfigurationData(factory, el);
|
||||
} catch (CoreException e){
|
||||
if(des.isPreferenceConfiguration())
|
||||
} catch (CoreException e) {
|
||||
if(cfgDescription.isPreferenceConfiguration())
|
||||
return createPreferenceConfig(factory);
|
||||
throw e;
|
||||
}
|
||||
} else if (des.isPreferenceConfiguration()){
|
||||
} else if (cfgDescription.isPreferenceConfiguration()) {
|
||||
return createPreferenceConfig(getDataFactory());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeConfiguration(ICConfigurationDescription des,
|
||||
CConfigurationData data,
|
||||
IProgressMonitor monitor) {
|
||||
public void removeConfiguration(ICConfigurationDescription cfgDescription, CConfigurationData data, IProgressMonitor monitor) {
|
||||
//do nothing
|
||||
}
|
||||
|
||||
protected CDataFactory getDataFactory(){
|
||||
protected CDataFactory getDataFactory() {
|
||||
return CDataFactory.getDefault();
|
||||
}
|
||||
|
||||
protected CDataSerializer getDataSerializer(){
|
||||
protected CDataSerializer getDataSerializer() {
|
||||
return CDataSerializer.getDefault();
|
||||
}
|
||||
|
||||
protected String getStorageId(){
|
||||
protected String getStorageId() {
|
||||
return DEFAULT_STORAGE_ID;
|
||||
}
|
||||
|
||||
protected ICStorageElement getStorageElement(ICConfigurationDescription des, boolean create) throws CoreException{
|
||||
return des.getStorage(getStorageId(), create);
|
||||
protected ICStorageElement getStorageElement(ICConfigurationDescription cfgDescription, boolean create) throws CoreException {
|
||||
return cfgDescription.getStorage(getStorageId(), create);
|
||||
}
|
||||
|
||||
protected CConfigurationData createPreferenceConfig(CDataFactory factory){
|
||||
protected CConfigurationData createPreferenceConfig(CDataFactory factory) {
|
||||
return CDataUtil.createEmptyData(null, "preference", factory, true); //$NON-NLS-1$
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
@ -45,37 +45,35 @@ import org.eclipse.core.runtime.IPath;
|
|||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
|
||||
public class PathEntryConfigurationDataProvider extends
|
||||
CConfigurationDataProvider {
|
||||
public class PathEntryConfigurationDataProvider extends CConfigurationDataProvider {
|
||||
private static PathEntryDataFactory fFactory;
|
||||
|
||||
|
||||
public static CDataFactory getDataFactory(){
|
||||
if(fFactory == null){
|
||||
public static CDataFactory getDataFactory() {
|
||||
if(fFactory == null) {
|
||||
fFactory = new PathEntryDataFactory();
|
||||
}
|
||||
return fFactory;
|
||||
}
|
||||
|
||||
public PathEntryConfigurationDataProvider(){
|
||||
public PathEntryConfigurationDataProvider() {
|
||||
getDataFactory();
|
||||
}
|
||||
|
||||
private static class PathEntryFolderData extends CDefaultFolderData {
|
||||
private EntryStore fStore;
|
||||
|
||||
// public PathEntryFolderData(CConfigurationData cfg, CDataFacroty factory) {
|
||||
// super(cfg, factory);
|
||||
// }
|
||||
// public PathEntryFolderData(CConfigurationData cfg, CDataFacroty factory) {
|
||||
// super(cfg, factory);
|
||||
// }
|
||||
|
||||
// public PathEntryFolderData(String id, IPath path,
|
||||
// CConfigurationData cfg, CDataFacroty factory) {
|
||||
// super(id, path, cfg, factory);
|
||||
// }
|
||||
// public PathEntryFolderData(String id, IPath path,
|
||||
// CConfigurationData cfg, CDataFacroty factory) {
|
||||
// super(id, path, cfg, factory);
|
||||
// }
|
||||
|
||||
public PathEntryFolderData(String id, IPath path, PathEntryFolderData base,
|
||||
CConfigurationData cfg, CDataFactory factory, boolean clone) {
|
||||
super(id, path, cfg, factory);
|
||||
CConfigurationData cfgData, CDataFactory factory, boolean clone) {
|
||||
super(id, path, cfgData, factory);
|
||||
|
||||
if(base != null)
|
||||
fStore = new EntryStore(base.fStore, true);
|
||||
|
@ -89,14 +87,14 @@ public class PathEntryConfigurationDataProvider extends
|
|||
private static class PathEntryFileData extends CDefaultFileData {
|
||||
private EntryStore fStore;
|
||||
|
||||
// public PathEntryFileData(CConfigurationData cfg, CDataFacroty factory) {
|
||||
// super(cfg, factory);
|
||||
// }
|
||||
// public PathEntryFileData(CConfigurationData cfg, CDataFacroty factory) {
|
||||
// super(cfg, factory);
|
||||
// }
|
||||
|
||||
// public PathEntryFileData(String id, IPath path, CConfigurationData cfg,
|
||||
// CDataFacroty factory) {
|
||||
// super(id, path, cfg, factory);
|
||||
// }
|
||||
// public PathEntryFileData(String id, IPath path, CConfigurationData cfg,
|
||||
// CDataFacroty factory) {
|
||||
// super(id, path, cfg, factory);
|
||||
// }
|
||||
|
||||
public PathEntryFileData(String id, IPath path, PathEntryFileData base,
|
||||
CConfigurationData cfg, CDataFactory factory, boolean clone) {
|
||||
|
@ -108,9 +106,9 @@ public class PathEntryConfigurationDataProvider extends
|
|||
}
|
||||
|
||||
public PathEntryFileData(String id, IPath path, PathEntryFolderData base,
|
||||
CLanguageData baseLangData, CConfigurationData cfg,
|
||||
CLanguageData baseLangData, CConfigurationData cfgData,
|
||||
CDataFactory factory) {
|
||||
super(id, path, cfg, factory);
|
||||
super(id, path, cfgData, factory);
|
||||
|
||||
fStore = new EntryStore(base.fStore, true);
|
||||
|
||||
|
@ -120,7 +118,6 @@ public class PathEntryConfigurationDataProvider extends
|
|||
}
|
||||
|
||||
private static class PathEntryLanguageData extends CDefaultLanguageData {
|
||||
|
||||
public PathEntryLanguageData(String id, CLanguageData base, EntryStore store) {
|
||||
fId = id;
|
||||
fStore = store;
|
||||
|
@ -148,7 +145,6 @@ public class PathEntryConfigurationDataProvider extends
|
|||
}
|
||||
|
||||
private static class PathEntryDataFactory extends CDataFactory {
|
||||
|
||||
@Override
|
||||
public CConfigurationData createConfigurationdata(String id,
|
||||
String name, CConfigurationData base, boolean clone) {
|
||||
|
@ -168,10 +164,10 @@ public class PathEntryConfigurationDataProvider extends
|
|||
IPath path) {
|
||||
if(id == null)
|
||||
id = clone ? base.getId() : CDataUtil.genId(cfg.getId());
|
||||
if(base.getType() == ICSettingBase.SETTING_FILE)
|
||||
return new PathEntryFileData(id, path, (PathEntryFileData)base, cfg, this, clone);
|
||||
return new PathEntryFileData(id, path, (PathEntryFolderData)base,
|
||||
base2, cfg, this);
|
||||
if(base.getType() == ICSettingBase.SETTING_FILE)
|
||||
return new PathEntryFileData(id, path, (PathEntryFileData)base, cfg, this, clone);
|
||||
return new PathEntryFileData(id, path, (PathEntryFolderData)base,
|
||||
base2, cfg, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -179,7 +175,7 @@ public class PathEntryConfigurationDataProvider extends
|
|||
CFolderData base, String id, boolean clone, IPath path) {
|
||||
if(id == null)
|
||||
id = clone ? base.getId() : CDataUtil.genId(cfg.getId());
|
||||
return new PathEntryFolderData(id, path, (PathEntryFolderData)base, cfg, this, clone);
|
||||
return new PathEntryFolderData(id, path, (PathEntryFolderData)base, cfg, this, clone);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -187,12 +183,12 @@ public class PathEntryConfigurationDataProvider extends
|
|||
CResourceData rcBase, CLanguageData base, String id, boolean clone) {
|
||||
if(id == null)
|
||||
id = clone ? base.getId() : CDataUtil.genId(rcBase.getId());
|
||||
EntryStore store;
|
||||
if(rcBase.getType() == ICSettingBase.SETTING_FOLDER)
|
||||
store = ((PathEntryFolderData)rcBase).fStore;
|
||||
else
|
||||
store = ((PathEntryFileData)rcBase).fStore;
|
||||
return new PathEntryLanguageData(id, base, store);
|
||||
EntryStore store;
|
||||
if(rcBase.getType() == ICSettingBase.SETTING_FOLDER)
|
||||
store = ((PathEntryFolderData)rcBase).fStore;
|
||||
else
|
||||
store = ((PathEntryFileData)rcBase).fStore;
|
||||
return new PathEntryLanguageData(id, base, store);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -212,23 +208,22 @@ public class PathEntryConfigurationDataProvider extends
|
|||
}
|
||||
|
||||
private static class CfgData extends CDefaultConfigurationData {
|
||||
// private PathEntryResolveInfo fResolveInfo;
|
||||
// private PathEntryResolveInfo fResolveInfo;
|
||||
|
||||
public CfgData(String id, String name, CConfigurationData base, boolean clone) {
|
||||
super(id, name, base, fFactory, clone);
|
||||
}
|
||||
|
||||
public CfgData(String id, String name) {
|
||||
super(id, name, fFactory);
|
||||
}
|
||||
|
||||
// public PathEntryResolveInfo getResolveInfo(){
|
||||
// return fResolveInfo;
|
||||
// }
|
||||
//
|
||||
// public void setResolveInfo(PathEntryResolveInfo info){
|
||||
// fResolveInfo = info;
|
||||
// }
|
||||
// public PathEntryResolveInfo getResolveInfo(){
|
||||
// return fResolveInfo;
|
||||
// }
|
||||
//
|
||||
// public void setResolveInfo(PathEntryResolveInfo info){
|
||||
// fResolveInfo = info;
|
||||
// }
|
||||
}
|
||||
|
||||
public static boolean isPathEntryData(CConfigurationData data){
|
||||
|
@ -236,21 +231,18 @@ public class PathEntryConfigurationDataProvider extends
|
|||
}
|
||||
|
||||
@Override
|
||||
public CConfigurationData applyConfiguration(
|
||||
ICConfigurationDescription des,
|
||||
ICConfigurationDescription baseDescription,
|
||||
CConfigurationData base,
|
||||
IProgressMonitor monitor)
|
||||
throws CoreException {
|
||||
public CConfigurationData applyConfiguration(ICConfigurationDescription cfgDescription,
|
||||
ICConfigurationDescription baseCfgDescription, CConfigurationData baseData,
|
||||
IProgressMonitor monitor) throws CoreException {
|
||||
|
||||
//TODO: check external/reference info here as well.
|
||||
if(!fFactory.isModified(base)){
|
||||
return createData(des, base, false, true);
|
||||
if (!fFactory.isModified(baseData)) {
|
||||
return createData(cfgDescription, baseData, false, true);
|
||||
}
|
||||
|
||||
|
||||
IProject project = des.getProjectDescription().getProject();
|
||||
// ReferenceSettingsInfo refInfo = new ReferenceSettingsInfo(des);
|
||||
IPathEntry entries[] = PathEntryTranslator.getPathEntries(project, baseDescription, PathEntryTranslator.INCLUDE_USER);
|
||||
IProject project = cfgDescription.getProjectDescription().getProject();
|
||||
// ReferenceSettingsInfo refInfo = new ReferenceSettingsInfo(des);
|
||||
IPathEntry entries[] = PathEntryTranslator.getPathEntries(project, baseCfgDescription, PathEntryTranslator.INCLUDE_USER);
|
||||
CModelManager manager = CModelManager.getDefault();
|
||||
ICProject cproject = manager.create(project);
|
||||
IPathEntry[] curRawEntries = PathEntryManager.getDefault().getRawPathEntries(cproject);
|
||||
|
@ -265,13 +257,13 @@ public class PathEntryConfigurationDataProvider extends
|
|||
|
||||
IPathEntry[] newEntries = list.toArray(new IPathEntry[list.size()]);
|
||||
PathEntryManager.getDefault().setRawPathEntries(cproject, newEntries, new NullProgressMonitor());
|
||||
return createData(des, base, false, false);
|
||||
return createData(cfgDescription, baseData, false, false);
|
||||
}
|
||||
|
||||
private CConfigurationData createData(ICConfigurationDescription des, CConfigurationData fallbackData, boolean modifiedFlag, boolean useCache) throws CoreException {
|
||||
private CConfigurationData createData(ICConfigurationDescription cfgDescription, CConfigurationData fallbackData, boolean modifiedFlag, boolean useCache) throws CoreException {
|
||||
CConfigurationData dataToReturn;
|
||||
try {
|
||||
dataToReturn = createData(des, useCache);
|
||||
dataToReturn = createData(cfgDescription, useCache);
|
||||
} catch (Exception e){
|
||||
if(fallbackData != null)
|
||||
dataToReturn = fallbackData;
|
||||
|
@ -286,59 +278,57 @@ public class PathEntryConfigurationDataProvider extends
|
|||
}
|
||||
|
||||
@Override
|
||||
public CConfigurationData createConfiguration(
|
||||
ICConfigurationDescription des,
|
||||
ICConfigurationDescription baseDescription,
|
||||
CConfigurationData base,
|
||||
boolean clone,
|
||||
IProgressMonitor monitor) throws CoreException {
|
||||
CfgData copy = new CfgData(des.getId(), des.getName(), base, clone);
|
||||
public CConfigurationData createConfiguration(ICConfigurationDescription cfgDescription,
|
||||
ICConfigurationDescription baseCfgDescription, CConfigurationData baseData,
|
||||
boolean clone, IProgressMonitor monitor) throws CoreException {
|
||||
|
||||
CfgData copy = new CfgData(cfgDescription.getId(), cfgDescription.getName(), baseData, clone);
|
||||
copy.setModified(false);
|
||||
return copy;
|
||||
}
|
||||
|
||||
private CfgData createData(ICConfigurationDescription des, boolean useCache) throws CoreException{
|
||||
IProject project = des.getProjectDescription().getProject();
|
||||
private CfgData createData(ICConfigurationDescription cfgDescription, boolean useCache) throws CoreException {
|
||||
IProject project = cfgDescription.getProjectDescription().getProject();
|
||||
CModelManager manager = CModelManager.getDefault();
|
||||
ICProject cproject = manager.create(project);
|
||||
PathEntryResolveInfo rInfo = PathEntryManager.getDefault().getResolveInfo(cproject, useCache);
|
||||
|
||||
CfgData data = new CfgData(des.getId(), des.getName());
|
||||
CfgData data = new CfgData(cfgDescription.getId(), cfgDescription.getName());
|
||||
data.initEmptyData();
|
||||
CDataUtil.adjustConfig(data, getDataFactory());
|
||||
//CProjectDescriptionManager.getInstance().adjustDefaultConfig(data);
|
||||
|
||||
// data.setResolveInfo(rInfo);
|
||||
// data.setResolveInfo(rInfo);
|
||||
PathEntryTranslator tr = new PathEntryTranslator(project, data);
|
||||
ReferenceSettingsInfo refInfo = tr.applyPathEntries(rInfo, PathEntryTranslator.OP_REPLACE);
|
||||
ICExternalSetting extSettings[] = refInfo.getExternalSettings();
|
||||
des.removeExternalSettings();
|
||||
if(extSettings.length != 0){
|
||||
cfgDescription.removeExternalSettings();
|
||||
if (extSettings.length != 0) {
|
||||
ICExternalSetting setting;
|
||||
for(int i = 0; i < extSettings.length; i++){
|
||||
setting = extSettings[i];
|
||||
des.createExternalSetting(setting.getCompatibleLanguageIds(),
|
||||
cfgDescription.createExternalSetting(setting.getCompatibleLanguageIds(),
|
||||
setting.getCompatibleContentTypeIds(),
|
||||
setting.getCompatibleExtensions(),
|
||||
setting.getEntries());
|
||||
}
|
||||
}
|
||||
|
||||
// IPath projPaths[] = refInfo.getReferencedProjectsPaths();
|
||||
// if(projPaths.length != 0){
|
||||
// Map map = new HashMap(projPaths.length);
|
||||
// for(int i = 0; i < projPaths.length; i++){
|
||||
// map.put(projPaths[i].segment(0), ""); //$NON-NLS-1$
|
||||
// }
|
||||
// des.setReferenceInfo(map);
|
||||
// }
|
||||
// IPath projPaths[] = refInfo.getReferencedProjectsPaths();
|
||||
// if(projPaths.length != 0){
|
||||
// Map map = new HashMap(projPaths.length);
|
||||
// for(int i = 0; i < projPaths.length; i++){
|
||||
// map.put(projPaths[i].segment(0), ""); //$NON-NLS-1$
|
||||
// }
|
||||
// des.setReferenceInfo(map);
|
||||
// }
|
||||
|
||||
cproject.close();
|
||||
|
||||
String[] ids = getIds(des.get(CCorePlugin.BINARY_PARSER_UNIQ_ID));
|
||||
String[] ids = getIds(cfgDescription.get(CCorePlugin.BINARY_PARSER_UNIQ_ID));
|
||||
data.getTargetPlatformData().setBinaryParserIds(ids);
|
||||
|
||||
ids = getIds(des.get(CCorePlugin.ERROR_PARSER_UNIQ_ID));
|
||||
ids = getIds(cfgDescription.get(CCorePlugin.ERROR_PARSER_UNIQ_ID));
|
||||
data.getBuildData().setErrorParserIDs(ids);
|
||||
|
||||
data.setModified(false);
|
||||
|
@ -357,22 +347,17 @@ public class PathEntryConfigurationDataProvider extends
|
|||
}
|
||||
|
||||
@Override
|
||||
public CConfigurationData loadConfiguration(ICConfigurationDescription des,
|
||||
IProgressMonitor monitor)
|
||||
throws CoreException {
|
||||
return createData(des, null, false, true);
|
||||
public CConfigurationData loadConfiguration(ICConfigurationDescription cfgDescription, IProgressMonitor monitor) throws CoreException {
|
||||
return createData(cfgDescription, null, false, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeConfiguration(ICConfigurationDescription des,
|
||||
CConfigurationData data,
|
||||
IProgressMonitor monitor) {
|
||||
public void removeConfiguration(ICConfigurationDescription cfgDescription, CConfigurationData data, IProgressMonitor monitor) {
|
||||
//do nothing for now
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dataCached(ICConfigurationDescription cfgDes,
|
||||
CConfigurationData data, IProgressMonitor monitor) {
|
||||
public void dataCached(ICConfigurationDescription cfgDescription, CConfigurationData data, IProgressMonitor monitor) {
|
||||
fFactory.setModified(data, false);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue