Skip to content

Commit d503e31

Browse files
committed
Refactor for ModuleService saving and loading
Updated classes that were using ModuleItem#saveValue and ModuleItem#loadValue to use the appropriate ModuleService methods.
1 parent cc97d1b commit d503e31

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

src/main/java/org/scijava/module/process/LoadInputsPreprocessor.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333

3434
import org.scijava.module.Module;
3535
import org.scijava.module.ModuleItem;
36+
import org.scijava.module.ModuleService;
37+
import org.scijava.plugin.Parameter;
3638
import org.scijava.plugin.Plugin;
3739
import org.scijava.util.ConversionUtils;
3840
import org.scijava.widget.InputHarvester;
@@ -52,6 +54,9 @@
5254
priority = InputHarvester.PRIORITY + 1)
5355
public class LoadInputsPreprocessor extends AbstractPreprocessorPlugin {
5456

57+
@Parameter
58+
private ModuleService moduleService;
59+
5560
// -- ModuleProcessor methods --
5661

5762
@Override
@@ -69,9 +74,9 @@ private <T> void loadValue(final Module module, final ModuleItem<T> item) {
6974
// skip input that has already been resolved
7075
if (module.isResolved(item.getName())) return;
7176

77+
final T prefValue = moduleService.load(item);
7278
final Class<T> type = item.getType();
7379
final T defaultValue = item.getValue(module);
74-
final T prefValue = item.loadValue();
7580
final T value = getBestValue(prefValue, defaultValue, type);
7681
item.setValue(module, value);
7782
}

src/main/java/org/scijava/module/process/SaveInputsPreprocessor.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
import org.scijava.Priority;
3535
import org.scijava.module.Module;
3636
import org.scijava.module.ModuleItem;
37+
import org.scijava.module.ModuleService;
38+
import org.scijava.plugin.Parameter;
3739
import org.scijava.plugin.Plugin;
3840

3941
/**
@@ -51,6 +53,9 @@
5153
priority = Priority.VERY_LOW_PRIORITY - 1)
5254
public class SaveInputsPreprocessor extends AbstractPreprocessorPlugin {
5355

56+
@Parameter
57+
private ModuleService moduleService;
58+
5459
// -- ModuleProcessor methods --
5560

5661
@Override
@@ -66,7 +71,7 @@ public void process(final Module module) {
6671
/** Saves the value of the given module item to persistent storage. */
6772
private <T> void saveValue(final Module module, final ModuleItem<T> item) {
6873
final T value = item.getValue(module);
69-
item.saveValue(value);
74+
moduleService.save(item, value);
7075
}
7176

7277
}

src/main/java/org/scijava/options/OptionsPlugin.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import org.scijava.command.DynamicCommand;
3535
import org.scijava.event.EventService;
3636
import org.scijava.module.ModuleItem;
37+
import org.scijava.module.ModuleService;
3738
import org.scijava.options.event.OptionsEvent;
3839
import org.scijava.plugin.Parameter;
3940
import org.scijava.plugin.SingletonPlugin;
@@ -80,6 +81,9 @@ public class OptionsPlugin extends DynamicCommand implements SingletonPlugin {
8081
@Parameter
8182
private PrefService prefService;
8283

84+
@Parameter
85+
private ModuleService moduleService;
86+
8387
// -- OptionsPlugin methods --
8488

8589
/** Loads option values from persistent storage. */
@@ -119,13 +123,13 @@ public void run() {
119123
// -- Helper methods --
120124

121125
private <T> void loadInput(final ModuleItem<T> input) {
122-
final T value = input.loadValue();
126+
final T value = moduleService.load(input);
123127
if (value != null) input.setValue(this, value);
124128
}
125129

126130
private <T> void saveInput(final ModuleItem<T> input) {
127131
final T value = input.getValue(this);
128-
input.saveValue(value);
132+
moduleService.save(input, value);
129133
}
130134

131135
}

0 commit comments

Comments
 (0)