diff --git a/src/main/java/teetime/framework/Analysis.java b/src/main/java/teetime/framework/Analysis.java index 35674e8a3f976c3bacd4e0b0ef941301f2a3336e..4812ea1f950b08b4c3f8a230cf12e6da71c8a870 100644 --- a/src/main/java/teetime/framework/Analysis.java +++ b/src/main/java/teetime/framework/Analysis.java @@ -109,7 +109,7 @@ public final class Analysis<T extends AnalysisConfiguration> implements Uncaught // BETTER validate concurrently private void validateStages() { - final List<Stage> threadableStageJobs = this.configuration.getThreadableStageJobs(); + final Set<Stage> threadableStageJobs = this.configuration.getThreadableStageJobs(); for (Stage stage : threadableStageJobs) { // // portConnectionValidator.validate(stage); // } @@ -134,7 +134,7 @@ public final class Analysis<T extends AnalysisConfiguration> implements Uncaught instantiatePipes(); - final List<Stage> threadableStageJobs = this.configuration.getThreadableStageJobs(); + final Set<Stage> threadableStageJobs = this.configuration.getThreadableStageJobs(); if (threadableStageJobs.isEmpty()) { throw new IllegalStateException("No stage was added using the addThreadableStage(..) method. Add at least one stage."); } @@ -177,7 +177,7 @@ public final class Analysis<T extends AnalysisConfiguration> implements Uncaught } private void instantiatePipes() { - List<Stage> threadableStageJobs = configuration.getThreadableStageJobs(); + Set<Stage> threadableStageJobs = configuration.getThreadableStageJobs(); for (Connection connection : configuration.getConnections()) { if (threadableStageJobs.contains(connection.getTargetPort().getOwningStage())) { if (connection.getCapacity() != 0) { diff --git a/src/main/java/teetime/framework/AnalysisConfiguration.java b/src/main/java/teetime/framework/AnalysisConfiguration.java index c32f2a29a9aa449532a8f0b64bc5ffec28fa83cc..99dd093aab37a289ce7305438293296c8f609c3f 100644 --- a/src/main/java/teetime/framework/AnalysisConfiguration.java +++ b/src/main/java/teetime/framework/AnalysisConfiguration.java @@ -15,8 +15,8 @@ */ package teetime.framework; -import java.util.LinkedList; -import java.util.List; +import java.util.HashSet; +import java.util.Set; import teetime.framework.pipe.IPipe; import teetime.framework.pipe.IPipeFactory; @@ -31,8 +31,8 @@ import teetime.util.Connection; */ public abstract class AnalysisConfiguration { - private final List<Stage> threadableStageJobs = new LinkedList<Stage>(); - private final List<Connection<?>> connections = new LinkedList<Connection<?>>(); + private final Set<Stage> threadableStageJobs = new HashSet<Stage>(); + private final Set<Connection<?>> connections = new HashSet<Connection<?>>(); @SuppressWarnings("deprecation") private static final PipeFactoryRegistry PIPE_FACTORY_REGISTRY = PipeFactoryRegistry.INSTANCE; @@ -50,7 +50,7 @@ public abstract class AnalysisConfiguration { */ private final static IPipeFactory interUnboundedThreadFactory = PIPE_FACTORY_REGISTRY.getPipeFactory(ThreadCommunication.INTER, PipeOrdering.QUEUE_BASED, true); - List<Stage> getThreadableStageJobs() { + Set<Stage> getThreadableStageJobs() { return this.threadableStageJobs; } @@ -180,7 +180,7 @@ public abstract class AnalysisConfiguration { * * @return a list of pairs of Out- and InputPorts, which are connected */ - protected List<Connection<?>> getConnections() { + protected Set<Connection<?>> getConnections() { return connections; }