diff --git a/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java b/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java index 04dead6..bb93c59 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java @@ -75,7 +75,8 @@ public final class CommandParameters { for (final String string : bools) { booleanArguments.put(string, Boolean.FALSE); } - stringArguments = new ConcurrentHashMap<>(strings.size()); + // Cannot use concurrent because of the null values. + stringArguments = new HashMap<>(strings.size()); for (final String string : strings) { stringArguments.put(string, null); } diff --git a/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommandData.java b/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommandData.java index 8cedf83..91f4f27 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommandData.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommandData.java @@ -87,6 +87,7 @@ import net.bigeon.gclc.manager.ConsoleInput; import net.bigeon.gclc.manager.EmptyInput; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; /** An object to handle standardized command parameters. * @@ -96,9 +97,9 @@ public final class ParametrizedCommandData { /** The boolean parameters mandatory status. */ private final Set boolParams = new HashSet<>(); /** The string parameters mandatory status. */ - private final Map stringParams = new HashMap<>(); + private final Map stringParams = new ConcurrentHashMap<>(); /** The parameters mandatory status. */ - private final Map params = new HashMap<>(); + private final Map params = new ConcurrentHashMap<>(); /** The restriction of provided parameters on execution to declared paramters in * the status maps. */ private final boolean strict; diff --git a/gclc/src/main/java/net/bigeon/gclc/utils/ReadingRunnable.java b/gclc/src/main/java/net/bigeon/gclc/utils/ReadingRunnable.java index c1f81d6..2bef78d 100644 --- a/gclc/src/main/java/net/bigeon/gclc/utils/ReadingRunnable.java +++ b/gclc/src/main/java/net/bigeon/gclc/utils/ReadingRunnable.java @@ -78,6 +78,7 @@ import java.util.ArrayDeque; import java.util.Deque; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -165,7 +166,7 @@ public final class ReadingRunnable implements Runnable { /** The waiting status for a message. */ private boolean waiting; /** The blocker for a given message. */ - private final Map messageBlocker = new HashMap<>(); + private final Map messageBlocker = new ConcurrentHashMap<>(); /** The lock. */ private final Object messageBlockerLock = new Object(); /** The message being delivered. */