@Test public void testSplitKeyValues() { Map<String, String> map = StringHelper.getKeyValues(null, "&"); assertEquals(0, map.size()); map = StringHelper.getKeyValues("name=horst", "&"); assertEquals(1, map.size()); assertEquals("horst", map.get("name")); map = StringHelper.getKeyValues("name=horst&param=value", "&"); assertEquals(2, map.size()); assertEquals("horst", map.get("name")); assertEquals("value", map.get("param")); map = StringHelper.getKeyValues("name=&param=value&empty=", "&"); assertEquals(1, map.size()); assertEquals("value", map.get("param")); }
public static Map<String, String> getKeyValues(final String keyValues, final String delimiter) { final Map<String, String> map = new HashMap<>(); if (keyValues == null) { return map; } final StringTokenizer tokenizer = new StringTokenizer(keyValues, delimiter); while (tokenizer.hasMoreTokens()) { final String token = tokenizer.nextToken(); final int pos = token.indexOf('='); if (pos <= 0) { log.error( "Bad request, decrypted parameter is not from type key=value: " + token + ". String was: " + keyValues); return null; } final String key = token.substring(0, pos); String value; if (pos == token.length() - 1) { continue; } value = token.substring(pos + 1); map.put(key, value); } return map; }
StringHelper { public static Map<String, String> getKeyValues(final String keyValues, final String delimiter) { final Map<String, String> map = new HashMap<>(); if (keyValues == null) { return map; } final StringTokenizer tokenizer = new StringTokenizer(keyValues, delimiter); while (tokenizer.hasMoreTokens()) { final String token = tokenizer.nextToken(); final int pos = token.indexOf('='); if (pos <= 0) { log.error( "Bad request, decrypted parameter is not from type key=value: " + token + ". String was: " + keyValues); return null; } final String key = token.substring(0, pos); String value; if (pos == token.length() - 1) { continue; } value = token.substring(pos + 1); map.put(key, value); } return map; } }
StringHelper { public static Map<String, String> getKeyValues(final String keyValues, final String delimiter) { final Map<String, String> map = new HashMap<>(); if (keyValues == null) { return map; } final StringTokenizer tokenizer = new StringTokenizer(keyValues, delimiter); while (tokenizer.hasMoreTokens()) { final String token = tokenizer.nextToken(); final int pos = token.indexOf('='); if (pos <= 0) { log.error( "Bad request, decrypted parameter is not from type key=value: " + token + ". String was: " + keyValues); return null; } final String key = token.substring(0, pos); String value; if (pos == token.length() - 1) { continue; } value = token.substring(pos + 1); map.put(key, value); } return map; }  }
StringHelper { public static Map<String, String> getKeyValues(final String keyValues, final String delimiter) { final Map<String, String> map = new HashMap<>(); if (keyValues == null) { return map; } final StringTokenizer tokenizer = new StringTokenizer(keyValues, delimiter); while (tokenizer.hasMoreTokens()) { final String token = tokenizer.nextToken(); final int pos = token.indexOf('='); if (pos <= 0) { log.error( "Bad request, decrypted parameter is not from type key=value: " + token + ". String was: " + keyValues); return null; } final String key = token.substring(0, pos); String value; if (pos == token.length() - 1) { continue; } value = token.substring(pos + 1); map.put(key, value); } return map; }  static boolean append(final StringBuffer buf, final boolean first, final String str, final String delimiter); static boolean append(final StringBuilder sb, final boolean first, final String str, final String delimiter); static int compareTo(final String s1, final String s2); static boolean isIn(final String string, final String... fields); static boolean endsWith(final String str, final String... suffixes); static boolean startsWith(final String str, final String... prefixes); static String listToString(final List<String> list, final String delimiter, final boolean sort); static String colToString(final Collection<String> col, final String delimiter); static String objectColToString(final Collection<?> col, final String delimiter); static String listToString(final String delimiter, final String... strings); static String listToString(final StringBuffer buf, final String delimiter, final String... strings); static String listToString(final String delimiter, final Object... oa); static String doublesToString(final String delimiter, final double... oa); static String listToExpressions(final String delimiter, final String prefix, final String suffix,
      final String... strings); static String[] sortAndUnique(final String[] array); static String dateToSearchString(final Date date); static String format2DigitNumber(final int value); static String format3DigitNumber(final int value); static String removeNonDigits(final String str); static String removeNonDigitsAndNonASCIILetters(final String str); static String abbreviate(final String[] strings, final int[] maxWidth, final int maxTotalLength,
      final String separator); static String removeWhitespaces(final String value); static String getWildcardString(final String... strs); static boolean checkPhoneNumberFormat(final String value); static String hideStringEnding(final String str, final char ch, final int numberOfCharacters); static Integer[] splitToIntegers(final String str, final String delim); static int[] splitToInts(final String str, final String delim); static int[] splitToInts(final String str, final String delim, final boolean ignoreEmptyItems); static String[] splitAndTrim(final String str, final String separatorChars); static boolean isNotBlank(final String... strs); static boolean isBlank(final String... strs); static String asHex(final byte[] buf); static Map<String, String> getKeyValues(final String keyValues, final String delimiter); }
StringHelper { public static Map<String, String> getKeyValues(final String keyValues, final String delimiter) { final Map<String, String> map = new HashMap<>(); if (keyValues == null) { return map; } final StringTokenizer tokenizer = new StringTokenizer(keyValues, delimiter); while (tokenizer.hasMoreTokens()) { final String token = tokenizer.nextToken(); final int pos = token.indexOf('='); if (pos <= 0) { log.error( "Bad request, decrypted parameter is not from type key=value: " + token + ". String was: " + keyValues); return null; } final String key = token.substring(0, pos); String value; if (pos == token.length() - 1) { continue; } value = token.substring(pos + 1); map.put(key, value); } return map; }  static boolean append(final StringBuffer buf, final boolean first, final String str, final String delimiter); static boolean append(final StringBuilder sb, final boolean first, final String str, final String delimiter); static int compareTo(final String s1, final String s2); static boolean isIn(final String string, final String... fields); static boolean endsWith(final String str, final String... suffixes); static boolean startsWith(final String str, final String... prefixes); static String listToString(final List<String> list, final String delimiter, final boolean sort); static String colToString(final Collection<String> col, final String delimiter); static String objectColToString(final Collection<?> col, final String delimiter); static String listToString(final String delimiter, final String... strings); static String listToString(final StringBuffer buf, final String delimiter, final String... strings); static String listToString(final String delimiter, final Object... oa); static String doublesToString(final String delimiter, final double... oa); static String listToExpressions(final String delimiter, final String prefix, final String suffix,
      final String... strings); static String[] sortAndUnique(final String[] array); static String dateToSearchString(final Date date); static String format2DigitNumber(final int value); static String format3DigitNumber(final int value); static String removeNonDigits(final String str); static String removeNonDigitsAndNonASCIILetters(final String str); static String abbreviate(final String[] strings, final int[] maxWidth, final int maxTotalLength,
      final String separator); static String removeWhitespaces(final String value); static String getWildcardString(final String... strs); static boolean checkPhoneNumberFormat(final String value); static String hideStringEnding(final String str, final char ch, final int numberOfCharacters); static Integer[] splitToIntegers(final String str, final String delim); static int[] splitToInts(final String str, final String delim); static int[] splitToInts(final String str, final String delim, final boolean ignoreEmptyItems); static String[] splitAndTrim(final String str, final String separatorChars); static boolean isNotBlank(final String... strs); static boolean isBlank(final String... strs); static String asHex(final byte[] buf); static Map<String, String> getKeyValues(final String keyValues, final String delimiter);  }