log, purge() now returns the log (#4222)

* log, purge() now returns the log

For each action, the log should be returned, then it is up to the UI how or if to show or persist it in the session.

First step of #2821

* li_log not needed anymore
This commit is contained in:
Lars Hvam 2020-11-24 07:58:22 +01:00 committed by GitHub
parent 6bd3242ecf
commit 53790c3770
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 18 deletions

View File

@ -24,7 +24,9 @@ CLASS zcl_abapgit_services_repo DEFINITION
zcx_abapgit_exception . zcx_abapgit_exception .
CLASS-METHODS purge CLASS-METHODS purge
IMPORTING IMPORTING
!iv_key TYPE zif_abapgit_persistence=>ty_repo-key !iv_key TYPE zif_abapgit_persistence=>ty_repo-key
RETURNING
VALUE(ri_log) TYPE REF TO zif_abapgit_log
RAISING RAISING
zcx_abapgit_exception . zcx_abapgit_exception .
CLASS-METHODS new_offline CLASS-METHODS new_offline
@ -91,7 +93,7 @@ ENDCLASS.
CLASS zcl_abapgit_services_repo IMPLEMENTATION. CLASS ZCL_ABAPGIT_SERVICES_REPO IMPLEMENTATION.
METHOD check_package. METHOD check_package.
@ -310,7 +312,6 @@ CLASS zcl_abapgit_services_repo IMPLEMENTATION.
DATA: lt_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt, DATA: lt_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt,
lv_answer TYPE c LENGTH 1, lv_answer TYPE c LENGTH 1,
lo_repo TYPE REF TO zcl_abapgit_repo, lo_repo TYPE REF TO zcl_abapgit_repo,
li_log TYPE REF TO zif_abapgit_log,
lv_package TYPE devclass, lv_package TYPE devclass,
lv_question TYPE c LENGTH 100, lv_question TYPE c LENGTH 100,
ls_checks TYPE zif_abapgit_definitions=>ty_delete_checks, ls_checks TYPE zif_abapgit_definitions=>ty_delete_checks,
@ -351,16 +352,16 @@ CLASS zcl_abapgit_services_repo IMPLEMENTATION.
)->popup_transport_request( ls_checks-transport-type ). )->popup_transport_request( ls_checks-transport-type ).
ENDIF. ENDIF.
zcl_abapgit_repo_srv=>get_instance( )->purge( io_repo = lo_repo ri_log = zcl_abapgit_repo_srv=>get_instance( )->purge(
is_checks = ls_checks io_repo = lo_repo
ii_log = lo_repo->create_new_log( 'Uninstall Log' ) ). is_checks = ls_checks ).
COMMIT WORK. COMMIT WORK.
li_log = lo_repo->get_log( ). IF ri_log IS BOUND AND ri_log->count( ) > 0.
IF li_log IS BOUND AND li_log->count( ) > 0. zcl_abapgit_log_viewer=>show_log(
zcl_abapgit_log_viewer=>show_log( ii_log = li_log ii_log = ri_log
iv_header_text = li_log->get_title( ) ). iv_header_text = ri_log->get_title( ) ).
RETURN. RETURN.
ENDIF. ENDIF.

View File

@ -76,7 +76,7 @@ ENDCLASS.
CLASS zcl_abapgit_repo_srv IMPLEMENTATION. CLASS ZCL_ABAPGIT_REPO_SRV IMPLEMENTATION.
METHOD add. METHOD add.
@ -476,10 +476,14 @@ CLASS zcl_abapgit_repo_srv IMPLEMENTATION.
METHOD zif_abapgit_repo_srv~purge. METHOD zif_abapgit_repo_srv~purge.
* todo, this should be a method on the repo instead * uninstalls all objects, no UI or popups in this class
* todo, this should be a method on the repo instead?
DATA: lt_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt. DATA: lt_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt.
CREATE OBJECT ri_log TYPE zcl_abapgit_log.
ri_log->set_title( 'Uninstall Log' ).
IF io_repo->get_local_settings( )-write_protected = abap_true. IF io_repo->get_local_settings( )-write_protected = abap_true.
zcx_abapgit_exception=>raise( 'Cannot purge. Local code is write-protected by repo config' ). zcx_abapgit_exception=>raise( 'Cannot purge. Local code is write-protected by repo config' ).
@ -491,7 +495,7 @@ CLASS zcl_abapgit_repo_srv IMPLEMENTATION.
zcl_abapgit_objects=>delete( it_tadir = lt_tadir zcl_abapgit_objects=>delete( it_tadir = lt_tadir
is_checks = is_checks is_checks = is_checks
ii_log = ii_log ). ii_log = ri_log ).
delete( io_repo ). delete( io_repo ).

View File

@ -1,8 +1,9 @@
INTERFACE zif_abapgit_repo_srv INTERFACE zif_abapgit_repo_srv
PUBLIC. PUBLIC .
TYPES: TYPES:
ty_repo_list TYPE STANDARD TABLE OF REF TO zcl_abapgit_repo WITH DEFAULT KEY. ty_repo_list TYPE STANDARD TABLE OF REF TO zcl_abapgit_repo WITH DEFAULT KEY .
METHODS delete METHODS delete
IMPORTING IMPORTING
@ -54,9 +55,10 @@ INTERFACE zif_abapgit_repo_srv
zcx_abapgit_exception . zcx_abapgit_exception .
METHODS purge METHODS purge
IMPORTING IMPORTING
!io_repo TYPE REF TO zcl_abapgit_repo !io_repo TYPE REF TO zcl_abapgit_repo
!is_checks TYPE zif_abapgit_definitions=>ty_delete_checks !is_checks TYPE zif_abapgit_definitions=>ty_delete_checks
!ii_log TYPE REF TO zif_abapgit_log OPTIONAL RETURNING
VALUE(ri_log) TYPE REF TO zif_abapgit_log
RAISING RAISING
zcx_abapgit_exception . zcx_abapgit_exception .
METHODS validate_package METHODS validate_package