Fix user settings containing invalid repo key (#3569)

* Update zcl_abapgit_persistence_user.clas.abap

* Fix dump when last repo is invalid

Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
Marc Bernard 2020-07-01 15:24:33 +02:00 committed by GitHub
parent 961afa37f8
commit 7ce457dc8d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 6 deletions

View File

@ -270,8 +270,19 @@ CLASS ZCL_ABAPGIT_PERSISTENCE_USER IMPLEMENTATION.
METHOD zif_abapgit_persist_user~get_repo_show.
DATA lo_repo TYPE REF TO zcl_abapgit_repo.
rv_key = read( )-repo_show.
" Check if repo exists
TRY.
lo_repo = zcl_abapgit_repo_srv=>get_instance( )->get( rv_key ).
CATCH zcx_abapgit_exception.
" remove invalid key
CLEAR rv_key.
zif_abapgit_persist_user~set_repo_show( rv_key ).
ENDTRY.
ENDMETHOD.

View File

@ -207,14 +207,17 @@ CLASS ZCL_ABAPGIT_GUI_ROUTER IMPLEMENTATION.
IF zcl_abapgit_persist_settings=>get_instance( )->read( )->get_show_default_repo( ) = abap_true.
lv_last_repo_key = zcl_abapgit_persistence_user=>get_instance( )->get_repo_show( ).
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_view_repo
EXPORTING iv_key = lv_last_repo_key.
ev_state = zcl_abapgit_gui=>c_event_state-new_page.
ELSE.
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_main.
ev_state = zcl_abapgit_gui=>c_event_state-new_page.
ENDIF.
IF lv_last_repo_key IS INITIAL.
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_main.
ELSE.
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_view_repo
EXPORTING
iv_key = lv_last_repo_key.
ENDIF.
ev_state = zcl_abapgit_gui=>c_event_state-new_page.
WHEN zif_abapgit_definitions=>c_action-go_repo_overview. " Go Repository overview
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_repo_over.
ev_state = zcl_abapgit_gui=>c_event_state-new_page.