package com.sequenceiq.cloudbreak.shell.util; import java.util.HashMap; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; public class TagParser { private TagParser() { } public static Map<String, String> parseTagsIntoMap(String tagString) { try { if (tagString == null || "".equals(tagString)) { return new HashMap<>(); } return Stream.of(tagString.split(",")).map(kv -> kv.split("=")).collect(Collectors.toMap(kv -> kv[0].trim(), kv -> kv[1].trim())); } catch (ArrayIndexOutOfBoundsException e) { throw new IllegalArgumentException("Tags couldn't be parsed. Please use the proper format 'key1=value1,key2=value2'"); } } }