public Map execute()

in ddm-bpm-rest/src/main/java/com/epam/digital/data/platform/bpms/rest/cmd/GetStartFormKeysCmd.java [52:71]


  public Map<String, String> execute(CommandContext commandContext) {
    if (CollectionUtils.isEmpty(processDefinitionIds)) {
      return Collections.emptyMap();
    }
    var processEngineConfiguration = Context.getProcessEngineConfiguration();
    var processEngine = processEngineConfiguration.getProcessEngine();

    var processDefinitionList = processEngine.getRepositoryService().createProcessDefinitionQuery()
        .processDefinitionIdIn(processDefinitionIds.toArray(new String[0]))
        .list();
    log.trace("Found process definitions {}", processDefinitionList);

    var deploymentCache = processEngineConfiguration.getDeploymentCache();

    return processDefinitionList.stream()
        .map(ProcessDefinitionEntity.class::cast)
        .filter(pd -> pd.hasStartFormKey() && isCached(pd, deploymentCache))
        .map(deploymentCache::resolveProcessDefinition)
        .collect(Collectors.toMap(CoreModelElement::getId, this::getStartFormKey));
  }