private void validateJuelFunction()

in src/main/java/com/epam/digital/data/platform/registry/regulation/validation/cli/validator/bpmn/BpmnFileValidator.java [114:134]


  private void validateJuelFunction(String functionName,
      List<Class<?>> modelElementClass, BpmnModelInstance bpmnModel,
      File regulationFile, ValidationContext validationContext, String xmlContent,
      Set<ValidationError> errors) {
    var values = getJuelFunctionsValues(functionName, xmlContent);

    for (var value : values) {
      var valueWithoutQuotes = extractValue(value);
      if (Objects.isNull(valueWithoutQuotes)) {
        log.warn(
            String.format(UNABLE_VALIDATE_JUEL_FUNCTION_MSG_FORMAT, functionName, value));
        continue;
      }
      var element = bpmnModel.getModelElementById(valueWithoutQuotes);
      if (Objects.isNull(element) || modelElementClass.stream()
          .noneMatch(c -> c.isAssignableFrom(element.getClass()))) {
        errors.add(ValidationError.of(validationContext.getRegulationFileType(), regulationFile,
            String.format("Element id %s not found for %s() juel function", value, functionName)));
      }
    }
  }