@Override public T getValue(final Module module) { final Object result; if (isInput()) result = module.getInput(getName()); else if (isOutput()) result = module.getOutput(getName()); else result = null; @SuppressWarnings("unchecked") final T value = (T) result; return value; }
@Override public T getValue(final Module module) { final Object result; if (isInput()) result = module.getInput(getName()); else if (isOutput()) result = module.getOutput(getName()); else result = null; @SuppressWarnings("unchecked") final T value = (T) result; return value; }
final String name = output.getName(); if (module.isOutputResolved(name)) return; if (module.getOutput(name) == null) return; if (!isSimple(module, output)) return; outputs.add(output); final String name = output.getName(); names.addValue(name); values.addValue(module.getOutput(name)); module.resolveOutput(name);
/** 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 that {@link ModuleService#run(ModuleInfo, boolean, Object...)} and * {@link ModuleService#run(Module, boolean, Object...)} intelligently handle * a single-element {@link Object} array consisting of a {@code Map<String, * Object>}. * <p> * This situation can happen e.g. due to Jython choosing the wrong overloaded * {@code run} method. We correct for the issue on our side, for convenience. * </p> */ @Test public void testRunMapHack() throws ModuleException, InterruptedException, ExecutionException { final ModuleInfo info = new FooModuleInfo(); final Object[] inputs = new Object[] { createInputMap() }; final Module m = moduleService.run(info, false, inputs).get(); assertEquals(expectedResult(), m.getOutput("result")); final Module module = info.createModule(); final Module m2 = moduleService.run(module, false, inputs).get(); assertEquals(expectedResult(), m2.getOutput("result")); }
/** Tests {@link ModuleService#run(Module, boolean, Map)}. */ @Test public void testRunModuleMap() throws ModuleException, InterruptedException, ExecutionException { final ModuleInfo info = new FooModuleInfo(); final Module module = info.createModule(); final Module m = moduleService.run(module, false, createInputMap()).get(); assertSame(module, m); 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")); }
private void assertValues(final Module m, final int a, final int b, final int c, final int d, final int e, final int f, final int result) { assertEquals(a, num(m.getInput("a"))); assertEquals(b, num(m.getInput("b"))); assertEquals(c, num(m.getInput("c"))); assertEquals(d, num(m.getInput("d"))); assertEquals(e, num(m.getInput("e"))); assertEquals(f, num(m.getInput("f"))); assertEquals(result, num(m.getOutput("result"))); }