From 4e831d10f3d62eb4e0e79fe805f04850acf0ec57 Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Fri, 15 Dec 2023 07:53:05 +0100 Subject: [PATCH] new pull page: bugfix pull deletions (#6702) --- .../pages/zcl_abapgit_gui_page_pull.clas.abap | 6 ++--- .../zcl_abapgit_services_repo.clas.abap | 26 ++++++++++++++----- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/ui/pages/zcl_abapgit_gui_page_pull.clas.abap b/src/ui/pages/zcl_abapgit_gui_page_pull.clas.abap index 3975bb042..f2ad0601d 100644 --- a/src/ui/pages/zcl_abapgit_gui_page_pull.clas.abap +++ b/src/ui/pages/zcl_abapgit_gui_page_pull.clas.abap @@ -165,7 +165,6 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_PULL IMPLEMENTATION. METHOD zif_abapgit_gui_event_handler~on_event. - DATA lo_log TYPE REF TO zcl_abapgit_log. DATA lv_value TYPE string. FIELD-SYMBOLS LIKE LINE OF ms_checks-overwrite. @@ -192,10 +191,9 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_PULL IMPLEMENTATION. ENDLOOP. * todo, show log? - CREATE OBJECT lo_log. - mo_repo->deserialize( + zcl_abapgit_services_repo=>real_deserialize( is_checks = ms_checks - ii_log = lo_log ). + io_repo = mo_repo ). rs_handled-state = zcl_abapgit_gui=>c_event_state-go_back. ENDCASE. diff --git a/src/ui/routing/zcl_abapgit_services_repo.clas.abap b/src/ui/routing/zcl_abapgit_services_repo.clas.abap index 8873ffef9..6a0db0e83 100644 --- a/src/ui/routing/zcl_abapgit_services_repo.clas.abap +++ b/src/ui/routing/zcl_abapgit_services_repo.clas.abap @@ -57,6 +57,12 @@ CLASS zcl_abapgit_services_repo DEFINITION !io_repo TYPE REF TO zcl_abapgit_repo RAISING zcx_abapgit_exception . + CLASS-METHODS real_deserialize + IMPORTING + !io_repo TYPE REF TO zcl_abapgit_repo + !is_checks TYPE zif_abapgit_definitions=>ty_deserialize_checks + RAISING + zcx_abapgit_exception . CLASS-METHODS activate_objects IMPORTING !iv_key TYPE zif_abapgit_persistence=>ty_repo-key @@ -321,10 +327,7 @@ CLASS zcl_abapgit_services_repo IMPLEMENTATION. METHOD gui_deserialize. - DATA: - lv_msg TYPE string, - ls_checks TYPE zif_abapgit_definitions=>ty_deserialize_checks, - li_log TYPE REF TO zif_abapgit_log. + DATA ls_checks TYPE zif_abapgit_definitions=>ty_deserialize_checks. " find troublesome objects ls_checks = io_repo->deserialize_checks( ). @@ -346,17 +349,28 @@ CLASS zcl_abapgit_services_repo IMPLEMENTATION. RETURN. ENDTRY. + real_deserialize( + io_repo = io_repo + is_checks = ls_checks ). + + ENDMETHOD. + + METHOD real_deserialize. + + DATA li_log TYPE REF TO zif_abapgit_log. + DATA lv_msg TYPE string. + li_log = io_repo->create_new_log( 'Pull Log' ). " pass decisions to delete delete_unnecessary_objects( io_repo = io_repo - is_checks = ls_checks + is_checks = is_checks ii_log = li_log ). " pass decisions to deserialize io_repo->deserialize( - is_checks = ls_checks + is_checks = is_checks ii_log = li_log ). IF li_log->get_status( ) = zif_abapgit_log=>c_status-ok.