amoro-ams/src/main/java/org/apache/amoro/server/utils/StructuredOptionsSplitter.java [117:141]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  private static List<Token> tokenize(String string, char delimiter) {
    final List<Token> tokens = new ArrayList<>();
    final StringBuilder builder = new StringBuilder();
    for (int cursor = 0; cursor < string.length(); ) {
      final char c = string.charAt(cursor);

      int nextChar = cursor + 1;
      if (c == '\'') {
        nextChar = consumeInQuotes(string, '\'', cursor, builder);
        tokens.add(new Token(TokenType.SINGLE_QUOTED, builder.toString(), cursor));
      } else if (c == '"') {
        nextChar = consumeInQuotes(string, '"', cursor, builder);
        tokens.add(new Token(TokenType.DOUBLE_QUOTED, builder.toString(), cursor));
      } else if (c == delimiter) {
        tokens.add(new Token(TokenType.DELIMITER, String.valueOf(c), cursor));
      } else if (!Character.isWhitespace(c)) {
        nextChar = consumeUnquoted(string, delimiter, cursor, builder);
        tokens.add(new Token(TokenType.UNQUOTED, builder.toString().trim(), cursor));
      }
      builder.setLength(0);
      cursor = nextChar;
    }

    return tokens;
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



amoro-common/src/main/java/org/apache/amoro/config/StructuredOptionsSplitter.java [117:141]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  private static List<Token> tokenize(String string, char delimiter) {
    final List<Token> tokens = new ArrayList<>();
    final StringBuilder builder = new StringBuilder();
    for (int cursor = 0; cursor < string.length(); ) {
      final char c = string.charAt(cursor);

      int nextChar = cursor + 1;
      if (c == '\'') {
        nextChar = consumeInQuotes(string, '\'', cursor, builder);
        tokens.add(new Token(TokenType.SINGLE_QUOTED, builder.toString(), cursor));
      } else if (c == '"') {
        nextChar = consumeInQuotes(string, '"', cursor, builder);
        tokens.add(new Token(TokenType.DOUBLE_QUOTED, builder.toString(), cursor));
      } else if (c == delimiter) {
        tokens.add(new Token(TokenType.DELIMITER, String.valueOf(c), cursor));
      } else if (!Character.isWhitespace(c)) {
        nextChar = consumeUnquoted(string, delimiter, cursor, builder);
        tokens.add(new Token(TokenType.UNQUOTED, builder.toString().trim(), cursor));
      }
      builder.setLength(0);
      cursor = nextChar;
    }

    return tokens;
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



