From 31c4ba40d53dd0c9113ed6e831d227d58714a4e0 Mon Sep 17 00:00:00 2001 From: Christian Wulf <chw@informatik.uni-kiel.de> Date: Mon, 8 Dec 2014 14:39:20 +0100 Subject: [PATCH] fixed bug in FileExtensionSwitch --- .../java/teetime/stage/FileExtensionSwitch.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/teetime/stage/FileExtensionSwitch.java b/src/main/java/teetime/stage/FileExtensionSwitch.java index 3824d223..5099b25a 100644 --- a/src/main/java/teetime/stage/FileExtensionSwitch.java +++ b/src/main/java/teetime/stage/FileExtensionSwitch.java @@ -1,17 +1,26 @@ package teetime.stage; import java.io.File; -import java.util.HashMap; import java.util.Map; import teetime.framework.AbstractConsumerStage; import teetime.framework.OutputPort; +import teetime.util.HashMapWithDefault; +import teetime.util.concurrent.hashmap.ValueFactory; import com.google.common.io.Files; public final class FileExtensionSwitch extends AbstractConsumerStage<File> { - private final Map<String, OutputPort<File>> fileExtensions = new HashMap<String, OutputPort<File>>(); + private final OutputPort<File> unknownFileExtensionOutputPort = createOutputPort(); + + // BETTER use the hppc ObjectObjectMap that provide getOrDefault() + private final Map<String, OutputPort<File>> fileExtensions = new HashMapWithDefault<String, OutputPort<File>>(new ValueFactory<OutputPort<File>>() { + @Override + public OutputPort<File> create() { + return unknownFileExtensionOutputPort; + } + }); @Override protected void execute(final File file) { -- GitLab