From c643bbc8d11626d2609d622c9d0893c3ea43d9de Mon Sep 17 00:00:00 2001 From: Benedict Elliott Smith Date: Wed, 11 Feb 2015 16:11:38 +0000 Subject: [PATCH] ninja fix whitespace parsing in cassandra-stress patch by benedict; reviewed by jake for CASSANDRA-8648 --- .../stress/settings/StressSettings.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tools/stress/src/org/apache/cassandra/stress/settings/StressSettings.java b/tools/stress/src/org/apache/cassandra/stress/settings/StressSettings.java index 6d2f7ea02f..de0f6f6245 100644 --- a/tools/stress/src/org/apache/cassandra/stress/settings/StressSettings.java +++ b/tools/stress/src/org/apache/cassandra/stress/settings/StressSettings.java @@ -211,6 +211,7 @@ public class StressSettings implements Serializable { try { + args = repairParams(args); final Map clArgs = parseMap(args); if (clArgs.containsKey("legacy")) return Legacy.build(Arrays.copyOfRange(args, 1, args.length)); @@ -226,6 +227,23 @@ public class StressSettings implements Serializable } } + private static String[] repairParams(String[] args) + { + StringBuilder sb = new StringBuilder(); + boolean first = true; + for (String arg : args) + { + if (!first) + sb.append(" "); + sb.append(arg); + first = false; + } + return sb.toString() + .replaceAll("\s+([,=()])", "$1") + .replaceAll("([,=(])\s+", "$1") + .split(" +"); + } + public static StressSettings get(Map clArgs) { SettingsCommand command = SettingsCommand.get(clArgs);