diff --git a/src/main/java/teetime/framework/Execution.java b/src/main/java/teetime/framework/Execution.java index f0242ad11fba4272589e13aca3838177da4b41ff..53e733e3f86ef5bc7b19c573ea894293a53e2478 100644 --- a/src/main/java/teetime/framework/Execution.java +++ b/src/main/java/teetime/framework/Execution.java @@ -22,6 +22,9 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import teetime.framework.signal.ValidatingSignal; import teetime.framework.validation.AnalysisNotValidException; @@ -41,7 +44,7 @@ import teetime.framework.validation.AnalysisNotValidException; */ public final class Execution<T extends Configuration> { - // private static final Logger LOGGER = LoggerFactory.getLogger(Execution.class); + private static final Logger LOGGER = LoggerFactory.getLogger(Execution.class); private final T configuration; private final ConfigurationContext configurationContext; @@ -177,13 +180,11 @@ public final class Execution<T extends Configuration> { instances.add((Configuration) obj); } } catch (ClassNotFoundException e) { - System.out.println("Could not find class: " + each); + LOGGER.error("Could not find class " + each); } catch (InstantiationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + LOGGER.error("Could not instantiate class " + each, e); } catch (IllegalAccessException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + LOGGER.error("IllegalAccessException arised while instantiating class " + each, e); } } return instances; diff --git a/src/test/java/teetime/framework/RunnerConfig.java b/src/test/java/teetime/framework/RunnerConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..b61674a7224c7efad31f23fa16fe4ecf36db8166 --- /dev/null +++ b/src/test/java/teetime/framework/RunnerConfig.java @@ -0,0 +1,22 @@ +package teetime.framework; + +import teetime.stage.InitialElementProducer; + +public class RunnerConfig extends Configuration { + + public static boolean executed = false; + + public RunnerConfig() { + connectPorts(new InitialElementProducer<Object>(new Object()).getOutputPort(), new StaticSetter().getInputPort()); + } + + private class StaticSetter extends AbstractConsumerStage<Object> { + + @Override + protected void execute(final Object element) { + executed = true; + } + + } + +} diff --git a/src/test/java/teetime/framework/RunnerTest.java b/src/test/java/teetime/framework/RunnerTest.java index 3b5f45c1d743537221efc513be259e30e90d4cbf..f3c1f96f48c28e989f27747b904927d7fa4370d2 100644 --- a/src/test/java/teetime/framework/RunnerTest.java +++ b/src/test/java/teetime/framework/RunnerTest.java @@ -1,12 +1,17 @@ package teetime.framework; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + import org.junit.Test; public class RunnerTest { @Test public void test() { - Execution.main(new String[] { "teetime.framework.CompositeProducerConfig" }); + assertFalse(RunnerConfig.executed); + Execution.main(new String[] { "teetime.framework.RunnerConfig" }); + assertTrue(RunnerConfig.executed); } }