From 271e78c6a0946f0264e76d25da643a21948776b3 Mon Sep 17 00:00:00 2001 From: Andrew Gvozdev Date: Wed, 14 Dec 2011 15:51:34 -0500 Subject: [PATCH] JavaDoc --- .../AbstractBuiltinSpecsDetector.java | 5 +- ...AbstractLanguageSettingsOutputScanner.java | 1 + .../model/util/PathEntryTranslator.java | 12 ++-- .../providers/LanguageSettingsLogger.java | 3 +- .../LanguageSettingsProvidersSerializer.java | 64 +++++++++++++------ .../LanguageSettingsScannerInfoProvider.java | 3 +- .../model/DescriptionScannerInfoProvider.java | 4 +- .../cdt/core/resources/ScannerProvider.java | 2 +- 8 files changed, 62 insertions(+), 32 deletions(-) diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractBuiltinSpecsDetector.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractBuiltinSpecsDetector.java index 332fc2a11c6..b0df7f9e374 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractBuiltinSpecsDetector.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractBuiltinSpecsDetector.java @@ -270,6 +270,7 @@ public abstract class AbstractBuiltinSpecsDetector extends AbstractLanguageSetti @Override public void registerListener(ICConfigurationDescription cfgDescription) { + // AG FIXME - temporary log to remove before CDT 9.0 release LanguageSettingsLogger.logInfo(getPrefixForLog() + "registerListener [" + System.identityHashCode(this) + "] " + this); currentCfgDescription = cfgDescription; @@ -278,6 +279,7 @@ public abstract class AbstractBuiltinSpecsDetector extends AbstractLanguageSetti @Override public void unregisterListener() { + // AG FIXME - temporary log to remove before CDT 9.0 release LanguageSettingsLogger.logInfo(getPrefixForLog() + "unregisterListener [" + System.identityHashCode(this) + "] " + this); } @@ -318,7 +320,7 @@ public abstract class AbstractBuiltinSpecsDetector extends AbstractLanguageSetti job.setRule(rule); job.schedule(); - // TODO - remove me + // AG FIXME - temporary log to remove before CDT 9.0 release LanguageSettingsLogger.logInfo(getPrefixForLog() + "Execution scheduled [" + System.identityHashCode(this) + "] " + this); } @@ -461,6 +463,7 @@ public abstract class AbstractBuiltinSpecsDetector extends AbstractLanguageSetti if (detectedSettingEntries != null && detectedSettingEntries.size() > 0) { collected = detectedSettingEntries.size(); + // AG FIXME - temporary log to remove before CDT 9.0 release LanguageSettingsLogger.logInfo(getPrefixForLog() + getClass().getSimpleName() + " collected " + detectedSettingEntries.size() + " entries" + " for language " + currentLanguageId); diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractLanguageSettingsOutputScanner.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractLanguageSettingsOutputScanner.java index 0c373948d47..96588e50935 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractLanguageSettingsOutputScanner.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/AbstractLanguageSettingsOutputScanner.java @@ -320,6 +320,7 @@ public abstract class AbstractLanguageSettingsOutputScanner extends LanguageSett protected void setSettingEntries(List entries) { setSettingEntries(currentCfgDescription, currentResource, currentLanguageId, entries); + // AG FIXME - temporary log to remove before CDT 9.0 release LanguageSettingsLogger.logInfo(getPrefixForLog() + getClass().getSimpleName() + " collected " + (entries!=null ? ("" + entries.size()) : "null") + " entries for " + currentResource); } diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/util/PathEntryTranslator.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/util/PathEntryTranslator.java index 1f197a9da03..8a29a9ab166 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/util/PathEntryTranslator.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/settings/model/util/PathEntryTranslator.java @@ -2041,7 +2041,8 @@ public class PathEntryTranslator { public boolean visit(PathSettingsContainer container) { CResourceData data = (CResourceData)container.getValue(); if (data != null) { - AG_log(des, kinds, data); // AG FIXME REMOVEME + // AG FIXME - temporary log to remove before CDT 9.0 release + temporaryLog(des, kinds, data); PathEntryCollector child = cr.createChild(container.getPath()); for (int kind : kinds) { @@ -2055,8 +2056,9 @@ public class PathEntryTranslator { return true; } - // AG FIXME REMOVEME - private void AG_log(final ICConfigurationDescription des, final int[] kinds, CResourceData data) { + // AG FIXME - temporary log to remove before CDT 9.0 release + @Deprecated + private void temporaryLog(final ICConfigurationDescription des, final int[] kinds, CResourceData data) { String kindsStr=""; for (int kind : kinds) { String kstr = LanguageSettingEntriesSerializer.kindToString(kind); @@ -2092,7 +2094,7 @@ public class PathEntryTranslator { return false; } - + IProject project = des.getProjectDescription().getProject(); if (ScannerDiscoveryLegacySupport.isLanguageSettingsProvidersFunctionalityEnabled(project)) { IResource rc = getResource(project, data.getPath()); @@ -2100,7 +2102,7 @@ public class PathEntryTranslator { list.addAll(LanguageSettingsManager.getSettingEntriesByKind(des, rc, lData.getLanguageId(), kind)); } return list.size()>0; - + } // Legacy logic boolean supported = false; diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsLogger.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsLogger.java index 37ab0530aa9..8babc9e1605 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsLogger.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsLogger.java @@ -8,7 +8,8 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; /** - * Temporary class for logging language settings providers development. + * AG FIXME -Temporary class for logging language settings providers development. + * To remove before CDT 9.0 release * */ @Deprecated diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java index b25eabb3b19..55082c1fb3a 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java @@ -374,34 +374,55 @@ public class LanguageSettingsProvidersSerializer { rawGlobalWorkspaceProviders = rawNewProviders; } - private static List createLanguageSettingsChangeEvents(List serializableProviders) { + /** + * Create event for language settings changes of workspace providers in a project. + */ + private static LanguageSettingsChangeEvent createEvent(ICProjectDescription prjDescription, List providerIds) { + ICConfigurationDescription[] cfgDescriptions = prjDescription.getConfigurations(); + for (ICConfigurationDescription cfgDescription : cfgDescriptions) { + if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) { + for (ILanguageSettingsProvider provider : ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders()) { + if (isWorkspaceProvider(provider) && providerIds.contains(provider.getId())) { + LanguageSettingsChangeEvent event = new LanguageSettingsChangeEvent(prjDescription); + if (event.getConfigurationDescriptionIds().length > 0) { + return event; + } + return null; + } + } + } + } + + return null; + } + + /** + * Compute events for language settings changes in workspace. + */ + private static List createLanguageSettingsChangeEvents(List providers) { List events = new ArrayList(); - List serializableIds = new ArrayList(); - for (LanguageSettingsSerializableProvider provider : serializableProviders) { - serializableIds.add(provider.getId()); + List providerIds = new ArrayList(); + for (LanguageSettingsSerializableProvider provider : providers) { + providerIds.add(provider.getId()); } IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); IProject[] projects = root.getProjects(); -projects: + for (IProject project : projects) { if (project.isAccessible()) { ICProjectDescription prjDescription = CCorePlugin.getDefault().getProjectDescription(project, false); if (prjDescription != null) { - ICConfigurationDescription[] cfgDescriptions = prjDescription.getConfigurations(); - for (ICConfigurationDescription cfgDescription : cfgDescriptions) { - if (cfgDescription instanceof ILanguageSettingsProvidersKeeper) { - for (ILanguageSettingsProvider provider : ((ILanguageSettingsProvidersKeeper) cfgDescription).getLanguageSettingProviders()) { - if (isWorkspaceProvider(provider) && serializableIds.contains(provider.getId())) { - LanguageSettingsChangeEvent event = new LanguageSettingsChangeEvent(prjDescription); - if (event.getConfigurationDescriptionIds().length > 0) { - events.add(event); - } - continue projects; - } - } + try { + LanguageSettingsChangeEvent event = createEvent(prjDescription, providerIds); + if (event != null) { + events.add(event); } + } catch (Throwable e) { + // log and swallow any exception + CCorePlugin.log("Error creating event about changes in workspace language settings providers, " //$NON-NLS-1$ + + "project=" + project.getName(), e); //$NON-NLS-1$ } } } @@ -416,7 +437,7 @@ projects: * @throws CoreException */ public static void serializeLanguageSettingsWorkspace() throws CoreException { - // FIXME - temporary log to remove before CDT 9.0 release + // AG FIXME - temporary log to remove before CDT 9.0 release LanguageSettingsLogger.logWarning("LanguageSettingsProvidersSerializer.serializeLanguageSettingsWorkspace()"); URI uriStoreWsp = getStoreInWorkspaceArea(STORAGE_WORKSPACE_LANGUAGE_SETTINGS); @@ -588,6 +609,7 @@ projects: */ public static void serializeLanguageSettings(ICProjectDescription prjDescription) throws CoreException { IProject project = prjDescription.getProject(); + // AG FIXME - temporary log to remove before CDT 9.0 release LanguageSettingsLogger.logWarning("LanguageSettingsProvidersSerializer.serializeLanguageSettings() for " + project); try { @@ -1098,12 +1120,12 @@ projects: * @param event the ILanguageSettingsChangeEvent event to be broadcast. */ public static void notifyLanguageSettingsChangeListeners(ILanguageSettingsChangeEvent event) { + // AG FIXME - temporary log to remove before CDT 9.0 release LanguageSettingsLogger.logWarning("Firing " + event); Object[] listeners = fLanguageSettingsChangeListeners.getListeners(); - for (Object obj : listeners) { - ILanguageSettingsChangeListener listener = (ILanguageSettingsChangeListener) obj; - listener.handleEvent(event); + for (Object listener : listeners) { + ((ILanguageSettingsChangeListener) listener).handleEvent(event); } } diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsScannerInfoProvider.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsScannerInfoProvider.java index d34a52176b3..ece845d9b5e 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsScannerInfoProvider.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsScannerInfoProvider.java @@ -52,8 +52,9 @@ public class LanguageSettingsScannerInfoProvider implements IScannerInfoProvider @Override public ExtendedScannerInfo getScannerInformation(IResource rc) { + // AG FIXME - temporary log to remove before CDT 9.0 release LanguageSettingsLogger.logScannerInfoProvider(rc, this); - + IProject project = rc.getProject(); if (project==null) return DUMMY_SCANNER_INFO; diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/DescriptionScannerInfoProvider.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/DescriptionScannerInfoProvider.java index 25def77a37c..087656f76c6 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/DescriptionScannerInfoProvider.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/DescriptionScannerInfoProvider.java @@ -78,9 +78,9 @@ public class DescriptionScannerInfoProvider implements IScannerInfoProvider, ICP @Override public IScannerInfo getScannerInformation(IResource resource) { - // AG FIXME + // AG FIXME - temporary log to remove before CDT 9.0 release LanguageSettingsLogger.logScannerInfoProvider(resource, this); - + if(!fInited) updateProjCfgInfo(CProjectDescriptionManager.getInstance().getProjectDescription(fProject, false)); diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ScannerProvider.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ScannerProvider.java index 091ba1e09b8..7a87ec34f65 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ScannerProvider.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ScannerProvider.java @@ -98,7 +98,7 @@ public class ScannerProvider extends AbstractCExtension implements IScannerInfoP */ @Override public IScannerInfo getScannerInformation(IResource resource) { - // AG FIXME + // AG FIXME - temporary log to remove before CDT 9.0 release if (resource instanceof IFile) { LanguageSettingsLogger.logInfo("rc="+resource+" (ScannerProvider.getScannerInformation())"); } else {