From 5bb4165fe9720f242cfc2b5ccaa9453fb531c5d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20L=C3=A4ubrich?= Date: Thu, 26 Sep 2019 18:46:48 +0200 Subject: [PATCH] Refactoring to support #31 --- ...IChromatogramSelectionProcessSupplier.java | 17 ++++++ .../supplier/IMeasurementProcessSupplier.java | 9 +++ .../META-INF/MANIFEST.MF | 4 +- .../supplier}/ProcessorPreferences.java | 10 +-- .../methods/SettingsPreferencesEditPage.java | 4 +- .../ui/methods/SettingsPreferencesPage.java | 4 +- .../extension/xxd/ui/methods/SettingsUI.java | 2 +- .../xxd/ui/methods/SettingsUIProvider.java | 2 +- .../xxd/ui/methods/SettingsWizard.java | 4 +- .../xxd/ui/swt/editors/ExtendedMethodUI.java | 2 +- .../editors/ProcessorSupplierMenuEntry.java | 3 +- .../process/support/ProcessTypeSupport.java | 61 ++++++------------- 12 files changed, 59 insertions(+), 63 deletions(-) rename chemclipse/plugins/{org.eclipse.chemclipse.xxd.process/src/org/eclipse/chemclipse/xxd/process/support => org.eclipse.chemclipse.processing/src/org/eclipse/chemclipse/processing/supplier}/ProcessorPreferences.java (90%) diff --git a/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/supplier/IChromatogramSelectionProcessSupplier.java b/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/supplier/IChromatogramSelectionProcessSupplier.java index c9330a7574..5d3700dcfa 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/supplier/IChromatogramSelectionProcessSupplier.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/supplier/IChromatogramSelectionProcessSupplier.java @@ -11,6 +11,9 @@ *******************************************************************************/ package org.eclipse.chemclipse.model.supplier; +import java.util.Collections; + +import org.eclipse.chemclipse.model.core.IChromatogram; import org.eclipse.chemclipse.model.selection.IChromatogramSelection; import org.eclipse.chemclipse.processing.core.MessageConsumer; import org.eclipse.chemclipse.processing.supplier.IProcessSupplier; @@ -30,4 +33,18 @@ public interface IChromatogramSelectionProcessSupplier extends IPro * @return the processed {@link IChromatogramSelection} */ IChromatogramSelection apply(IChromatogramSelection chromatogramSelection, SettingType processSettings, MessageConsumer messageConsumer, IProgressMonitor monitor); + + public static IChromatogramSelection applyProcessor(IChromatogramSelection chromatogramSelection, IProcessSupplier supplier, T processSettings, MessageConsumer messageConsumer, IProgressMonitor monitor) { + + if(supplier instanceof IChromatogramSelectionProcessSupplier) { + IChromatogramSelectionProcessSupplier chromatogramSelectionProcessSupplier = (IChromatogramSelectionProcessSupplier)supplier; + return chromatogramSelectionProcessSupplier.apply(chromatogramSelection, processSettings, messageConsumer, monitor); + } + if(supplier instanceof IMeasurementProcessSupplier) { + IMeasurementProcessSupplier measurementProcessSupplier = (IMeasurementProcessSupplier)supplier; + IChromatogram chromatogram = chromatogramSelection.getChromatogram(); + measurementProcessSupplier.applyProcessor(Collections.singleton(chromatogram), processSettings, messageConsumer, monitor); + } + return chromatogramSelection; + } } diff --git a/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/supplier/IMeasurementProcessSupplier.java b/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/supplier/IMeasurementProcessSupplier.java index 09a1812589..1d3baa9183 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/supplier/IMeasurementProcessSupplier.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/supplier/IMeasurementProcessSupplier.java @@ -36,4 +36,13 @@ public interface IMeasurementProcessSupplier extends IProcessSupplie * @return the collection of processed measurements */ Collection applyProcessor(Collection measurements, ConfigType processSettings, MessageConsumer messageConsumer, IProgressMonitor monitor); + + public static Collection applyProcessor(Collection measurements, IProcessSupplier supplier, X processSettings, MessageConsumer messageConsumer, IProgressMonitor monitor) { + + if(supplier instanceof IMeasurementProcessSupplier) { + IMeasurementProcessSupplier measurementProcessSupplier = (IMeasurementProcessSupplier)supplier; + return measurementProcessSupplier.applyProcessor(measurements, processSettings, messageConsumer, monitor); + } + return measurements; + } } diff --git a/chemclipse/plugins/org.eclipse.chemclipse.processing/META-INF/MANIFEST.MF b/chemclipse/plugins/org.eclipse.chemclipse.processing/META-INF/MANIFEST.MF index acd28a1ec0..b9a60733d5 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.processing/META-INF/MANIFEST.MF +++ b/chemclipse/plugins/org.eclipse.chemclipse.processing/META-INF/MANIFEST.MF @@ -11,7 +11,9 @@ Export-Package: org.eclipse.chemclipse.processing;version="1.0.0", org.eclipse.chemclipse.processing.detector;version="1.0.0", org.eclipse.chemclipse.processing.filter;version="1.0.0", org.eclipse.chemclipse.processing.supplier;version="1.0.0" -Import-Package: org.eclipse.chemclipse.support.settings.parser, +Import-Package: org.eclipse.chemclipse.support.settings, + org.eclipse.chemclipse.support.settings.parser, + org.eclipse.chemclipse.support.settings.serialization, org.osgi.service.component.annotations;version="[1.0.0,2.0.0)" Service-Component: OSGI-INF/org.eclipse.chemclipse.processing.internal.OSGiFilterFactory.xml Bundle-ActivationPolicy: lazy diff --git a/chemclipse/plugins/org.eclipse.chemclipse.xxd.process/src/org/eclipse/chemclipse/xxd/process/support/ProcessorPreferences.java b/chemclipse/plugins/org.eclipse.chemclipse.processing/src/org/eclipse/chemclipse/processing/supplier/ProcessorPreferences.java similarity index 90% rename from chemclipse/plugins/org.eclipse.chemclipse.xxd.process/src/org/eclipse/chemclipse/xxd/process/support/ProcessorPreferences.java rename to chemclipse/plugins/org.eclipse.chemclipse.processing/src/org/eclipse/chemclipse/processing/supplier/ProcessorPreferences.java index 161854245a..8a73189802 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.xxd.process/src/org/eclipse/chemclipse/xxd/process/support/ProcessorPreferences.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.processing/src/org/eclipse/chemclipse/processing/supplier/ProcessorPreferences.java @@ -9,11 +9,10 @@ * Contributors: * Christoph Läubrich - initial API and implementation *******************************************************************************/ -package org.eclipse.chemclipse.xxd.process.support; +package org.eclipse.chemclipse.processing.supplier; import java.io.IOException; -import org.eclipse.chemclipse.processing.supplier.IProcessSupplier; import org.eclipse.chemclipse.support.settings.SystemSettingsStrategy; import org.eclipse.chemclipse.support.settings.serialization.SettingsSerialization; @@ -25,8 +24,6 @@ */ public interface ProcessorPreferences { - public static final SettingsSerialization DEFAULT_SETTINGS_SERIALIZATION = new JSONSerialization(); - public enum DialogBehavior { /** * The user should be queried each time @@ -69,10 +66,7 @@ public enum DialogBehavior { * * @return the serialization used for the user settings */ - default SettingsSerialization getSerialization() { - - return DEFAULT_SETTINGS_SERIALIZATION; - } + SettingsSerialization getSerialization(); /** * constructs a new settings instance from the current user settings diff --git a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsPreferencesEditPage.java b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsPreferencesEditPage.java index 921a71c41c..f8117861a9 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsPreferencesEditPage.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsPreferencesEditPage.java @@ -19,10 +19,10 @@ import java.util.function.Supplier; import org.eclipse.chemclipse.processing.supplier.IProcessTypeSupplier; +import org.eclipse.chemclipse.processing.supplier.ProcessorPreferences; +import org.eclipse.chemclipse.processing.supplier.ProcessorPreferences.DialogBehavior; import org.eclipse.chemclipse.rcp.ui.icons.core.ApplicationImage; import org.eclipse.chemclipse.rcp.ui.icons.core.ApplicationImageFactory; -import org.eclipse.chemclipse.xxd.process.support.ProcessorPreferences; -import org.eclipse.chemclipse.xxd.process.support.ProcessorPreferences.DialogBehavior; import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IDoubleClickListener; diff --git a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsPreferencesPage.java b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsPreferencesPage.java index 8539cfa132..53dad03aee 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsPreferencesPage.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsPreferencesPage.java @@ -14,8 +14,8 @@ import java.io.IOException; -import org.eclipse.chemclipse.xxd.process.support.ProcessorPreferences; -import org.eclipse.chemclipse.xxd.process.support.ProcessorPreferences.DialogBehavior; +import org.eclipse.chemclipse.processing.supplier.ProcessorPreferences; +import org.eclipse.chemclipse.processing.supplier.ProcessorPreferences.DialogBehavior; import org.eclipse.core.runtime.IStatus; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; diff --git a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsUI.java b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsUI.java index 3ec5d04992..4895936e4a 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsUI.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsUI.java @@ -18,10 +18,10 @@ import java.util.Map; import java.util.Map.Entry; +import org.eclipse.chemclipse.processing.supplier.ProcessorPreferences; import org.eclipse.chemclipse.support.settings.parser.InputValue; import org.eclipse.chemclipse.ux.extension.xxd.ui.Activator; import org.eclipse.chemclipse.ux.extension.xxd.ui.methods.SettingsUIProvider.SettingsUIControl; -import org.eclipse.chemclipse.xxd.process.support.ProcessorPreferences; import org.eclipse.core.databinding.validation.ValidationStatus; import org.eclipse.core.runtime.Adapters; import org.eclipse.core.runtime.IStatus; diff --git a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsUIProvider.java b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsUIProvider.java index 44a9d0dc0f..3f8266be68 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsUIProvider.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsUIProvider.java @@ -13,7 +13,7 @@ import java.io.IOException; -import org.eclipse.chemclipse.xxd.process.support.ProcessorPreferences; +import org.eclipse.chemclipse.processing.supplier.ProcessorPreferences; import org.eclipse.core.runtime.IStatus; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Listener; diff --git a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsWizard.java b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsWizard.java index 6e0e6f0d05..1337cf5e6a 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsWizard.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/methods/SettingsWizard.java @@ -18,9 +18,9 @@ import java.util.function.Supplier; import org.eclipse.chemclipse.processing.supplier.IProcessSupplier; +import org.eclipse.chemclipse.processing.supplier.ProcessorPreferences; +import org.eclipse.chemclipse.processing.supplier.ProcessorPreferences.DialogBehavior; import org.eclipse.chemclipse.xxd.process.support.ProcessTypeSupport; -import org.eclipse.chemclipse.xxd.process.support.ProcessorPreferences; -import org.eclipse.chemclipse.xxd.process.support.ProcessorPreferences.DialogBehavior; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.wizard.Wizard; import org.eclipse.jface.wizard.WizardDialog; diff --git a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/editors/ExtendedMethodUI.java b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/editors/ExtendedMethodUI.java index ce13faf138..6c21bd5a6a 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/editors/ExtendedMethodUI.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/editors/ExtendedMethodUI.java @@ -29,6 +29,7 @@ import org.eclipse.chemclipse.model.methods.ProcessEntry; import org.eclipse.chemclipse.model.methods.ProcessMethod; import org.eclipse.chemclipse.model.types.DataType; +import org.eclipse.chemclipse.processing.supplier.ProcessorPreferences; import org.eclipse.chemclipse.rcp.ui.icons.core.ApplicationImageFactory; import org.eclipse.chemclipse.rcp.ui.icons.core.IApplicationImage; import org.eclipse.chemclipse.support.ui.events.IKeyEventProcessor; @@ -44,7 +45,6 @@ import org.eclipse.chemclipse.ux.extension.xxd.ui.swt.MethodListUI; import org.eclipse.chemclipse.ux.extension.xxd.ui.swt.MethodUIConfig; import org.eclipse.chemclipse.xxd.process.support.ProcessTypeSupport; -import org.eclipse.chemclipse.xxd.process.support.ProcessorPreferences; import org.eclipse.chemclipse.xxd.process.ui.preferences.PreferencePageReportExport; import org.eclipse.core.runtime.Adapters; import org.eclipse.jface.dialogs.MessageDialog; diff --git a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/editors/ProcessorSupplierMenuEntry.java b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/editors/ProcessorSupplierMenuEntry.java index fa7cd72bfb..5484828ff3 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/editors/ProcessorSupplierMenuEntry.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/editors/ProcessorSupplierMenuEntry.java @@ -18,6 +18,7 @@ import java.util.function.Supplier; import org.eclipse.chemclipse.model.selection.IChromatogramSelection; +import org.eclipse.chemclipse.model.supplier.IChromatogramSelectionProcessSupplier; import org.eclipse.chemclipse.processing.core.DefaultProcessingResult; import org.eclipse.chemclipse.processing.core.MessageProvider; import org.eclipse.chemclipse.processing.supplier.IProcessSupplier; @@ -74,7 +75,7 @@ public void execute(Shell shell, ScrollableChart scrollableChart) { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { DefaultProcessingResult msgs = new DefaultProcessingResult<>(); - ProcessTypeSupport.applyProcessor(chromatogramSelection, processorSupplier, settings, msgs, monitor); + IChromatogramSelectionProcessSupplier.applyProcessor(chromatogramSelection, processorSupplier, settings, msgs, monitor); updateResult(shell, msgs); } }, shell); diff --git a/chemclipse/plugins/org.eclipse.chemclipse.xxd.process/src/org/eclipse/chemclipse/xxd/process/support/ProcessTypeSupport.java b/chemclipse/plugins/org.eclipse.chemclipse.xxd.process/src/org/eclipse/chemclipse/xxd/process/support/ProcessTypeSupport.java index 886e9c6a94..51bb27a603 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.xxd.process/src/org/eclipse/chemclipse/xxd/process/support/ProcessTypeSupport.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.xxd.process/src/org/eclipse/chemclipse/xxd/process/support/ProcessTypeSupport.java @@ -16,7 +16,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.EnumSet; import java.util.List; import java.util.Set; @@ -24,9 +23,6 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.function.BiConsumer; -import org.eclipse.chemclipse.csd.model.core.IChromatogramCSD; -import org.eclipse.chemclipse.csd.model.core.selection.ChromatogramSelectionCSD; -import org.eclipse.chemclipse.model.core.IChromatogram; import org.eclipse.chemclipse.model.core.IMeasurement; import org.eclipse.chemclipse.model.methods.IProcessEntry; import org.eclipse.chemclipse.model.methods.IProcessMethod; @@ -34,16 +30,14 @@ import org.eclipse.chemclipse.model.selection.IChromatogramSelection; import org.eclipse.chemclipse.model.supplier.IChromatogramSelectionProcessSupplier; import org.eclipse.chemclipse.model.supplier.IMeasurementProcessSupplier; -import org.eclipse.chemclipse.msd.model.core.IChromatogramMSD; -import org.eclipse.chemclipse.msd.model.core.selection.ChromatogramSelectionMSD; import org.eclipse.chemclipse.processing.DataCategory; import org.eclipse.chemclipse.processing.core.IProcessingInfo; import org.eclipse.chemclipse.processing.core.MessageConsumer; import org.eclipse.chemclipse.processing.core.ProcessingInfo; import org.eclipse.chemclipse.processing.supplier.IProcessSupplier; import org.eclipse.chemclipse.processing.supplier.IProcessTypeSupplier; -import org.eclipse.chemclipse.wsd.model.core.IChromatogramWSD; -import org.eclipse.chemclipse.wsd.model.core.selection.ChromatogramSelectionWSD; +import org.eclipse.chemclipse.processing.supplier.ProcessorPreferences; +import org.eclipse.chemclipse.support.settings.serialization.SettingsSerialization; import org.eclipse.chemclipse.xxd.process.Activator; import org.eclipse.core.databinding.validation.ValidationStatus; import org.eclipse.core.runtime.IProgressMonitor; @@ -56,6 +50,7 @@ public class ProcessTypeSupport { + public static final SettingsSerialization DEFAULT_SETTINGS_SERIALIZATION = new JSONSerialization(); private static final String KEY_USE_SYSTEM_DEFAULTS = "useSystemDefaults"; private static final String KEY_USER_SETTINGS = "userSettings"; private static final String KEY_ASK_FOR_SETTINGS = "askForSettings"; @@ -198,7 +193,7 @@ public IProcessingInfo applyProcessor(List processSupplier, X settings) { - applyProcessor(chromatogramSelection, processSupplier, settings, processingInfo, convert.split(1)); + IChromatogramSelectionProcessSupplier.applyProcessor(chromatogramSelection, processSupplier, settings, processingInfo, convert.split(1)); } }, processingInfo); } @@ -214,7 +209,7 @@ public Collection applyProcessor(Collection processor, X settings) { - result.set(applyProcessor(result.get(), processor, settings, messageConsumer, subMonitor.split(100))); + result.set(IMeasurementProcessSupplier.applyProcessor(result.get(), processor, settings, messageConsumer, subMonitor.split(100))); } }, messageConsumer); return result.get(); @@ -262,40 +257,6 @@ public IStatus validate(IProcessEntry processEntry) { } } - public static IChromatogramSelection applyProcessor(IChromatogramSelection chromatogramSelection, IProcessSupplier supplier, T processSettings, MessageConsumer messageConsumer, IProgressMonitor monitor) { - - if(supplier instanceof IChromatogramSelectionProcessSupplier) { - IChromatogramSelectionProcessSupplier chromatogramSelectionProcessSupplier = (IChromatogramSelectionProcessSupplier)supplier; - return chromatogramSelectionProcessSupplier.apply(chromatogramSelection, processSettings, messageConsumer, monitor); - } - if(supplier instanceof IMeasurementProcessSupplier) { - IMeasurementProcessSupplier measurementProcessSupplier = (IMeasurementProcessSupplier)supplier; - IChromatogram chromatogram = chromatogramSelection.getChromatogram(); - Collection collection = measurementProcessSupplier.applyProcessor(Collections.singleton(chromatogram), processSettings, messageConsumer, monitor); - for(IMeasurement measurement : collection) { - if(measurement == chromatogram) { - return chromatogramSelection; - } else if(measurement instanceof IChromatogramMSD) { - return new ChromatogramSelectionMSD((IChromatogramMSD)measurement); - } else if(measurement instanceof IChromatogramCSD) { - return new ChromatogramSelectionCSD((IChromatogramCSD)measurement); - } else if(measurement instanceof IChromatogramWSD) { - return new ChromatogramSelectionWSD((IChromatogramWSD)measurement); - } - } - } - return chromatogramSelection; - } - - public static Collection applyProcessor(Collection measurements, IProcessSupplier supplier, X processSettings, MessageConsumer messageConsumer, IProgressMonitor monitor) { - - if(supplier instanceof IMeasurementProcessSupplier) { - IMeasurementProcessSupplier measurementProcessSupplier = (IMeasurementProcessSupplier)supplier; - return measurementProcessSupplier.applyProcessor(measurements, processSettings, messageConsumer, monitor); - } - return measurements; - } - private static final class ProcessEntryProcessorPreferences implements ProcessorPreferences { private IProcessEntry processEntry; @@ -359,6 +320,12 @@ public String getUserSettingsAsString() { return processEntry.getJsonSettings(); } + + @Override + public SettingsSerialization getSerialization() { + + return DEFAULT_SETTINGS_SERIALIZATION; + } } private static final class NodeProcessorPreferences implements ProcessorPreferences { @@ -459,5 +426,11 @@ public IProcessSupplier getSupplier() { return supplier; } + + @Override + public SettingsSerialization getSerialization() { + + return DEFAULT_SETTINGS_SERIALIZATION; + } } }