protected void executeInternal()

in ddm-bpm-extension/src/main/java/com/epam/digital/data/platform/bpms/extension/delegate/connector/keycloak/citizen/KeycloakGetCitizenUsersByAttributesConnectorDelegate.java [65:88]


  protected void executeInternal(DelegateExecution execution) throws Exception {
    var edrpou = edrpouVariable.from(execution).get();
    var drfo = drfoVariable.from(execution).get();
    if (Strings.isNullOrEmpty(edrpou) && Strings.isNullOrEmpty(drfo)) {
      throw new IllegalArgumentException(
          String.format("Edrpou or drfo wasn't specified for %s delegate in process with id %s",
              DELEGATE_NAME, execution.getProcessDefinitionId()));
    }
    var searchUsersQueryBuilder = SearchUserQuery.builder();

    if (!Strings.isNullOrEmpty(edrpou)) {
      searchUsersQueryBuilder.edrpou(edrpou);
    }
    if (!Strings.isNullOrEmpty(drfo)) {
      searchUsersQueryBuilder.drfo(drfo);
    }

    var usernames = idmService.searchUsers(searchUsersQueryBuilder.build())
        .stream()
        .map(IdmUser::getUserName)
        .collect(Collectors.toList());

    usersByAttributeVariable.on(execution).set(usernames);
  }