mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
ILanguageSettingsProvidersKeeper
This commit is contained in:
parent
349a2aa036
commit
b04a172c1a
23 changed files with 1034 additions and 716 deletions
|
@ -32,15 +32,14 @@ import org.eclipse.cdt.core.IMarkerGenerator;
|
||||||
import org.eclipse.cdt.core.envvar.IEnvironmentVariable;
|
import org.eclipse.cdt.core.envvar.IEnvironmentVariable;
|
||||||
import org.eclipse.cdt.core.envvar.IEnvironmentVariableManager;
|
import org.eclipse.cdt.core.envvar.IEnvironmentVariableManager;
|
||||||
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.LanguageSettingsManager;
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
|
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
|
||||||
import org.eclipse.cdt.core.model.ICModelMarker;
|
import org.eclipse.cdt.core.model.ICModelMarker;
|
||||||
import org.eclipse.cdt.core.resources.IConsole;
|
import org.eclipse.cdt.core.resources.IConsole;
|
||||||
import org.eclipse.cdt.core.resources.RefreshScopeManager;
|
import org.eclipse.cdt.core.resources.RefreshScopeManager;
|
||||||
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
||||||
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
|
|
||||||
import org.eclipse.cdt.internal.core.ConsoleOutputSniffer;
|
import org.eclipse.cdt.internal.core.ConsoleOutputSniffer;
|
||||||
import org.eclipse.cdt.internal.core.language.settings.providers.LanguageSettingsProvidersSerializer;
|
|
||||||
import org.eclipse.cdt.make.core.scannerconfig.IScannerConfigBuilderInfo2;
|
import org.eclipse.cdt.make.core.scannerconfig.IScannerConfigBuilderInfo2;
|
||||||
import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector;
|
import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector;
|
||||||
import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoConsoleParser;
|
import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoConsoleParser;
|
||||||
|
@ -126,7 +125,7 @@ public class ExternalBuildRunner extends AbstractBuildRunner {
|
||||||
if(pathFromURI == null) {
|
if(pathFromURI == null) {
|
||||||
throw new CoreException(new Status(IStatus.ERROR, ManagedBuilderCorePlugin.PLUGIN_ID, ManagedMakeMessages.getString("ManagedMakeBuilder.message.error"), null)); //$NON-NLS-1$
|
throw new CoreException(new Status(IStatus.ERROR, ManagedBuilderCorePlugin.PLUGIN_ID, ManagedMakeMessages.getString("ManagedMakeBuilder.message.error"), null)); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
IPath workingDirectory = new Path(pathFromURI);
|
IPath workingDirectory = new Path(pathFromURI);
|
||||||
|
|
||||||
// Set the environment
|
// Set the environment
|
||||||
|
@ -211,10 +210,10 @@ public class ExternalBuildRunner extends AbstractBuildRunner {
|
||||||
// Do not allow the cancel of the refresh, since the builder is external
|
// Do not allow the cancel of the refresh, since the builder is external
|
||||||
// to Eclipse, files may have been created/modified and we will be out-of-sync.
|
// to Eclipse, files may have been created/modified and we will be out-of-sync.
|
||||||
// The caveat is for huge projects, it may take sometimes at every build.
|
// The caveat is for huge projects, it may take sometimes at every build.
|
||||||
|
|
||||||
// TODO should only refresh output folders
|
// TODO should only refresh output folders
|
||||||
//project.refreshLocal(IResource.DEPTH_INFINITE, null);
|
//project.refreshLocal(IResource.DEPTH_INFINITE, null);
|
||||||
|
|
||||||
// use the refresh scope manager to refresh
|
// use the refresh scope manager to refresh
|
||||||
RefreshScopeManager refreshManager = RefreshScopeManager.getInstance();
|
RefreshScopeManager refreshManager = RefreshScopeManager.getInstance();
|
||||||
IWorkspaceRunnable runnable = refreshManager.getRefreshRunnable(project);
|
IWorkspaceRunnable runnable = refreshManager.getRefreshRunnable(project);
|
||||||
|
@ -247,7 +246,7 @@ public class ExternalBuildRunner extends AbstractBuildRunner {
|
||||||
consoleErr.write(buf.toString().getBytes());
|
consoleErr.write(buf.toString().getBytes());
|
||||||
consoleErr.flush();
|
consoleErr.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
buf = new StringBuffer(NEWLINE);
|
buf = new StringBuffer(NEWLINE);
|
||||||
buf.append(ManagedMakeMessages.getResourceString("ManagedMakeBuilder.message.build.finished")).append(NEWLINE); //$NON-NLS-1$
|
buf.append(ManagedMakeMessages.getResourceString("ManagedMakeBuilder.message.build.finished")).append(NEWLINE); //$NON-NLS-1$
|
||||||
consoleOut.write(buf.toString().getBytes());
|
consoleOut.write(buf.toString().getBytes());
|
||||||
|
@ -324,15 +323,15 @@ public class ExternalBuildRunner extends AbstractBuildRunner {
|
||||||
envMap.put(var.getName(), var.getValue());
|
envMap.put(var.getName(), var.getValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add variables from build info
|
// Add variables from build info
|
||||||
Map<String, String> builderEnv = builder.getExpandedEnvironment();
|
Map<String, String> builderEnv = builder.getExpandedEnvironment();
|
||||||
if (builderEnv != null)
|
if (builderEnv != null)
|
||||||
envMap.putAll(builderEnv);
|
envMap.putAll(builderEnv);
|
||||||
|
|
||||||
return envMap;
|
return envMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static String[] getEnvStrings(Map<String, String> env) {
|
protected static String[] getEnvStrings(Map<String, String> env) {
|
||||||
// Convert into env strings
|
// Convert into env strings
|
||||||
List<String> strings= new ArrayList<String>(env.size());
|
List<String> strings= new ArrayList<String>(env.size());
|
||||||
|
@ -341,10 +340,10 @@ public class ExternalBuildRunner extends AbstractBuildRunner {
|
||||||
buffer.append('=').append(entry.getValue());
|
buffer.append('=').append(entry.getValue());
|
||||||
strings.add(buffer.toString());
|
strings.add(buffer.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
return strings.toArray(new String[strings.size()]);
|
return strings.toArray(new String[strings.size()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ConsoleOutputSniffer createBuildOutputSniffer(OutputStream outputStream,
|
private ConsoleOutputSniffer createBuildOutputSniffer(OutputStream outputStream,
|
||||||
OutputStream errorStream,
|
OutputStream errorStream,
|
||||||
IProject project,
|
IProject project,
|
||||||
|
@ -386,17 +385,19 @@ public class ExternalBuildRunner extends AbstractBuildRunner {
|
||||||
}
|
}
|
||||||
|
|
||||||
ICConfigurationDescription cfgDescription = ManagedBuildManager.getDescriptionForConfiguration(cfg);
|
ICConfigurationDescription cfgDescription = ManagedBuildManager.getDescriptionForConfiguration(cfg);
|
||||||
List<ILanguageSettingsProvider> lsProviders = cfgDescription.getLanguageSettingProviders();
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
for (ILanguageSettingsProvider lsProvider : lsProviders) {
|
List<ILanguageSettingsProvider> lsProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(lsProvider);
|
for (ILanguageSettingsProvider lsProvider : lsProviders) {
|
||||||
if (rawProvider instanceof ICConsoleParser) {
|
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(lsProvider);
|
||||||
ICConsoleParser consoleParser = (ICConsoleParser) rawProvider;
|
if (rawProvider instanceof ICConsoleParser) {
|
||||||
try {
|
ICConsoleParser consoleParser = (ICConsoleParser) rawProvider;
|
||||||
consoleParser.startup(cfgDescription);
|
try {
|
||||||
clParserList.add(consoleParser);
|
consoleParser.startup(cfgDescription);
|
||||||
} catch (CoreException e) {
|
clParserList.add(consoleParser);
|
||||||
// TODO Auto-generated catch block
|
} catch (CoreException e) {
|
||||||
e.printStackTrace();
|
ManagedBuilderCorePlugin.log(new Status(IStatus.ERROR, ManagedBuilderCorePlugin.PLUGIN_ID,
|
||||||
|
"Language Settings Provider failed to start up", e)); //$NON-NLS-1$
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,16 +18,14 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.CCorePlugin;
|
|
||||||
import org.eclipse.cdt.core.ConsoleOutputStream;
|
import org.eclipse.cdt.core.ConsoleOutputStream;
|
||||||
import org.eclipse.cdt.core.ErrorParserManager;
|
import org.eclipse.cdt.core.ErrorParserManager;
|
||||||
import org.eclipse.cdt.core.IMarkerGenerator;
|
import org.eclipse.cdt.core.IMarkerGenerator;
|
||||||
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.model.ICModelMarker;
|
import org.eclipse.cdt.core.model.ICModelMarker;
|
||||||
import org.eclipse.cdt.core.resources.IConsole;
|
import org.eclipse.cdt.core.resources.IConsole;
|
||||||
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
|
||||||
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
|
|
||||||
import org.eclipse.cdt.internal.core.language.settings.providers.LanguageSettingsProvidersSerializer;
|
|
||||||
import org.eclipse.cdt.make.core.scannerconfig.AbstractBuildCommandParser;
|
import org.eclipse.cdt.make.core.scannerconfig.AbstractBuildCommandParser;
|
||||||
import org.eclipse.cdt.managedbuilder.buildmodel.BuildDescriptionManager;
|
import org.eclipse.cdt.managedbuilder.buildmodel.BuildDescriptionManager;
|
||||||
import org.eclipse.cdt.managedbuilder.buildmodel.IBuildDescription;
|
import org.eclipse.cdt.managedbuilder.buildmodel.IBuildDescription;
|
||||||
|
@ -52,7 +50,7 @@ import org.eclipse.core.runtime.NullProgressMonitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The build runner for the internal builder.
|
* The build runner for the internal builder.
|
||||||
*
|
*
|
||||||
* @author dschaefer
|
* @author dschaefer
|
||||||
* @since 8.0
|
* @since 8.0
|
||||||
*/
|
*/
|
||||||
|
@ -160,16 +158,18 @@ public class InternalBuildRunner extends AbstractBuildRunner {
|
||||||
if (kind!=IncrementalProjectBuilder.CLEAN_BUILD) {
|
if (kind!=IncrementalProjectBuilder.CLEAN_BUILD) {
|
||||||
// TODO - AG - sanity check? elaborate
|
// TODO - AG - sanity check? elaborate
|
||||||
ICConfigurationDescription cfgDescription = ManagedBuildManager.getDescriptionForConfiguration(configuration);
|
ICConfigurationDescription cfgDescription = ManagedBuildManager.getDescriptionForConfiguration(configuration);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
for (ILanguageSettingsProvider provider : providers) {
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
if (provider instanceof AbstractBuildCommandParser) {
|
for (ILanguageSettingsProvider provider : providers) {
|
||||||
buf.append(System.getProperty("line.separator", "\n")); //$NON-NLS-1$ //$NON-NLS-2$
|
if (provider instanceof AbstractBuildCommandParser) {
|
||||||
String msg = ManagedMakeMessages.getFormattedString("BOP Language Settings Provider [{0}] is not supported by Internal Builder.", provider.getName());
|
buf.append(System.getProperty("line.separator", "\n")); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
buf.append("**** "+msg+" ****");
|
String msg = ManagedMakeMessages.getFormattedString("BOP Language Settings Provider [{0}] is not supported by Internal Builder.", provider.getName());
|
||||||
buf.append(System.getProperty("line.separator", "\n")); //$NON-NLS-1$ //$NON-NLS-2$
|
buf.append("**** "+msg+" ****");
|
||||||
buf.append(System.getProperty("line.separator", "\n")); //$NON-NLS-1$ //$NON-NLS-2$
|
buf.append(System.getProperty("line.separator", "\n")); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
|
buf.append(System.getProperty("line.separator", "\n")); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
|
|
||||||
ManagedBuilderCorePlugin.error(msg);
|
ManagedBuilderCorePlugin.error(msg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,8 +23,8 @@ import java.util.SortedMap;
|
||||||
import java.util.TreeMap;
|
import java.util.TreeMap;
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
|
|
||||||
import org.eclipse.cdt.build.internal.core.scannerconfig2.CfgScannerConfigProfileManager;
|
|
||||||
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.LanguageSettingsManager;
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
|
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
|
||||||
import org.eclipse.cdt.core.model.CoreModel;
|
import org.eclipse.cdt.core.model.CoreModel;
|
||||||
|
@ -77,10 +77,10 @@ import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This object is created per each Project type
|
* This object is created per each Project type
|
||||||
*
|
*
|
||||||
* It is responsible for:
|
* It is responsible for:
|
||||||
* - corresponding line in left pane of 1st wizard page
|
* - corresponding line in left pane of 1st wizard page
|
||||||
* - whole view of right pane, including
|
* - whole view of right pane, including
|
||||||
*
|
*
|
||||||
* @noextend This class is not intended to be subclassed by clients.
|
* @noextend This class is not intended to be subclassed by clients.
|
||||||
* @noinstantiate This class is not intended to be instantiated by clients.
|
* @noinstantiate This class is not intended to be instantiated by clients.
|
||||||
|
@ -88,16 +88,16 @@ import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
|
||||||
public class MBSWizardHandler extends CWizardHandler {
|
public class MBSWizardHandler extends CWizardHandler {
|
||||||
public static final String ARTIFACT = "org.eclipse.cdt.build.core.buildArtefactType"; //$NON-NLS-1$
|
public static final String ARTIFACT = "org.eclipse.cdt.build.core.buildArtefactType"; //$NON-NLS-1$
|
||||||
public static final String EMPTY_STR = ""; //$NON-NLS-1$
|
public static final String EMPTY_STR = ""; //$NON-NLS-1$
|
||||||
|
|
||||||
private static final String PROPERTY = "org.eclipse.cdt.build.core.buildType"; //$NON-NLS-1$
|
private static final String PROPERTY = "org.eclipse.cdt.build.core.buildType"; //$NON-NLS-1$
|
||||||
private static final String PROP_VAL = PROPERTY + ".debug"; //$NON-NLS-1$
|
private static final String PROP_VAL = PROPERTY + ".debug"; //$NON-NLS-1$
|
||||||
private static final String tooltip =
|
private static final String tooltip =
|
||||||
Messages.CWizardHandler_1 +
|
Messages.CWizardHandler_1 +
|
||||||
Messages.CWizardHandler_2 +
|
Messages.CWizardHandler_2 +
|
||||||
Messages.CWizardHandler_3 +
|
Messages.CWizardHandler_3 +
|
||||||
Messages.CWizardHandler_4 +
|
Messages.CWizardHandler_4 +
|
||||||
Messages.CWizardHandler_5;
|
Messages.CWizardHandler_5;
|
||||||
|
|
||||||
protected SortedMap<String, IToolChain> full_tcs = new TreeMap<String, IToolChain>();
|
protected SortedMap<String, IToolChain> full_tcs = new TreeMap<String, IToolChain>();
|
||||||
private String propertyId = null;
|
private String propertyId = null;
|
||||||
private IProjectType pt = null;
|
private IProjectType pt = null;
|
||||||
|
@ -110,12 +110,12 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
private EntryInfo entryInfo;
|
private EntryInfo entryInfo;
|
||||||
protected CfgHolder[] cfgs = null;
|
protected CfgHolder[] cfgs = null;
|
||||||
protected IWizardPage[] customPages;
|
protected IWizardPage[] customPages;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Current list of preferred toolchains
|
* Current list of preferred toolchains
|
||||||
*/
|
*/
|
||||||
private List<String> preferredTCs = new ArrayList<String>();
|
private List<String> preferredTCs = new ArrayList<String>();
|
||||||
|
|
||||||
protected static final class EntryInfo {
|
protected static final class EntryInfo {
|
||||||
private SortedMap<String, IToolChain> tcs;
|
private SortedMap<String, IToolChain> tcs;
|
||||||
private EntryDescriptor entryDescriptor;
|
private EntryDescriptor entryDescriptor;
|
||||||
|
@ -128,12 +128,12 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
private IWizardPage predatingPage;
|
private IWizardPage predatingPage;
|
||||||
private IWizardPage followingPage;
|
private IWizardPage followingPage;
|
||||||
private IWizard wizard;
|
private IWizard wizard;
|
||||||
|
|
||||||
public EntryInfo(EntryDescriptor dr, SortedMap<String, IToolChain> _tcs){
|
public EntryInfo(EntryDescriptor dr, SortedMap<String, IToolChain> _tcs){
|
||||||
entryDescriptor = dr;
|
entryDescriptor = dr;
|
||||||
tcs = _tcs;
|
tcs = _tcs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @since 5.1
|
* @since 5.1
|
||||||
*/
|
*/
|
||||||
|
@ -141,7 +141,7 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
this(dr, _tcs);
|
this(dr, _tcs);
|
||||||
wizard = w;
|
wizard = w;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isValid(){
|
public boolean isValid(){
|
||||||
initialize();
|
initialize();
|
||||||
return isValid;
|
return isValid;
|
||||||
|
@ -151,7 +151,7 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
initialize();
|
initialize();
|
||||||
return template;
|
return template;
|
||||||
}
|
}
|
||||||
|
|
||||||
public EntryDescriptor getDescriptor(){
|
public EntryDescriptor getDescriptor(){
|
||||||
return entryDescriptor;
|
return entryDescriptor;
|
||||||
}
|
}
|
||||||
|
@ -159,19 +159,19 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
private void initialize(){
|
private void initialize(){
|
||||||
if(initialized)
|
if(initialized)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if(entryDescriptor == null)
|
if(entryDescriptor == null)
|
||||||
break;
|
break;
|
||||||
String path[] = entryDescriptor.getPathArray();
|
String path[] = entryDescriptor.getPathArray();
|
||||||
if(path == null || path.length == 0)
|
if(path == null || path.length == 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
projectTypeId = path[0];
|
projectTypeId = path[0];
|
||||||
if(!entryDescriptor.isDefaultForCategory() &&
|
if(!entryDescriptor.isDefaultForCategory() &&
|
||||||
path.length > 1 && (!path[0].equals(ManagedBuildWizard.OTHERS_LABEL))){
|
path.length > 1 && (!path[0].equals(ManagedBuildWizard.OTHERS_LABEL))){
|
||||||
templateId = path[path.length - 1];
|
templateId = path[path.length - 1];
|
||||||
Template templates[] = null;
|
Template templates[] = null;
|
||||||
if(wizard instanceof ICDTCommonProjectWizard) {
|
if(wizard instanceof ICDTCommonProjectWizard) {
|
||||||
ICDTCommonProjectWizard wz = (ICDTCommonProjectWizard)wizard;
|
ICDTCommonProjectWizard wz = (ICDTCommonProjectWizard)wizard;
|
||||||
String[] langIDs = wz.getLanguageIDs();
|
String[] langIDs = wz.getLanguageIDs();
|
||||||
|
@ -180,38 +180,38 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
for (String id : langIDs) {
|
for (String id : langIDs) {
|
||||||
lstTemplates.addAll(Arrays.asList(TemplateEngineUI.getDefault().
|
lstTemplates.addAll(Arrays.asList(TemplateEngineUI.getDefault().
|
||||||
getTemplates(projectTypeId, null, id)));
|
getTemplates(projectTypeId, null, id)));
|
||||||
}
|
}
|
||||||
templates = lstTemplates.toArray(new Template[lstTemplates.size()]);
|
templates = lstTemplates.toArray(new Template[lstTemplates.size()]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(null == templates) {
|
if(null == templates) {
|
||||||
templates = TemplateEngineUI.getDefault().getTemplates(projectTypeId);
|
templates = TemplateEngineUI.getDefault().getTemplates(projectTypeId);
|
||||||
}
|
}
|
||||||
if((null == templates) || (templates.length == 0))
|
if((null == templates) || (templates.length == 0))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
for (Template t : templates) {
|
for (Template t : templates) {
|
||||||
if(t.getTemplateId().equals(templateId)){
|
if(t.getTemplateId().equals(templateId)){
|
||||||
template = t;
|
template = t;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(template == null)
|
if(template == null)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
isValid = true;
|
isValid = true;
|
||||||
} while(false);
|
} while(false);
|
||||||
|
|
||||||
initialized = true;
|
initialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Template getInitializedTemplate(IWizardPage predatingPage, IWizardPage followingPage, Map<String, String> map){
|
public Template getInitializedTemplate(IWizardPage predatingPage, IWizardPage followingPage, Map<String, String> map){
|
||||||
getNextPage(predatingPage, followingPage);
|
getNextPage(predatingPage, followingPage);
|
||||||
|
|
||||||
Template template = getTemplate();
|
Template template = getTemplate();
|
||||||
|
|
||||||
if(template != null){
|
if(template != null){
|
||||||
Map<String, String> valueStore = template.getValueStore();
|
Map<String, String> valueStore = template.getValueStore();
|
||||||
// valueStore.clear();
|
// valueStore.clear();
|
||||||
|
@ -227,11 +227,11 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
}
|
}
|
||||||
return template;
|
return template;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IWizardPage getNextPage(IWizardPage predatingPage, IWizardPage followingPage) {
|
public IWizardPage getNextPage(IWizardPage predatingPage, IWizardPage followingPage) {
|
||||||
initialize();
|
initialize();
|
||||||
if(this.templatePages == null
|
if(this.templatePages == null
|
||||||
|| this.predatingPage != predatingPage
|
|| this.predatingPage != predatingPage
|
||||||
|| this.followingPage != followingPage){
|
|| this.followingPage != followingPage){
|
||||||
this.predatingPage = predatingPage;
|
this.predatingPage = predatingPage;
|
||||||
this.followingPage = followingPage;
|
this.followingPage = followingPage;
|
||||||
|
@ -242,12 +242,12 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
followingPage.setPreviousPage(predatingPage);
|
followingPage.setPreviousPage(predatingPage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(templatePages.length != 0)
|
if(templatePages.length != 0)
|
||||||
return templatePages[0];
|
return templatePages[0];
|
||||||
return followingPage;
|
return followingPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean canFinish(IWizardPage predatingPage, IWizardPage followingPage){
|
private boolean canFinish(IWizardPage predatingPage, IWizardPage followingPage){
|
||||||
getNextPage(predatingPage, followingPage);
|
getNextPage(predatingPage, followingPage);
|
||||||
for(int i = 0; i < templatePages.length; i++){
|
for(int i = 0; i < templatePages.length; i++){
|
||||||
|
@ -256,47 +256,47 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filters toolchains
|
* Filters toolchains
|
||||||
*
|
*
|
||||||
* @return - set of compatible toolchain's IDs
|
* @return - set of compatible toolchain's IDs
|
||||||
*/
|
*/
|
||||||
protected Set<String> tc_filter() {
|
protected Set<String> tc_filter() {
|
||||||
Set<String> full = tcs.keySet();
|
Set<String> full = tcs.keySet();
|
||||||
if (entryDescriptor == null)
|
if (entryDescriptor == null)
|
||||||
return full;
|
return full;
|
||||||
Set<String> out = new LinkedHashSet<String>(full.size());
|
Set<String> out = new LinkedHashSet<String>(full.size());
|
||||||
for (String s : full)
|
for (String s : full)
|
||||||
if (isToolChainAcceptable(s))
|
if (isToolChainAcceptable(s))
|
||||||
out.add(s);
|
out.add(s);
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks whether given toolchain can be displayed
|
* Checks whether given toolchain can be displayed
|
||||||
*
|
*
|
||||||
* @param tcId - toolchain _NAME_ to check
|
* @param tcId - toolchain _NAME_ to check
|
||||||
* @return - true if toolchain can be displayed
|
* @return - true if toolchain can be displayed
|
||||||
*/
|
*/
|
||||||
public boolean isToolChainAcceptable(String tcId) {
|
public boolean isToolChainAcceptable(String tcId) {
|
||||||
if (template == null || template.getTemplateInfo() == null)
|
if (template == null || template.getTemplateInfo() == null)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
String[] toolChainIds = template.getTemplateInfo().getToolChainIds();
|
String[] toolChainIds = template.getTemplateInfo().getToolChainIds();
|
||||||
if (toolChainIds == null || toolChainIds.length == 0)
|
if (toolChainIds == null || toolChainIds.length == 0)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
Object ob = tcs.get(tcId);
|
Object ob = tcs.get(tcId);
|
||||||
if (ob == null)
|
if (ob == null)
|
||||||
return true; // sic ! This can occur with Other Toolchain only
|
return true; // sic ! This can occur with Other Toolchain only
|
||||||
if (!(ob instanceof IToolChain))
|
if (!(ob instanceof IToolChain))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
String id1 = ((IToolChain)ob).getId();
|
String id1 = ((IToolChain)ob).getId();
|
||||||
IToolChain sup = ((IToolChain)ob).getSuperClass();
|
IToolChain sup = ((IToolChain)ob).getSuperClass();
|
||||||
String id2 = sup == null ? null : sup.getId();
|
String id2 = sup == null ? null : sup.getId();
|
||||||
|
|
||||||
for (String id : toolChainIds) {
|
for (String id : toolChainIds) {
|
||||||
if ((id != null && id.equals(id1)) ||
|
if ((id != null && id.equals(id1)) ||
|
||||||
(id != null && id.equals(id2)))
|
(id != null && id.equals(id2)))
|
||||||
|
@ -309,20 +309,20 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
return tc_filter().size();
|
return tc_filter().size();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public MBSWizardHandler(IProjectType _pt, Composite p, IWizard w) {
|
public MBSWizardHandler(IProjectType _pt, Composite p, IWizard w) {
|
||||||
super(p, Messages.CWizardHandler_0, _pt.getName());
|
super(p, Messages.CWizardHandler_0, _pt.getName());
|
||||||
pt = _pt;
|
pt = _pt;
|
||||||
setWizard(w);
|
setWizard(w);
|
||||||
}
|
}
|
||||||
|
|
||||||
public MBSWizardHandler(String name, Composite p, IWizard w) {
|
public MBSWizardHandler(String name, Composite p, IWizard w) {
|
||||||
super(p, Messages.CWizardHandler_0, name);
|
super(p, Messages.CWizardHandler_0, name);
|
||||||
setWizard(w);
|
setWizard(w);
|
||||||
}
|
}
|
||||||
|
|
||||||
public MBSWizardHandler(IBuildPropertyValue val, Composite p, IWizard w) {
|
public MBSWizardHandler(IBuildPropertyValue val, Composite p, IWizard w) {
|
||||||
super(p, Messages.CWizardHandler_0, val.getName());
|
super(p, Messages.CWizardHandler_0, val.getName());
|
||||||
propertyId = val.getId();
|
propertyId = val.getId();
|
||||||
setWizard(w);
|
setWizard(w);
|
||||||
}
|
}
|
||||||
|
@ -334,16 +334,16 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
startingPage = w.getStartingPage();
|
startingPage = w.getStartingPage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected IWizardPage getStartingPage(){
|
protected IWizardPage getStartingPage(){
|
||||||
return startingPage;
|
return startingPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<String, String> getMainPageData() {
|
public Map<String, String> getMainPageData() {
|
||||||
WizardNewProjectCreationPage page = (WizardNewProjectCreationPage)getStartingPage();
|
WizardNewProjectCreationPage page = (WizardNewProjectCreationPage)getStartingPage();
|
||||||
Map<String, String> data = new HashMap<String, String>();
|
Map<String, String> data = new HashMap<String, String>();
|
||||||
String projName = page.getProjectName();
|
String projName = page.getProjectName();
|
||||||
projName = projName != null ? projName.trim() : EMPTY_STR;
|
projName = projName != null ? projName.trim() : EMPTY_STR;
|
||||||
data.put("projectName", projName); //$NON-NLS-1$
|
data.put("projectName", projName); //$NON-NLS-1$
|
||||||
data.put("baseName", getBaseName(projName)); //$NON-NLS-1$
|
data.put("baseName", getBaseName(projName)); //$NON-NLS-1$
|
||||||
data.put("baseNameUpper", getBaseName(projName).toUpperCase() ); //$NON-NLS-1$
|
data.put("baseNameUpper", getBaseName(projName).toUpperCase() ); //$NON-NLS-1$
|
||||||
|
@ -354,7 +354,7 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
data.put("location", location); //getProjectLocation().toPortableString()); //$NON-NLS-1$
|
data.put("location", location); //getProjectLocation().toPortableString()); //$NON-NLS-1$
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getBaseName(String name) {
|
private String getBaseName(String name) {
|
||||||
String baseName = name;
|
String baseName = name;
|
||||||
int dot = baseName.lastIndexOf('.');
|
int dot = baseName.lastIndexOf('.');
|
||||||
|
@ -367,11 +367,11 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
}
|
}
|
||||||
return baseName;
|
return baseName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleSelection() {
|
public void handleSelection() {
|
||||||
List<String> preferred = CDTPrefUtil.getPreferredTCs();
|
List<String> preferred = CDTPrefUtil.getPreferredTCs();
|
||||||
|
|
||||||
if (table == null) {
|
if (table == null) {
|
||||||
table = new Table(parent, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
|
table = new Table(parent, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
|
||||||
table.getAccessible().addAccessibleListener(
|
table.getAccessible().addAccessibleListener(
|
||||||
|
@ -404,7 +404,7 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
counter++;
|
counter++;
|
||||||
}
|
}
|
||||||
if (counter > 0) table.select(position);
|
if (counter > 0) table.select(position);
|
||||||
}
|
}
|
||||||
table.addSelectionListener(new SelectionAdapter() {
|
table.addSelectionListener(new SelectionAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void widgetSelected(SelectionEvent e) {
|
public void widgetSelected(SelectionEvent e) {
|
||||||
|
@ -425,11 +425,11 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
if (listener != null)
|
if (listener != null)
|
||||||
listener.toolChainListChanged(table.getSelectionCount());
|
listener.toolChainListChanged(table.getSelectionCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadCustomPages() {
|
private void loadCustomPages() {
|
||||||
if (! (getWizard() instanceof ICDTCommonProjectWizard))
|
if (! (getWizard() instanceof ICDTCommonProjectWizard))
|
||||||
return; // not probable
|
return; // not probable
|
||||||
|
|
||||||
ICDTCommonProjectWizard wz = (ICDTCommonProjectWizard)getWizard();
|
ICDTCommonProjectWizard wz = (ICDTCommonProjectWizard)getWizard();
|
||||||
MBSCustomPageManager.init();
|
MBSCustomPageManager.init();
|
||||||
MBSCustomPageManager.addStockPage(getStartingPage(), CDTMainWizardPage.PAGE_ID);
|
MBSCustomPageManager.addStockPage(getStartingPage(), CDTMainWizardPage.PAGE_ID);
|
||||||
|
@ -442,9 +442,9 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
|
|
||||||
customPages = MBSCustomPageManager.getCustomPages();
|
customPages = MBSCustomPageManager.getCustomPages();
|
||||||
|
|
||||||
if (customPages == null)
|
if (customPages == null)
|
||||||
customPages = new IWizardPage[0];
|
customPages = new IWizardPage[0];
|
||||||
|
|
||||||
for (IWizardPage customPage : customPages)
|
for (IWizardPage customPage : customPages)
|
||||||
customPage.setWizard(wz);
|
customPage.setWizard(wz);
|
||||||
setCustomPagesFilter(wz);
|
setCustomPagesFilter(wz);
|
||||||
|
@ -467,13 +467,13 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
boolean ptIsNull = (getProjectType() == null);
|
boolean ptIsNull = (getProjectType() == null);
|
||||||
if (!ptIsNull)
|
if (!ptIsNull)
|
||||||
MBSCustomPageManager.addPageProperty(
|
MBSCustomPageManager.addPageProperty(
|
||||||
MBSCustomPageManager.PAGE_ID,
|
MBSCustomPageManager.PAGE_ID,
|
||||||
MBSCustomPageManager.PROJECT_TYPE,
|
MBSCustomPageManager.PROJECT_TYPE,
|
||||||
getProjectType().getId()
|
getProjectType().getId()
|
||||||
);
|
);
|
||||||
|
|
||||||
IToolChain[] tcs = getSelectedToolChains();
|
IToolChain[] tcs = getSelectedToolChains();
|
||||||
ArrayList<IToolChain> x = new ArrayList<IToolChain>();
|
ArrayList<IToolChain> x = new ArrayList<IToolChain>();
|
||||||
TreeSet<String> y = new TreeSet<String>();
|
TreeSet<String> y = new TreeSet<String>();
|
||||||
if (tcs!=null) {
|
if (tcs!=null) {
|
||||||
int n = tcs.length;
|
int n = tcs.length;
|
||||||
|
@ -481,7 +481,7 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
if (tcs[i] == null) // --- NO TOOLCHAIN ---
|
if (tcs[i] == null) // --- NO TOOLCHAIN ---
|
||||||
continue; // has no custom pages.
|
continue; // has no custom pages.
|
||||||
x.add(tcs[i]);
|
x.add(tcs[i]);
|
||||||
|
|
||||||
IConfiguration cfg = tcs[i].getParent();
|
IConfiguration cfg = tcs[i].getParent();
|
||||||
if (cfg == null)
|
if (cfg == null)
|
||||||
continue;
|
continue;
|
||||||
|
@ -491,24 +491,24 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MBSCustomPageManager.addPageProperty(
|
MBSCustomPageManager.addPageProperty(
|
||||||
MBSCustomPageManager.PAGE_ID,
|
MBSCustomPageManager.PAGE_ID,
|
||||||
MBSCustomPageManager.TOOLCHAIN,
|
MBSCustomPageManager.TOOLCHAIN,
|
||||||
x);
|
x);
|
||||||
|
|
||||||
if (ptIsNull) {
|
if (ptIsNull) {
|
||||||
if (y.size() > 0)
|
if (y.size() > 0)
|
||||||
MBSCustomPageManager.addPageProperty(
|
MBSCustomPageManager.addPageProperty(
|
||||||
MBSCustomPageManager.PAGE_ID,
|
MBSCustomPageManager.PAGE_ID,
|
||||||
MBSCustomPageManager.PROJECT_TYPE,
|
MBSCustomPageManager.PROJECT_TYPE,
|
||||||
y);
|
y);
|
||||||
else
|
else
|
||||||
MBSCustomPageManager.addPageProperty(
|
MBSCustomPageManager.addPageProperty(
|
||||||
MBSCustomPageManager.PAGE_ID,
|
MBSCustomPageManager.PAGE_ID,
|
||||||
MBSCustomPageManager.PROJECT_TYPE,
|
MBSCustomPageManager.PROJECT_TYPE,
|
||||||
null);
|
null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleUnSelection() {
|
public void handleUnSelection() {
|
||||||
if (table != null) {
|
if (table != null) {
|
||||||
|
@ -521,16 +521,16 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
if (tc.isAbstract() || tc.isSystemObject()) return;
|
if (tc.isAbstract() || tc.isSystemObject()) return;
|
||||||
IConfiguration[] cfgs = null;
|
IConfiguration[] cfgs = null;
|
||||||
// New style managed project type. Configurations are referenced via propertyId.
|
// New style managed project type. Configurations are referenced via propertyId.
|
||||||
if (propertyId != null) {
|
if (propertyId != null) {
|
||||||
cfgs = ManagedBuildManager.getExtensionConfigurations(tc, ARTIFACT, propertyId);
|
cfgs = ManagedBuildManager.getExtensionConfigurations(tc, ARTIFACT, propertyId);
|
||||||
// Old style managewd project type. Configs are obtained via projectType
|
// Old style managewd project type. Configs are obtained via projectType
|
||||||
} else if (pt != null) {
|
} else if (pt != null) {
|
||||||
cfgs = ManagedBuildManager.getExtensionConfigurations(tc, pt);
|
cfgs = ManagedBuildManager.getExtensionConfigurations(tc, pt);
|
||||||
}
|
}
|
||||||
if (cfgs == null || cfgs.length == 0) return;
|
if (cfgs == null || cfgs.length == 0) return;
|
||||||
full_tcs.put(tc.getUniqueRealName(), tc);
|
full_tcs.put(tc.getUniqueRealName(), tc);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void createProject(IProject project, boolean defaults, boolean onFinish, IProgressMonitor monitor) throws CoreException {
|
public void createProject(IProject project, boolean defaults, boolean onFinish, IProgressMonitor monitor) throws CoreException {
|
||||||
try {
|
try {
|
||||||
|
@ -548,7 +548,7 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
public void convertProject(IProject proj, IProgressMonitor monitor) throws CoreException {
|
public void convertProject(IProject proj, IProgressMonitor monitor) throws CoreException {
|
||||||
setProjectDescription(proj, true, true, monitor);
|
setProjectDescription(proj, true, true, monitor);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setProjectDescription(IProject project, boolean defaults, boolean onFinish, IProgressMonitor monitor) throws CoreException {
|
private void setProjectDescription(IProject project, boolean defaults, boolean onFinish, IProgressMonitor monitor) throws CoreException {
|
||||||
boolean isTryingNewSD = false;
|
boolean isTryingNewSD = false;
|
||||||
IWizardPage page = getStartingPage();
|
IWizardPage page = getStartingPage();
|
||||||
|
@ -562,13 +562,13 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
ManagedBuildInfo info = ManagedBuildManager.createBuildInfo(project);
|
ManagedBuildInfo info = ManagedBuildManager.createBuildInfo(project);
|
||||||
monitor.worked(10);
|
monitor.worked(10);
|
||||||
cfgs = getCfgItems(false);
|
cfgs = getCfgItems(false);
|
||||||
if (cfgs == null || cfgs.length == 0)
|
if (cfgs == null || cfgs.length == 0)
|
||||||
cfgs = CDTConfigWizardPage.getDefaultCfgs(this);
|
cfgs = CDTConfigWizardPage.getDefaultCfgs(this);
|
||||||
|
|
||||||
if (cfgs == null || cfgs.length == 0 || cfgs[0].getConfiguration() == null) {
|
if (cfgs == null || cfgs.length == 0 || cfgs[0].getConfiguration() == null) {
|
||||||
throw new CoreException(new Status(IStatus.ERROR,
|
throw new CoreException(new Status(IStatus.ERROR,
|
||||||
ManagedBuilderUIPlugin.getUniqueIdentifier(),
|
ManagedBuilderUIPlugin.getUniqueIdentifier(),
|
||||||
Messages.CWizardHandler_6));
|
Messages.CWizardHandler_6));
|
||||||
}
|
}
|
||||||
Configuration cf = (Configuration)cfgs[0].getConfiguration();
|
Configuration cf = (Configuration)cfgs[0].getConfiguration();
|
||||||
ManagedProject mProj = new ManagedProject(project, cf.getProjectType());
|
ManagedProject mProj = new ManagedProject(project, cf.getProjectType());
|
||||||
|
@ -576,12 +576,12 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
monitor.worked(10);
|
monitor.worked(10);
|
||||||
cfgs = CfgHolder.unique(cfgs);
|
cfgs = CfgHolder.unique(cfgs);
|
||||||
cfgs = CfgHolder.reorder(cfgs);
|
cfgs = CfgHolder.reorder(cfgs);
|
||||||
|
|
||||||
ICConfigurationDescription cfgDebug = null;
|
ICConfigurationDescription cfgDebug = null;
|
||||||
ICConfigurationDescription cfgFirst = null;
|
ICConfigurationDescription cfgFirst = null;
|
||||||
|
|
||||||
int work = 50/cfgs.length;
|
int work = 50/cfgs.length;
|
||||||
|
|
||||||
for (CfgHolder cfg : cfgs) {
|
for (CfgHolder cfg : cfgs) {
|
||||||
cf = (Configuration)cfg.getConfiguration();
|
cf = (Configuration)cfg.getConfiguration();
|
||||||
String id = ManagedBuildManager.calculateChildId(cf.getId(), null);
|
String id = ManagedBuildManager.calculateChildId(cf.getId(), null);
|
||||||
|
@ -593,44 +593,48 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
|
|
||||||
IBuilder bld = config.getEditableBuilder();
|
IBuilder bld = config.getEditableBuilder();
|
||||||
if (bld != null) { bld.setManagedBuildOn(true); }
|
if (bld != null) { bld.setManagedBuildOn(true); }
|
||||||
|
|
||||||
config.setName(cfg.getName());
|
config.setName(cfg.getName());
|
||||||
config.setArtifactName(mProj.getDefaultArtifactName());
|
config.setArtifactName(mProj.getDefaultArtifactName());
|
||||||
|
|
||||||
IBuildProperty b = config.getBuildProperties().getProperty(PROPERTY);
|
IBuildProperty b = config.getBuildProperties().getProperty(PROPERTY);
|
||||||
if (cfgDebug == null && b != null && b.getValue() != null && PROP_VAL.equals(b.getValue().getId()))
|
if (cfgDebug == null && b != null && b.getValue() != null && PROP_VAL.equals(b.getValue().getId()))
|
||||||
cfgDebug = cfgDes;
|
cfgDebug = cfgDes;
|
||||||
if (cfgFirst == null) // select at least first configuration
|
if (cfgFirst == null) // select at least first configuration
|
||||||
cfgFirst = cfgDes;
|
cfgFirst = cfgDes;
|
||||||
|
|
||||||
ScannerDiscoveryLegacySupport.setLanguageSettingsProvidersFunctionalityEnabled(project, isTryingNewSD);
|
if (cfgDes instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
if (isTryingNewSD) {
|
ScannerDiscoveryLegacySupport.setLanguageSettingsProvidersFunctionalityEnabled(project, isTryingNewSD);
|
||||||
List<ILanguageSettingsProvider> providers = ManagedBuildManager.getLanguageSettingsProviders(config);
|
if (isTryingNewSD) {
|
||||||
cfgDes.setLanguageSettingProviders(providers);
|
List<ILanguageSettingsProvider> providers = ManagedBuildManager.getLanguageSettingsProviders(config);
|
||||||
|
((ILanguageSettingsProvidersKeeper) cfgDes).setLanguageSettingProviders(providers);
|
||||||
|
} else {
|
||||||
|
ILanguageSettingsProvider provider = LanguageSettingsManager.getWorkspaceProvider(ManagedBuildManager.MBS_LANGUAGE_SETTINGS_PROVIDER);
|
||||||
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
|
providers.add(provider);
|
||||||
|
((ILanguageSettingsProvidersKeeper) cfgDes).setLanguageSettingProviders(providers);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ILanguageSettingsProvider provider = LanguageSettingsManager.getWorkspaceProvider(ManagedBuildManager.MBS_LANGUAGE_SETTINGS_PROVIDER);
|
ScannerDiscoveryLegacySupport.setLanguageSettingsProvidersFunctionalityEnabled(project, false);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
|
||||||
providers.add(provider);
|
|
||||||
cfgDes.setLanguageSettingProviders(providers);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
monitor.worked(work);
|
monitor.worked(work);
|
||||||
}
|
}
|
||||||
mngr.setProjectDescription(project, des);
|
mngr.setProjectDescription(project, des);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doTemplatesPostProcess(IProject prj) {
|
protected void doTemplatesPostProcess(IProject prj) {
|
||||||
if(entryInfo == null)
|
if(entryInfo == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Template template = entryInfo.getInitializedTemplate(getStartingPage(), getConfigPage(), getMainPageData());
|
Template template = entryInfo.getInitializedTemplate(getStartingPage(), getConfigPage(), getMainPageData());
|
||||||
if(template == null)
|
if(template == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
List<IConfiguration> configs = new ArrayList<IConfiguration>();
|
List<IConfiguration> configs = new ArrayList<IConfiguration>();
|
||||||
for (CfgHolder cfg : cfgs) {
|
for (CfgHolder cfg : cfgs) {
|
||||||
configs.add((IConfiguration)cfg.getConfiguration());
|
configs.add(cfg.getConfiguration());
|
||||||
}
|
}
|
||||||
template.getTemplateInfo().setConfigurations(configs);
|
template.getTemplateInfo().setConfigurations(configs);
|
||||||
|
|
||||||
|
@ -639,19 +643,19 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
TemplateEngineUIUtil.showError(statuses[0].getMessage(), statuses[0].getException());
|
TemplateEngineUIUtil.showError(statuses[0].getMessage(), statuses[0].getException());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected CDTConfigWizardPage getConfigPage() {
|
protected CDTConfigWizardPage getConfigPage() {
|
||||||
if (fConfigPage == null) {
|
if (fConfigPage == null) {
|
||||||
fConfigPage = new CDTConfigWizardPage(this);
|
fConfigPage = new CDTConfigWizardPage(this);
|
||||||
}
|
}
|
||||||
return fConfigPage;
|
return fConfigPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IWizardPage getSpecificPage() {
|
public IWizardPage getSpecificPage() {
|
||||||
return entryInfo.getNextPage(getStartingPage(), getConfigPage());
|
return entryInfo.getNextPage(getStartingPage(), getConfigPage());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mark preferred toolchains with specific images
|
* Mark preferred toolchains with specific images
|
||||||
*/
|
*/
|
||||||
|
@ -670,11 +674,11 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getPreferredTCNames() {
|
public List<String> getPreferredTCNames() {
|
||||||
return preferredTCs;
|
return preferredTCs;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getHeader() { return head; }
|
public String getHeader() { return head; }
|
||||||
public boolean isDummy() { return false; }
|
public boolean isDummy() { return false; }
|
||||||
|
@ -682,11 +686,11 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
public boolean supportsPreferred() { return true; }
|
public boolean supportsPreferred() { return true; }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isChanged() {
|
public boolean isChanged() {
|
||||||
if (savedToolChains == null)
|
if (savedToolChains == null)
|
||||||
return true;
|
return true;
|
||||||
IToolChain[] tcs = getSelectedToolChains();
|
IToolChain[] tcs = getSelectedToolChains();
|
||||||
if (savedToolChains.length != tcs.length)
|
if (savedToolChains.length != tcs.length)
|
||||||
return true;
|
return true;
|
||||||
for (IToolChain savedToolChain : savedToolChains) {
|
for (IToolChain savedToolChain : savedToolChains) {
|
||||||
boolean found = false;
|
boolean found = false;
|
||||||
|
@ -701,12 +705,12 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveState() {
|
public void saveState() {
|
||||||
savedToolChains = getSelectedToolChains();
|
savedToolChains = getSelectedToolChains();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Methods specific for MBSWizardHandler
|
// Methods specific for MBSWizardHandler
|
||||||
|
|
||||||
public IToolChain[] getSelectedToolChains() {
|
public IToolChain[] getSelectedToolChains() {
|
||||||
|
@ -722,7 +726,7 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
public int getToolChainsCount() {
|
public int getToolChainsCount() {
|
||||||
if (entryInfo == null)
|
if (entryInfo == null)
|
||||||
return full_tcs.size();
|
return full_tcs.size();
|
||||||
else
|
else
|
||||||
return entryInfo.tc_filter().size();
|
return entryInfo.tc_filter().size();
|
||||||
}
|
}
|
||||||
public String getPropertyId() {
|
public String getPropertyId() {
|
||||||
|
@ -739,13 +743,13 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
return fConfigPage.getCfgItems(defaults);
|
return fConfigPage.getCfgItems(defaults);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public String getErrorMessage() {
|
public String getErrorMessage() {
|
||||||
TableItem[] tis = table.getSelection();
|
TableItem[] tis = table.getSelection();
|
||||||
if (tis == null || tis.length == 0)
|
if (tis == null || tis.length == 0)
|
||||||
return Messages.MBSWizardHandler_0;
|
return Messages.MBSWizardHandler_0;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doCustom(IProject newProject) {
|
protected void doCustom(IProject newProject) {
|
||||||
IRunnableWithProgress[] operations = MBSCustomPageManager.getOperations();
|
IRunnableWithProgress[] operations = MBSCustomPageManager.getOperations();
|
||||||
|
@ -759,7 +763,7 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
ManagedBuilderUIPlugin.log(e);
|
ManagedBuilderUIPlugin.log(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void postProcess(IProject newProject, boolean created) {
|
public void postProcess(IProject newProject, boolean created) {
|
||||||
deleteExtraConfigs(newProject);
|
deleteExtraConfigs(newProject);
|
||||||
|
@ -770,17 +774,17 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
doCustom(newProject);
|
doCustom(newProject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deletes configurations
|
* Deletes configurations
|
||||||
*
|
*
|
||||||
* @param newProject - affected project
|
* @param newProject - affected project
|
||||||
*/
|
*/
|
||||||
private void deleteExtraConfigs(IProject newProject) {
|
private void deleteExtraConfigs(IProject newProject) {
|
||||||
if (isChanged()) return; // no need to delete
|
if (isChanged()) return; // no need to delete
|
||||||
if (listener != null && listener.isCurrent()) return; // nothing to delete
|
if (listener != null && listener.isCurrent()) return; // nothing to delete
|
||||||
if (fConfigPage == null || !fConfigPage.pagesLoaded) return;
|
if (fConfigPage == null || !fConfigPage.pagesLoaded) return;
|
||||||
|
|
||||||
ICProjectDescription prjd = CoreModel.getDefault().getProjectDescription(newProject, true);
|
ICProjectDescription prjd = CoreModel.getDefault().getProjectDescription(newProject, true);
|
||||||
if (prjd == null) return;
|
if (prjd == null) return;
|
||||||
ICConfigurationDescription[] all = prjd.getConfigurations();
|
ICConfigurationDescription[] all = prjd.getConfigurations();
|
||||||
|
@ -804,19 +808,19 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
CoreModel.getDefault().setProjectDescription(newProject, prjd);
|
CoreModel.getDefault().setProjectDescription(newProject, prjd);
|
||||||
} catch (CoreException e) {}
|
} catch (CoreException e) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isApplicable(EntryDescriptor data) {
|
public boolean isApplicable(EntryDescriptor data) {
|
||||||
EntryInfo info = new EntryInfo(data, full_tcs, wizard);
|
EntryInfo info = new EntryInfo(data, full_tcs, wizard);
|
||||||
return info.isValid() && (info.getToolChainsCount() > 0);
|
return info.isValid() && (info.getToolChainsCount() > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initialize(EntryDescriptor data) throws CoreException {
|
public void initialize(EntryDescriptor data) throws CoreException {
|
||||||
EntryInfo info = new EntryInfo(data, full_tcs, wizard);
|
EntryInfo info = new EntryInfo(data, full_tcs, wizard);
|
||||||
if(!info.isValid())
|
if(!info.isValid())
|
||||||
throw new CoreException(new Status(IStatus.ERROR, ManagedBuilderUIPlugin.getUniqueIdentifier(), "inappropriate descriptor")); //$NON-NLS-1$
|
throw new CoreException(new Status(IStatus.ERROR, ManagedBuilderUIPlugin.getUniqueIdentifier(), "inappropriate descriptor")); //$NON-NLS-1$
|
||||||
|
|
||||||
entryInfo = info;
|
entryInfo = info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -842,20 +846,20 @@ public class MBSWizardHandler extends CWizardHandler {
|
||||||
public boolean canFinish() {
|
public boolean canFinish() {
|
||||||
if(entryInfo == null)
|
if(entryInfo == null)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!getConfigPage().isCustomPageComplete())
|
if (!getConfigPage().isCustomPageComplete())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if(!entryInfo.canFinish(startingPage, getConfigPage()))
|
if(!entryInfo.canFinish(startingPage, getConfigPage()))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (customPages != null)
|
if (customPages != null)
|
||||||
for (int i=0; i<customPages.length; i++)
|
for (int i=0; i<customPages.length; i++)
|
||||||
if (!customPages[i].isPageComplete())
|
if (!customPages[i].isPageComplete())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return super.canFinish();
|
return super.canFinish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import java.util.List;
|
||||||
import org.eclipse.cdt.core.CCProjectNature;
|
import org.eclipse.cdt.core.CCProjectNature;
|
||||||
import org.eclipse.cdt.core.CCorePlugin;
|
import org.eclipse.cdt.core.CCorePlugin;
|
||||||
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.LanguageSettingsManager;
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
|
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
|
||||||
import org.eclipse.cdt.core.model.CoreModel;
|
import org.eclipse.cdt.core.model.CoreModel;
|
||||||
|
@ -119,15 +120,19 @@ public class NewMakeProjFromExisting extends Wizard implements IImportWizard, IN
|
||||||
CConfigurationData data = config.getConfigurationData();
|
CConfigurationData data = config.getConfigurationData();
|
||||||
ICConfigurationDescription cfgDes = projDesc.createConfiguration(ManagedBuildManager.CFG_DATA_PROVIDER_ID, data);
|
ICConfigurationDescription cfgDes = projDesc.createConfiguration(ManagedBuildManager.CFG_DATA_PROVIDER_ID, data);
|
||||||
|
|
||||||
ScannerDiscoveryLegacySupport.setLanguageSettingsProvidersFunctionalityEnabled(project, isTryingNewSD);
|
if (cfgDes instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
if (isTryingNewSD) {
|
ScannerDiscoveryLegacySupport.setLanguageSettingsProvidersFunctionalityEnabled(project, isTryingNewSD);
|
||||||
List<ILanguageSettingsProvider> providers = ManagedBuildManager.getLanguageSettingsProviders(config);
|
if (isTryingNewSD) {
|
||||||
cfgDes.setLanguageSettingProviders(providers);
|
List<ILanguageSettingsProvider> providers = ManagedBuildManager.getLanguageSettingsProviders(config);
|
||||||
|
((ILanguageSettingsProvidersKeeper) cfgDes).setLanguageSettingProviders(providers);
|
||||||
|
} else {
|
||||||
|
ILanguageSettingsProvider provider = LanguageSettingsManager.getWorkspaceProvider(ManagedBuildManager.MBS_LANGUAGE_SETTINGS_PROVIDER);
|
||||||
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
|
providers.add(provider);
|
||||||
|
((ILanguageSettingsProvidersKeeper) cfgDes).setLanguageSettingProviders(providers);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ILanguageSettingsProvider provider = LanguageSettingsManager.getWorkspaceProvider(ManagedBuildManager.MBS_LANGUAGE_SETTINGS_PROVIDER);
|
ScannerDiscoveryLegacySupport.setLanguageSettingsProvidersFunctionalityEnabled(project, false);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
|
||||||
providers.add(provider);
|
|
||||||
cfgDes.setLanguageSettingProviders(providers);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
monitor.worked(1);
|
monitor.worked(1);
|
||||||
|
|
|
@ -15,6 +15,7 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
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.LanguageSettingsManager;
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
|
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
|
||||||
import org.eclipse.cdt.core.model.CoreModel;
|
import org.eclipse.cdt.core.model.CoreModel;
|
||||||
|
@ -46,13 +47,13 @@ import org.eclipse.swt.widgets.Composite;
|
||||||
public class STDWizardHandler extends MBSWizardHandler {
|
public class STDWizardHandler extends MBSWizardHandler {
|
||||||
|
|
||||||
public STDWizardHandler(Composite p, IWizard w) {
|
public STDWizardHandler(Composite p, IWizard w) {
|
||||||
super(Messages.StdBuildWizard_0, p, w);
|
super(Messages.StdBuildWizard_0, p, w);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addTc(IToolChain tc) {
|
public void addTc(IToolChain tc) {
|
||||||
if (tc == null) {
|
if (tc == null) {
|
||||||
full_tcs.put(Messages.StdProjectTypeHandler_0, null);
|
full_tcs.put(Messages.StdProjectTypeHandler_0, null);
|
||||||
} else {
|
} else {
|
||||||
if (tc.isAbstract() || tc.isSystemObject()) return;
|
if (tc.isAbstract() || tc.isSystemObject()) return;
|
||||||
// unlike CWizardHandler, we don't check for configs
|
// unlike CWizardHandler, we don't check for configs
|
||||||
|
@ -67,9 +68,9 @@ public class STDWizardHandler extends MBSWizardHandler {
|
||||||
public void createProject(IProject project, boolean defaults, boolean onFinish, IProgressMonitor monitor) throws CoreException {
|
public void createProject(IProject project, boolean defaults, boolean onFinish, IProgressMonitor monitor) throws CoreException {
|
||||||
try {
|
try {
|
||||||
monitor.beginTask("", 100);//$NON-NLS-1$
|
monitor.beginTask("", 100);//$NON-NLS-1$
|
||||||
|
|
||||||
setProjectDescription(project, defaults, onFinish, monitor);
|
setProjectDescription(project, defaults, onFinish, monitor);
|
||||||
|
|
||||||
doTemplatesPostProcess(project);
|
doTemplatesPostProcess(project);
|
||||||
doCustom(project);
|
doCustom(project);
|
||||||
monitor.worked(30);
|
monitor.worked(30);
|
||||||
|
@ -112,40 +113,44 @@ public class STDWizardHandler extends MBSWizardHandler {
|
||||||
}
|
}
|
||||||
bld.setManagedBuildOn(false);
|
bld.setManagedBuildOn(false);
|
||||||
} else {
|
} else {
|
||||||
System.out.println(Messages.StdProjectTypeHandler_3);
|
System.out.println(Messages.StdProjectTypeHandler_3);
|
||||||
}
|
}
|
||||||
cfg.setArtifactName(mProj.getDefaultArtifactName());
|
cfg.setArtifactName(mProj.getDefaultArtifactName());
|
||||||
CConfigurationData data = cfg.getConfigurationData();
|
CConfigurationData data = cfg.getConfigurationData();
|
||||||
ICConfigurationDescription cfgDes = des.createConfiguration(ManagedBuildManager.CFG_DATA_PROVIDER_ID, data);
|
ICConfigurationDescription cfgDes = des.createConfiguration(ManagedBuildManager.CFG_DATA_PROVIDER_ID, data);
|
||||||
|
|
||||||
ScannerDiscoveryLegacySupport.setLanguageSettingsProvidersFunctionalityEnabled(project, isTryingNewSD);
|
if (cfgDes instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
if (isTryingNewSD) {
|
ScannerDiscoveryLegacySupport.setLanguageSettingsProvidersFunctionalityEnabled(project, isTryingNewSD);
|
||||||
List<ILanguageSettingsProvider> providers = ManagedBuildManager.getLanguageSettingsProviders(cfg);
|
if (isTryingNewSD) {
|
||||||
cfgDes.setLanguageSettingProviders(providers);
|
List<ILanguageSettingsProvider> providers = ManagedBuildManager.getLanguageSettingsProviders(cfg);
|
||||||
|
((ILanguageSettingsProvidersKeeper) cfgDes).setLanguageSettingProviders(providers);
|
||||||
|
} else {
|
||||||
|
ILanguageSettingsProvider provider = LanguageSettingsManager.getWorkspaceProvider(ManagedBuildManager.MBS_LANGUAGE_SETTINGS_PROVIDER);
|
||||||
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
|
providers.add(provider);
|
||||||
|
((ILanguageSettingsProvidersKeeper) cfgDes).setLanguageSettingProviders(providers);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ILanguageSettingsProvider provider = LanguageSettingsManager.getWorkspaceProvider(ManagedBuildManager.MBS_LANGUAGE_SETTINGS_PROVIDER);
|
ScannerDiscoveryLegacySupport.setLanguageSettingsProvidersFunctionalityEnabled(project, false);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
|
||||||
providers.add(provider);
|
|
||||||
cfgDes.setLanguageSettingProviders(providers);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
monitor.worked(work);
|
monitor.worked(work);
|
||||||
}
|
}
|
||||||
mngr.setProjectDescription(project, des);
|
mngr.setProjectDescription(project, des);
|
||||||
}
|
}
|
||||||
public boolean canCreateWithoutToolchain() { return true; }
|
public boolean canCreateWithoutToolchain() { return true; }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void convertProject(IProject proj, IProgressMonitor monitor) throws CoreException {
|
public void convertProject(IProject proj, IProgressMonitor monitor) throws CoreException {
|
||||||
setProjectDescription(proj, true, true, monitor);
|
setProjectDescription(proj, true, true, monitor);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If no toolchains selected by user, use default toolchain
|
* If no toolchains selected by user, use default toolchain
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public IToolChain[] getSelectedToolChains() {
|
public IToolChain[] getSelectedToolChains() {
|
||||||
if (full_tcs.size() == 0 || table.getSelection().length == 0)
|
if (full_tcs.size() == 0 || table.getSelection().length == 0)
|
||||||
return new IToolChain[] { null };
|
return new IToolChain[] { null };
|
||||||
else
|
else
|
||||||
return super.getSelectedToolChains();
|
return super.getSelectedToolChains();
|
||||||
|
|
|
@ -124,13 +124,14 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// create a provider
|
// create a provider
|
||||||
ILanguageSettingsProvider mockProvider = new MockListenerRegisterer(PROVIDER_1, PROVIDER_NAME_1);
|
ILanguageSettingsProvider mockProvider = new MockListenerRegisterer(PROVIDER_1, PROVIDER_NAME_1);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(mockProvider);
|
providers.add(mockProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -170,14 +171,16 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
assertEquals(2, cfgDescriptions.length);
|
assertEquals(2, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription1 = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription1 = cfgDescriptions[0];
|
||||||
ICConfigurationDescription cfgDescription2 = cfgDescriptions[1];
|
ICConfigurationDescription cfgDescription2 = cfgDescriptions[1];
|
||||||
|
assertTrue(cfgDescription1 instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
assertTrue(cfgDescription2 instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
{
|
{
|
||||||
// create a provider 1
|
// create a provider 1
|
||||||
ILanguageSettingsProvider mockProvider = new MockListenerRegisterer(PROVIDER_1, PROVIDER_NAME_1);
|
ILanguageSettingsProvider mockProvider = new MockListenerRegisterer(PROVIDER_1, PROVIDER_NAME_1);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(mockProvider);
|
providers.add(mockProvider);
|
||||||
cfgDescription1.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription1).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription1.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription1).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -185,8 +188,8 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ILanguageSettingsProvider mockProvider = new MockListenerRegisterer(PROVIDER_1, PROVIDER_NAME_1);
|
ILanguageSettingsProvider mockProvider = new MockListenerRegisterer(PROVIDER_1, PROVIDER_NAME_1);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(mockProvider);
|
providers.add(mockProvider);
|
||||||
cfgDescription2.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription2).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription2.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription2).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,13 +225,14 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// add global provider
|
// add global provider
|
||||||
ILanguageSettingsProvider workspaceProvider = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_REGISTERER_PROVIDER_ID);
|
ILanguageSettingsProvider workspaceProvider = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_REGISTERER_PROVIDER_ID);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(workspaceProvider);
|
providers.add(workspaceProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -270,21 +274,23 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
assertEquals(2, cfgDescriptions.length);
|
assertEquals(2, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription1 = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription1 = cfgDescriptions[0];
|
||||||
ICConfigurationDescription cfgDescription2 = cfgDescriptions[1];
|
ICConfigurationDescription cfgDescription2 = cfgDescriptions[1];
|
||||||
|
assertTrue(cfgDescription1 instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
assertTrue(cfgDescription2 instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
{
|
{
|
||||||
// add global provider to configuration 1
|
// add global provider to configuration 1
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(workspaceProvider);
|
providers.add(workspaceProvider);
|
||||||
cfgDescription1.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription1).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription1.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription1).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
// add global provider to configuration 2
|
// add global provider to configuration 2
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(workspaceProvider);
|
providers.add(workspaceProvider);
|
||||||
cfgDescription2.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription2).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription2.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription2).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
}
|
}
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -325,21 +331,23 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
assertEquals(2, cfgDescriptions.length);
|
assertEquals(2, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription1 = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription1 = cfgDescriptions[0];
|
||||||
ICConfigurationDescription cfgDescription2 = cfgDescriptions[1];
|
ICConfigurationDescription cfgDescription2 = cfgDescriptions[1];
|
||||||
|
assertTrue(cfgDescription1 instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
assertTrue(cfgDescription2 instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
{
|
{
|
||||||
// add global provider to configuration 1
|
// add global provider to configuration 1
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(workspaceProvider);
|
providers.add(workspaceProvider);
|
||||||
cfgDescription1.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription1).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription1.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription1).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
// add global provider to configuration 2
|
// add global provider to configuration 2
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(workspaceProvider);
|
providers.add(workspaceProvider);
|
||||||
cfgDescription2.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription2).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription2.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription2).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
}
|
}
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -356,12 +364,14 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
assertEquals(2, cfgDescriptions.length);
|
assertEquals(2, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription1 = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription1 = cfgDescriptions[0];
|
||||||
ICConfigurationDescription cfgDescription2 = cfgDescriptions[1];
|
ICConfigurationDescription cfgDescription2 = cfgDescriptions[1];
|
||||||
|
assertTrue(cfgDescription1 instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
assertTrue(cfgDescription2 instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
{
|
{
|
||||||
// remove global provider from configuration 1
|
// remove global provider from configuration 1
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
cfgDescription1.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription1).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription1.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription1).getLanguageSettingProviders();
|
||||||
assertEquals(0, storedProviders.size());
|
assertEquals(0, storedProviders.size());
|
||||||
}
|
}
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -387,13 +397,14 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// add global provider
|
// add global provider
|
||||||
ILanguageSettingsProvider workspaceProvider = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_REGISTERER_PROVIDER_ID);
|
ILanguageSettingsProvider workspaceProvider = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_REGISTERER_PROVIDER_ID);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(workspaceProvider);
|
providers.add(workspaceProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -410,13 +421,14 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// add global provider
|
// add global provider
|
||||||
ILanguageSettingsProvider workspaceProvider = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_REGISTERER_PROVIDER_ID);
|
ILanguageSettingsProvider workspaceProvider = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_REGISTERER_PROVIDER_ID);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(workspaceProvider);
|
providers.add(workspaceProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -484,12 +496,13 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// add global provider
|
// add global provider
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(workspaceProvider);
|
providers.add(workspaceProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -532,11 +545,12 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// clear providers
|
// clear providers
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(0, storedProviders.size());
|
assertEquals(0, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -556,13 +570,14 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// create a provider and add to cfgDescription
|
// create a provider and add to cfgDescription
|
||||||
ILanguageSettingsProvider mockProvider = new MockLanguageSettingsEditableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
ILanguageSettingsProvider mockProvider = new MockLanguageSettingsEditableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(mockProvider);
|
providers.add(mockProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -586,11 +601,12 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// clear providers
|
// clear providers
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(0, storedProviders.size());
|
assertEquals(0, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -611,6 +627,7 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
String cfgDescriptionId = cfgDescription.getId();
|
String cfgDescriptionId = cfgDescription.getId();
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// create a provider and add entries
|
// create a provider and add entries
|
||||||
MockLanguageSettingsEditableProvider mockProvider = new MockLanguageSettingsEditableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
MockLanguageSettingsEditableProvider mockProvider = new MockLanguageSettingsEditableProvider(PROVIDER_1, PROVIDER_NAME_1);
|
||||||
|
@ -619,8 +636,8 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
mockProvider.setSettingEntries(cfgDescription, project, null, entries);
|
mockProvider.setSettingEntries(cfgDescription, project, null, entries);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(mockProvider);
|
providers.add(mockProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -650,12 +667,13 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// create a provider and add to cfgDescription
|
// create a provider and add to cfgDescription
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(new MockLanguageSettingsEditableProvider(PROVIDER_1, PROVIDER_NAME_1));
|
providers.add(new MockLanguageSettingsEditableProvider(PROVIDER_1, PROVIDER_NAME_1));
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -675,12 +693,14 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = prjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = prjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
String cfgDescriptionId = cfgDescription.getId();
|
String cfgDescriptionId = cfgDescription.getId();
|
||||||
|
|
||||||
// Add entries
|
// Add entries
|
||||||
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
||||||
entries.add(SAMPLE_LSE);
|
entries.add(SAMPLE_LSE);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
assertTrue(providers.get(0) instanceof MockLanguageSettingsEditableProvider);
|
assertTrue(providers.get(0) instanceof MockLanguageSettingsEditableProvider);
|
||||||
MockLanguageSettingsEditableProvider mockProvider = (MockLanguageSettingsEditableProvider) providers.get(0);
|
MockLanguageSettingsEditableProvider mockProvider = (MockLanguageSettingsEditableProvider) providers.get(0);
|
||||||
|
@ -714,12 +734,13 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// create a provider and add to cfgDescription
|
// create a provider and add to cfgDescription
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(new MockLanguageSettingsEditableProvider(PROVIDER_1, PROVIDER_NAME_1));
|
providers.add(new MockLanguageSettingsEditableProvider(PROVIDER_1, PROVIDER_NAME_1));
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -742,12 +763,14 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = prjDescription_1.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = prjDescription_1.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescriptionWritable = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescriptionWritable = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescriptionWritable instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
String cfgDescriptionId = cfgDescriptionWritable.getId();
|
String cfgDescriptionId = cfgDescriptionWritable.getId();
|
||||||
|
|
||||||
// Add entries
|
// Add entries
|
||||||
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
||||||
entries.add(SAMPLE_LSE);
|
entries.add(SAMPLE_LSE);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescriptionWritable.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescriptionWritable).getLanguageSettingProviders();
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
assertTrue(providers.get(0) instanceof MockLanguageSettingsEditableProvider);
|
assertTrue(providers.get(0) instanceof MockLanguageSettingsEditableProvider);
|
||||||
MockLanguageSettingsEditableProvider mockProvider = (MockLanguageSettingsEditableProvider) providers.get(0);
|
MockLanguageSettingsEditableProvider mockProvider = (MockLanguageSettingsEditableProvider) providers.get(0);
|
||||||
|
@ -773,12 +796,13 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = prjDescription_2.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = prjDescription_2.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescriptionWritable = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescriptionWritable = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescriptionWritable instanceof ILanguageSettingsProvidersKeeper);
|
||||||
String cfgDescriptionId = cfgDescriptionWritable.getId();
|
String cfgDescriptionId = cfgDescriptionWritable.getId();
|
||||||
|
|
||||||
// Add same entries
|
// Add same entries
|
||||||
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
||||||
entries.add(SAMPLE_LSE);
|
entries.add(SAMPLE_LSE);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescriptionWritable.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescriptionWritable).getLanguageSettingProviders();
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
assertTrue(providers.get(0) instanceof MockLanguageSettingsEditableProvider);
|
assertTrue(providers.get(0) instanceof MockLanguageSettingsEditableProvider);
|
||||||
MockLanguageSettingsEditableProvider mockProvider = (MockLanguageSettingsEditableProvider) providers.get(0);
|
MockLanguageSettingsEditableProvider mockProvider = (MockLanguageSettingsEditableProvider) providers.get(0);
|
||||||
|
@ -810,11 +834,12 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// clear providers
|
// clear providers
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(0, storedProviders.size());
|
assertEquals(0, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -834,6 +859,7 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// retrieve a global provider
|
// retrieve a global provider
|
||||||
ILanguageSettingsProvider wspProvider = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_EDITABLE_PROVIDER_ID);
|
ILanguageSettingsProvider wspProvider = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_EDITABLE_PROVIDER_ID);
|
||||||
|
@ -846,8 +872,8 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
// add the provider to cfgDescription
|
// add the provider to cfgDescription
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(wspProvider);
|
providers.add(wspProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -871,11 +897,12 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// clear providers
|
// clear providers
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(0, storedProviders.size());
|
assertEquals(0, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -895,6 +922,8 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
String cfgDescriptionId = cfgDescription.getId();
|
String cfgDescriptionId = cfgDescription.getId();
|
||||||
|
|
||||||
// retrieve a global provider
|
// retrieve a global provider
|
||||||
|
@ -911,8 +940,8 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
// add the provider to cfgDescription
|
// add the provider to cfgDescription
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(wspProvider);
|
providers.add(wspProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -945,6 +974,7 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// retrieve a global provider
|
// retrieve a global provider
|
||||||
ILanguageSettingsProvider wspProvider = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_EDITABLE_PROVIDER_ID);
|
ILanguageSettingsProvider wspProvider = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_EDITABLE_PROVIDER_ID);
|
||||||
|
@ -957,8 +987,8 @@ public class LanguageSettingsListenersTests extends BaseTestCase {
|
||||||
// add the provider to cfgDescription
|
// add the provider to cfgDescription
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(wspProvider);
|
providers.add(wspProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
|
|
@ -58,7 +58,7 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
private static final String PROVIDER_NAME_1 = "test.provider.1.name";
|
private static final String PROVIDER_NAME_1 = "test.provider.1.name";
|
||||||
private static final String PROVIDER_NAME_2 = "test.provider.2.name";
|
private static final String PROVIDER_NAME_2 = "test.provider.2.name";
|
||||||
|
|
||||||
class MockConfigurationDescription extends CModelMock.DummyCConfigurationDescription {
|
class MockConfigurationDescription extends CModelMock.DummyCConfigurationDescription implements ILanguageSettingsProvidersKeeper {
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
public MockConfigurationDescription(String id) {
|
public MockConfigurationDescription(String id) {
|
||||||
super(id);
|
super(id);
|
||||||
|
@ -130,7 +130,7 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
* Test ICConfigurationDescription API (getters and setters).
|
* Test ICConfigurationDescription API (getters and setters).
|
||||||
*/
|
*/
|
||||||
public void testConfigurationDescription_Providers() throws Exception {
|
public void testConfigurationDescription_Providers() throws Exception {
|
||||||
ICConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
MockConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
||||||
|
|
||||||
// set providers
|
// set providers
|
||||||
ILanguageSettingsProvider provider1 = new MockProvider(PROVIDER_1, PROVIDER_NAME_1, null);
|
ILanguageSettingsProvider provider1 = new MockProvider(PROVIDER_1, PROVIDER_NAME_1, null);
|
||||||
|
@ -170,7 +170,7 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
providers.add(dupe2);
|
providers.add(dupe2);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
fail("cfgDescription.setLanguageSettingProviders() should not accept duplicate providers");
|
fail("cfgDescription.setLanguageSettingProviders() should not accept duplicate providers");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// Exception is welcome here
|
// Exception is welcome here
|
||||||
|
@ -181,7 +181,7 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
* Test various cases of ill-defined providers.
|
* Test various cases of ill-defined providers.
|
||||||
*/
|
*/
|
||||||
public void testRudeProviders() throws Exception {
|
public void testRudeProviders() throws Exception {
|
||||||
ICConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
MockConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
||||||
// set impolite provider returning null by getSettingEntries()
|
// set impolite provider returning null by getSettingEntries()
|
||||||
ILanguageSettingsProvider providerNull = new MockProvider(PROVIDER_1, PROVIDER_NAME_1, null);
|
ILanguageSettingsProvider providerNull = new MockProvider(PROVIDER_1, PROVIDER_NAME_1, null);
|
||||||
{
|
{
|
||||||
|
@ -257,7 +257,7 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
* Test simple use case.
|
* Test simple use case.
|
||||||
*/
|
*/
|
||||||
public void testProvider_Basic() throws Exception {
|
public void testProvider_Basic() throws Exception {
|
||||||
final ICConfigurationDescription modelCfgDescription = new MockConfigurationDescription(CFG_ID);
|
final MockConfigurationDescription modelCfgDescription = new MockConfigurationDescription(CFG_ID);
|
||||||
|
|
||||||
final List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
final List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
||||||
entries.add(new CIncludePathEntry("path0", 0));
|
entries.add(new CIncludePathEntry("path0", 0));
|
||||||
|
@ -309,7 +309,7 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
* Test regular functionality with a few providers.
|
* Test regular functionality with a few providers.
|
||||||
*/
|
*/
|
||||||
public void testProvider_Regular() throws Exception {
|
public void testProvider_Regular() throws Exception {
|
||||||
ICConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
MockConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
||||||
|
|
||||||
// create couple of providers
|
// create couple of providers
|
||||||
List<ICLanguageSettingEntry> entries1 = new ArrayList<ICLanguageSettingEntry>();
|
List<ICLanguageSettingEntry> entries1 = new ArrayList<ICLanguageSettingEntry>();
|
||||||
|
@ -392,7 +392,7 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
|
|
||||||
};
|
};
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
{
|
{
|
||||||
// retrieve entries for a derived resource (in a subfolder)
|
// retrieve entries for a derived resource (in a subfolder)
|
||||||
|
@ -453,7 +453,7 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
|
|
||||||
};
|
};
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
{
|
{
|
||||||
// retrieve entries for a resource
|
// retrieve entries for a resource
|
||||||
|
@ -470,7 +470,7 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
* Test ability to get entries by kind.
|
* Test ability to get entries by kind.
|
||||||
*/
|
*/
|
||||||
public void testEntriesByKind_Regular() throws Exception {
|
public void testEntriesByKind_Regular() throws Exception {
|
||||||
ICConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
MockConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
||||||
|
|
||||||
// contribute the entries
|
// contribute the entries
|
||||||
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
||||||
|
@ -504,7 +504,7 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
* Test how conflicting entries are resolved.
|
* Test how conflicting entries are resolved.
|
||||||
*/
|
*/
|
||||||
public void testEntriesByKind_ConflictingEntries() throws Exception {
|
public void testEntriesByKind_ConflictingEntries() throws Exception {
|
||||||
ICConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
MockConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
||||||
|
|
||||||
// contribute the entries
|
// contribute the entries
|
||||||
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
||||||
|
@ -528,7 +528,7 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
* Check handling of {@link ICSettingEntry#UNDEFINED} flag.
|
* Check handling of {@link ICSettingEntry#UNDEFINED} flag.
|
||||||
*/
|
*/
|
||||||
public void testEntriesByKind_Undefined() throws Exception {
|
public void testEntriesByKind_Undefined() throws Exception {
|
||||||
ICConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
MockConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
||||||
|
|
||||||
// contribute the entries
|
// contribute the entries
|
||||||
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
||||||
|
@ -550,7 +550,7 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
* Check handling of local vs. system entries, see {@link ICSettingEntry#LOCAL} flag.
|
* Check handling of local vs. system entries, see {@link ICSettingEntry#LOCAL} flag.
|
||||||
*/
|
*/
|
||||||
public void testEntriesByKind_LocalAndSystem() throws Exception {
|
public void testEntriesByKind_LocalAndSystem() throws Exception {
|
||||||
ICConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
MockConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
||||||
|
|
||||||
// contribute the entries
|
// contribute the entries
|
||||||
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
||||||
|
@ -594,7 +594,7 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
* Test conflicting entries contributed by different providers.
|
* Test conflicting entries contributed by different providers.
|
||||||
*/
|
*/
|
||||||
public void testEntriesByKind_ConflictingProviders() throws Exception {
|
public void testEntriesByKind_ConflictingProviders() throws Exception {
|
||||||
ICConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
MockConfigurationDescription cfgDescription = new MockConfigurationDescription(CFG_ID);
|
||||||
|
|
||||||
// contribute the entries
|
// contribute the entries
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
|
@ -648,18 +648,18 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
assertNotNull(workspaceProvider);
|
assertNotNull(workspaceProvider);
|
||||||
{
|
{
|
||||||
// ensure no test provider is set yet
|
// ensure no test provider is set yet
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(0, providers.size());
|
assertEquals(0, providers.size());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
// set test provider
|
// set test provider
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(workspaceProvider);
|
providers.add(workspaceProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
// check that test provider got there
|
// check that test provider got there
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(workspaceProvider, providers.get(0));
|
assertEquals(workspaceProvider, providers.get(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -678,7 +678,7 @@ public class LanguageSettingsManagerTests extends BaseTestCase {
|
||||||
ICConfigurationDescription loadedCfgDescription = loadedCfgDescriptions[0];
|
ICConfigurationDescription loadedCfgDescription = loadedCfgDescriptions[0];
|
||||||
assertTrue(cfgDescription instanceof CConfigurationDescription);
|
assertTrue(cfgDescription instanceof CConfigurationDescription);
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> loadedProviders = loadedCfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> loadedProviders = ((ILanguageSettingsProvidersKeeper) loadedCfgDescription).getLanguageSettingProviders();
|
||||||
assertTrue(LanguageSettingsManager.isWorkspaceProvider(loadedProviders.get(0)));
|
assertTrue(LanguageSettingsManager.isWorkspaceProvider(loadedProviders.get(0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
|
|
||||||
private static CoreModel coreModel = CoreModel.getDefault();
|
private static CoreModel coreModel = CoreModel.getDefault();
|
||||||
|
|
||||||
class MockConfigurationDescription extends CModelMock.DummyCConfigurationDescription {
|
class MockConfigurationDescription extends CModelMock.DummyCConfigurationDescription implements ILanguageSettingsProvidersKeeper {
|
||||||
List<ILanguageSettingsProvider> providers;
|
List<ILanguageSettingsProvider> providers;
|
||||||
public MockConfigurationDescription(String id) {
|
public MockConfigurationDescription(String id) {
|
||||||
super(id);
|
super(id);
|
||||||
|
@ -183,7 +183,10 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
List<ILanguageSettingsProvider> originalProviders = cfgDescription.getLanguageSettingProviders();
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
|
List<ILanguageSettingsProvider> originalProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
int originalSize = originalProviders.size();
|
int originalSize = originalProviders.size();
|
||||||
|
|
||||||
// create new provider list
|
// create new provider list
|
||||||
|
@ -193,7 +196,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
assertTrue(originalSize != providers.size());
|
assertTrue(originalSize != providers.size());
|
||||||
|
|
||||||
// changing providers shouldn't affect the original list
|
// changing providers shouldn't affect the original list
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
assertEquals(originalSize, originalProviders.size());
|
assertEquals(originalSize, originalProviders.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -209,11 +212,12 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
assertNotNull(prjDescription);
|
assertNotNull(prjDescription);
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// try to write to it
|
// try to write to it
|
||||||
try {
|
try {
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
fail("WriteAccessException was expected but it was not throw.");
|
fail("WriteAccessException was expected but it was not throw.");
|
||||||
} catch (WriteAccessException e) {
|
} catch (WriteAccessException e) {
|
||||||
// exception is expected
|
// exception is expected
|
||||||
|
@ -230,6 +234,8 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// create a provider
|
// create a provider
|
||||||
LanguageSettingsSerializableProvider mockProvider = new MockLanguageSettingsEditableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
LanguageSettingsSerializableProvider mockProvider = new MockLanguageSettingsEditableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
||||||
|
@ -237,8 +243,8 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
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);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// apply new project description to the project model
|
// apply new project description to the project model
|
||||||
|
@ -251,8 +257,10 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = readOnlyProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = readOnlyProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider loadedProvider = providers.get(0);
|
ILanguageSettingsProvider loadedProvider = providers.get(0);
|
||||||
assertTrue(loadedProvider instanceof MockLanguageSettingsEditableProvider);
|
assertTrue(loadedProvider instanceof MockLanguageSettingsEditableProvider);
|
||||||
|
@ -270,8 +278,10 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider loadedProvider = providers.get(0);
|
ILanguageSettingsProvider loadedProvider = providers.get(0);
|
||||||
assertTrue(loadedProvider instanceof MockLanguageSettingsEditableProvider);
|
assertTrue(loadedProvider instanceof MockLanguageSettingsEditableProvider);
|
||||||
|
@ -436,6 +446,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = mockPrjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = mockPrjDescription.getConfigurations();
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
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);
|
||||||
|
@ -443,13 +454,14 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
|
|
||||||
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(serializableProvider);
|
providers.add(serializableProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// prepare DOM storage
|
// prepare DOM storage
|
||||||
Document doc = XmlUtil.newDocument();
|
Document doc = XmlUtil.newDocument();
|
||||||
rootElement = XmlUtil.appendElement(doc, ELEM_TEST);
|
rootElement = XmlUtil.appendElement(doc, ELEM_TEST);
|
||||||
// serialize language settings to the DOM
|
// serialize language settings to the DOM
|
||||||
LanguageSettingsProvidersSerializer.serializeLanguageSettingsInternal(rootElement, null, mockPrjDescription);
|
LanguageSettingsProvidersSerializer.serializeLanguageSettingsInternal(rootElement, null, mockPrjDescription);
|
||||||
|
assertTrue(XmlUtil.toString(doc).contains(PROVIDER_0));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
// re-load and check language settings of the newly loaded provider
|
// re-load and check language settings of the newly loaded provider
|
||||||
|
@ -461,8 +473,9 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertNotNull(providers);
|
assertNotNull(providers);
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider provider = providers.get(0);
|
ILanguageSettingsProvider provider = providers.get(0);
|
||||||
|
@ -499,25 +512,29 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
// populate configuration 1 with provider
|
// populate configuration 1 with provider
|
||||||
ICConfigurationDescription cfgDescription1 = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription1 = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription1);
|
assertNotNull(cfgDescription1);
|
||||||
|
assertTrue(cfgDescription1 instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
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);
|
provider1.setStoringEntriesInProjectArea(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);
|
||||||
cfgDescription1.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription1).setLanguageSettingProviders(providers);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
// populate configuration 2 with provider
|
// populate configuration 2 with provider
|
||||||
ICConfigurationDescription cfgDescription2 = cfgDescriptions[1];
|
ICConfigurationDescription cfgDescription2 = cfgDescriptions[1];
|
||||||
assertNotNull(cfgDescription2);
|
assertNotNull(cfgDescription2);
|
||||||
|
assertTrue(cfgDescription2 instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
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);
|
provider2.setStoringEntriesInProjectArea(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);
|
||||||
cfgDescription2.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription2).setLanguageSettingProviders(providers);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -530,7 +547,9 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
// doublecheck configuration 1
|
// doublecheck configuration 1
|
||||||
ICConfigurationDescription cfgDescription1 = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription1 = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription1);
|
assertNotNull(cfgDescription1);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription1.getLanguageSettingProviders();
|
assertTrue(cfgDescription1 instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription1).getLanguageSettingProviders();
|
||||||
|
|
||||||
assertNotNull(providers);
|
assertNotNull(providers);
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider provider = providers.get(0);
|
ILanguageSettingsProvider provider = providers.get(0);
|
||||||
|
@ -543,7 +562,9 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
// doublecheck configuration 2
|
// doublecheck configuration 2
|
||||||
ICConfigurationDescription cfgDescription2 = cfgDescriptions[1];
|
ICConfigurationDescription cfgDescription2 = cfgDescriptions[1];
|
||||||
assertNotNull(cfgDescription2);
|
assertNotNull(cfgDescription2);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription2.getLanguageSettingProviders();
|
assertTrue(cfgDescription2 instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription2).getLanguageSettingProviders();
|
||||||
assertNotNull(providers);
|
assertNotNull(providers);
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider provider = providers.get(0);
|
ILanguageSettingsProvider provider = providers.get(0);
|
||||||
|
@ -577,7 +598,9 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
// check configuration 1
|
// check configuration 1
|
||||||
ICConfigurationDescription cfgDescription1 = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription1 = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription1);
|
assertNotNull(cfgDescription1);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription1.getLanguageSettingProviders();
|
assertTrue(cfgDescription1 instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription1).getLanguageSettingProviders();
|
||||||
assertNotNull(providers);
|
assertNotNull(providers);
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider provider = providers.get(0);
|
ILanguageSettingsProvider provider = providers.get(0);
|
||||||
|
@ -590,7 +613,9 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
// check configuration 2
|
// check configuration 2
|
||||||
ICConfigurationDescription cfgDescription2 = cfgDescriptions[1];
|
ICConfigurationDescription cfgDescription2 = cfgDescriptions[1];
|
||||||
assertNotNull(cfgDescription2);
|
assertNotNull(cfgDescription2);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription2.getLanguageSettingProviders();
|
assertTrue(cfgDescription2 instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription2).getLanguageSettingProviders();
|
||||||
|
|
||||||
assertNotNull(providers);
|
assertNotNull(providers);
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider provider = providers.get(0);
|
ILanguageSettingsProvider provider = providers.get(0);
|
||||||
|
@ -617,6 +642,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = mockPrjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = mockPrjDescription.getConfigurations();
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
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);
|
||||||
|
@ -624,7 +650,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
|
|
||||||
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(serializableProvider);
|
providers.add(serializableProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// prepare DOM storage
|
// prepare DOM storage
|
||||||
Document doc = XmlUtil.newDocument();
|
Document doc = XmlUtil.newDocument();
|
||||||
|
@ -642,8 +668,9 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertNotNull(providers);
|
assertNotNull(providers);
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider provider = providers.get(0);
|
ILanguageSettingsProvider provider = providers.get(0);
|
||||||
|
@ -669,11 +696,12 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = mockPrjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = mockPrjDescription.getConfigurations();
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// populate with provider defined as extension
|
// populate with provider defined as extension
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(providerExt);
|
providers.add(providerExt);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// prepare DOM storage
|
// prepare DOM storage
|
||||||
Document doc = XmlUtil.newDocument();
|
Document doc = XmlUtil.newDocument();
|
||||||
|
@ -691,9 +719,10 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// and check the newly loaded provider which should be workspace provider
|
// and check the newly loaded provider which should be workspace provider
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertNotNull(providers);
|
assertNotNull(providers);
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider provider = providers.get(0);
|
ILanguageSettingsProvider provider = providers.get(0);
|
||||||
|
@ -717,13 +746,14 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = mockPrjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = mockPrjDescription.getConfigurations();
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// 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);
|
providerOverride.setStoringEntriesInProjectArea(true);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(providerOverride);
|
providers.add(providerOverride);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
|
|
||||||
// prepare DOM storage
|
// prepare DOM storage
|
||||||
|
@ -742,9 +772,10 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// check the newly loaded provider
|
// check the newly loaded provider
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertNotNull(providers);
|
assertNotNull(providers);
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider provider = providers.get(0);
|
ILanguageSettingsProvider provider = providers.get(0);
|
||||||
|
@ -776,6 +807,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = mockPrjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = mockPrjDescription.getConfigurations();
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// 1. Provider reference to extension from plugin.xml
|
// 1. Provider reference to extension from plugin.xml
|
||||||
providerExt = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_BASE_PROVIDER_ID);
|
providerExt = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_BASE_PROVIDER_ID);
|
||||||
|
@ -796,7 +828,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
providers.add(providerExt);
|
providers.add(providerExt);
|
||||||
providers.add(mockProvider1);
|
providers.add(mockProvider1);
|
||||||
providers.add(mockProvider2);
|
providers.add(mockProvider2);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
}
|
}
|
||||||
|
|
||||||
// prepare DOM storage
|
// prepare DOM storage
|
||||||
|
@ -815,8 +847,10 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
assertNotNull(cfgDescriptions);
|
assertNotNull(cfgDescriptions);
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertNotNull(providers);
|
assertNotNull(providers);
|
||||||
// 1. Provider reference to extension from plugin.xml
|
// 1. Provider reference to extension from plugin.xml
|
||||||
ILanguageSettingsProvider provider0 = providers.get(0);
|
ILanguageSettingsProvider provider0 = providers.get(0);
|
||||||
|
@ -862,6 +896,8 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// create a provider
|
// create a provider
|
||||||
LanguageSettingsSerializableProvider mockProvider = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
LanguageSettingsSerializableProvider mockProvider = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
||||||
|
@ -869,8 +905,8 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
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);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -882,7 +918,10 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
{
|
{
|
||||||
coreModel.getProjectDescription(project);
|
coreModel.getProjectDescription(project);
|
||||||
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider provider = providers.get(0);
|
ILanguageSettingsProvider provider = providers.get(0);
|
||||||
assertTrue(provider instanceof LanguageSettingsSerializableProvider);
|
assertTrue(provider instanceof LanguageSettingsSerializableProvider);
|
||||||
|
@ -916,16 +955,20 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
cfgDescription.setLanguageSettingProviders(new ArrayList<ILanguageSettingsProvider>());
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(new ArrayList<ILanguageSettingsProvider>());
|
||||||
coreModel.setProjectDescription(project, writableProjDescription);
|
coreModel.setProjectDescription(project, writableProjDescription);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(0, providers.size());
|
assertEquals(0, providers.size());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
// re-check if it really took it
|
// re-check if it really took it
|
||||||
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(0, providers.size());
|
assertEquals(0, providers.size());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -936,7 +979,10 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
// open to double-check the data is not kept in some other kind of cache
|
// open to double-check the data is not kept in some other kind of cache
|
||||||
project.open(null);
|
project.open(null);
|
||||||
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(0, providers.size());
|
assertEquals(0, providers.size());
|
||||||
// and close
|
// and close
|
||||||
project.close(null);
|
project.close(null);
|
||||||
|
@ -959,7 +1005,10 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
// open project and check if providers are loaded
|
// open project and check if providers are loaded
|
||||||
project.open(null);
|
project.open(null);
|
||||||
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider loadedProvider = providers.get(0);
|
ILanguageSettingsProvider loadedProvider = providers.get(0);
|
||||||
assertTrue(loadedProvider instanceof LanguageSettingsSerializableProvider);
|
assertTrue(loadedProvider instanceof LanguageSettingsSerializableProvider);
|
||||||
|
@ -988,6 +1037,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = mockPrjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = mockPrjDescription.getConfigurations();
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
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);
|
||||||
|
@ -996,7 +1046,7 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
|
|
||||||
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
ArrayList<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(serializableProvider);
|
providers.add(serializableProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// prepare DOM storage
|
// prepare DOM storage
|
||||||
Document prjDoc = XmlUtil.newDocument();
|
Document prjDoc = XmlUtil.newDocument();
|
||||||
|
@ -1016,8 +1066,9 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertNotNull(providers);
|
assertNotNull(providers);
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider provider = providers.get(0);
|
ILanguageSettingsProvider provider = providers.get(0);
|
||||||
|
@ -1059,6 +1110,8 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = writableProjDescription.getConfigurations();
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// create a provider
|
// create a provider
|
||||||
LanguageSettingsSerializableProvider mockProvider = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
LanguageSettingsSerializableProvider mockProvider = new LanguageSettingsSerializableProvider(PROVIDER_0, PROVIDER_NAME_0);
|
||||||
|
@ -1066,8 +1119,8 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
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);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
List<ILanguageSettingsProvider> storedProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> storedProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, storedProviders.size());
|
assertEquals(1, storedProviders.size());
|
||||||
|
|
||||||
// write to project description
|
// write to project description
|
||||||
|
@ -1083,7 +1136,10 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
{
|
{
|
||||||
coreModel.getProjectDescription(project);
|
coreModel.getProjectDescription(project);
|
||||||
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider provider = providers.get(0);
|
ILanguageSettingsProvider provider = providers.get(0);
|
||||||
assertTrue(provider instanceof LanguageSettingsSerializableProvider);
|
assertTrue(provider instanceof LanguageSettingsSerializableProvider);
|
||||||
|
@ -1122,16 +1178,20 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
assertEquals(1, cfgDescriptions.length);
|
assertEquals(1, cfgDescriptions.length);
|
||||||
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
ICConfigurationDescription cfgDescription = cfgDescriptions[0];
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
cfgDescription.setLanguageSettingProviders(new ArrayList<ILanguageSettingsProvider>());
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(new ArrayList<ILanguageSettingsProvider>());
|
||||||
coreModel.setProjectDescription(project, writableProjDescription);
|
coreModel.setProjectDescription(project, writableProjDescription);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(0, providers.size());
|
assertEquals(0, providers.size());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
// re-check if it really took it
|
// re-check if it really took it
|
||||||
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(0, providers.size());
|
assertEquals(0, providers.size());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -1142,7 +1202,10 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
// open to double-check the data is not kept in some other kind of cache
|
// open to double-check the data is not kept in some other kind of cache
|
||||||
project.open(null);
|
project.open(null);
|
||||||
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(0, providers.size());
|
assertEquals(0, providers.size());
|
||||||
// and close
|
// and close
|
||||||
project.close(null);
|
project.close(null);
|
||||||
|
@ -1177,7 +1240,10 @@ public class LanguageSettingsPersistenceProjectTests extends BaseTestCase {
|
||||||
// open project and check if providers are loaded
|
// open project and check if providers are loaded
|
||||||
project.open(null);
|
project.open(null);
|
||||||
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
ICConfigurationDescription cfgDescription = getFirstConfigurationDescription(project);
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
assertEquals(1, providers.size());
|
assertEquals(1, providers.size());
|
||||||
ILanguageSettingsProvider loadedProvider = providers.get(0);
|
ILanguageSettingsProvider loadedProvider = providers.get(0);
|
||||||
assertTrue(loadedProvider instanceof LanguageSettingsSerializableProvider);
|
assertTrue(loadedProvider instanceof LanguageSettingsSerializableProvider);
|
||||||
|
|
|
@ -51,7 +51,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
private static final String PROVIDER_ID = "test.provider.id";
|
private static final String PROVIDER_ID = "test.provider.id";
|
||||||
private static final String PROVIDER_ID_2 = "test.provider.id.2";
|
private static final String PROVIDER_ID_2 = "test.provider.id.2";
|
||||||
private static final String PROVIDER_NAME = "test.provider.name";
|
private static final String PROVIDER_NAME = "test.provider.name";
|
||||||
|
|
||||||
// constants for getProjectDescription()
|
// constants for getProjectDescription()
|
||||||
private static final boolean READ_ONLY = false;
|
private static final boolean READ_ONLY = false;
|
||||||
private static final boolean WRITEABLE = true;
|
private static final boolean WRITEABLE = true;
|
||||||
|
@ -225,6 +225,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
assertNotNull(prjDescription);
|
assertNotNull(prjDescription);
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// sample file
|
// sample file
|
||||||
IFile file = ResourceHelper.createFile(project, "file.c");
|
IFile file = ResourceHelper.createFile(project, "file.c");
|
||||||
|
@ -256,7 +257,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// set project description
|
// set project description
|
||||||
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
||||||
|
@ -296,6 +297,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
assertNotNull(prjDescription);
|
assertNotNull(prjDescription);
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// sample file
|
// sample file
|
||||||
IFile file = ResourceHelper.createFile(project, "file.c");
|
IFile file = ResourceHelper.createFile(project, "file.c");
|
||||||
|
@ -319,7 +321,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// set project description
|
// set project description
|
||||||
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
||||||
|
@ -349,22 +351,23 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
assertNotNull(prjDescription);
|
assertNotNull(prjDescription);
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// sample file
|
// sample file
|
||||||
IFile file = ResourceHelper.createFile(project, "file.c");
|
IFile file = ResourceHelper.createFile(project, "file.c");
|
||||||
|
|
||||||
// contribute the entries
|
// contribute the entries
|
||||||
IFolder frameworkFolder = ResourceHelper.createFolder(project, "Fmwk");
|
IFolder frameworkFolder = ResourceHelper.createFolder(project, "Fmwk");
|
||||||
CIncludePathEntry frameworkPathEntry = new CIncludePathEntry(frameworkFolder, ICSettingEntry.FRAMEWORKS_MAC);
|
CIncludePathEntry frameworkPathEntry = new CIncludePathEntry(frameworkFolder, ICSettingEntry.FRAMEWORKS_MAC);
|
||||||
|
|
||||||
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
||||||
entries.add(frameworkPathEntry);
|
entries.add(frameworkPathEntry);
|
||||||
|
|
||||||
// add provider to the configuration
|
// add provider to the configuration
|
||||||
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// set project description
|
// set project description
|
||||||
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
||||||
|
@ -380,7 +383,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
new Path(actualIncludePaths[1]));
|
new Path(actualIncludePaths[1]));
|
||||||
assertEquals(2, actualIncludePaths.length);
|
assertEquals(2, actualIncludePaths.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test duplicate entries.
|
* Test duplicate entries.
|
||||||
*/
|
*/
|
||||||
|
@ -391,6 +394,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
assertNotNull(prjDescription);
|
assertNotNull(prjDescription);
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// sample file
|
// sample file
|
||||||
IFile file = ResourceHelper.createFile(project, "file.c");
|
IFile file = ResourceHelper.createFile(project, "file.c");
|
||||||
|
@ -412,7 +416,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// set project description
|
// set project description
|
||||||
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
||||||
|
@ -440,6 +444,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
assertNotNull(prjDescription);
|
assertNotNull(prjDescription);
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// create sample file
|
// create sample file
|
||||||
IFile file = ResourceHelper.createFile(project, "file.c");
|
IFile file = ResourceHelper.createFile(project, "file.c");
|
||||||
|
@ -472,7 +477,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// set project description
|
// set project description
|
||||||
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
||||||
|
@ -508,6 +513,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
assertNotNull(prjDescription);
|
assertNotNull(prjDescription);
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// create sample file
|
// create sample file
|
||||||
IFile file = ResourceHelper.createFile(project, "file.c");
|
IFile file = ResourceHelper.createFile(project, "file.c");
|
||||||
|
@ -523,7 +529,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// set project description
|
// set project description
|
||||||
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
||||||
|
@ -559,6 +565,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
assertNotNull(prjDescription);
|
assertNotNull(prjDescription);
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// create sample file
|
// create sample file
|
||||||
IFile file = ResourceHelper.createFile(project, "file.c");
|
IFile file = ResourceHelper.createFile(project, "file.c");
|
||||||
|
@ -576,7 +583,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// set project description
|
// set project description
|
||||||
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
||||||
|
@ -628,6 +635,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
assertNotNull(prjDescription);
|
assertNotNull(prjDescription);
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// create sample file
|
// create sample file
|
||||||
IFile file = ResourceHelper.createFile(project, "file.c");
|
IFile file = ResourceHelper.createFile(project, "file.c");
|
||||||
|
@ -655,7 +663,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// set project description
|
// set project description
|
||||||
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
||||||
|
@ -710,6 +718,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
assertNotNull(prjDescription);
|
assertNotNull(prjDescription);
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// create sample file
|
// create sample file
|
||||||
IFile file = ResourceHelper.createFile(project, "file.c");
|
IFile file = ResourceHelper.createFile(project, "file.c");
|
||||||
|
@ -723,7 +732,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// set project description
|
// set project description
|
||||||
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
||||||
|
@ -765,6 +774,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
assertNotNull(prjDescription);
|
assertNotNull(prjDescription);
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// sample file
|
// sample file
|
||||||
IFolder parentFolder = ResourceHelper.createFolder(project, "ParentFolder");
|
IFolder parentFolder = ResourceHelper.createFolder(project, "ParentFolder");
|
||||||
|
@ -784,7 +794,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// set project description
|
// set project description
|
||||||
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
||||||
|
@ -812,6 +822,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
assertNotNull(prjDescription);
|
assertNotNull(prjDescription);
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// create sample file
|
// create sample file
|
||||||
IFile file = ResourceHelper.createFile(project, "file.c");
|
IFile file = ResourceHelper.createFile(project, "file.c");
|
||||||
|
@ -825,8 +836,8 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
ILanguageSettingsProvider provider = new MockProvider(PROVIDER_ID, PROVIDER_NAME, entries);
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// set project description
|
// set project description
|
||||||
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
||||||
|
|
||||||
|
@ -893,6 +904,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
assertNotNull(prjDescription);
|
assertNotNull(prjDescription);
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
ICConfigurationDescription cfgDescription = prjDescription.getDefaultSettingConfiguration();
|
||||||
assertNotNull(cfgDescription);
|
assertNotNull(cfgDescription);
|
||||||
|
assertTrue(cfgDescription instanceof ILanguageSettingsProvidersKeeper);
|
||||||
|
|
||||||
// find 2 languages applicable to the folder
|
// find 2 languages applicable to the folder
|
||||||
List<String> languageIds = getLanguages(folder, cfgDescription);
|
List<String> languageIds = getLanguages(folder, cfgDescription);
|
||||||
|
@ -917,7 +929,7 @@ public class LanguageSettingsScannerInfoProviderTests extends BaseTestCase {
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>();
|
||||||
providers.add(provider1);
|
providers.add(provider1);
|
||||||
providers.add(provider2);
|
providers.add(provider2);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
// set project description
|
// set project description
|
||||||
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
CProjectDescriptionManager.getInstance().setProjectDescription(project, prjDescription);
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -25,7 +25,6 @@ import org.eclipse.cdt.core.index.IIndex;
|
||||||
import org.eclipse.cdt.core.index.provider.IIndexProvider;
|
import org.eclipse.cdt.core.index.provider.IIndexProvider;
|
||||||
import org.eclipse.cdt.core.internal.index.provider.test.DummyProviderTraces;
|
import org.eclipse.cdt.core.internal.index.provider.test.DummyProviderTraces;
|
||||||
import org.eclipse.cdt.core.internal.index.provider.test.Providers;
|
import org.eclipse.cdt.core.internal.index.provider.test.Providers;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsProvider;
|
|
||||||
import org.eclipse.cdt.core.model.CoreModel;
|
import org.eclipse.cdt.core.model.CoreModel;
|
||||||
import org.eclipse.cdt.core.model.ICProject;
|
import org.eclipse.cdt.core.model.ICProject;
|
||||||
import org.eclipse.cdt.core.parser.util.ArrayUtil;
|
import org.eclipse.cdt.core.parser.util.ArrayUtil;
|
||||||
|
@ -76,7 +75,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
final static Class DP4= Providers.Dummy4.class;
|
final static Class DP4= Providers.Dummy4.class;
|
||||||
final static Class DP5= Providers.Dummy5.class;
|
final static Class DP5= Providers.Dummy5.class;
|
||||||
final static Class[] DPS= new Class[] {DP4, DP2, DP1, DP3, DP5};
|
final static Class[] DPS= new Class[] {DP4, DP2, DP1, DP3, DP5};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fictional compatibility ranges for testing
|
* Fictional compatibility ranges for testing
|
||||||
*/
|
*/
|
||||||
|
@ -84,9 +83,9 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
final static VersionRange VERSION_401= new VersionRange("[36,37]");
|
final static VersionRange VERSION_401= new VersionRange("[36,37]");
|
||||||
final static VersionRange VERSION_405= new VersionRange("[37,39]");
|
final static VersionRange VERSION_405= new VersionRange("[37,39]");
|
||||||
final static VersionRange VERSION_502= new VersionRange("[89,91]");
|
final static VersionRange VERSION_502= new VersionRange("[89,91]");
|
||||||
|
|
||||||
final CCorePlugin core= CCorePlugin.getDefault();
|
final CCorePlugin core= CCorePlugin.getDefault();
|
||||||
|
|
||||||
public IndexProviderManagerTest() {
|
public IndexProviderManagerTest() {
|
||||||
super("IndexProviderManagerTest");
|
super("IndexProviderManagerTest");
|
||||||
}
|
}
|
||||||
|
@ -107,11 +106,11 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
IndexProviderManager ipm= ((PDOMManager)CCorePlugin.getIndexManager()).getIndexProviderManager();
|
IndexProviderManager ipm= ((PDOMManager)CCorePlugin.getIndexManager()).getIndexProviderManager();
|
||||||
ipm.reset(); ipm.startup();
|
ipm.reset(); ipm.startup();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testProvider_SimpleLifeCycle_200958() throws Exception {
|
public void testProvider_SimpleLifeCycle_200958() throws Exception {
|
||||||
for (Class element : DPS)
|
for (Class element : DPS)
|
||||||
DPT.reset(element);
|
DPT.reset(element);
|
||||||
|
|
||||||
List cprojects = new ArrayList(), expectedTrace = new ArrayList();
|
List cprojects = new ArrayList(), expectedTrace = new ArrayList();
|
||||||
try {
|
try {
|
||||||
for(int i=0; i<3; i++) {
|
for(int i=0; i<3; i++) {
|
||||||
|
@ -138,7 +137,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
|
|
||||||
public void testProvider_OverDeleteAndAdd() throws Exception {
|
public void testProvider_OverDeleteAndAdd() throws Exception {
|
||||||
DPT.reset(DP1);
|
DPT.reset(DP1);
|
||||||
|
|
||||||
List expectedTrace = new ArrayList();
|
List expectedTrace = new ArrayList();
|
||||||
ICProject cproject = null;
|
ICProject cproject = null;
|
||||||
try {
|
try {
|
||||||
|
@ -181,7 +180,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
File newLocation = CProjectHelper.freshDir();
|
File newLocation = CProjectHelper.freshDir();
|
||||||
IProjectDescription description = cproject.getProject().getDescription();
|
IProjectDescription description = cproject.getProject().getDescription();
|
||||||
description.setLocationURI(newLocation.toURI());
|
description.setLocationURI(newLocation.toURI());
|
||||||
cproject.getProject().move(description, IResource.FORCE | IResource.SHALLOW, new NullProgressMonitor());
|
cproject.getProject().move(description, IResource.FORCE | IResource.SHALLOW, new NullProgressMonitor());
|
||||||
|
|
||||||
index = CCorePlugin.getIndexManager().getIndex(cproject);
|
index = CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
assertEquals(expectedTrace, DPT.getProjectsTrace(DP1));
|
assertEquals(expectedTrace, DPT.getProjectsTrace(DP1));
|
||||||
|
@ -191,19 +190,19 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testVersioning_IncompatibleIgnored() throws Exception {
|
public void testVersioning_IncompatibleIgnored() throws Exception {
|
||||||
IndexProviderManager ipm= ((PDOMManager)CCorePlugin.getIndexManager()).getIndexProviderManager();
|
IndexProviderManager ipm= ((PDOMManager)CCorePlugin.getIndexManager()).getIndexProviderManager();
|
||||||
|
|
||||||
ICProject cproject = null;
|
ICProject cproject = null;
|
||||||
try {
|
try {
|
||||||
cproject= CProjectHelper.createCCProject("IndexFactoryConfigurationUsageTest", IPDOMManager.ID_NO_INDEXER);
|
cproject= CProjectHelper.createCCProject("IndexFactoryConfigurationUsageTest", IPDOMManager.ID_NO_INDEXER);
|
||||||
IProject project= cproject.getProject();
|
IProject project= cproject.getProject();
|
||||||
|
|
||||||
|
|
||||||
MockState mockState = new MockState(cproject);
|
MockState mockState = new MockState(cproject);
|
||||||
mockState.setConfig(MockState.REL_V1_ID);
|
mockState.setConfig(MockState.REL_V1_ID);
|
||||||
|
|
||||||
IIndexProvider provider1= new IIndexFragmentProvider() {
|
IIndexProvider provider1= new IIndexFragmentProvider() {
|
||||||
IIndexFragment[] fragments= new IIndexFragment[] {
|
IIndexFragment[] fragments= new IIndexFragment[] {
|
||||||
new MockPDOM("contentID.contentA", "36"),
|
new MockPDOM("contentID.contentA", "36"),
|
||||||
|
@ -212,9 +211,11 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
new MockPDOM("contentID.bar", "91"),
|
new MockPDOM("contentID.bar", "91"),
|
||||||
new MockPDOM("contentID.baz", "89")
|
new MockPDOM("contentID.baz", "89")
|
||||||
};
|
};
|
||||||
|
@Override
|
||||||
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) {
|
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) {
|
||||||
return fragments;
|
return fragments;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
public boolean providesFor(ICProject project) throws CoreException {
|
public boolean providesFor(ICProject project) throws CoreException {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -224,20 +225,22 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
new MockPDOM("contentID.baz", "90"),
|
new MockPDOM("contentID.baz", "90"),
|
||||||
new MockPDOM("contentID.contentA", "38"),
|
new MockPDOM("contentID.contentA", "38"),
|
||||||
};
|
};
|
||||||
|
@Override
|
||||||
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) {
|
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) {
|
||||||
return fragments;
|
return fragments;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
public boolean providesFor(ICProject project) throws CoreException {
|
public boolean providesFor(ICProject project) throws CoreException {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
CCorePlugin.getIndexManager().joinIndexer(8000, npm()); // ensure IPM is called only once under test conditions
|
CCorePlugin.getIndexManager().joinIndexer(8000, npm()); // ensure IPM is called only once under test conditions
|
||||||
setExpectedNumberOfLoggedNonOKStatusObjects(3); // foo, bar and baz have no compatible fragments available
|
setExpectedNumberOfLoggedNonOKStatusObjects(3); // foo, bar and baz have no compatible fragments available
|
||||||
|
|
||||||
ipm.reset(VERSION_405); ipm.startup();
|
ipm.reset(VERSION_405); ipm.startup();
|
||||||
ipm.addIndexProvider(provider1); ipm.addIndexProvider(provider2);
|
ipm.addIndexProvider(provider1); ipm.addIndexProvider(provider2);
|
||||||
|
|
||||||
IIndexFragment[] actual = ipm.getProvidedIndexFragments(mockState.getCurrentConfig(), true);
|
IIndexFragment[] actual = ipm.getProvidedIndexFragments(mockState.getCurrentConfig(), true);
|
||||||
assertEquals(1, actual.length);
|
assertEquals(1, actual.length);
|
||||||
assertFragmentPresent("contentID.contentA", "38", actual);
|
assertFragmentPresent("contentID.contentA", "38", actual);
|
||||||
|
@ -247,19 +250,19 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testVersioning_NoCompatibleVersionsFound() throws Exception {
|
public void testVersioning_NoCompatibleVersionsFound() throws Exception {
|
||||||
IndexProviderManager ipm= ((PDOMManager)CCorePlugin.getIndexManager()).getIndexProviderManager();
|
IndexProviderManager ipm= ((PDOMManager)CCorePlugin.getIndexManager()).getIndexProviderManager();
|
||||||
|
|
||||||
ICProject cproject = null;
|
ICProject cproject = null;
|
||||||
try {
|
try {
|
||||||
cproject= CProjectHelper.createCCProject("IndexFactoryConfigurationUsageTest", IPDOMManager.ID_NO_INDEXER);
|
cproject= CProjectHelper.createCCProject("IndexFactoryConfigurationUsageTest", IPDOMManager.ID_NO_INDEXER);
|
||||||
IProject project= cproject.getProject();
|
IProject project= cproject.getProject();
|
||||||
|
|
||||||
|
|
||||||
MockState mockState = new MockState(cproject);
|
MockState mockState = new MockState(cproject);
|
||||||
mockState.setConfig(MockState.REL_V1_ID);
|
mockState.setConfig(MockState.REL_V1_ID);
|
||||||
|
|
||||||
IIndexProvider provider1= new IIndexFragmentProvider() {
|
IIndexProvider provider1= new IIndexFragmentProvider() {
|
||||||
IIndexFragment[] fragments= new IIndexFragment[] {
|
IIndexFragment[] fragments= new IIndexFragment[] {
|
||||||
new MockPDOM("contentID.contentA", "36"),
|
new MockPDOM("contentID.contentA", "36"),
|
||||||
|
@ -268,9 +271,11 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
new MockPDOM("contentID.bar", "91"),
|
new MockPDOM("contentID.bar", "91"),
|
||||||
new MockPDOM("contentID.baz", "89")
|
new MockPDOM("contentID.baz", "89")
|
||||||
};
|
};
|
||||||
|
@Override
|
||||||
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) {
|
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) {
|
||||||
return fragments;
|
return fragments;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
public boolean providesFor(ICProject project) throws CoreException {
|
public boolean providesFor(ICProject project) throws CoreException {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -279,20 +284,22 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
IIndexFragment[] fragments= new IIndexFragment[] {
|
IIndexFragment[] fragments= new IIndexFragment[] {
|
||||||
new MockPDOM("contentID.contentA", "41"),
|
new MockPDOM("contentID.contentA", "41"),
|
||||||
};
|
};
|
||||||
|
@Override
|
||||||
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) {
|
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) {
|
||||||
return fragments;
|
return fragments;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
public boolean providesFor(ICProject project) throws CoreException {
|
public boolean providesFor(ICProject project) throws CoreException {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
CCorePlugin.getIndexManager().joinIndexer(8000, npm()); // ensure IPM is called only once under test conditions
|
CCorePlugin.getIndexManager().joinIndexer(8000, npm()); // ensure IPM is called only once under test conditions
|
||||||
setExpectedNumberOfLoggedNonOKStatusObjects(1); // contentA has no compatible fragments available
|
setExpectedNumberOfLoggedNonOKStatusObjects(1); // contentA has no compatible fragments available
|
||||||
|
|
||||||
ipm.reset(VERSION_502); ipm.startup();
|
ipm.reset(VERSION_502); ipm.startup();
|
||||||
ipm.addIndexProvider(provider1); ipm.addIndexProvider(provider2);
|
ipm.addIndexProvider(provider1); ipm.addIndexProvider(provider2);
|
||||||
|
|
||||||
IIndexFragment[] actual = ipm.getProvidedIndexFragments(mockState.getCurrentConfig(), true);
|
IIndexFragment[] actual = ipm.getProvidedIndexFragments(mockState.getCurrentConfig(), true);
|
||||||
assertEquals(3, actual.length);
|
assertEquals(3, actual.length);
|
||||||
assertFragmentPresent("contentID.foo", "90", actual);
|
assertFragmentPresent("contentID.foo", "90", actual);
|
||||||
|
@ -304,7 +311,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertFragmentPresent(String id, String version, IIndexFragment[] fragments) throws Exception {
|
private void assertFragmentPresent(String id, String version, IIndexFragment[] fragments) throws Exception {
|
||||||
for (IIndexFragment candidate : fragments) {
|
for (IIndexFragment candidate : fragments) {
|
||||||
String cid= null, csver= null;
|
String cid= null, csver= null;
|
||||||
|
@ -320,49 +327,49 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
}
|
}
|
||||||
fail("Fragment matching (id="+id+",version="+version+") was not present");
|
fail("Fragment matching (id="+id+",version="+version+") was not present");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testIndexFactoryConfigurationUsage() throws Exception {
|
public void testIndexFactoryConfigurationUsage() throws Exception {
|
||||||
IIndex index;
|
IIndex index;
|
||||||
|
|
||||||
ICProject cproject = null;
|
ICProject cproject = null;
|
||||||
// Modifying the .project file triggers an indexer job, suppress that:
|
// Modifying the .project file triggers an indexer job, suppress that:
|
||||||
DeltaAnalyzer.sSuppressPotentialTUs= true;
|
DeltaAnalyzer.sSuppressPotentialTUs= true;
|
||||||
try {
|
try {
|
||||||
cproject = CProjectHelper.createCCProject("IndexFactoryConfigurationUsageTest", IPDOMManager.ID_NO_INDEXER);
|
cproject = CProjectHelper.createCCProject("IndexFactoryConfigurationUsageTest", IPDOMManager.ID_NO_INDEXER);
|
||||||
IProject project= cproject.getProject();
|
IProject project= cproject.getProject();
|
||||||
|
|
||||||
ICProjectDescription pd= core.getProjectDescription(project);
|
ICProjectDescription pd= core.getProjectDescription(project);
|
||||||
ICConfigurationDescription cfg1= newCfg(pd, "project", "config1");
|
ICConfigurationDescription cfg1= newCfg(pd, "project", "config1");
|
||||||
ICConfigurationDescription cfg2= newCfg(pd, "project", "config2");
|
ICConfigurationDescription cfg2= newCfg(pd, "project", "config2");
|
||||||
core.setProjectDescription(project, pd);
|
core.setProjectDescription(project, pd);
|
||||||
|
|
||||||
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
CCorePlugin.getIndexManager().joinIndexer(8000, npm());
|
CCorePlugin.getIndexManager().joinIndexer(8000, npm());
|
||||||
|
|
||||||
DPT.reset(DP1);
|
DPT.reset(DP1);
|
||||||
changeConfigRelations(project, ICProjectDescriptionPreferences.CONFIGS_LINK_SETTINGS_AND_ACTIVE);
|
changeConfigRelations(project, ICProjectDescriptionPreferences.CONFIGS_LINK_SETTINGS_AND_ACTIVE);
|
||||||
assertEquals(0, DPT.getProjectsTrace(DP1).size());
|
assertEquals(0, DPT.getProjectsTrace(DP1).size());
|
||||||
assertEquals(0, DPT.getCfgsTrace(DP1).size());
|
assertEquals(0, DPT.getCfgsTrace(DP1).size());
|
||||||
|
|
||||||
changeActiveConfiguration(project, cfg1);
|
changeActiveConfiguration(project, cfg1);
|
||||||
DPT.reset(DP1);
|
DPT.reset(DP1);
|
||||||
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
assertEquals(0, DPT.getProjectsTrace(DP1).size());
|
assertEquals(0, DPT.getProjectsTrace(DP1).size());
|
||||||
assertEquals(1, DPT.getCfgsTrace(DP1).size());
|
assertEquals(1, DPT.getCfgsTrace(DP1).size());
|
||||||
assertEquals("project.config1", ((ICConfigurationDescription)DPT.getCfgsTrace(DP1).get(0)).getId());
|
assertEquals("project.config1", ((ICConfigurationDescription)DPT.getCfgsTrace(DP1).get(0)).getId());
|
||||||
|
|
||||||
changeActiveConfiguration(project, cfg2);
|
changeActiveConfiguration(project, cfg2);
|
||||||
DPT.reset(DP1);
|
DPT.reset(DP1);
|
||||||
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
assertEquals(0, DPT.getProjectsTrace(DP1).size());
|
assertEquals(0, DPT.getProjectsTrace(DP1).size());
|
||||||
assertEquals(1, DPT.getCfgsTrace(DP1).size());
|
assertEquals(1, DPT.getCfgsTrace(DP1).size());
|
||||||
assertEquals("project.config2", ((ICConfigurationDescription)DPT.getCfgsTrace(DP1).get(0)).getId());
|
assertEquals("project.config2", ((ICConfigurationDescription)DPT.getCfgsTrace(DP1).get(0)).getId());
|
||||||
|
|
||||||
DPT.reset(DP1);
|
DPT.reset(DP1);
|
||||||
changeConfigRelations(project, ICProjectDescriptionPreferences.CONFIGS_INDEPENDENT);
|
changeConfigRelations(project, ICProjectDescriptionPreferences.CONFIGS_INDEPENDENT);
|
||||||
assertEquals(0, DPT.getProjectsTrace(DP1).size());
|
assertEquals(0, DPT.getProjectsTrace(DP1).size());
|
||||||
assertEquals(0, DPT.getCfgsTrace(DP1).size());
|
assertEquals(0, DPT.getCfgsTrace(DP1).size());
|
||||||
|
|
||||||
changeActiveConfiguration(project, cfg1);
|
changeActiveConfiguration(project, cfg1);
|
||||||
DPT.reset(DP1);
|
DPT.reset(DP1);
|
||||||
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
|
@ -370,7 +377,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
assertEquals(1, DPT.getCfgsTrace(DP1).size());
|
assertEquals(1, DPT.getCfgsTrace(DP1).size());
|
||||||
// should still be config2, as the change in active configuration does not matter
|
// should still be config2, as the change in active configuration does not matter
|
||||||
assertEquals("project.config2", ((ICConfigurationDescription)DPT.getCfgsTrace(DP1).get(0)).getId());
|
assertEquals("project.config2", ((ICConfigurationDescription)DPT.getCfgsTrace(DP1).get(0)).getId());
|
||||||
|
|
||||||
changeActiveConfiguration(project, cfg2);
|
changeActiveConfiguration(project, cfg2);
|
||||||
DPT.reset(DP1);
|
DPT.reset(DP1);
|
||||||
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
index= CCorePlugin.getIndexManager().getIndex(cproject);
|
||||||
|
@ -385,7 +392,7 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testGetProvidedFragments() throws Exception {
|
public void testGetProvidedFragments() throws Exception {
|
||||||
ICProject cproject= CProjectHelper.createCProject("IndexProviderManagerTest", "bin", IPDOMManager.ID_NO_INDEXER);
|
ICProject cproject= CProjectHelper.createCProject("IndexProviderManagerTest", "bin", IPDOMManager.ID_NO_INDEXER);
|
||||||
|
|
||||||
|
@ -492,20 +499,20 @@ public class IndexProviderManagerTest extends IndexTestBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private ICConfigurationDescription newCfg(ICProjectDescription des, String project, String config) throws CoreException {
|
private ICConfigurationDescription newCfg(ICProjectDescription des, String project, String config) throws CoreException {
|
||||||
CDefaultConfigurationData data= new CDefaultConfigurationData(project+"."+config, project+" "+config+" name", null);
|
CDefaultConfigurationData data= new CDefaultConfigurationData(project+"."+config, project+" "+config+" name", null);
|
||||||
data.initEmptyData();
|
data.initEmptyData();
|
||||||
return des.createConfiguration(CCorePlugin.DEFAULT_PROVIDER_ID, data);
|
return des.createConfiguration(CCorePlugin.DEFAULT_PROVIDER_ID, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void changeActiveConfiguration(IProject project, ICConfigurationDescription cfg) throws CoreException {
|
private void changeActiveConfiguration(IProject project, ICConfigurationDescription cfg) throws CoreException {
|
||||||
ICProjectDescription pd= core.getProjectDescription(project);
|
ICProjectDescription pd= core.getProjectDescription(project);
|
||||||
pd.setActiveConfiguration(pd.getConfigurationById(cfg.getId()));
|
pd.setActiveConfiguration(pd.getConfigurationById(cfg.getId()));
|
||||||
core.setProjectDescription(project, pd);
|
core.setProjectDescription(project, pd);
|
||||||
CCorePlugin.getIndexManager().joinIndexer(8000, npm());
|
CCorePlugin.getIndexManager().joinIndexer(8000, npm());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void changeConfigRelations(IProject project, int option) throws CoreException {
|
private void changeConfigRelations(IProject project, int option) throws CoreException {
|
||||||
ICProjectDescription pd= core.getProjectDescription(project);
|
ICProjectDescription pd= core.getProjectDescription(project);
|
||||||
pd.setConfigurationRelations(option);
|
pd.setConfigurationRelations(option);
|
||||||
|
@ -521,6 +528,7 @@ class MockStateIndexProvider implements IIndexProvider {
|
||||||
this.targetProject = cproject;
|
this.targetProject = cproject;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean providesFor(ICProject cproject) throws CoreException {
|
public boolean providesFor(ICProject cproject) throws CoreException {
|
||||||
return this.targetProject.equals(cproject);
|
return this.targetProject.equals(cproject);
|
||||||
}
|
}
|
||||||
|
@ -529,7 +537,7 @@ class MockStateIndexProvider implements IIndexProvider {
|
||||||
class MockStateIndexFragmentProvider extends MockStateIndexProvider implements IIndexFragmentProvider {
|
class MockStateIndexFragmentProvider extends MockStateIndexProvider implements IIndexFragmentProvider {
|
||||||
private boolean invert;
|
private boolean invert;
|
||||||
final IIndexFragment[] fragments;
|
final IIndexFragment[] fragments;
|
||||||
|
|
||||||
public void invert() {
|
public void invert() {
|
||||||
invert = !invert;
|
invert = !invert;
|
||||||
}
|
}
|
||||||
|
@ -543,6 +551,7 @@ class MockStateIndexFragmentProvider extends MockStateIndexProvider implements I
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) throws CoreException {
|
public IIndexFragment[] getIndexFragments(ICConfigurationDescription config) throws CoreException {
|
||||||
int index = MockState.states.indexOf(config.getId());
|
int index = MockState.states.indexOf(config.getId());
|
||||||
index = invert ? (fragments.length-1)-index : index;
|
index = invert ? (fragments.length-1)-index : index;
|
||||||
|
@ -565,152 +574,201 @@ class MockConfig implements ICConfigurationDescription {
|
||||||
this.project= project;
|
this.project= project;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getId() {
|
public String getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICConfigExtensionReference create(String extensionPoint,
|
public ICConfigExtensionReference create(String extensionPoint,
|
||||||
String extension) throws CoreException {
|
String extension) throws CoreException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICExternalSetting createExternalSetting(String[] languageIDs,
|
public ICExternalSetting createExternalSetting(String[] languageIDs,
|
||||||
String[] contentTypeIds, String[] extensions,
|
String[] contentTypeIds, String[] extensions,
|
||||||
ICSettingEntry[] entries) throws WriteAccessException {
|
ICSettingEntry[] entries) throws WriteAccessException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICFileDescription createFileDescription(IPath path,
|
public ICFileDescription createFileDescription(IPath path,
|
||||||
ICResourceDescription base) throws CoreException,
|
ICResourceDescription base) throws CoreException,
|
||||||
WriteAccessException {
|
WriteAccessException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICFolderDescription createFolderDescription(IPath path,
|
public ICFolderDescription createFolderDescription(IPath path,
|
||||||
ICFolderDescription base) throws CoreException,
|
ICFolderDescription base) throws CoreException,
|
||||||
WriteAccessException {
|
WriteAccessException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICConfigExtensionReference[] get(String extensionPointID) {
|
public ICConfigExtensionReference[] get(String extensionPointID) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICBuildSetting getBuildSetting() {
|
public ICBuildSetting getBuildSetting() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getBuildSystemId() {
|
public String getBuildSystemId() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICdtVariablesContributor getBuildVariablesContributor() {
|
public ICdtVariablesContributor getBuildVariablesContributor() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public CConfigurationData getConfigurationData() {
|
public CConfigurationData getConfigurationData() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICExternalSetting[] getExternalSettings() {
|
public ICExternalSetting[] getExternalSettings() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICFileDescription[] getFileDescriptions() {
|
public ICFileDescription[] getFileDescriptions() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICFolderDescription[] getFolderDescriptions() {
|
public ICFolderDescription[] getFolderDescriptions() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICProjectDescription getProjectDescription() {
|
public ICProjectDescription getProjectDescription() {
|
||||||
return CoreModel.getDefault().getProjectDescription(project);
|
return CoreModel.getDefault().getProjectDescription(project);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Map getReferenceInfo() {
|
public Map getReferenceInfo() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICResourceDescription getResourceDescription(IPath path,
|
public ICResourceDescription getResourceDescription(IPath path,
|
||||||
boolean exactPath) {
|
boolean exactPath) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICResourceDescription[] getResourceDescriptions() {
|
public ICResourceDescription[] getResourceDescriptions() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICFolderDescription getRootFolderDescription() {return null;}
|
public ICFolderDescription getRootFolderDescription() {return null;}
|
||||||
|
@Override
|
||||||
public Object getSessionProperty(QualifiedName name) {return null;}
|
public Object getSessionProperty(QualifiedName name) {return null;}
|
||||||
|
@Override
|
||||||
public ICSourceEntry[] getSourceEntries() {return null;}
|
public ICSourceEntry[] getSourceEntries() {return null;}
|
||||||
|
@Override
|
||||||
public ICTargetPlatformSetting getTargetPlatformSetting() {return null;}
|
public ICTargetPlatformSetting getTargetPlatformSetting() {return null;}
|
||||||
|
@Override
|
||||||
public boolean isActive() {return false;}
|
public boolean isActive() {return false;}
|
||||||
|
@Override
|
||||||
public boolean isModified() {return false;}
|
public boolean isModified() {return false;}
|
||||||
|
@Override
|
||||||
public boolean isPreferenceConfiguration() {return false;}
|
public boolean isPreferenceConfiguration() {return false;}
|
||||||
|
@Override
|
||||||
public void remove(ICConfigExtensionReference ext) throws CoreException {}
|
public void remove(ICConfigExtensionReference ext) throws CoreException {}
|
||||||
|
@Override
|
||||||
public void remove(String extensionPoint) throws CoreException {}
|
public void remove(String extensionPoint) throws CoreException {}
|
||||||
|
@Override
|
||||||
public void removeExternalSetting(ICExternalSetting setting) throws WriteAccessException {}
|
public void removeExternalSetting(ICExternalSetting setting) throws WriteAccessException {}
|
||||||
|
@Override
|
||||||
public void removeExternalSettings() throws WriteAccessException {}
|
public void removeExternalSettings() throws WriteAccessException {}
|
||||||
|
@Override
|
||||||
public void removeResourceDescription(ICResourceDescription des)
|
public void removeResourceDescription(ICResourceDescription des)
|
||||||
throws CoreException, WriteAccessException {}
|
throws CoreException, WriteAccessException {}
|
||||||
|
@Override
|
||||||
public void setActive() throws WriteAccessException {}
|
public void setActive() throws WriteAccessException {}
|
||||||
|
@Override
|
||||||
public void setConfigurationData(String buildSystemId,
|
public void setConfigurationData(String buildSystemId,
|
||||||
CConfigurationData data) throws WriteAccessException {}
|
CConfigurationData data) throws WriteAccessException {}
|
||||||
|
@Override
|
||||||
public void setDescription(String des) throws WriteAccessException {}
|
public void setDescription(String des) throws WriteAccessException {}
|
||||||
|
@Override
|
||||||
public void setName(String name) throws WriteAccessException {}
|
public void setName(String name) throws WriteAccessException {}
|
||||||
|
@Override
|
||||||
public void setReferenceInfo(Map<String, String> refs) throws WriteAccessException {}
|
public void setReferenceInfo(Map<String, String> refs) throws WriteAccessException {}
|
||||||
|
@Override
|
||||||
public void setSessionProperty(QualifiedName name, Object value) {}
|
public void setSessionProperty(QualifiedName name, Object value) {}
|
||||||
|
@Override
|
||||||
public void setSourceEntries(ICSourceEntry[] entries) throws CoreException,
|
public void setSourceEntries(ICSourceEntry[] entries) throws CoreException,
|
||||||
WriteAccessException {}
|
WriteAccessException {}
|
||||||
|
@Override
|
||||||
public ICSettingObject[] getChildSettings() {return null;}
|
public ICSettingObject[] getChildSettings() {return null;}
|
||||||
|
@Override
|
||||||
public ICConfigurationDescription getConfiguration() {return null;}
|
public ICConfigurationDescription getConfiguration() {return null;}
|
||||||
|
@Override
|
||||||
public String getName() {return null;}
|
public String getName() {return null;}
|
||||||
|
@Override
|
||||||
public ICSettingContainer getParent() {return null;}
|
public ICSettingContainer getParent() {return null;}
|
||||||
|
@Override
|
||||||
public int getType() {return 0;}
|
public int getType() {return 0;}
|
||||||
|
@Override
|
||||||
public boolean isReadOnly() {return false;}
|
public boolean isReadOnly() {return false;}
|
||||||
|
@Override
|
||||||
public boolean isValid() {return false;}
|
public boolean isValid() {return false;}
|
||||||
|
@Override
|
||||||
public ICStorageElement getStorage(String id, boolean create) throws CoreException {
|
public ICStorageElement getStorage(String id, boolean create) throws CoreException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
public ICStorageElement importStorage(String id, ICStorageElement storage) {
|
public ICStorageElement importStorage(String id, ICStorageElement storage) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void removeStorage(String id) throws CoreException {
|
public void removeStorage(String id) throws CoreException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICLanguageSetting getLanguageSettingForFile(IPath path, boolean ignoreExludeStatus) {
|
public ICLanguageSetting getLanguageSettingForFile(IPath path, boolean ignoreExludeStatus) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String[] getExternalSettingsProviderIds() {
|
public String[] getExternalSettingsProviderIds() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setExternalSettingsProviderIds(String[] ids) {}
|
public void setExternalSettingsProviderIds(String[] ids) {}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void updateExternalSettingsProviders(String[] ids) {}
|
public void updateExternalSettingsProviders(String[] ids) {}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICSourceEntry[] getResolvedSourceEntries() {
|
public ICSourceEntry[] getResolvedSourceEntries() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public CConfigurationStatus getConfigurationStatus() {
|
public CConfigurationStatus getConfigurationStatus() {
|
||||||
return CConfigurationStatus.CFG_STATUS_OK;
|
return CConfigurationStatus.CFG_STATUS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setReadOnly(boolean readOnly, boolean keepModify) {}
|
public void setReadOnly(boolean readOnly, boolean keepModify) {}
|
||||||
|
|
||||||
public void setLanguageSettingProviders(List<ILanguageSettingsProvider> providers) {}
|
|
||||||
|
|
||||||
public List<ILanguageSettingsProvider> getLanguageSettingProviders() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -743,12 +801,12 @@ class MockState {
|
||||||
class MockPDOM extends EmptyIndexFragment {
|
class MockPDOM extends EmptyIndexFragment {
|
||||||
String id;
|
String id;
|
||||||
String version;
|
String version;
|
||||||
|
|
||||||
MockPDOM(String id, String version) {
|
MockPDOM(String id, String version) {
|
||||||
this.id= id;
|
this.id= id;
|
||||||
this.version= version;
|
this.version= version;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getProperty(String propertyName) throws CoreException {
|
public String getProperty(String propertyName) throws CoreException {
|
||||||
if(IIndexFragment.PROPERTY_FRAGMENT_ID.equals(propertyName)) {
|
if(IIndexFragment.PROPERTY_FRAGMENT_ID.equals(propertyName)) {
|
||||||
|
@ -762,7 +820,7 @@ class MockPDOM extends EmptyIndexFragment {
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "[Mock index fragment "+id+"."+System.identityHashCode(this)+"]";
|
return "[Mock index fragment "+id+"."+System.identityHashCode(this)+"]";
|
||||||
|
|
|
@ -11,11 +11,9 @@
|
||||||
|
|
||||||
package org.eclipse.cdt.core.testplugin;
|
package org.eclipse.cdt.core.testplugin;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
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.settings.model.CConfigurationStatus;
|
import org.eclipse.cdt.core.settings.model.CConfigurationStatus;
|
||||||
import org.eclipse.cdt.core.settings.model.ICBuildSetting;
|
import org.eclipse.cdt.core.settings.model.ICBuildSetting;
|
||||||
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
|
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
|
||||||
|
@ -48,136 +46,169 @@ public class CModelMock {
|
||||||
*/
|
*/
|
||||||
public static class DummyCProjectDescription implements ICProjectDescription {
|
public static class DummyCProjectDescription implements ICProjectDescription {
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICSettingObject[] getChildSettings() {
|
public ICSettingObject[] getChildSettings() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getId() {
|
public String getId() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public int getType() {
|
public int getType() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isValid() {
|
public boolean isValid() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICConfigurationDescription getConfiguration() {
|
public ICConfigurationDescription getConfiguration() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICSettingContainer getParent() {
|
public ICSettingContainer getParent() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isReadOnly() {
|
public boolean isReadOnly() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICStorageElement getStorage(String id, boolean create)
|
public ICStorageElement getStorage(String id, boolean create)
|
||||||
throws CoreException {
|
throws CoreException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void removeStorage(String id) throws CoreException {
|
public void removeStorage(String id) throws CoreException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICStorageElement importStorage(String id, ICStorageElement el)
|
public ICStorageElement importStorage(String id, ICStorageElement el)
|
||||||
throws UnsupportedOperationException, CoreException {
|
throws UnsupportedOperationException, CoreException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setReadOnly(boolean readOnly, boolean keepModify) {
|
public void setReadOnly(boolean readOnly, boolean keepModify) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public int getConfigurationRelations() {
|
public int getConfigurationRelations() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setConfigurationRelations(int status) {
|
public void setConfigurationRelations(int status) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void useDefaultConfigurationRelations() {
|
public void useDefaultConfigurationRelations() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isDefaultConfigurationRelations() {
|
public boolean isDefaultConfigurationRelations() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICConfigurationDescription[] getConfigurations() {
|
public ICConfigurationDescription[] getConfigurations() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICConfigurationDescription getActiveConfiguration() {
|
public ICConfigurationDescription getActiveConfiguration() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setActiveConfiguration(ICConfigurationDescription cfg)
|
public void setActiveConfiguration(ICConfigurationDescription cfg)
|
||||||
throws WriteAccessException {
|
throws WriteAccessException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICConfigurationDescription createConfiguration(String id,
|
public ICConfigurationDescription createConfiguration(String id,
|
||||||
String name, ICConfigurationDescription base)
|
String name, ICConfigurationDescription base)
|
||||||
throws CoreException, WriteAccessException {
|
throws CoreException, WriteAccessException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICConfigurationDescription createConfiguration(
|
public ICConfigurationDescription createConfiguration(
|
||||||
String buildSystemId, CConfigurationData data)
|
String buildSystemId, CConfigurationData data)
|
||||||
throws CoreException, WriteAccessException {
|
throws CoreException, WriteAccessException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICConfigurationDescription getConfigurationByName(String name) {
|
public ICConfigurationDescription getConfigurationByName(String name) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICConfigurationDescription getConfigurationById(String id) {
|
public ICConfigurationDescription getConfigurationById(String id) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void removeConfiguration(String name)
|
public void removeConfiguration(String name)
|
||||||
throws WriteAccessException {
|
throws WriteAccessException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void removeConfiguration(ICConfigurationDescription cfg)
|
public void removeConfiguration(ICConfigurationDescription cfg)
|
||||||
throws WriteAccessException {
|
throws WriteAccessException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public IProject getProject() {
|
public IProject getProject() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isModified() {
|
public boolean isModified() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Object getSessionProperty(QualifiedName name) {
|
public Object getSessionProperty(QualifiedName name) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setSessionProperty(QualifiedName name, Object value) {
|
public void setSessionProperty(QualifiedName name, Object value) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICConfigurationDescription getDefaultSettingConfiguration() {
|
public ICConfigurationDescription getDefaultSettingConfiguration() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setDefaultSettingConfiguration(
|
public void setDefaultSettingConfiguration(
|
||||||
ICConfigurationDescription cfg) {
|
ICConfigurationDescription cfg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isCdtProjectCreating() {
|
public boolean isCdtProjectCreating() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setCdtProjectCreated() {
|
public void setCdtProjectCreated() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -195,222 +226,269 @@ public class CModelMock {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICSettingObject[] getChildSettings() {
|
public ICSettingObject[] getChildSettings() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getId() {
|
public String getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public int getType() {
|
public int getType() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isValid() {
|
public boolean isValid() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICConfigurationDescription getConfiguration() {
|
public ICConfigurationDescription getConfiguration() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICSettingContainer getParent() {
|
public ICSettingContainer getParent() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isReadOnly() {
|
public boolean isReadOnly() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICStorageElement getStorage(String id, boolean create)
|
public ICStorageElement getStorage(String id, boolean create)
|
||||||
throws CoreException {
|
throws CoreException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void removeStorage(String id) throws CoreException {
|
public void removeStorage(String id) throws CoreException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICStorageElement importStorage(String id, ICStorageElement el)
|
public ICStorageElement importStorage(String id, ICStorageElement el)
|
||||||
throws UnsupportedOperationException, CoreException {
|
throws UnsupportedOperationException, CoreException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setReadOnly(boolean readOnly, boolean keepModify) {
|
public void setReadOnly(boolean readOnly, boolean keepModify) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isActive() {
|
public boolean isActive() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setDescription(String des) throws WriteAccessException {
|
public void setDescription(String des) throws WriteAccessException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICProjectDescription getProjectDescription() {
|
public ICProjectDescription getProjectDescription() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICFolderDescription getRootFolderDescription() {
|
public ICFolderDescription getRootFolderDescription() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICFolderDescription[] getFolderDescriptions() {
|
public ICFolderDescription[] getFolderDescriptions() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICFileDescription[] getFileDescriptions() {
|
public ICFileDescription[] getFileDescriptions() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICResourceDescription[] getResourceDescriptions() {
|
public ICResourceDescription[] getResourceDescriptions() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICResourceDescription getResourceDescription(IPath path,
|
public ICResourceDescription getResourceDescription(IPath path,
|
||||||
boolean exactPath) {
|
boolean exactPath) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void removeResourceDescription(ICResourceDescription des)
|
public void removeResourceDescription(ICResourceDescription des)
|
||||||
throws CoreException, WriteAccessException {
|
throws CoreException, WriteAccessException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICFileDescription createFileDescription(IPath path,
|
public ICFileDescription createFileDescription(IPath path,
|
||||||
ICResourceDescription base) throws CoreException,
|
ICResourceDescription base) throws CoreException,
|
||||||
WriteAccessException {
|
WriteAccessException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICFolderDescription createFolderDescription(IPath path,
|
public ICFolderDescription createFolderDescription(IPath path,
|
||||||
ICFolderDescription base) throws CoreException,
|
ICFolderDescription base) throws CoreException,
|
||||||
WriteAccessException {
|
WriteAccessException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getBuildSystemId() {
|
public String getBuildSystemId() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public CConfigurationData getConfigurationData() {
|
public CConfigurationData getConfigurationData() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setActive() throws WriteAccessException {
|
public void setActive() throws WriteAccessException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setConfigurationData(String buildSystemId, CConfigurationData data) throws WriteAccessException {
|
public void setConfigurationData(String buildSystemId, CConfigurationData data) throws WriteAccessException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isModified() {
|
public boolean isModified() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICTargetPlatformSetting getTargetPlatformSetting() {
|
public ICTargetPlatformSetting getTargetPlatformSetting() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICSourceEntry[] getSourceEntries() {
|
public ICSourceEntry[] getSourceEntries() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICSourceEntry[] getResolvedSourceEntries() {
|
public ICSourceEntry[] getResolvedSourceEntries() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setSourceEntries(ICSourceEntry[] entries) throws CoreException, WriteAccessException {
|
public void setSourceEntries(ICSourceEntry[] entries) throws CoreException, WriteAccessException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Map<String, String> getReferenceInfo() {
|
public Map<String, String> getReferenceInfo() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setReferenceInfo(Map<String, String> refs) throws WriteAccessException {
|
public void setReferenceInfo(Map<String, String> refs) throws WriteAccessException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICExternalSetting[] getExternalSettings() {
|
public ICExternalSetting[] getExternalSettings() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICExternalSetting createExternalSetting(String[] languageIDs,
|
public ICExternalSetting createExternalSetting(String[] languageIDs,
|
||||||
String[] contentTypeIds, String[] extensions,
|
String[] contentTypeIds, String[] extensions,
|
||||||
ICSettingEntry[] entries) throws WriteAccessException {
|
ICSettingEntry[] entries) throws WriteAccessException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void removeExternalSetting(ICExternalSetting setting) throws WriteAccessException {
|
public void removeExternalSetting(ICExternalSetting setting) throws WriteAccessException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void removeExternalSettings() throws WriteAccessException {
|
public void removeExternalSettings() throws WriteAccessException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICBuildSetting getBuildSetting() {
|
public ICBuildSetting getBuildSetting() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICdtVariablesContributor getBuildVariablesContributor() {
|
public ICdtVariablesContributor getBuildVariablesContributor() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Object getSessionProperty(QualifiedName name) {
|
public Object getSessionProperty(QualifiedName name) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setSessionProperty(QualifiedName name, Object value) {
|
public void setSessionProperty(QualifiedName name, Object value) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setName(String name) throws WriteAccessException {
|
public void setName(String name) throws WriteAccessException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICConfigExtensionReference[] get(String extensionPointID) {
|
public ICConfigExtensionReference[] get(String extensionPointID) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICConfigExtensionReference create(String extensionPoint, String extension) throws CoreException {
|
public ICConfigExtensionReference create(String extensionPoint, String extension) throws CoreException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void remove(ICConfigExtensionReference ext) throws CoreException {
|
public void remove(ICConfigExtensionReference ext) throws CoreException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void remove(String extensionPoint) throws CoreException {
|
public void remove(String extensionPoint) throws CoreException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean isPreferenceConfiguration() {
|
public boolean isPreferenceConfiguration() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ICLanguageSetting getLanguageSettingForFile(IPath path, boolean ignoreExludeStatus) {
|
public ICLanguageSetting getLanguageSettingForFile(IPath path, boolean ignoreExludeStatus) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setExternalSettingsProviderIds(String[] ids) {
|
public void setExternalSettingsProviderIds(String[] ids) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String[] getExternalSettingsProviderIds() {
|
public String[] getExternalSettingsProviderIds() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void updateExternalSettingsProviders(String[] ids) throws WriteAccessException {
|
public void updateExternalSettingsProviders(String[] ids) throws WriteAccessException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public CConfigurationStatus getConfigurationStatus() {
|
public CConfigurationStatus getConfigurationStatus() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLanguageSettingProviders(List<ILanguageSettingsProvider> providers) {
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<ILanguageSettingsProvider> getLanguageSettingProviders() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2011, 2011 Andrew Gvozdev and others.
|
||||||
|
* All rights reserved. This program and the accompanying materials
|
||||||
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
|
* which accompanies this distribution, and is available at
|
||||||
|
* http://www.eclipse.org/legal/epl-v10.html
|
||||||
|
*
|
||||||
|
* Contributors:
|
||||||
|
* Andrew Gvozdev - initial API and implementation
|
||||||
|
*******************************************************************************/
|
||||||
|
package org.eclipse.cdt.core.language.settings.providers;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
||||||
|
/**
|
||||||
|
* Interface to express ability (of a configuration description) to handle Language Settings
|
||||||
|
* Providers.
|
||||||
|
* @see ILanguageSettingsProvider
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public interface ILanguageSettingsProvidersKeeper {
|
||||||
|
/**
|
||||||
|
* Sets the list of language settings providers. Language settings providers are
|
||||||
|
* used to supply language settings {@link ICLanguageSettingEntry} such as include paths
|
||||||
|
* or preprocessor macros.
|
||||||
|
*
|
||||||
|
* @param providers the list of providers to assign to the owner (configuration description).
|
||||||
|
* This method clones the internal list or otherwise ensures immutability of the internal
|
||||||
|
* list before actual addition to the project model.
|
||||||
|
* That is due to TODO - very important reason but I forgot why by now.
|
||||||
|
*/
|
||||||
|
public void setLanguageSettingProviders(List<ILanguageSettingsProvider> providers);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the list of language settings providers. Language settings providers are
|
||||||
|
* used to supply language settings {@link ICLanguageSettingEntry} such as include paths
|
||||||
|
* or preprocessor macros.
|
||||||
|
*
|
||||||
|
* @return the list of providers to assign to the owner (configuration description). This
|
||||||
|
* returns immutable list. Use {@link #setLanguageSettingProviders(List)} to change.
|
||||||
|
* This method does not return {@code null}.
|
||||||
|
*/
|
||||||
|
public List<ILanguageSettingsProvider> getLanguageSettingProviders();
|
||||||
|
|
||||||
|
}
|
|
@ -21,23 +21,26 @@ import org.eclipse.core.resources.IProject;
|
||||||
import org.eclipse.core.resources.IResource;
|
import org.eclipse.core.resources.IResource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This temporary class keeps the utility methods being looking for better home
|
* This temporary class keeps the utility methods being looking for better home.
|
||||||
|
* Checking if any Language Settings Provider has custom entries for the resource.
|
||||||
*/
|
*/
|
||||||
public class LanguageSettingsManager_TBD {
|
public class LanguageSettingsManager_TBD {
|
||||||
public static boolean isCustomizedResource(ICConfigurationDescription cfgDescription, IResource rc) {
|
public static boolean isCustomizedResource(ICConfigurationDescription cfgDescription, IResource rc) {
|
||||||
if (rc instanceof IProject)
|
if (rc instanceof IProject)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
for (ILanguageSettingsProvider provider: cfgDescription.getLanguageSettingProviders()) {
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
if (provider instanceof ILanguageSettingsBroadcastingProvider) {
|
for (ILanguageSettingsProvider provider: ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders()) {
|
||||||
for (String languageId : LanguageSettingsManager.getLanguages(rc, cfgDescription)) {
|
if (provider instanceof ILanguageSettingsBroadcastingProvider) {
|
||||||
List<ICLanguageSettingEntry> list = provider.getSettingEntries(cfgDescription, rc, languageId);
|
for (String languageId : LanguageSettingsManager.getLanguages(rc, cfgDescription)) {
|
||||||
if (list!=null) {
|
List<ICLanguageSettingEntry> list = provider.getSettingEntries(cfgDescription, rc, languageId);
|
||||||
// TODO - check default or check parent?
|
if (list!=null) {
|
||||||
List<ICLanguageSettingEntry> listDefault = provider.getSettingEntries(null, null, languageId);
|
// TODO - check default or check parent?
|
||||||
// != is OK here due as the equal lists will have the same reference in WeakHashSet
|
List<ICLanguageSettingEntry> listDefault = provider.getSettingEntries(null, null, languageId);
|
||||||
if (list != listDefault)
|
// != is OK here due as the equal lists will have the same reference in WeakHashSet
|
||||||
return true;
|
if (list != listDefault)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,10 +86,12 @@ public class ScannerDiscoveryLegacySupport {
|
||||||
* which is not intended to be referenced by clients.
|
* which is not intended to be referenced by clients.
|
||||||
*/
|
*/
|
||||||
public static boolean isMbsLanguageSettingsProviderOn(ICConfigurationDescription cfgDescription) {
|
public static boolean isMbsLanguageSettingsProviderOn(ICConfigurationDescription cfgDescription) {
|
||||||
List<ILanguageSettingsProvider> lsProviders = cfgDescription.getLanguageSettingProviders();
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
for (ILanguageSettingsProvider lsp : lsProviders) {
|
List<ILanguageSettingsProvider> lsProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
if (MBS_LANGUAGE_SETTINGS_PROVIDER.equals(lsp.getId())) {
|
for (ILanguageSettingsProvider lsp : lsProviders) {
|
||||||
return true;
|
if (MBS_LANGUAGE_SETTINGS_PROVIDER.equals(lsp.getId())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -10,11 +10,9 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.core.settings.model;
|
package org.eclipse.cdt.core.settings.model;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
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.model.CoreModel;
|
import org.eclipse.cdt.core.model.CoreModel;
|
||||||
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.CConfigurationDataProvider;
|
||||||
|
@ -389,31 +387,4 @@ public interface ICConfigurationDescription extends ICSettingContainer, ICSettin
|
||||||
void updateExternalSettingsProviders(String[] ids) throws WriteAccessException;
|
void updateExternalSettingsProviders(String[] ids) throws WriteAccessException;
|
||||||
|
|
||||||
CConfigurationStatus getConfigurationStatus();
|
CConfigurationStatus getConfigurationStatus();
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the list of language settings providers. Language settings providers are
|
|
||||||
* used to supply language settings {@link ICLanguageSettingEntry} such as include paths
|
|
||||||
* or preprocessor macros.
|
|
||||||
*
|
|
||||||
* @param providers the list of providers to assign to the configuration description.
|
|
||||||
* Warning: the providers will be cloned before actual addition to the project model
|
|
||||||
* due to TODO - very important reason but I forgot why by now.
|
|
||||||
*
|
|
||||||
* @since 6.0
|
|
||||||
*/
|
|
||||||
public void setLanguageSettingProviders(List<ILanguageSettingsProvider> providers);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the list of language settings providers. Language settings providers are
|
|
||||||
* used to supply language settings {@link ICLanguageSettingEntry} such as include paths
|
|
||||||
* or preprocessor macros.
|
|
||||||
*
|
|
||||||
* @return the list of providers to assign to the configuration description. This
|
|
||||||
* returns immutable list. Use {@link #setLanguageSettingProviders(List)} to change.
|
|
||||||
* This method does not return {@code null}.
|
|
||||||
*
|
|
||||||
* @since 6.0
|
|
||||||
*/
|
|
||||||
public List<ILanguageSettingsProvider> getLanguageSettingProviders();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,7 @@ import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsChangeE
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsChangeListener;
|
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsChangeListener;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsEditableProvider;
|
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsEditableProvider;
|
||||||
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.LanguageSettingsManager;
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsSerializableProvider;
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsSerializableProvider;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsStorage;
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsStorage;
|
||||||
|
@ -358,13 +359,15 @@ projects:
|
||||||
if (prjDescription != null) {
|
if (prjDescription != null) {
|
||||||
ICConfigurationDescription[] cfgDescriptions = prjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = prjDescription.getConfigurations();
|
||||||
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
|
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
|
||||||
for (ILanguageSettingsProvider provider : cfgDescription.getLanguageSettingProviders()) {
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
if (isWorkspaceProvider(provider) && serializableIds.contains(provider.getId())) {
|
for (ILanguageSettingsProvider provider : ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders()) {
|
||||||
LanguageSettingsChangeEvent event = new LanguageSettingsChangeEvent(prjDescription);
|
if (isWorkspaceProvider(provider) && serializableIds.contains(provider.getId())) {
|
||||||
if (event.getConfigurationDescriptionIds().length > 0) {
|
LanguageSettingsChangeEvent event = new LanguageSettingsChangeEvent(prjDescription);
|
||||||
events.add(event);
|
if (event.getConfigurationDescriptionIds().length > 0) {
|
||||||
|
events.add(event);
|
||||||
|
}
|
||||||
|
continue projects;
|
||||||
}
|
}
|
||||||
continue projects;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -485,12 +488,15 @@ projects:
|
||||||
|
|
||||||
ICConfigurationDescription[] cfgDescriptions = prjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = prjDescription.getConfigurations();
|
||||||
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
|
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
|
||||||
|
if (!(cfgDescription instanceof ILanguageSettingsProvidersKeeper))
|
||||||
|
continue;
|
||||||
|
|
||||||
Element elementConfiguration = XmlUtil.appendElement(projectElementPrjStore, ELEM_CONFIGURATION, new String[] {
|
Element elementConfiguration = XmlUtil.appendElement(projectElementPrjStore, ELEM_CONFIGURATION, new String[] {
|
||||||
LanguageSettingsExtensionManager.ATTR_ID, cfgDescription.getId(),
|
LanguageSettingsExtensionManager.ATTR_ID, cfgDescription.getId(),
|
||||||
LanguageSettingsExtensionManager.ATTR_NAME, cfgDescription.getName(),
|
LanguageSettingsExtensionManager.ATTR_NAME, cfgDescription.getName(),
|
||||||
});
|
});
|
||||||
Element elementConfigurationWsp = null;
|
Element elementConfigurationWsp = null;
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
if (providers.size()>0) {
|
if (providers.size()>0) {
|
||||||
Element elementExtension = XmlUtil.appendElement(elementConfiguration, ELEM_EXTENSION, new String[] {
|
Element elementExtension = XmlUtil.appendElement(elementConfiguration, ELEM_EXTENSION, new String[] {
|
||||||
ATTR_POINT, LanguageSettingsExtensionManager.PROVIDER_EXTENSION_FULL_ID});
|
ATTR_POINT, LanguageSettingsExtensionManager.PROVIDER_EXTENSION_FULL_ID});
|
||||||
|
@ -656,8 +662,8 @@ projects:
|
||||||
}
|
}
|
||||||
|
|
||||||
ICConfigurationDescription cfgDescription = prjDescription.getConfigurationById(cfgId);
|
ICConfigurationDescription cfgDescription = prjDescription.getConfigurationById(cfgId);
|
||||||
if (cfgDescription!=null) {
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
if (cfgDescription instanceof IInternalCCfgInfo) {
|
if (cfgDescription instanceof IInternalCCfgInfo) {
|
||||||
try {
|
try {
|
||||||
((IInternalCCfgInfo) cfgDescription).getSpecSettings().dropDelta();
|
((IInternalCCfgInfo) cfgDescription).getSpecSettings().dropDelta();
|
||||||
|
@ -773,11 +779,11 @@ projects:
|
||||||
// Already existing legacy projects
|
// Already existing legacy projects
|
||||||
ICConfigurationDescription[] cfgDescriptions = prjDescription.getConfigurations();
|
ICConfigurationDescription[] cfgDescriptions = prjDescription.getConfigurations();
|
||||||
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
|
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
|
||||||
if (cfgDescription!=null) {
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>(2);
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>(2);
|
||||||
ILanguageSettingsProvider providerMBS = getWorkspaceProvider(ScannerDiscoveryLegacySupport.MBS_LANGUAGE_SETTINGS_PROVIDER);
|
ILanguageSettingsProvider providerMBS = getWorkspaceProvider(ScannerDiscoveryLegacySupport.MBS_LANGUAGE_SETTINGS_PROVIDER);
|
||||||
providers.add(providerMBS);
|
providers.add(providerMBS);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -840,17 +846,19 @@ projects:
|
||||||
if (prjDescription != null) {
|
if (prjDescription != null) {
|
||||||
List<ILanguageSettingsProvider> prjProviders = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> prjProviders = new ArrayList<ILanguageSettingsProvider>();
|
||||||
for (ICConfigurationDescription cfgDescription : prjDescription.getConfigurations()) {
|
for (ICConfigurationDescription cfgDescription : prjDescription.getConfigurations()) {
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
for (ILanguageSettingsProvider provider : providers) {
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
if (!LanguageSettingsManager.isWorkspaceProvider(provider)) {
|
for (ILanguageSettingsProvider provider : providers) {
|
||||||
if (isObjectInTheList(prjProviders, provider)) {
|
if (!LanguageSettingsManager.isWorkspaceProvider(provider)) {
|
||||||
IStatus status = new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, "Inconsistent state, duplicate LSP in project description "
|
if (isObjectInTheList(prjProviders, provider)) {
|
||||||
+ "[" + System.identityHashCode(provider) + "] "
|
IStatus status = new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, "Inconsistent state, duplicate LSP in project description "
|
||||||
+ provider);
|
+ "[" + System.identityHashCode(provider) + "] "
|
||||||
CoreException e = new CoreException(status);
|
+ provider);
|
||||||
CCorePlugin.log(e);
|
CoreException e = new CoreException(status);
|
||||||
|
CCorePlugin.log(e);
|
||||||
|
}
|
||||||
|
prjProviders.add(provider);
|
||||||
}
|
}
|
||||||
prjProviders.add(provider);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -883,12 +891,14 @@ projects:
|
||||||
List<ICListenerAgent> listeners = new ArrayList<ICListenerAgent>();
|
List<ICListenerAgent> listeners = new ArrayList<ICListenerAgent>();
|
||||||
if (prjDescription != null) {
|
if (prjDescription != null) {
|
||||||
for (ICConfigurationDescription cfgDescription : prjDescription.getConfigurations()) {
|
for (ICConfigurationDescription cfgDescription : prjDescription.getConfigurations()) {
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
for (ILanguageSettingsProvider provider : providers) {
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
if (provider instanceof ICListenerAgent) {
|
for (ILanguageSettingsProvider provider : providers) {
|
||||||
ICListenerAgent listener = (ICListenerAgent) provider;
|
if (provider instanceof ICListenerAgent) {
|
||||||
if (!isObjectInTheList(listeners, listener)) {
|
ICListenerAgent listener = (ICListenerAgent) provider;
|
||||||
listeners.add(listener);
|
if (!isObjectInTheList(listeners, listener)) {
|
||||||
|
listeners.add(listener);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -914,11 +924,13 @@ projects:
|
||||||
List<ListenerAssociation> associations = new ArrayList<ListenerAssociation>();
|
List<ListenerAssociation> associations = new ArrayList<ListenerAssociation>();
|
||||||
if (prjDescription != null) {
|
if (prjDescription != null) {
|
||||||
for (ICConfigurationDescription cfgDescription : prjDescription.getConfigurations()) {
|
for (ICConfigurationDescription cfgDescription : prjDescription.getConfigurations()) {
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
List<ICListenerAgent> listeners = selectListeners(providers);
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
for (ICListenerAgent listener : listeners) {
|
List<ICListenerAgent> listeners = selectListeners(providers);
|
||||||
if (!isListenerInTheListOfAssociations(associations, listener)) {
|
for (ICListenerAgent listener : listeners) {
|
||||||
associations.add(new ListenerAssociation(listener, cfgDescription));
|
if (!isListenerInTheListOfAssociations(associations, listener)) {
|
||||||
|
associations.add(new ListenerAssociation(listener, cfgDescription));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1210,10 +1222,14 @@ projects:
|
||||||
private static List<ICLanguageSettingEntry> getSettingEntriesByKind(ICConfigurationDescription cfgDescription,
|
private static List<ICLanguageSettingEntry> getSettingEntriesByKind(ICConfigurationDescription cfgDescription,
|
||||||
IResource rc, String languageId, int kind, boolean checkLocality, boolean isLocal) {
|
IResource rc, String languageId, int kind, boolean checkLocality, boolean isLocal) {
|
||||||
|
|
||||||
|
if (!(cfgDescription instanceof ILanguageSettingsProvidersKeeper)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
List<ICLanguageSettingEntry> entries = new ArrayList<ICLanguageSettingEntry>();
|
||||||
List<String> alreadyAdded = new ArrayList<String>();
|
List<String> alreadyAdded = new ArrayList<String>();
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
for (ILanguageSettingsProvider provider: providers) {
|
for (ILanguageSettingsProvider provider: providers) {
|
||||||
List<ICLanguageSettingEntry> providerEntries = getSettingEntriesUpResourceTree(provider, cfgDescription, rc, languageId);
|
List<ICLanguageSettingEntry> providerEntries = getSettingEntriesUpResourceTree(provider, cfgDescription, rc, languageId);
|
||||||
for (ICLanguageSettingEntry entry : providerEntries) {
|
for (ICLanguageSettingEntry entry : providerEntries) {
|
||||||
|
|
|
@ -19,6 +19,7 @@ import java.util.Map;
|
||||||
import org.eclipse.cdt.core.CCorePlugin;
|
import org.eclipse.cdt.core.CCorePlugin;
|
||||||
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.settings.model.CConfigurationStatus;
|
import org.eclipse.cdt.core.settings.model.CConfigurationStatus;
|
||||||
import org.eclipse.cdt.core.settings.model.ICBuildSetting;
|
import org.eclipse.cdt.core.settings.model.ICBuildSetting;
|
||||||
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
|
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
|
||||||
|
@ -51,7 +52,8 @@ import org.eclipse.core.runtime.CoreException;
|
||||||
import org.eclipse.core.runtime.IPath;
|
import org.eclipse.core.runtime.IPath;
|
||||||
import org.eclipse.core.runtime.QualifiedName;
|
import org.eclipse.core.runtime.QualifiedName;
|
||||||
|
|
||||||
public class CConfigurationDescription extends CDataProxyContainer implements ICConfigurationDescription, IProxyFactory, IInternalCCfgInfo {
|
public class CConfigurationDescription extends CDataProxyContainer
|
||||||
|
implements ICConfigurationDescription, IProxyFactory, IInternalCCfgInfo, ILanguageSettingsProvidersKeeper {
|
||||||
private CfgProxyCache fCache;
|
private CfgProxyCache fCache;
|
||||||
// private ProxyProvider fFileProxyProvider;
|
// private ProxyProvider fFileProxyProvider;
|
||||||
// private ProxyProvider fFolderProxyProvider;
|
// private ProxyProvider fFolderProxyProvider;
|
||||||
|
|
|
@ -17,6 +17,7 @@ import java.util.Map;
|
||||||
import org.eclipse.cdt.core.cdtvariables.ICdtVariable;
|
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.settings.model.CConfigurationStatus;
|
import org.eclipse.cdt.core.settings.model.CConfigurationStatus;
|
||||||
import org.eclipse.cdt.core.settings.model.ICBuildSetting;
|
import org.eclipse.cdt.core.settings.model.ICBuildSetting;
|
||||||
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
|
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
|
||||||
|
@ -77,7 +78,7 @@ import org.eclipse.core.runtime.QualifiedName;
|
||||||
* reference fBaseDescription gets set to null.
|
* reference fBaseDescription gets set to null.
|
||||||
*/
|
*/
|
||||||
public class CConfigurationDescriptionCache extends CDefaultConfigurationData
|
public class CConfigurationDescriptionCache extends CDefaultConfigurationData
|
||||||
implements ICConfigurationDescription, IInternalCCfgInfo, 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);
|
||||||
|
|
|
@ -51,6 +51,7 @@ import javax.xml.transform.stream.StreamResult;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.CCorePlugin;
|
import org.eclipse.cdt.core.CCorePlugin;
|
||||||
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.model.CModelException;
|
import org.eclipse.cdt.core.model.CModelException;
|
||||||
import org.eclipse.cdt.core.model.ICElement;
|
import org.eclipse.cdt.core.model.ICElement;
|
||||||
import org.eclipse.cdt.core.model.ICElementDelta;
|
import org.eclipse.cdt.core.model.ICElementDelta;
|
||||||
|
@ -1571,9 +1572,13 @@ public class CProjectDescriptionManager implements ICProjectDescriptionManager {
|
||||||
CCorePlugin.log(e);
|
CCorePlugin.log(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> newLSProviders = newCfg.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> newLSProviders = null;
|
||||||
List<ILanguageSettingsProvider> oldLSProviders = oldCfg.getLanguageSettingProviders();
|
if (newCfg instanceof ILanguageSettingsProvidersKeeper)
|
||||||
if(!newLSProviders.equals(oldLSProviders))
|
newLSProviders = ((ILanguageSettingsProvidersKeeper) newCfg).getLanguageSettingProviders();
|
||||||
|
List<ILanguageSettingsProvider> oldLSProviders = null;
|
||||||
|
if (oldCfg instanceof ILanguageSettingsProvidersKeeper)
|
||||||
|
oldLSProviders = ((ILanguageSettingsProvidersKeeper) oldCfg).getLanguageSettingProviders();
|
||||||
|
if(newLSProviders != oldLSProviders && (newLSProviders == null || !newLSProviders.equals(oldLSProviders)))
|
||||||
delta.addChangeFlags(ICDescriptionDelta.LANGUAGE_SETTINGS_PROVIDERS);
|
delta.addChangeFlags(ICDescriptionDelta.LANGUAGE_SETTINGS_PROVIDERS);
|
||||||
|
|
||||||
calculateCfgExtSettingsDelta(delta);
|
calculateCfgExtSettingsDelta(delta);
|
||||||
|
|
|
@ -14,11 +14,9 @@ package org.eclipse.cdt.internal.core.settings.model;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
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.settings.model.CConfigurationStatus;
|
import org.eclipse.cdt.core.settings.model.CConfigurationStatus;
|
||||||
import org.eclipse.cdt.core.settings.model.ICBuildSetting;
|
import org.eclipse.cdt.core.settings.model.ICBuildSetting;
|
||||||
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
|
import org.eclipse.cdt.core.settings.model.ICConfigExtensionReference;
|
||||||
|
@ -639,17 +637,4 @@ public class MultiConfigDescription extends MultiItemsHolder implements
|
||||||
fCfgs[i].removeStorage(id);
|
fCfgs[i].removeStorage(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setLanguageSettingProviders(List<ILanguageSettingsProvider> providers) {
|
|
||||||
if (DEBUG)
|
|
||||||
System.out.println("Bad multi access: MultiConfigDescription.setLanguageSettingProviders()"); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<ILanguageSettingsProvider> getLanguageSettingProviders() {
|
|
||||||
if (DEBUG)
|
|
||||||
System.out.println("Bad multi access: MultiConfigDescription.getLanguageSettingProviders()"); //$NON-NLS-1$
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,6 +45,7 @@ import org.eclipse.swt.widgets.TreeItem;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsBroadcastingProvider;
|
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsBroadcastingProvider;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsEditableProvider;
|
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsEditableProvider;
|
||||||
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.LanguageSettingsBaseProvider;
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsBaseProvider;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager;
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
|
import org.eclipse.cdt.core.language.settings.providers.ScannerDiscoveryLegacySupport;
|
||||||
|
@ -391,9 +392,9 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
if (!page.isForPrefs()) {
|
if (!page.isForPrefs()) {
|
||||||
ICConfigurationDescription[] cfgDescriptions = page.getCfgsEditable();
|
ICConfigurationDescription[] cfgDescriptions = page.getCfgsEditable();
|
||||||
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
|
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
|
||||||
if (cfgDescription!=null) {
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
String cfgId = cfgDescription.getId();
|
String cfgId = cfgDescription.getId();
|
||||||
List<ILanguageSettingsProvider> initialProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> initialProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
initialProvidersMap.put(cfgId, initialProviders);
|
initialProvidersMap.put(cfgId, initialProviders);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -740,13 +741,13 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
List<ILanguageSettingsProvider> initialProviders = initialProvidersMap.get(cfgDescription.getId());
|
List<ILanguageSettingsProvider> initialProviders = initialProvidersMap.get(cfgDescription.getId());
|
||||||
if (initialProviders.contains(selectedProvider)) {
|
if (initialProviders.contains(selectedProvider)) {
|
||||||
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>(cfgDescription.getLanguageSettingProviders());
|
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>(((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders());
|
||||||
int pos = providers.indexOf(selectedProvider);
|
int pos = providers.indexOf(selectedProvider);
|
||||||
if (pos>=0) {
|
if (pos>=0) {
|
||||||
try {
|
try {
|
||||||
selectedProvider = selectedProvider.clone();
|
selectedProvider = selectedProvider.clone();
|
||||||
providers.set(pos, selectedProvider);
|
providers.set(pos, selectedProvider);
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
} catch (CloneNotSupportedException e) {
|
} catch (CloneNotSupportedException e) {
|
||||||
CUIPlugin.log("Internal Error: cannot clone provider "+selectedProvider.getId(), e);
|
CUIPlugin.log("Internal Error: cannot clone provider "+selectedProvider.getId(), e);
|
||||||
}
|
}
|
||||||
|
@ -858,8 +859,8 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
if (currentLanguageId!=null) {
|
if (currentLanguageId!=null) {
|
||||||
IResource rc = getResource();
|
IResource rc = getResource();
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
if (rc!=null && cfgDescription!=null) {
|
if (rc != null && cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
List<ILanguageSettingsProvider> cfgProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> cfgProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
for (ILanguageSettingsProvider cfgProvider : cfgProviders) {
|
for (ILanguageSettingsProvider cfgProvider : cfgProviders) {
|
||||||
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(cfgProvider);
|
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(cfgProvider);
|
||||||
if (rawProvider instanceof LanguageSettingsBaseProvider) {
|
if (rawProvider instanceof LanguageSettingsBaseProvider) {
|
||||||
|
@ -958,10 +959,13 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
// However for the performance reasons for resource decorators where the same logic is used
|
// However for the performance reasons for resource decorators where the same logic is used
|
||||||
// we use null for resetting file/folder resource which should be correct in most cases.
|
// we use null for resetting file/folder resource which should be correct in most cases.
|
||||||
// Count that as a feature.
|
// Count that as a feature.
|
||||||
boolean changed = false;
|
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
|
if (!(cfgDescription instanceof ILanguageSettingsProvidersKeeper))
|
||||||
|
return;
|
||||||
|
|
||||||
|
boolean changed = false;
|
||||||
IResource rc = getResource();
|
IResource rc = getResource();
|
||||||
List<ILanguageSettingsProvider> oldProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> oldProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
List<ILanguageSettingsProvider> newProviders = new ArrayList<ILanguageSettingsProvider>(oldProviders.size());
|
List<ILanguageSettingsProvider> newProviders = new ArrayList<ILanguageSettingsProvider>(oldProviders.size());
|
||||||
|
|
||||||
providers: for (ILanguageSettingsProvider provider : oldProviders) {
|
providers: for (ILanguageSettingsProvider provider : oldProviders) {
|
||||||
|
@ -992,7 +996,7 @@ providers: for (ILanguageSettingsProvider provider : oldProviders) {
|
||||||
newProviders.add(provider);
|
newProviders.add(provider);
|
||||||
}
|
}
|
||||||
if (changed) {
|
if (changed) {
|
||||||
cfgDescription.setLanguageSettingProviders(newProviders);
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(newProviders);
|
||||||
// updateTreeEntries();
|
// updateTreeEntries();
|
||||||
// updateData(getResDesc());
|
// updateData(getResDesc());
|
||||||
List<ILanguageSettingsProvider> tableItems = getProviders(currentLanguageId);
|
List<ILanguageSettingsProvider> tableItems = getProviders(currentLanguageId);
|
||||||
|
@ -1007,15 +1011,20 @@ providers: for (ILanguageSettingsProvider provider : oldProviders) {
|
||||||
ICConfigurationDescription srcCfgDescription = srcRcDescription.getConfiguration();
|
ICConfigurationDescription srcCfgDescription = srcRcDescription.getConfiguration();
|
||||||
ICConfigurationDescription destCfgDescription = destRcDescription.getConfiguration();
|
ICConfigurationDescription destCfgDescription = destRcDescription.getConfiguration();
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> providers = srcCfgDescription.getLanguageSettingProviders();
|
if (srcCfgDescription instanceof ILanguageSettingsProvidersKeeper
|
||||||
destCfgDescription.setLanguageSettingProviders(providers);
|
&& destCfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) srcCfgDescription).getLanguageSettingProviders();
|
||||||
|
((ILanguageSettingsProvidersKeeper) destCfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!page.isForPrefs()) {
|
if (!page.isForPrefs()) {
|
||||||
ICConfigurationDescription sd = srcRcDescription.getConfiguration();
|
ICConfigurationDescription sd = srcRcDescription.getConfiguration();
|
||||||
ICConfigurationDescription dd = destRcDescription.getConfiguration();
|
ICConfigurationDescription dd = destRcDescription.getConfiguration();
|
||||||
List<ILanguageSettingsProvider> newProviders = sd.getLanguageSettingProviders();
|
if (sd instanceof ILanguageSettingsProvidersKeeper && dd instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
dd.setLanguageSettingProviders(newProviders);
|
List<ILanguageSettingsProvider> newProviders = ((ILanguageSettingsProvidersKeeper) sd).getLanguageSettingProviders();
|
||||||
|
((ILanguageSettingsProvidersKeeper) dd).setLanguageSettingProviders(newProviders);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
performOK();
|
performOK();
|
||||||
|
|
|
@ -47,6 +47,7 @@ import org.eclipse.ui.dialogs.PreferencesUtil;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsEditableProvider;
|
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsEditableProvider;
|
||||||
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.LanguageSettingsManager;
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager_TBD;
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsManager_TBD;
|
||||||
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsSerializableProvider;
|
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsSerializableProvider;
|
||||||
|
@ -195,8 +196,8 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
ICConfigurationDescription cfgDescription = getResDesc().getConfiguration();
|
ICConfigurationDescription cfgDescription = getResDesc().getConfiguration();
|
||||||
return cfgDescription;
|
return cfgDescription;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Shortcut for getting the currently selected provider.
|
* Shortcut for getting the currently selected provider.
|
||||||
|
@ -216,9 +217,9 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
if (page.isForProject()) {
|
if (page.isForProject()) {
|
||||||
ICConfigurationDescription[] cfgDescriptions = page.getCfgsEditable();
|
ICConfigurationDescription[] cfgDescriptions = page.getCfgsEditable();
|
||||||
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
|
for (ICConfigurationDescription cfgDescription : cfgDescriptions) {
|
||||||
if (cfgDescription!=null) {
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
String cfgId = cfgDescription.getId();
|
String cfgId = cfgDescription.getId();
|
||||||
List<ILanguageSettingsProvider> initialProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> initialProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
initialProvidersByCfg.put(cfgId, initialProviders);
|
initialProvidersByCfg.put(cfgId, initialProviders);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -371,11 +372,13 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
if (!page.isForPrefs()) {
|
if (!page.isForPrefs()) {
|
||||||
cfgDescription = getConfigurationDescription();
|
cfgDescription = getConfigurationDescription();
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> cfgProviders = new ArrayList<ILanguageSettingsProvider>(cfgDescription.getLanguageSettingProviders());
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
pos = getProviderIndex(newProvider.getId(), cfgProviders);
|
List<ILanguageSettingsProvider> cfgProviders = new ArrayList<ILanguageSettingsProvider>(((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders());
|
||||||
cfgProviders.set(pos, newProvider);
|
pos = getProviderIndex(newProvider.getId(), cfgProviders);
|
||||||
cfgDescription.setLanguageSettingProviders(cfgProviders);
|
cfgProviders.set(pos, newProvider);
|
||||||
tableProvidersViewer.setCheckedElements(cfgProviders.toArray(new ILanguageSettingsProvider[0]));
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(cfgProviders);
|
||||||
|
tableProvidersViewer.setCheckedElements(cfgProviders.toArray(new ILanguageSettingsProvider[0]));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
refreshItem(newProvider);
|
refreshItem(newProvider);
|
||||||
}
|
}
|
||||||
|
@ -479,8 +482,8 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
tableProviders.setSelection(pos);
|
tableProviders.setSelection(pos);
|
||||||
|
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
if (cfgDescription!=null) {
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
List<ILanguageSettingsProvider> cfgProviders = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> cfgProviders = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
tableProvidersViewer.setCheckedElements(cfgProviders.toArray(new ILanguageSettingsProvider[0]));
|
tableProvidersViewer.setCheckedElements(cfgProviders.toArray(new ILanguageSettingsProvider[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -509,8 +512,8 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> providers;
|
List<ILanguageSettingsProvider> providers;
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
if (cfgDescription!=null) {
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
providers = new ArrayList<ILanguageSettingsProvider>(cfgDescription.getLanguageSettingProviders());
|
providers = new ArrayList<ILanguageSettingsProvider>(((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders());
|
||||||
for (ILanguageSettingsProvider provider : providers) {
|
for (ILanguageSettingsProvider provider : providers) {
|
||||||
idsList.add(provider.getId());
|
idsList.add(provider.getId());
|
||||||
}
|
}
|
||||||
|
@ -640,14 +643,16 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
providers.add(provider);
|
providers.add(provider);
|
||||||
}
|
}
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
cfgDescription.setLanguageSettingProviders(providers);
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(providers);
|
||||||
|
|
||||||
if (selectedElement!=null) {
|
if (selectedElement!=null) {
|
||||||
tableProvidersViewer.update(selectedElement, null);
|
tableProvidersViewer.update(selectedElement, null);
|
||||||
if (selectedElement instanceof ILanguageSettingsProvider) {
|
if (selectedElement instanceof ILanguageSettingsProvider) {
|
||||||
ILanguageSettingsProvider selectedProvider = (ILanguageSettingsProvider) selectedElement;
|
ILanguageSettingsProvider selectedProvider = (ILanguageSettingsProvider) selectedElement;
|
||||||
initializeOptionsPage(selectedProvider, cfgDescription);
|
initializeOptionsPage(selectedProvider, cfgDescription);
|
||||||
displaySelectedOptionPage();
|
displaySelectedOptionPage();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -865,18 +870,20 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
|
|
||||||
if (page.isForProject()) {
|
if (page.isForProject()) {
|
||||||
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
ICConfigurationDescription cfgDescription = getConfigurationDescription();
|
||||||
List<ILanguageSettingsProvider> cfgProviders = new ArrayList<ILanguageSettingsProvider>(cfgDescription.getLanguageSettingProviders());
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
boolean atLeastOneChanged = false;
|
List<ILanguageSettingsProvider> cfgProviders = new ArrayList<ILanguageSettingsProvider>(((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders());
|
||||||
for (int i=0;i<cfgProviders.size();i++) {
|
boolean atLeastOneChanged = false;
|
||||||
ILanguageSettingsProvider provider = cfgProviders.get(i);
|
for (int i=0;i<cfgProviders.size();i++) {
|
||||||
if (!LanguageSettingsManager.isWorkspaceProvider(provider) && !LanguageSettingsManager_TBD.isEqualExtensionProvider(provider)) {
|
ILanguageSettingsProvider provider = cfgProviders.get(i);
|
||||||
ILanguageSettingsProvider extProvider = LanguageSettingsManager.getExtensionProviderCopy(provider.getId());
|
if (!LanguageSettingsManager.isWorkspaceProvider(provider) && !LanguageSettingsManager_TBD.isEqualExtensionProvider(provider)) {
|
||||||
cfgProviders.set(i, extProvider);
|
ILanguageSettingsProvider extProvider = LanguageSettingsManager.getExtensionProviderCopy(provider.getId());
|
||||||
atLeastOneChanged = true;
|
cfgProviders.set(i, extProvider);
|
||||||
|
atLeastOneChanged = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (atLeastOneChanged) {
|
||||||
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(cfgProviders);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (atLeastOneChanged) {
|
|
||||||
cfgDescription.setLanguageSettingProviders(cfgProviders);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (page.isForPrefs()) {
|
} else if (page.isForPrefs()) {
|
||||||
|
@ -914,22 +921,26 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
ICConfigurationDescription srcCfgDescription = srcRcDescription.getConfiguration();
|
ICConfigurationDescription srcCfgDescription = srcRcDescription.getConfiguration();
|
||||||
ICConfigurationDescription destCfgDescription = destRcDescription.getConfiguration();
|
ICConfigurationDescription destCfgDescription = destRcDescription.getConfiguration();
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> destProviders = new ArrayList<ILanguageSettingsProvider>();
|
if (srcCfgDescription instanceof ILanguageSettingsProvidersKeeper
|
||||||
|
&& destCfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
|
|
||||||
List<ILanguageSettingsProvider> srcProviders = srcCfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> destProviders = new ArrayList<ILanguageSettingsProvider>();
|
||||||
for (ILanguageSettingsProvider pro : srcProviders) {
|
List<ILanguageSettingsProvider> srcProviders = ((ILanguageSettingsProvidersKeeper) srcCfgDescription).getLanguageSettingProviders();
|
||||||
// TODO: clone
|
for (ILanguageSettingsProvider pro : srcProviders) {
|
||||||
destProviders.add(pro);
|
// TODO: clone
|
||||||
|
destProviders.add(pro);
|
||||||
|
}
|
||||||
|
((ILanguageSettingsProvidersKeeper) destCfgDescription).setLanguageSettingProviders(destProviders);
|
||||||
}
|
}
|
||||||
|
|
||||||
destCfgDescription.setLanguageSettingProviders(destProviders);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!page.isForPrefs()) {
|
if (!page.isForPrefs()) {
|
||||||
ICConfigurationDescription sd = srcRcDescription.getConfiguration();
|
ICConfigurationDescription sd = srcRcDescription.getConfiguration();
|
||||||
ICConfigurationDescription dd = destRcDescription.getConfiguration();
|
ICConfigurationDescription dd = destRcDescription.getConfiguration();
|
||||||
List<ILanguageSettingsProvider> newProviders = sd.getLanguageSettingProviders();
|
if (sd instanceof ILanguageSettingsProvidersKeeper && dd instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
dd.setLanguageSettingProviders(newProviders);
|
List<ILanguageSettingsProvider> newProviders = ((ILanguageSettingsProvidersKeeper) sd).getLanguageSettingProviders();
|
||||||
|
((ILanguageSettingsProvidersKeeper) dd).setLanguageSettingProviders(newProviders);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
performOK();
|
performOK();
|
||||||
|
@ -942,14 +953,15 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
|
||||||
ICResourceDescription rcDesc = getResDesc();
|
ICResourceDescription rcDesc = getResDesc();
|
||||||
IResource rc = getResource();
|
IResource rc = getResource();
|
||||||
ICConfigurationDescription cfgDescription = rcDesc.getConfiguration();
|
ICConfigurationDescription cfgDescription = rcDesc.getConfiguration();
|
||||||
|
if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) {
|
||||||
List<ILanguageSettingsProvider> destProviders = new ArrayList<ILanguageSettingsProvider>();
|
List<ILanguageSettingsProvider> destProviders = new ArrayList<ILanguageSettingsProvider>();
|
||||||
List<ILanguageSettingsProvider> providers = cfgDescription.getLanguageSettingProviders();
|
List<ILanguageSettingsProvider> providers = ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders();
|
||||||
for (ILanguageSettingsProvider pro : providers) {
|
for (ILanguageSettingsProvider pro : providers) {
|
||||||
// TODO: clone
|
// TODO: clone
|
||||||
destProviders.add(pro);
|
destProviders.add(pro);
|
||||||
|
}
|
||||||
|
((ILanguageSettingsProvidersKeeper) cfgDescription).setLanguageSettingProviders(destProviders);
|
||||||
}
|
}
|
||||||
cfgDescription.setLanguageSettingProviders(destProviders);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build Settings page
|
// Build Settings page
|
||||||
|
|
Loading…
Add table
Reference in a new issue