in src/main/java/com/epam/digital/data/platform/bpwebservice/service/StartBpService.java [149:172]
private Map<String, Object> getBusinessProcessInputParameters(
StartBpDto startBpDto,
BusinessProcessProperties bpProperties) {
var bpDefinitionKey = startBpDto.getBusinessProcessDefinitionKey();
log.debug("Getting business process {} input parameters", bpDefinitionKey);
if (Objects.isNull(bpProperties.getStartVars())) {
return Collections.emptyMap();
}
var bpInputParameters = new HashMap<String, Object>();
var requestStartVars = startBpDto.getStartVariables();
bpProperties.getStartVars().forEach(startVar -> {
if (Objects.isNull(requestStartVars) || !requestStartVars.containsKey(startVar)) {
var message = String.format("No such input param %s is defined in request for %s", startVar,
bpDefinitionKey);
log.info(message);
throw new MissedRequiredBusinessProcessInputParameterException(message);
}
bpInputParameters.put(startVar, startBpDto.getStartVariables().get(startVar));
});
log.debug("Founded params for {} - {}", bpDefinitionKey, bpInputParameters);
return Collections.unmodifiableMap(bpInputParameters);
}