Skip to content

Commit 769f615

Browse files
authored
Merge pull request #15 from scijava/ignore-output-folder
Prepare public release
2 parents 6052ea3 + 27ee285 commit 769f615

File tree

4 files changed

+21
-41
lines changed

4 files changed

+21
-41
lines changed

src/main/java/org/scijava/batch/FileScriptBatchProcessor.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ public class FileScriptBatchProcessor extends DynamicCommand {
5959
@Parameter(visibility = ItemVisibility.MESSAGE, persist = false)
6060
private String message = " "; // Placeholder message
6161

62-
@Parameter(label = "Output directory", style = FileWidget.DIRECTORY_STYLE, required = false)
63-
private File outputFolder;
62+
// @Parameter(label = "Output directory", style = FileWidget.DIRECTORY_STYLE, required = false)
63+
// private File outputFolder;
6464

6565
private List<File> fileList;
6666
private ModuleInfo moduleInfo;
@@ -80,7 +80,7 @@ public void run() {
8080
inputMap.put("moduleInfo", moduleInfo);
8181
File[] fileArray = fileList.toArray(new File[fileList.size()]);
8282
inputMap.put("inputFileList", fileArray);
83-
inputMap.put("outputFolder", outputFolder);
83+
// inputMap.put("outputFolder", outputFolder);
8484
commands.run(ModuleBatchProcessor.class, true, inputMap);
8585
}
8686

@@ -105,6 +105,8 @@ private List<File> populateFileList(File folder, FilenameFilter filter, boolean
105105
* Count all applicable files and display them in the dialog message
106106
*/
107107
protected void directoryCallback() {
108+
if (inputFolder == null || !inputFolder.exists()) return;
109+
108110
// get list of all applicable files
109111
FilenameFilter inputFilter;
110112
try {

src/main/java/org/scijava/batch/MenuScriptBatchProcessor.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ public class MenuScriptBatchProcessor extends DynamicCommand {
4747
@Parameter(visibility = ItemVisibility.MESSAGE, persist = false)
4848
private String message = " "; // Placeholder message
4949

50-
@Parameter(label = "Output directory", style = FileWidget.DIRECTORY_STYLE, required = false)
51-
private File outputFolder;
50+
// @Parameter(label = "Output directory", style = FileWidget.DIRECTORY_STYLE, required = false)
51+
// private File outputFolder;
5252

5353
private List<File> fileList;
5454

@@ -58,7 +58,7 @@ public void run() {
5858
inputMap.put("moduleInfo", scriptInfo);
5959
File[] fileArray = fileList.toArray(new File[fileList.size()]);
6060
inputMap.put("inputFileList", fileArray);
61-
inputMap.put("outputFolder", outputFolder);
61+
// inputMap.put("outputFolder", outputFolder);
6262
commands.run(ModuleBatchProcessor.class, true, inputMap);
6363
}
6464

@@ -85,6 +85,8 @@ private List<File> populateFileList(File folder, FilenameFilter filter,
8585
* Count all applicable files and display them in the dialog message
8686
*/
8787
protected void directoryCallback() {
88+
if (inputFolder == null || !inputFolder.exists()) return;
89+
8890
// get list of all applicable files
8991
FilenameFilter inputFilter;
9092
try {

src/main/java/org/scijava/batch/ModuleBatchProcessor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ public class ModuleBatchProcessor extends DynamicCommand {
4646
@Parameter(label = "Input files")
4747
private File[] inputFileList;
4848

49-
@Parameter(label = "Output directory", style = FileWidget.DIRECTORY_STYLE, required = false)
50-
private File outputFolder;
49+
// @Parameter(label = "Output directory", style = FileWidget.DIRECTORY_STYLE, required = false)
50+
// private File outputFolder;
5151

5252
@SuppressWarnings("rawtypes")
5353
@Parameter(type = ItemIO.OUTPUT)

src/main/java/org/scijava/batch/SwingScriptInfoWidget.java

Lines changed: 9 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,16 @@
22

33
import java.awt.event.ActionEvent;
44
import java.awt.event.ActionListener;
5-
import java.io.File;
65
import java.util.HashMap;
6+
import java.util.List;
77
import java.util.Map;
88

99
import javax.swing.JComboBox;
1010
import javax.swing.JPanel;
1111

1212
import org.scijava.Priority;
13-
import org.scijava.convert.ConvertService;
1413
import org.scijava.log.LogService;
15-
import org.scijava.module.Module;
16-
import org.scijava.module.ModuleService;
14+
import org.scijava.module.ModuleItem;
1715
import org.scijava.plugin.Parameter;
1816
import org.scijava.plugin.Plugin;
1917
import org.scijava.script.ScriptInfo;
@@ -22,18 +20,15 @@
2220
import org.scijava.widget.InputWidget;
2321
import org.scijava.widget.WidgetModel;
2422

25-
@Plugin(type = InputWidget.class, priority = Priority.NORMAL_PRIORITY)
23+
@Plugin(type = InputWidget.class, priority = Priority.NORMAL)
2624
public class SwingScriptInfoWidget extends SwingInputWidget<ScriptInfo>
2725
implements ActionListener, ScriptInfoWidget<JPanel> {
2826

2927
@Parameter
30-
private ScriptService scripts;
28+
private ScriptService scriptService;
3129

3230
@Parameter
33-
private ModuleService modules;
34-
35-
@Parameter
36-
private ConvertService convert;
31+
private BatchService batchService;
3732

3833
@Parameter
3934
private LogService log;
@@ -55,30 +50,11 @@ public void actionPerformed(final ActionEvent e) {
5550
public void set(final WidgetModel model) {
5651
super.set(model);
5752

58-
// get required class from style attribute
59-
String style = model.getItem().getWidgetStyle();
60-
if (style == null) {
61-
style = "java.io.File"; // default to File
62-
}
63-
Class<?> inputType;
64-
try {
65-
inputType = Class.forName(style);
66-
} catch (ClassNotFoundException exc) {
67-
log.warn("Wrong style attribute: ", exc);
68-
inputType = File.class;
69-
}
70-
7153
// create script map
72-
for (ScriptInfo script : scripts.getScripts()) {
73-
Module scriptModule = modules.createModule(script);
74-
for (String inputItem : scriptModule.getInputs().keySet()) {
75-
// TODO consider replacing by isAssignableFrom
76-
if (convert.supports(inputType, script.getInput(inputItem).getType())) {
77-
//if (script.getInput(inputItem).getType().isAssignableFrom(inputType)) {
78-
log.info("Support conversion from " + inputType + " to " + script.getInput(inputItem).getType());
79-
scriptMap.put(script.getMenuPath().getMenuString(), script);
80-
break;
81-
}
54+
for (ScriptInfo script : scriptService.getScripts()) {
55+
List<ModuleItem<?>> compatibleInputs = batchService.batchableInputs(script);
56+
if (!compatibleInputs.isEmpty()) {
57+
scriptMap.put(script.getMenuPath().getMenuString(), script);
8258
}
8359
}
8460

0 commit comments

Comments
 (0)