amoro-ams/src/main/java/org/apache/amoro/server/utils/StructuredOptionsSplitter.java [89:115]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  private static List<String> processTokens(List<Token> tokens) {
    final List<String> splits = new ArrayList<>();
    for (int i = 0; i < tokens.size(); i++) {
      Token token = tokens.get(i);
      switch (token.getTokenType()) {
        case DOUBLE_QUOTED:
        case SINGLE_QUOTED:
          if (i + 1 < tokens.size() && tokens.get(i + 1).getTokenType() != TokenType.DELIMITER) {
            int illegalPosition = tokens.get(i + 1).getPosition() - 1;
            throw new IllegalArgumentException(
                "Could not split string. Illegal quoting at position: " + illegalPosition);
          }
          splits.add(token.getString());
          break;
        case UNQUOTED:
          splits.add(token.getString());
          break;
        case DELIMITER:
          if (i + 1 < tokens.size() && tokens.get(i + 1).getTokenType() == TokenType.DELIMITER) {
            splits.add("");
          }
          break;
      }
    }

    return splits;
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



amoro-common/src/main/java/org/apache/amoro/config/StructuredOptionsSplitter.java [89:115]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  private static List<String> processTokens(List<Token> tokens) {
    final List<String> splits = new ArrayList<>();
    for (int i = 0; i < tokens.size(); i++) {
      Token token = tokens.get(i);
      switch (token.getTokenType()) {
        case DOUBLE_QUOTED:
        case SINGLE_QUOTED:
          if (i + 1 < tokens.size() && tokens.get(i + 1).getTokenType() != TokenType.DELIMITER) {
            int illegalPosition = tokens.get(i + 1).getPosition() - 1;
            throw new IllegalArgumentException(
                "Could not split string. Illegal quoting at position: " + illegalPosition);
          }
          splits.add(token.getString());
          break;
        case UNQUOTED:
          splits.add(token.getString());
          break;
        case DELIMITER:
          if (i + 1 < tokens.size() && tokens.get(i + 1).getTokenType() == TokenType.DELIMITER) {
            splits.add("");
          }
          break;
      }
    }

    return splits;
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



