Program: 62123
Project: 62123
Buggy source:
@Override public void process(Topology topology,FlowExecutionContext context){
  EnvironmentContext environmentContext=context.getEnvironmentContext().orElseThrow(() -> new IllegalArgumentException("String_Node_Str"));
  ApplicationEnvironment environment=environmentContext.getEnvironment();
  Map<String,Location> locations=(Map<String,Location>)context.getExecutionCache().get(FlowExecutionContext.DEPLOYMENT_LOCATIONS_MAP_CACHE_KEY);
  AlienContextVariables alienContextVariables=new AlienContextVariables();
  alienContextVariables.setApplicationEnvironment(environment);
  alienContextVariables.setLocation(locations.values().stream().findFirst().get());
  alienContextVariables.setApplication(environmentContext.getApplication());
  Properties appVarProps=quickFileStorageService.loadApplicationVariables(environmentContext.getApplication().getId());
  Properties envTypeVarProps=quickFileStorageService.loadEnvironmentTypeVariables(topology.getId(),environment.getEnvironmentType());
  Properties envVarProps=quickFileStorageService.loadEnvironmentVariables(topology.getId(),environment.getId());
  Map<String,Object> inputsMappingsMap=quickFileStorageService.loadInputsMappingFile(topology.getId());
  InputsMappingFileVariableResolver.InputsResolvingResult inputsResolvingResult=InputsMappingFileVariableResolver.configure(appVarProps,envTypeVarProps,envVarProps,alienContextVariables).resolve(inputsMappingsMap,topology.getInputs());
  if (CollectionUtils.isNotEmpty(inputsResolvingResult.getMissingVariables())) {
    context.log().error(new MissingVariablesTask(inputsResolvingResult.getMissingVariables()));
  }
  if (CollectionUtils.isNotEmpty(inputsResolvingResult.getUnresolved())) {
    context.log().error(new UnresolvablePredefinedInputsTask(inputsResolvingResult.getUnresolved()));
  }
  Map<String,ConstraintUtil.ConstraintInformation> violations=Maps.newHashMap();
  Map<String,ConstraintUtil.ConstraintInformation> typesViolations=Maps.newHashMap();
  for (  Map.Entry<String,PropertyValue> entry : safe(inputsResolvingResult.getResolved()).entrySet()) {
    try {
      ConstraintPropertyService.checkPropertyConstraint(entry.getKey(),entry.getValue(),topology.getInputs().get(entry.getKey()));
    }
 catch (    ConstraintViolationException e) {
      violations.put(entry.getKey(),e.getConstraintInformation());
    }
catch (    ConstraintValueDoNotMatchPropertyTypeException e) {
      typesViolations.put(entry.getKey(),e.getConstraintInformation());
    }
  }
  if (MapUtils.isNotEmpty(violations)) {
    context.log().error(new PredefinedInputsConstraintViolationTask(violations,TaskCode.PREDEFINED_INPUTS_CONSTRAINT_VIOLATION));
  }
  if (MapUtils.isNotEmpty(typesViolations)) {
    context.log().error(new PredefinedInputsConstraintViolationTask(typesViolations,TaskCode.PREDEFINED_INPUTS_TYPE_VIOLATION));
  }
  PreconfiguredInputsConfiguration preconfiguredInputsConfiguration=new PreconfiguredInputsConfiguration(environment.getTopologyVersion(),environment.getId());
  preconfiguredInputsConfiguration.setInputs(inputsResolvingResult.getResolved());
  inputsResolvingResult.getUnresolved().forEach(unresolved -> preconfiguredInputsConfiguration.getInputs().put(unresolved,null));
  preconfiguredInputsConfiguration.setLastUpdateDate(new Date());
  preconfiguredInputsConfiguration.setCreationDate(new Date());
  context.saveConfiguration(preconfiguredInputsConfiguration);
}

Fixed version (ground truth):
@Override public void process(Topology topology,FlowExecutionContext context){
  EnvironmentContext environmentContext=context.getEnvironmentContext().orElseThrow(() -> new IllegalArgumentException("String_Node_Str"));
  ApplicationEnvironment environment=environmentContext.getEnvironment();
  Map<String,Location> locations=(Map<String,Location>)context.getExecutionCache().get(FlowExecutionContext.DEPLOYMENT_LOCATIONS_MAP_CACHE_KEY);
  AlienContextVariables alienContextVariables=new AlienContextVariables();
  alienContextVariables.setApplicationEnvironment(environment);
  alienContextVariables.setLocation(locations.values().stream().findFirst().get());
  alienContextVariables.setApplication(environmentContext.getApplication());
  Properties appVarProps=quickFileStorageService.loadApplicationVariables(environmentContext.getApplication().getId());
  Properties envTypeVarProps=quickFileStorageService.loadEnvironmentTypeVariables(topology.getId(),environment.getEnvironmentType());
  Properties envVarProps=quickFileStorageService.loadEnvironmentVariables(topology.getId(),environment.getId());
  Map<String,Object> inputsMappingsMap=quickFileStorageService.loadInputsMappingFile(topology.getId());
  InputsMappingFileVariableResolver.InputsResolvingResult inputsResolvingResult=InputsMappingFileVariableResolver.configure(appVarProps,envTypeVarProps,envVarProps,alienContextVariables).resolve(inputsMappingsMap,topology.getInputs());
  if (CollectionUtils.isNotEmpty(inputsResolvingResult.getMissingVariables())) {
    context.log().error(new MissingVariablesTask(inputsResolvingResult.getMissingVariables()));
  }
  if (CollectionUtils.isNotEmpty(inputsResolvingResult.getUnresolved())) {
    context.log().error(new UnresolvablePredefinedInputsTask(inputsResolvingResult.getUnresolved()));
  }
  Map<String,ConstraintUtil.ConstraintInformation> violations=Maps.newHashMap();
  Map<String,ConstraintUtil.ConstraintInformation> typesViolations=Maps.newHashMap();
  for (  Map.Entry<String,PropertyValue> entry : safe(inputsResolvingResult.getResolved()).entrySet()) {
    try {
      ConstraintPropertyService.checkPropertyConstraint(entry.getKey(),entry.getValue(),topology.getInputs().get(entry.getKey()));
    }
 catch (    ConstraintViolationException e) {
      violations.put(entry.getKey(),getConstraintInformation(e.getMessage(),e.getConstraintInformation()));
    }
catch (    ConstraintValueDoNotMatchPropertyTypeException e) {
      typesViolations.put(entry.getKey(),getConstraintInformation(e.getMessage(),e.getConstraintInformation()));
    }
  }
  if (MapUtils.isNotEmpty(violations)) {
    context.log().error(new PredefinedInputsConstraintViolationTask(violations,TaskCode.PREDEFINED_INPUTS_CONSTRAINT_VIOLATION));
  }
  if (MapUtils.isNotEmpty(typesViolations)) {
    context.log().error(new PredefinedInputsConstraintViolationTask(typesViolations,TaskCode.PREDEFINED_INPUTS_TYPE_VIOLATION));
  }
  PreconfiguredInputsConfiguration preconfiguredInputsConfiguration=new PreconfiguredInputsConfiguration(environment.getTopologyVersion(),environment.getId());
  preconfiguredInputsConfiguration.setInputs(inputsResolvingResult.getResolved());
  inputsResolvingResult.getUnresolved().forEach(unresolved -> preconfiguredInputsConfiguration.getInputs().put(unresolved,null));
  preconfiguredInputsConfiguration.setLastUpdateDate(new Date());
  preconfiguredInputsConfiguration.setCreationDate(new Date());
  context.saveConfiguration(preconfiguredInputsConfiguration);
}