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)));
}
}
}