Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | CLASS zcl_abapgit_password_dialog DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
CLASS-METHODS popup
IMPORTING
!iv_repo_url TYPE string
CHANGING
!cv_user TYPE string
!cv_pass TYPE string
RAISING
zcx_abapgit_exception.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_abapgit_password_dialog IMPLEMENTATION.
METHOD popup.
DATA lx_error TYPE REF TO cx_sy_dyn_call_illegal_form.
DATA li_exit TYPE REF TO zif_abapgit_exit.
li_exit = zcl_abapgit_exit=>get_instance( ).
li_exit->change_password_popup_username(
EXPORTING
iv_repo_url = iv_repo_url
CHANGING
cv_user = cv_user ).
IF zcl_abapgit_ui_factory=>get_frontend_services( )->gui_is_available( ) = abap_true.
TRY.
PERFORM password_popup
IN PROGRAM (sy-cprog)
USING iv_repo_url
CHANGING cv_user cv_pass.
CATCH cx_sy_dyn_call_illegal_form INTO lx_error.
" abapGit was called via API and either wrong or no username/password
" was supplied. It's not possible to call abapGit password popup in
" this case.
" See https://docs.abapgit.org/development/api.html#online-repository
" on how to provide username/password
zcx_abapgit_exception=>raise_with_text( lx_error ).
ENDTRY.
ELSE.
"Extract user credentials from the environment...
"Class ZCL_ABAPGIT_DEFAULT_AUTH_INFO is part of https://github.com/abapGit/ADT_Backend.
"It stores the credentials of a private repository as long as the session exists.
"Usually this class should belong to abapGit core and a refactoring is recommended.
"As a temporary solution - and to avoid a DYNPRO_SEND_IN_BACKGROUND dump - a generic
"call of the getter methods for username and password is implemented by PR#2635.
TRY.
CALL METHOD ('ZCL_ABAPGIT_DEFAULT_AUTH_INFO')=>('GET_USER')
RECEIVING
rv_user = cv_user.
CATCH cx_root.
RETURN.
ENDTRY.
TRY.
CALL METHOD ('ZCL_ABAPGIT_DEFAULT_AUTH_INFO')=>('GET_PASSWORD')
RECEIVING
rv_password = cv_pass.
CATCH cx_root.
"check if old version with typo in method name exists
TRY.
CALL METHOD ('ZCL_ABAPGIT_DEFAULT_AUTH_INFO')=>('GET_PASSOWORD')
RECEIVING
rv_password = cv_pass.
CATCH cx_root.
RETURN.
ENDTRY.
ENDTRY.
ENDIF.
ENDMETHOD.
ENDCLASS.
|