public static List doValidateMapPropertyKeys()

in oas-validator/oas-validator-core/src/main/java/org/apache/servicecomb/toolkit/oasv/validation/util/OasObjectValidatorUtils.java [103:130]


  public static <T> List<OasViolation> doValidateMapPropertyKeys(
    OasObjectPropertyLocation ownerLocation,
    String mapPropertyName,
    Map<String, T> mapProperty,
    Predicate<String> keyPredicate,
    Function<String, String> errorMessage
  ) {

    if (MapUtils.isEmpty(mapProperty)) {
      return emptyList();
    }

    List<OasViolation> violations = new ArrayList<>();

    for (Map.Entry<String, T> entry : mapProperty.entrySet()) {
      String key = entry.getKey();
      String keyName = mapPropertyName + ".'" + key + "'";

      OasObjectPropertyLocation keyLoc = ownerLocation.property(keyName);

      if (!keyPredicate.test(key)) {
        violations.add(new OasViolation(keyLoc, errorMessage.apply(key)));
      }

    }

    return violations;
  }