tmf: Add dispose() to ITmfConfigurationSource interface Change-Id: Iaaeec08d8371ea6d9eae74636f79c4cd91afdb4a Signed-off-by: Bernd Hufmann <bernd.hufmann@ericsson.com> Reviewed-on: https://git.eclipse.org/r/c/tracecompass/org.eclipse.tracecompass/+/204883 Tested-by: Patrick Tasse <patrick.tasse@gmail.com> Tested-by: Trace Compass Bot <tracecompass-bot@eclipse.org> Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
diff --git a/tmf/org.eclipse.tracecompass.tmf.analysis.xml.core/src/org/eclipse/tracecompass/internal/tmf/analysis/xml/core/config/XmlConfigurationSource.java b/tmf/org.eclipse.tracecompass.tmf.analysis.xml.core/src/org/eclipse/tracecompass/internal/tmf/analysis/xml/core/config/XmlConfigurationSource.java index af4076b..8e91ced 100644 --- a/tmf/org.eclipse.tracecompass.tmf.analysis.xml.core/src/org/eclipse/tracecompass/internal/tmf/analysis/xml/core/config/XmlConfigurationSource.java +++ b/tmf/org.eclipse.tracecompass.tmf.analysis.xml.core/src/org/eclipse/tracecompass/internal/tmf/analysis/xml/core/config/XmlConfigurationSource.java
@@ -125,6 +125,11 @@ return fConfigurations.containsKey(id); } + @Override + public void dispose() { + fConfigurations.clear(); + } + private static @Nullable File getFile(Map<String, Object> parameters) { String path = (String) parameters.get(PATH_KEY); if (path == null) {
diff --git a/tmf/org.eclipse.tracecompass.tmf.core.tests/stubs/org/eclipse/tracecompass/tmf/tests/stubs/model/config/TestConfigurationSource.java b/tmf/org.eclipse.tracecompass.tmf.core.tests/stubs/org/eclipse/tracecompass/tmf/tests/stubs/model/config/TestConfigurationSource.java index a0b81eb..d2865e1 100644 --- a/tmf/org.eclipse.tracecompass.tmf.core.tests/stubs/org/eclipse/tracecompass/tmf/tests/stubs/model/config/TestConfigurationSource.java +++ b/tmf/org.eclipse.tracecompass.tmf.core.tests/stubs/org/eclipse/tracecompass/tmf/tests/stubs/model/config/TestConfigurationSource.java
@@ -108,4 +108,9 @@ public @Nullable ITmfConfiguration get(String id) { return fConfigurations.get(id); } + + @Override + public void dispose() { + fConfigurations.clear(); + } }
diff --git a/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/config/ITmfConfigurationSource.java b/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/config/ITmfConfigurationSource.java index 1aa52a4..3061bd0 100644 --- a/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/config/ITmfConfigurationSource.java +++ b/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/config/ITmfConfigurationSource.java
@@ -93,4 +93,9 @@ * @return list of all configuration instances */ List<ITmfConfiguration> getConfigurations(); + + /** + * Dispose the configuration source. + */ + void dispose(); }
diff --git a/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/config/TmfConfigurationSourceManager.java b/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/config/TmfConfigurationSourceManager.java index f9329d4..220ad9e 100644 --- a/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/config/TmfConfigurationSourceManager.java +++ b/tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/config/TmfConfigurationSourceManager.java
@@ -66,6 +66,7 @@ * Disposes the instance. */ public synchronized void dispose() { + fDescriptors.values().forEach(t -> t.dispose()); fDescriptors.clear(); }