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