mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
Delete: checks if any object is locked
This commit is contained in:
parent
145a82e9ef
commit
79a0a8fa85
|
@ -178,7 +178,7 @@ CLASS zcl_abapgit_objects DEFINITION
|
|||
CLASS-METHODS check_objects_locked
|
||||
IMPORTING
|
||||
iv_language TYPE spras
|
||||
it_results TYPE zif_abapgit_definitions=>ty_results_tt
|
||||
it_items TYPE zif_abapgit_definitions=>ty_items_tt
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
CLASS-METHODS create_object
|
||||
|
@ -191,6 +191,16 @@ CLASS zcl_abapgit_objects DEFINITION
|
|||
VALUE(ri_obj) TYPE REF TO zif_abapgit_object
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
CLASS-METHODS map_tadir_to_items
|
||||
IMPORTING
|
||||
it_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt
|
||||
RETURNING
|
||||
VALUE(rt_items) TYPE zif_abapgit_definitions=>ty_items_tt.
|
||||
CLASS-METHODS map_results_to_items
|
||||
IMPORTING
|
||||
it_results TYPE zif_abapgit_definitions=>ty_results_tt
|
||||
RETURNING
|
||||
VALUE(rt_items) TYPE zif_abapgit_definitions=>ty_items_tt.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
@ -252,20 +262,18 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
|
||||
METHOD check_objects_locked.
|
||||
|
||||
DATA: li_obj TYPE REF TO zif_abapgit_object,
|
||||
ls_item TYPE zif_abapgit_definitions=>ty_item.
|
||||
FIELD-SYMBOLS: <ls_result> TYPE zif_abapgit_definitions=>ty_result.
|
||||
DATA: li_obj TYPE REF TO zif_abapgit_object.
|
||||
|
||||
LOOP AT it_results ASSIGNING <ls_result>.
|
||||
FIELD-SYMBOLS: <ls_item> LIKE LINE OF it_items.
|
||||
|
||||
MOVE-CORRESPONDING <ls_result> TO ls_item.
|
||||
LOOP AT it_items ASSIGNING <ls_item>.
|
||||
|
||||
li_obj = create_object( is_item = ls_item
|
||||
li_obj = create_object( is_item = <ls_item>
|
||||
iv_language = iv_language ).
|
||||
|
||||
IF li_obj->is_locked( ) = abap_true.
|
||||
zcx_abapgit_exception=>raise( |Object { ls_item-obj_type } { ls_item-obj_name } |
|
||||
&& |is locked. Deserialization not possible.| ).
|
||||
zcx_abapgit_exception=>raise( |Object { <ls_item>-obj_type } { <ls_item>-obj_name } |
|
||||
&& |is locked. Action not possible.| ).
|
||||
ENDIF.
|
||||
|
||||
ENDLOOP.
|
||||
|
@ -376,7 +384,8 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
|
||||
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||
lo_progress TYPE REF TO zcl_abapgit_progress,
|
||||
lt_tadir LIKE it_tadir.
|
||||
lt_tadir LIKE it_tadir,
|
||||
lt_items TYPE zif_abapgit_definitions=>ty_items_tt.
|
||||
|
||||
FIELD-SYMBOLS: <ls_tadir> LIKE LINE OF it_tadir.
|
||||
|
||||
|
@ -388,6 +397,11 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
EXPORTING
|
||||
iv_total = lines( lt_tadir ).
|
||||
|
||||
lt_items = map_tadir_to_items( lt_tadir ).
|
||||
|
||||
check_objects_locked( iv_language = zif_abapgit_definitions=>gc_english
|
||||
it_items = lt_items ).
|
||||
|
||||
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
|
||||
lo_progress->show( iv_current = sy-tabix
|
||||
iv_text = |Delete { <ls_tadir>-obj_name }| ) ##NO_TEXT.
|
||||
|
@ -443,7 +457,8 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
lt_rest TYPE TABLE OF ty_deserialization,
|
||||
lt_late TYPE TABLE OF ty_deserialization,
|
||||
lo_progress TYPE REF TO zcl_abapgit_progress,
|
||||
lv_path TYPE string.
|
||||
lv_path TYPE string,
|
||||
lt_items TYPE zif_abapgit_definitions=>ty_items_tt.
|
||||
|
||||
FIELD-SYMBOLS: <ls_result> TYPE zif_abapgit_definitions=>ty_result,
|
||||
<ls_deser> LIKE LINE OF lt_late.
|
||||
|
@ -472,8 +487,10 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
EXPORTING
|
||||
iv_total = lines( lt_results ).
|
||||
|
||||
lt_items = map_results_to_items( lt_results ).
|
||||
|
||||
check_objects_locked( iv_language = io_repo->get_dot_abapgit( )->get_master_language( )
|
||||
it_results = lt_results ).
|
||||
it_items = lt_items ).
|
||||
|
||||
LOOP AT lt_results ASSIGNING <ls_result>.
|
||||
lo_progress->show( iv_current = sy-tabix
|
||||
|
@ -947,4 +964,38 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD map_tadir_to_items.
|
||||
|
||||
DATA: ls_item LIKE LINE OF rt_items.
|
||||
FIELD-SYMBOLS: <ls_tadir> TYPE zif_abapgit_definitions=>ty_tadir.
|
||||
|
||||
LOOP AT it_tadir ASSIGNING <ls_tadir>.
|
||||
|
||||
ls_item-devclass = <ls_tadir>-devclass.
|
||||
ls_item-obj_type = <ls_tadir>-object.
|
||||
ls_item-obj_name = <ls_tadir>-obj_name.
|
||||
INSERT ls_item INTO TABLE rt_items.
|
||||
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD map_results_to_items.
|
||||
|
||||
DATA: ls_item LIKE LINE OF rt_items.
|
||||
FIELD-SYMBOLS: <ls_result> TYPE zif_abapgit_definitions=>ty_result.
|
||||
|
||||
LOOP AT it_results ASSIGNING <ls_result>.
|
||||
|
||||
ls_item-devclass = <ls_result>-package.
|
||||
ls_item-obj_type = <ls_result>-obj_type.
|
||||
ls_item-obj_name = <ls_result>-obj_name.
|
||||
INSERT ls_item INTO TABLE rt_items.
|
||||
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -403,7 +403,7 @@ CLASS ltcl_check_objects_locked DEFINITION FINAL FOR TESTING
|
|||
|
||||
PRIVATE SECTION.
|
||||
DATA:
|
||||
mt_given_results TYPE zif_abapgit_definitions=>ty_results_tt,
|
||||
mt_given_items TYPE zif_abapgit_definitions=>ty_items_tt,
|
||||
mv_exception_text TYPE string.
|
||||
|
||||
METHODS:
|
||||
|
@ -453,7 +453,7 @@ CLASS ltcl_check_objects_locked IMPLEMENTATION.
|
|||
|
||||
TRY.
|
||||
zcl_abapgit_objects=>check_objects_locked( iv_language = 'E'
|
||||
it_results = mt_given_results ).
|
||||
it_items = mt_given_items ).
|
||||
|
||||
CATCH zcx_abapgit_exception INTO lx_error.
|
||||
mv_exception_text = lx_error->get_text( ).
|
||||
|
@ -465,7 +465,7 @@ CLASS ltcl_check_objects_locked IMPLEMENTATION.
|
|||
METHOD then_exception_shd_be_raised.
|
||||
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = |Object DDLS Z_TEST_DDLS is locked. Deserialization not possible.|
|
||||
exp = |Object DDLS Z_TEST_DDLS is locked. Action not possible.|
|
||||
act = mv_exception_text ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
@ -491,12 +491,12 @@ CLASS ltcl_check_objects_locked IMPLEMENTATION.
|
|||
co_obj_type TYPE string VALUE 'DDLS'.
|
||||
|
||||
DATA:
|
||||
ls_result LIKE LINE OF mt_given_results,
|
||||
ls_item LIKE LINE OF mt_given_items,
|
||||
ls_obj_serializer_map LIKE LINE OF zcl_abapgit_objects=>st_obj_serializer_map.
|
||||
|
||||
ls_result-obj_type = co_obj_type.
|
||||
ls_result-obj_name = iv_object_name.
|
||||
INSERT ls_result INTO TABLE mt_given_results.
|
||||
ls_item-obj_type = co_obj_type.
|
||||
ls_item-obj_name = iv_object_name.
|
||||
INSERT ls_item INTO TABLE mt_given_items.
|
||||
|
||||
ls_obj_serializer_map-item-obj_type = co_obj_type.
|
||||
ls_obj_serializer_map-item-obj_name = iv_object_name.
|
||||
|
|
Loading…
Reference in New Issue
Block a user