Skip to content

Commit c91d20e

Browse files
Initialize internal plugin systems in the provider rather than in the swing app
1 parent e8c16e6 commit c91d20e

2 files changed

Lines changed: 13 additions & 14 deletions

File tree

LibPeakaboo/src/main/java/org/peakaboo/tier/BasicTierProvider.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
import org.peakaboo.controller.plotter.PlotController;
99
import org.peakaboo.controller.plotter.calibration.BasicCalibrationController;
1010
import org.peakaboo.controller.plotter.calibration.CalibrationController;
11+
import org.peakaboo.controller.plotter.view.mode.ChannelViewModeRegistry;
12+
import org.peakaboo.curvefit.curve.fitting.fitter.CurveFitterRegistry;
13+
import org.peakaboo.curvefit.curve.fitting.solver.FittingSolverRegistry;
14+
import org.peakaboo.curvefit.peak.fitting.FittingFunctionRegistry;
1115
import org.peakaboo.dataset.sink.plugin.DataSinkRegistry;
1216
import org.peakaboo.dataset.source.model.components.scandata.analysis.Analysis;
1317
import org.peakaboo.dataset.source.model.components.scandata.analysis.DataSourceAnalysis;
@@ -34,6 +38,13 @@ public CalibrationController createPlotCalibrationController(PlotController plot
3438

3539
@Override
3640
public void initializePlugins(File pluginsRoot) {
41+
// Informal registries: built-in-only impls (no external JAR plugins).
42+
// init() is idempotent (null-guarded), so re-entry is safe.
43+
CurveFitterRegistry.init();
44+
FittingSolverRegistry.init();
45+
ChannelViewModeRegistry.init();
46+
FittingFunctionRegistry.init();
47+
3748
DataSourceRegistry.init(pluginsRoot);
3849
DataSinkRegistry.init(pluginsRoot);
3950
FilterRegistry.init(pluginsRoot);

SwingUI/src/main/java/org/peakaboo/ui/swing/Peakaboo.java

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,6 @@
2929
import org.peakaboo.app.Settings;
3030
import org.peakaboo.app.Version;
3131
import org.peakaboo.app.Version.ReleaseType;
32-
import org.peakaboo.controller.plotter.view.mode.ChannelViewModeRegistry;
33-
import org.peakaboo.curvefit.curve.fitting.fitter.CurveFitterRegistry;
34-
import org.peakaboo.curvefit.curve.fitting.solver.FittingSolverRegistry;
35-
import org.peakaboo.curvefit.peak.fitting.FittingFunctionRegistry;
3632
import org.peakaboo.curvefit.peak.table.PeakTable;
3733
import org.peakaboo.framework.accent.Mutable;
3834
import org.peakaboo.framework.accent.log.OneLog;
@@ -326,16 +322,8 @@ private static void initPeakTable() {
326322
}
327323

328324
private static void initPluginSystem() {
329-
// Initialize "informal" plugin registries. We use the registry format
330-
// to manage different impls, but they are not a public extension point
331-
// supporting external JAR plugins.
332-
CurveFitterRegistry.init();
333-
FittingSolverRegistry.init();
334-
ChannelViewModeRegistry.init();
335-
FittingFunctionRegistry.init();
336-
337-
// Initialize "real" plugin registries. These do support loading external
338-
// JAR plugins, so we instruct them to load plugins from the given directory.
325+
// Initialize the plugin system: informal built-in-only registries plus the
326+
// external-JAR registries loaded from the given directory.
339327
Tier.provider().initializePlugins(DesktopApp.appDir("Plugins"));
340328
}
341329

0 commit comments

Comments
 (0)