public static SignUserFormDataDto sign_submission()

in src/main/java/com/epam/digital/data/platform/el/juel/SignSubmissionJuelFunction.java [49:72]


  public static SignUserFormDataDto sign_submission(String bpmnElementId) {
    final var execution = getExecution();
    final var variableAccessor = getVariableAccessor();

    var signSubmissionResultObjectName = String
        .format(SIGN_SUBMISSION_OBJ_VAR_NAME_FORMAT, bpmnElementId);
    SignUserFormDataDto storedObject = variableAccessor.getVariable(signSubmissionResultObjectName);
    if (storedObject != null) {
      return storedObject;
    }

    var formData = getFormDataFromStorageWithKey(bpmnElementId, execution);

    var data = formData.map(FormDataWrapperDto::getFormData)
        .map(FormDataDto::getData).map(Spin::JSON).orElse(null);
    var signature = formData.map(FormDataWrapperDto::getFormData)
        .map(FormDataDto::getSignature).orElse(null);
    var signUserFormDataDto = new SignUserFormDataDto(data, signature,
        formData.isEmpty() ? null : formData.get().getStorageKey());

    variableAccessor.removeVariable(signSubmissionResultObjectName);
    variableAccessor.setVariableTransient(signSubmissionResultObjectName, signUserFormDataDto);
    return signUserFormDataDto;
  }