Deal with empty active version (object was never activated) (#5714)

* Deal with empty active version

* Put if condition into method
This commit is contained in:
Katharina Wurz 2022-08-09 17:21:46 +02:00 committed by GitHub
parent a09f9871b7
commit 111656b7b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10,12 +10,17 @@ CLASS zcl_abapgit_object_common_aff DEFINITION
ABSTRACT METHODS changed_by .
PROTECTED SECTION.
PRIVATE SECTION.
METHODS is_file_empty
IMPORTING
io_object_json_file TYPE REF TO object
RETURNING
VALUE(rv_is_empty) TYPE abap_bool.
ENDCLASS.
CLASS ZCL_ABAPGIT_OBJECT_COMMON_AFF IMPLEMENTATION.
CLASS zcl_abapgit_object_common_aff IMPLEMENTATION.
METHOD zif_abapgit_object~delete.
@ -348,7 +353,9 @@ CLASS ZCL_ABAPGIT_OBJECT_COMMON_AFF IMPLEMENTATION.
lo_aff_factory TYPE REF TO object,
lv_json_as_xstring TYPE xstring,
lx_exception TYPE REF TO cx_root,
lv_name TYPE c LENGTH 120.
lv_name TYPE c LENGTH 120,
lv_is_deletion TYPE abap_bool VALUE abap_false,
lv_dummy TYPE string.
FIELD-SYMBOLS: <ls_intf_aff_obj> TYPE any,
<ls_intf_aff_log> TYPE any,
@ -430,6 +437,12 @@ CLASS ZCL_ABAPGIT_OBJECT_COMMON_AFF IMPLEMENTATION.
RECEIVING
result = lo_object_json_file.
" avoid to serialize empty content (object was never activated, exists inactive only).
IF is_file_empty( lo_object_json_file ) = abap_true.
MESSAGE s821(eu) WITH lv_name INTO lv_dummy.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
CALL METHOD lo_object_json_file->('IF_AFF_FILE~GET_CONTENT')
RECEIVING
result = lv_json_as_xstring.
@ -443,4 +456,13 @@ CLASS ZCL_ABAPGIT_OBJECT_COMMON_AFF IMPLEMENTATION.
ENDTRY.
ENDMETHOD.
METHOD is_file_empty.
CALL METHOD io_object_json_file->('IF_AFF_FILE~IS_DELETION')
RECEIVING
result = rv_is_empty.
ENDMETHOD.
ENDCLASS.