From 5829559540d160561d31c107139f0fd4625bfcfe Mon Sep 17 00:00:00 2001 From: Christian Wulf <chw@informatik.uni-kiel.de> Date: Tue, 14 Oct 2014 08:42:18 +0200 Subject: [PATCH] refactored CipherTest; renamed PipeFactory to PipeFactoryRegistry --- .../teetime/framework/pipe/IPipeFactory.java | 4 ++-- .../pipe/OrderedGrowableArrayPipeFactory.java | 4 ++-- ...eFactory.java => PipeFactoryRegistry.java} | 8 +++---- .../pipe/SingleElementPipeFactory.java | 4 ++-- .../framework/pipe/SpScPipeFactory.java | 4 ++-- .../pipe/UnorderedGrowablePipeFactory.java | 4 ++-- .../stage/kieker/Dir2RecordsFilter.java | 8 +++---- .../MethodCallThroughputAnalysis14.java | 8 +++---- .../MethodCallThroughputAnalysis17.java | 4 ++-- .../LoopStageAnalysisConfiguration.java | 8 +++---- .../RecordReaderConfiguration.java | 8 +++---- .../runtime/typeCheck/ConnectionTypeTest.java | 8 +++---- .../examples/cipher/CipherConfiguration.java | 23 ++++++++++--------- .../teetime/examples/cipher/CipherTest.java | 18 ++++++--------- .../tokenizer/TokenizerConfiguration.java | 8 +++---- 15 files changed, 59 insertions(+), 62 deletions(-) rename src/main/java/teetime/framework/pipe/{PipeFactory.java => PipeFactoryRegistry.java} (93%) diff --git a/src/main/java/teetime/framework/pipe/IPipeFactory.java b/src/main/java/teetime/framework/pipe/IPipeFactory.java index 48627dba..8ff43cae 100644 --- a/src/main/java/teetime/framework/pipe/IPipeFactory.java +++ b/src/main/java/teetime/framework/pipe/IPipeFactory.java @@ -2,8 +2,8 @@ package teetime.framework.pipe; import teetime.framework.InputPort; import teetime.framework.OutputPort; -import teetime.framework.pipe.PipeFactory.PipeOrdering; -import teetime.framework.pipe.PipeFactory.ThreadCommunication; +import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering; +import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication; public interface IPipeFactory { diff --git a/src/main/java/teetime/framework/pipe/OrderedGrowableArrayPipeFactory.java b/src/main/java/teetime/framework/pipe/OrderedGrowableArrayPipeFactory.java index 76f17f5d..9142b80e 100644 --- a/src/main/java/teetime/framework/pipe/OrderedGrowableArrayPipeFactory.java +++ b/src/main/java/teetime/framework/pipe/OrderedGrowableArrayPipeFactory.java @@ -2,8 +2,8 @@ package teetime.framework.pipe; import teetime.framework.InputPort; import teetime.framework.OutputPort; -import teetime.framework.pipe.PipeFactory.PipeOrdering; -import teetime.framework.pipe.PipeFactory.ThreadCommunication; +import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering; +import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication; public class OrderedGrowableArrayPipeFactory implements IPipeFactory { diff --git a/src/main/java/teetime/framework/pipe/PipeFactory.java b/src/main/java/teetime/framework/pipe/PipeFactoryRegistry.java similarity index 93% rename from src/main/java/teetime/framework/pipe/PipeFactory.java rename to src/main/java/teetime/framework/pipe/PipeFactoryRegistry.java index fffb32b1..2817b034 100644 --- a/src/main/java/teetime/framework/pipe/PipeFactory.java +++ b/src/main/java/teetime/framework/pipe/PipeFactoryRegistry.java @@ -8,9 +8,9 @@ import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class PipeFactory { +public class PipeFactoryRegistry { - private static final Logger LOGGER = LoggerFactory.getLogger(PipeFactory.class); + private static final Logger LOGGER = LoggerFactory.getLogger(PipeFactoryRegistry.class); public enum ThreadCommunication { INTER, INTRA @@ -30,9 +30,9 @@ public class PipeFactory { private final Map<String, IPipeFactory> pipeFactories = new HashMap<String, IPipeFactory>(); - public static PipeFactory INSTANCE = new PipeFactory(); + public static PipeFactoryRegistry INSTANCE = new PipeFactoryRegistry(); - private PipeFactory() { + private PipeFactoryRegistry() { try { List<IPipeFactory> pipeFactories = PipeFactoryLoader.loadFromFile("conf/pipe-factories.conf"); for (IPipeFactory pipeFactory : pipeFactories) { diff --git a/src/main/java/teetime/framework/pipe/SingleElementPipeFactory.java b/src/main/java/teetime/framework/pipe/SingleElementPipeFactory.java index ee8d3cf4..b51000fa 100644 --- a/src/main/java/teetime/framework/pipe/SingleElementPipeFactory.java +++ b/src/main/java/teetime/framework/pipe/SingleElementPipeFactory.java @@ -2,8 +2,8 @@ package teetime.framework.pipe; import teetime.framework.InputPort; import teetime.framework.OutputPort; -import teetime.framework.pipe.PipeFactory.PipeOrdering; -import teetime.framework.pipe.PipeFactory.ThreadCommunication; +import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering; +import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication; public class SingleElementPipeFactory implements IPipeFactory { diff --git a/src/main/java/teetime/framework/pipe/SpScPipeFactory.java b/src/main/java/teetime/framework/pipe/SpScPipeFactory.java index 25331aa3..745e7971 100644 --- a/src/main/java/teetime/framework/pipe/SpScPipeFactory.java +++ b/src/main/java/teetime/framework/pipe/SpScPipeFactory.java @@ -2,8 +2,8 @@ package teetime.framework.pipe; import teetime.framework.InputPort; import teetime.framework.OutputPort; -import teetime.framework.pipe.PipeFactory.PipeOrdering; -import teetime.framework.pipe.PipeFactory.ThreadCommunication; +import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering; +import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication; public class SpScPipeFactory implements IPipeFactory { diff --git a/src/main/java/teetime/framework/pipe/UnorderedGrowablePipeFactory.java b/src/main/java/teetime/framework/pipe/UnorderedGrowablePipeFactory.java index e18e896d..219d95d7 100644 --- a/src/main/java/teetime/framework/pipe/UnorderedGrowablePipeFactory.java +++ b/src/main/java/teetime/framework/pipe/UnorderedGrowablePipeFactory.java @@ -2,8 +2,8 @@ package teetime.framework.pipe; import teetime.framework.InputPort; import teetime.framework.OutputPort; -import teetime.framework.pipe.PipeFactory.PipeOrdering; -import teetime.framework.pipe.PipeFactory.ThreadCommunication; +import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering; +import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication; public class UnorderedGrowablePipeFactory implements IPipeFactory { diff --git a/src/main/java/teetime/stage/kieker/Dir2RecordsFilter.java b/src/main/java/teetime/stage/kieker/Dir2RecordsFilter.java index eaf453f8..fb413551 100644 --- a/src/main/java/teetime/stage/kieker/Dir2RecordsFilter.java +++ b/src/main/java/teetime/stage/kieker/Dir2RecordsFilter.java @@ -20,10 +20,10 @@ import java.io.File; import teetime.framework.InputPort; import teetime.framework.OutputPort; import teetime.framework.Pipeline; -import teetime.framework.pipe.PipeFactory; +import teetime.framework.pipe.PipeFactoryRegistry; import teetime.framework.pipe.SingleElementPipe; -import teetime.framework.pipe.PipeFactory.PipeOrdering; -import teetime.framework.pipe.PipeFactory.ThreadCommunication; +import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering; +import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication; import teetime.stage.FileExtensionSwitch; import teetime.stage.basic.merger.Merger; import teetime.stage.io.Directory2FilesFilter; @@ -44,7 +44,7 @@ import kieker.common.util.filesystem.FSUtil; */ public class Dir2RecordsFilter extends Pipeline<ClassNameRegistryCreationFilter, Merger<IMonitoringRecord>> { - private final PipeFactory pipeFactory = PipeFactory.INSTANCE; + private final PipeFactoryRegistry pipeFactory = PipeFactoryRegistry.INSTANCE; private ClassNameRegistryRepository classNameRegistryRepository; /** diff --git a/src/performancetest/java/teetime/examples/experiment14/MethodCallThroughputAnalysis14.java b/src/performancetest/java/teetime/examples/experiment14/MethodCallThroughputAnalysis14.java index 3b32e2bd..18b24367 100644 --- a/src/performancetest/java/teetime/examples/experiment14/MethodCallThroughputAnalysis14.java +++ b/src/performancetest/java/teetime/examples/experiment14/MethodCallThroughputAnalysis14.java @@ -22,9 +22,9 @@ import teetime.framework.HeadStage; import teetime.framework.OldAnalysis; import teetime.framework.RunnableStage; import teetime.framework.pipe.IPipeFactory; -import teetime.framework.pipe.PipeFactory; -import teetime.framework.pipe.PipeFactory.PipeOrdering; -import teetime.framework.pipe.PipeFactory.ThreadCommunication; +import teetime.framework.pipe.PipeFactoryRegistry; +import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering; +import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication; import teetime.stage.CollectorSink; import teetime.stage.NoopFilter; import teetime.stage.ObjectProducer; @@ -45,7 +45,7 @@ public class MethodCallThroughputAnalysis14 extends OldAnalysis { private int numNoopFilters; private List<TimestampObject> timestampObjects; private Runnable runnable; - private final PipeFactory pipeFactory = PipeFactory.INSTANCE; + private final PipeFactoryRegistry pipeFactory = PipeFactoryRegistry.INSTANCE; @Override public void init() { diff --git a/src/performancetest/java/teetime/examples/experiment17/MethodCallThroughputAnalysis17.java b/src/performancetest/java/teetime/examples/experiment17/MethodCallThroughputAnalysis17.java index c1954504..bb17e0fb 100644 --- a/src/performancetest/java/teetime/examples/experiment17/MethodCallThroughputAnalysis17.java +++ b/src/performancetest/java/teetime/examples/experiment17/MethodCallThroughputAnalysis17.java @@ -25,7 +25,7 @@ import teetime.framework.RunnableStage; import teetime.framework.StageWithPort; import teetime.framework.pipe.DummyPipe; import teetime.framework.pipe.IPipe; -import teetime.framework.pipe.PipeFactory; +import teetime.framework.pipe.PipeFactoryRegistry; import teetime.framework.pipe.RelayTestPipe; import teetime.framework.pipe.UnorderedGrowablePipe; import teetime.framework.signal.TerminatingSignal; @@ -54,7 +54,7 @@ public class MethodCallThroughputAnalysis17 extends OldAnalysis { private ConstructorClosure<TimestampObject> inputObjectCreator; private int numNoopFilters; - private final PipeFactory pipeFactory = PipeFactory.INSTANCE; + private final PipeFactoryRegistry pipeFactory = PipeFactoryRegistry.INSTANCE; private final List<List<TimestampObject>> timestampObjectsList = new LinkedList<List<TimestampObject>>(); private Thread producerThread; diff --git a/src/performancetest/java/teetime/examples/loopStage/LoopStageAnalysisConfiguration.java b/src/performancetest/java/teetime/examples/loopStage/LoopStageAnalysisConfiguration.java index 348fca73..33e262c8 100644 --- a/src/performancetest/java/teetime/examples/loopStage/LoopStageAnalysisConfiguration.java +++ b/src/performancetest/java/teetime/examples/loopStage/LoopStageAnalysisConfiguration.java @@ -2,15 +2,15 @@ package teetime.examples.loopStage; import teetime.framework.AnalysisConfiguration; import teetime.framework.pipe.IPipeFactory; -import teetime.framework.pipe.PipeFactory; -import teetime.framework.pipe.PipeFactory.PipeOrdering; -import teetime.framework.pipe.PipeFactory.ThreadCommunication; +import teetime.framework.pipe.PipeFactoryRegistry; +import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering; +import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication; import teetime.examples.loopStage.Countdown; public class LoopStageAnalysisConfiguration extends AnalysisConfiguration { - private final PipeFactory pipeFactory = PipeFactory.INSTANCE; + private final PipeFactoryRegistry pipeFactory = PipeFactoryRegistry.INSTANCE; public LoopStageAnalysisConfiguration() { Countdown countdown = new Countdown(10); diff --git a/src/performancetest/java/teetime/examples/recordReader/RecordReaderConfiguration.java b/src/performancetest/java/teetime/examples/recordReader/RecordReaderConfiguration.java index cbcae8ca..e84ce2a1 100644 --- a/src/performancetest/java/teetime/examples/recordReader/RecordReaderConfiguration.java +++ b/src/performancetest/java/teetime/examples/recordReader/RecordReaderConfiguration.java @@ -21,9 +21,9 @@ import java.util.List; import teetime.framework.AnalysisConfiguration; import teetime.framework.HeadStage; -import teetime.framework.pipe.PipeFactory; -import teetime.framework.pipe.PipeFactory.PipeOrdering; -import teetime.framework.pipe.PipeFactory.ThreadCommunication; +import teetime.framework.pipe.PipeFactoryRegistry; +import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering; +import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication; import teetime.stage.CollectorSink; import teetime.stage.InitialElementProducer; import teetime.stage.kieker.Dir2RecordsFilter; @@ -39,7 +39,7 @@ import kieker.common.record.IMonitoringRecord; public class RecordReaderConfiguration extends AnalysisConfiguration { private final List<IMonitoringRecord> elementCollection = new LinkedList<IMonitoringRecord>(); - private final PipeFactory pipeFactory = PipeFactory.INSTANCE; + private final PipeFactoryRegistry pipeFactory = PipeFactoryRegistry.INSTANCE; public RecordReaderConfiguration() { this.buildConfiguration(); diff --git a/src/performancetest/java/teetime/runtime/typeCheck/ConnectionTypeTest.java b/src/performancetest/java/teetime/runtime/typeCheck/ConnectionTypeTest.java index 3caa3cf5..6b92dbf3 100644 --- a/src/performancetest/java/teetime/runtime/typeCheck/ConnectionTypeTest.java +++ b/src/performancetest/java/teetime/runtime/typeCheck/ConnectionTypeTest.java @@ -9,9 +9,9 @@ import java.lang.reflect.InvocationTargetException; import org.junit.Test; import teetime.framework.pipe.IPipeFactory; -import teetime.framework.pipe.PipeFactory; -import teetime.framework.pipe.PipeFactory.PipeOrdering; -import teetime.framework.pipe.PipeFactory.ThreadCommunication; +import teetime.framework.pipe.PipeFactoryRegistry; +import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering; +import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication; import teetime.stage.ObjectProducer; import teetime.stage.PortTypeConfiguration; import teetime.stage.StartTimestampFilter; @@ -22,7 +22,7 @@ import teetime.util.TimestampObject; public class ConnectionTypeTest { - private final PipeFactory pipeFactory = PipeFactory.INSTANCE; + private final PipeFactoryRegistry pipeFactory = PipeFactoryRegistry.INSTANCE; // tests for load-time validation diff --git a/src/test/java/teetime/examples/cipher/CipherConfiguration.java b/src/test/java/teetime/examples/cipher/CipherConfiguration.java index 54fef5a3..c34d4aac 100644 --- a/src/test/java/teetime/examples/cipher/CipherConfiguration.java +++ b/src/test/java/teetime/examples/cipher/CipherConfiguration.java @@ -3,20 +3,21 @@ package teetime.examples.cipher; import java.io.File; import teetime.framework.AnalysisConfiguration; -import teetime.framework.pipe.PipeFactory; -import teetime.framework.pipe.PipeFactory.PipeOrdering; -import teetime.framework.pipe.PipeFactory.ThreadCommunication; +import teetime.framework.pipe.PipeFactoryRegistry; +import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering; +import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication; import teetime.stage.CipherByteArray; +import teetime.stage.CipherByteArray.CipherMode; import teetime.stage.InitialElementProducer; import teetime.stage.ZipByteArray; -import teetime.stage.CipherByteArray.CipherMode; import teetime.stage.ZipByteArray.ZipMode; import teetime.stage.io.ByteArrayFileWriter; import teetime.stage.io.File2ByteArray; public class CipherConfiguration extends AnalysisConfiguration { - private final PipeFactory pipeFactory = PipeFactory.INSTANCE; + private static final PipeFactoryRegistry pipeFactoryRegistry = PipeFactoryRegistry.INSTANCE; + private final File input, output; private final String password; @@ -33,17 +34,17 @@ public class CipherConfiguration extends AnalysisConfiguration { CipherByteArray decrypt = new CipherByteArray(this.password, CipherMode.DECRYPT); ByteArrayFileWriter writer = new ByteArrayFileWriter(output); - this.pipeFactory.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false) + pipeFactoryRegistry.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false) .create(init.getOutputPort(), f2b.getInputPort()); - this.pipeFactory.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false) + pipeFactoryRegistry.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false) .create(f2b.getOutputPort(), enc.getInputPort()); - this.pipeFactory.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false) + pipeFactoryRegistry.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false) .create(enc.getOutputPort(), comp.getInputPort()); - this.pipeFactory.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false) + pipeFactoryRegistry.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false) .create(comp.getOutputPort(), decomp.getInputPort()); - this.pipeFactory.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false) + pipeFactoryRegistry.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false) .create(decomp.getOutputPort(), decrypt.getInputPort()); - this.pipeFactory.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false) + pipeFactoryRegistry.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false) .create(decrypt.getOutputPort(), writer.getInputPort()); this.getFiniteProducerStages().add(init); diff --git a/src/test/java/teetime/examples/cipher/CipherTest.java b/src/test/java/teetime/examples/cipher/CipherTest.java index be4c3b50..2607b032 100644 --- a/src/test/java/teetime/examples/cipher/CipherTest.java +++ b/src/test/java/teetime/examples/cipher/CipherTest.java @@ -13,21 +13,17 @@ import com.google.common.io.Files; public class CipherTest { - static String inputFile = "src/test/resources/data/input.txt"; - static String outputFile = "src/test/resources/data/output.txt"; - static String password = "Password"; - static long start; - long stop; - - static AnalysisConfiguration configuration = new CipherConfiguration(inputFile, outputFile, password); - - final static Analysis analysis = new Analysis(configuration); - @Test public void executeTest() throws IOException { + final String inputFile = "src/test/resources/data/input.txt"; + final String outputFile = "src/test/resources/data/output.txt"; + final String password = "Password"; + + AnalysisConfiguration configuration = new CipherConfiguration(inputFile, outputFile, password); + Analysis analysis = new Analysis(configuration); analysis.init(); - start = System.currentTimeMillis(); analysis.start(); + Assert.assertTrue(Files.equal(new File(inputFile), new File(outputFile))); } diff --git a/src/test/java/teetime/examples/tokenizer/TokenizerConfiguration.java b/src/test/java/teetime/examples/tokenizer/TokenizerConfiguration.java index 7ae1bb77..2d333cf8 100644 --- a/src/test/java/teetime/examples/tokenizer/TokenizerConfiguration.java +++ b/src/test/java/teetime/examples/tokenizer/TokenizerConfiguration.java @@ -3,9 +3,9 @@ package teetime.examples.tokenizer; import java.io.File; import teetime.framework.AnalysisConfiguration; -import teetime.framework.pipe.PipeFactory; -import teetime.framework.pipe.PipeFactory.PipeOrdering; -import teetime.framework.pipe.PipeFactory.ThreadCommunication; +import teetime.framework.pipe.PipeFactoryRegistry; +import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering; +import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication; import teetime.stage.ByteArray2String; import teetime.stage.CipherByteArray; import teetime.stage.CipherByteArray.CipherMode; @@ -18,7 +18,7 @@ import teetime.stage.io.File2ByteArray; public class TokenizerConfiguration extends AnalysisConfiguration { - private final PipeFactory pipeFactory = PipeFactory.INSTANCE; + private final PipeFactoryRegistry pipeFactory = PipeFactoryRegistry.INSTANCE; private final File input; private final String password; private final TokenCounter counter; -- GitLab