Skip to content

Commit 01547c6

Browse files
committed
Merge pull request #206 from scijava/persist-default-values
DefaultModuleService: do not persist default value
2 parents 6101bc8 + 4a01d97 commit 01547c6

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/main/java/org/scijava/module/DefaultModuleService.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
import org.scijava.service.Service;
6363
import org.scijava.thread.ThreadService;
6464
import org.scijava.util.ClassUtils;
65+
import org.scijava.util.MiscUtils;
6566

6667
/**
6768
* Default service for keeping track of and executing available modules.
@@ -278,6 +279,13 @@ public ModuleItem<?> getSingleOutput(Module module, Collection<Class<?>> types)
278279
public <T> void save(final ModuleItem<T> item, final T value) {
279280
if (!item.isPersisted()) return;
280281

282+
if (MiscUtils.equal(item.getDefaultValue(), value)) {
283+
// NB: Do not persist the value if it is the default.
284+
// This is nice if the default value might change later,
285+
// such as when iteratively developing a script.
286+
return;
287+
}
288+
281289
final String sValue = value == null ? "" : value.toString();
282290

283291
// do not persist if object cannot be converted back from a string

0 commit comments

Comments
 (0)