@Test public void testParseKeyIllegalArgumentException2() { thrown.expect(IllegalArgumentException.class); GroupKey.parseKey("f%oo"); }
public static String[] parseKey(String groupKey) { StringBuilder sb = new StringBuilder(); String dataId = null; String group = null; String tenant = null; for (int i = 0; i < groupKey.length(); ++i) { char c = groupKey.charAt(i); if ('+' == c) { if (null == dataId) { dataId = sb.toString(); sb.setLength(0); } else if (null == group) { group = sb.toString(); sb.setLength(0); } else { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else if ('%' == c) { char next = groupKey.charAt(++i); char nextnext = groupKey.charAt(++i); if ('2' == next && 'B' == nextnext) { sb.append('+'); } else if ('2' == next && '5' == nextnext) { sb.append('%'); } else { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else { sb.append(c); } } if (StringUtils.isBlank(group)) { group = sb.toString(); if (group.length() == 0) { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else { tenant = sb.toString(); if (group.length() == 0) { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } return new String[] {dataId, group, tenant}; }
GroupKey { public static String[] parseKey(String groupKey) { StringBuilder sb = new StringBuilder(); String dataId = null; String group = null; String tenant = null; for (int i = 0; i < groupKey.length(); ++i) { char c = groupKey.charAt(i); if ('+' == c) { if (null == dataId) { dataId = sb.toString(); sb.setLength(0); } else if (null == group) { group = sb.toString(); sb.setLength(0); } else { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else if ('%' == c) { char next = groupKey.charAt(++i); char nextnext = groupKey.charAt(++i); if ('2' == next && 'B' == nextnext) { sb.append('+'); } else if ('2' == next && '5' == nextnext) { sb.append('%'); } else { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else { sb.append(c); } } if (StringUtils.isBlank(group)) { group = sb.toString(); if (group.length() == 0) { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else { tenant = sb.toString(); if (group.length() == 0) { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } return new String[] {dataId, group, tenant}; } }
GroupKey { public static String[] parseKey(String groupKey) { StringBuilder sb = new StringBuilder(); String dataId = null; String group = null; String tenant = null; for (int i = 0; i < groupKey.length(); ++i) { char c = groupKey.charAt(i); if ('+' == c) { if (null == dataId) { dataId = sb.toString(); sb.setLength(0); } else if (null == group) { group = sb.toString(); sb.setLength(0); } else { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else if ('%' == c) { char next = groupKey.charAt(++i); char nextnext = groupKey.charAt(++i); if ('2' == next && 'B' == nextnext) { sb.append('+'); } else if ('2' == next && '5' == nextnext) { sb.append('%'); } else { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else { sb.append(c); } } if (StringUtils.isBlank(group)) { group = sb.toString(); if (group.length() == 0) { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else { tenant = sb.toString(); if (group.length() == 0) { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } return new String[] {dataId, group, tenant}; }  }
GroupKey { public static String[] parseKey(String groupKey) { StringBuilder sb = new StringBuilder(); String dataId = null; String group = null; String tenant = null; for (int i = 0; i < groupKey.length(); ++i) { char c = groupKey.charAt(i); if ('+' == c) { if (null == dataId) { dataId = sb.toString(); sb.setLength(0); } else if (null == group) { group = sb.toString(); sb.setLength(0); } else { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else if ('%' == c) { char next = groupKey.charAt(++i); char nextnext = groupKey.charAt(++i); if ('2' == next && 'B' == nextnext) { sb.append('+'); } else if ('2' == next && '5' == nextnext) { sb.append('%'); } else { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else { sb.append(c); } } if (StringUtils.isBlank(group)) { group = sb.toString(); if (group.length() == 0) { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else { tenant = sb.toString(); if (group.length() == 0) { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } return new String[] {dataId, group, tenant}; }  static String getKey(String dataId, String group); static String getKey(String dataId, String group, String datumStr); static String getKeyTenant(String dataId, String group, String tenant); static String[] parseKey(String groupKey); }
GroupKey { public static String[] parseKey(String groupKey) { StringBuilder sb = new StringBuilder(); String dataId = null; String group = null; String tenant = null; for (int i = 0; i < groupKey.length(); ++i) { char c = groupKey.charAt(i); if ('+' == c) { if (null == dataId) { dataId = sb.toString(); sb.setLength(0); } else if (null == group) { group = sb.toString(); sb.setLength(0); } else { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else if ('%' == c) { char next = groupKey.charAt(++i); char nextnext = groupKey.charAt(++i); if ('2' == next && 'B' == nextnext) { sb.append('+'); } else if ('2' == next && '5' == nextnext) { sb.append('%'); } else { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else { sb.append(c); } } if (StringUtils.isBlank(group)) { group = sb.toString(); if (group.length() == 0) { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } else { tenant = sb.toString(); if (group.length() == 0) { throw new IllegalArgumentException("invalid groupkey:" + groupKey); } } return new String[] {dataId, group, tenant}; }  static String getKey(String dataId, String group); static String getKey(String dataId, String group, String datumStr); static String getKeyTenant(String dataId, String group, String tenant); static String[] parseKey(String groupKey);  }