/** * Executes the module linked to this node. Does nothing for non-leaf nodes. */ @Override public void run() { if (moduleInfo == null) return; // no module to run if (moduleService != null) moduleService.run(moduleInfo, true); }
/** * Executes the module linked to this node. Does nothing for non-leaf nodes. */ @Override public void run() { if (moduleInfo == null) return; // no module to run if (moduleService != null) moduleService.run(moduleInfo, true); }
@Override public Future<ScriptModule> run(final ScriptInfo info, final boolean process, final Object... inputs) { return cast(moduleService.run(info, process, inputs)); }
@Override public Future<CommandModule> run(final CommandInfo info, final boolean process, final Object... inputs) { final Future<Module> future = moduleService.run(info, process, inputs); return validateFuture(future, info); }
@Override public Future<CommandModule> run(final CommandInfo info, final boolean process, final Map<String, Object> inputMap) { final Future<Module> future = moduleService.run(info, process, inputMap); return validateFuture(future, info); }
@Override public Future<ScriptModule> run(final ScriptInfo info, final boolean process, final Map<String, Object> inputMap) { return cast(moduleService.run(info, process, inputMap)); }
@Override public Future<ScriptModule> run(final ScriptInfo info, final boolean process, final Map<String, Object> inputMap) { return cast(moduleService.run(info, process, inputMap)); }
@Override public Future<ScriptModule> run(final ScriptInfo info, final boolean process, final Object... inputs) { return cast(moduleService.run(info, process, inputs)); }
@Override public Future<CommandModule> run(final CommandInfo info, final boolean process, final Object... inputs) { final Future<Module> future = moduleService.run(info, process, inputs); return validateFuture(future, info); }
@Override public Future<CommandModule> run(final CommandInfo info, final boolean process, final Map<String, Object> inputMap) { final Future<Module> future = moduleService.run(info, process, inputMap); return validateFuture(future, info); }
@Override public SearchAction create(final SearchResult result) { return new DefaultSearchAction("Run", // () -> moduleService.run(((ModuleSearchResult) result).info(), true)); } }
@Override public void run(final Object code, final Object... args) throws InvocationTargetException { waitFor(moduleService.run(getModuleInfo(code), true, args)); }
@Override public void run(final Object code, final Map<String, Object> inputMap) throws InvocationTargetException { waitFor(moduleService.run(getModuleInfo(code), true, inputMap)); }
@Override public void run(final Object code, final Map<String, Object> inputMap) throws InvocationTargetException { waitFor(moduleService.run(getModuleInfo(code), true, inputMap)); }
/** <strong>This is not part of the public API. DO NOT USE!</strong> */ boolean handleShortcut(final String accelerator) { final Accelerator acc = Accelerator.create(accelerator); if (acc == null) return false; final ModuleInfo module = moduleService.getModuleForAccelerator(acc); // NB: ImageJ 1.x handles its own keyboard shortcuts. // We need to ignore legacy commands to avoid duplicate execution. // See: https://github.com/imagej/imagej1/issues/50 if (module == null || module instanceof LegacyCommandInfo) return false; moduleService.run(module, true); return true; }
@Override public void run(final Object code, final Object... args) throws InvocationTargetException { waitFor(moduleService.run(getModuleInfo(code), true, args)); }
@Override public SearchAction create(final SearchResult result) { return new DefaultSearchAction("Run", true, // () -> moduleService.run(((OpSearchResult) result).info().cInfo(), true)); } }
/** Tests {@link ModuleService#run(ModuleInfo, boolean, Object...)}. */ @Test public void testRunModuleInfoArray() throws InterruptedException, ExecutionException { final ModuleInfo info = new FooModuleInfo(); final Module m = moduleService.run(info, false, createInputArray()).get(); assertEquals(expectedResult(), m.getOutput("result")); }
/** Tests {@link ModuleService#run(ModuleInfo, boolean, Map)}. */ @Test public void testRunModuleInfoMap() throws InterruptedException, ExecutionException { final ModuleInfo info = new FooModuleInfo(); final Module m = moduleService.run(info, false, createInputMap()).get(); assertEquals(expectedResult(), m.getOutput("result")); }
/** Tests {@link ModuleService#run(Module, boolean, Object...)}. */ @Test public void testRunModuleArray() throws ModuleException, InterruptedException, ExecutionException { final ModuleInfo info = new FooModuleInfo(); final Module module = info.createModule(); final Module m = moduleService.run(module, false, createInputArray()).get(); assertSame(module, m); assertEquals(expectedResult(), m.getOutput("result")); }