mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +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
|
CLASS-METHODS check_objects_locked
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_language TYPE spras
|
iv_language TYPE spras
|
||||||
it_results TYPE zif_abapgit_definitions=>ty_results_tt
|
it_items TYPE zif_abapgit_definitions=>ty_items_tt
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
CLASS-METHODS create_object
|
CLASS-METHODS create_object
|
||||||
|
@ -191,6 +191,16 @@ CLASS zcl_abapgit_objects DEFINITION
|
||||||
VALUE(ri_obj) TYPE REF TO zif_abapgit_object
|
VALUE(ri_obj) TYPE REF TO zif_abapgit_object
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
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.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -252,20 +262,18 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD check_objects_locked.
|
METHOD check_objects_locked.
|
||||||
|
|
||||||
DATA: li_obj TYPE REF TO zif_abapgit_object,
|
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.
|
|
||||||
|
|
||||||
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 ).
|
iv_language = iv_language ).
|
||||||
|
|
||||||
IF li_obj->is_locked( ) = abap_true.
|
IF li_obj->is_locked( ) = abap_true.
|
||||||
zcx_abapgit_exception=>raise( |Object { ls_item-obj_type } { ls_item-obj_name } |
|
zcx_abapgit_exception=>raise( |Object { <ls_item>-obj_type } { <ls_item>-obj_name } |
|
||||||
&& |is locked. Deserialization not possible.| ).
|
&& |is locked. Action not possible.| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
@ -376,7 +384,8 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
||||||
|
|
||||||
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
|
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||||
lo_progress TYPE REF TO zcl_abapgit_progress,
|
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.
|
FIELD-SYMBOLS: <ls_tadir> LIKE LINE OF it_tadir.
|
||||||
|
|
||||||
|
@ -388,6 +397,11 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_total = lines( lt_tadir ).
|
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>.
|
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
|
||||||
lo_progress->show( iv_current = sy-tabix
|
lo_progress->show( iv_current = sy-tabix
|
||||||
iv_text = |Delete { <ls_tadir>-obj_name }| ) ##NO_TEXT.
|
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_rest TYPE TABLE OF ty_deserialization,
|
||||||
lt_late TYPE TABLE OF ty_deserialization,
|
lt_late TYPE TABLE OF ty_deserialization,
|
||||||
lo_progress TYPE REF TO zcl_abapgit_progress,
|
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,
|
FIELD-SYMBOLS: <ls_result> TYPE zif_abapgit_definitions=>ty_result,
|
||||||
<ls_deser> LIKE LINE OF lt_late.
|
<ls_deser> LIKE LINE OF lt_late.
|
||||||
|
@ -472,8 +487,10 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_total = lines( lt_results ).
|
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( )
|
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>.
|
LOOP AT lt_results ASSIGNING <ls_result>.
|
||||||
lo_progress->show( iv_current = sy-tabix
|
lo_progress->show( iv_current = sy-tabix
|
||||||
|
@ -947,4 +964,38 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
ENDMETHOD.
|
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.
|
ENDCLASS.
|
||||||
|
|
|
@ -403,7 +403,7 @@ CLASS ltcl_check_objects_locked DEFINITION FINAL FOR TESTING
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
DATA:
|
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.
|
mv_exception_text TYPE string.
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
|
@ -453,7 +453,7 @@ CLASS ltcl_check_objects_locked IMPLEMENTATION.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
zcl_abapgit_objects=>check_objects_locked( iv_language = 'E'
|
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.
|
CATCH zcx_abapgit_exception INTO lx_error.
|
||||||
mv_exception_text = lx_error->get_text( ).
|
mv_exception_text = lx_error->get_text( ).
|
||||||
|
@ -465,7 +465,7 @@ CLASS ltcl_check_objects_locked IMPLEMENTATION.
|
||||||
METHOD then_exception_shd_be_raised.
|
METHOD then_exception_shd_be_raised.
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
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 ).
|
act = mv_exception_text ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -491,12 +491,12 @@ CLASS ltcl_check_objects_locked IMPLEMENTATION.
|
||||||
co_obj_type TYPE string VALUE 'DDLS'.
|
co_obj_type TYPE string VALUE 'DDLS'.
|
||||||
|
|
||||||
DATA:
|
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_obj_serializer_map LIKE LINE OF zcl_abapgit_objects=>st_obj_serializer_map.
|
||||||
|
|
||||||
ls_result-obj_type = co_obj_type.
|
ls_item-obj_type = co_obj_type.
|
||||||
ls_result-obj_name = iv_object_name.
|
ls_item-obj_name = iv_object_name.
|
||||||
INSERT ls_result INTO TABLE mt_given_results.
|
INSERT ls_item INTO TABLE mt_given_items.
|
||||||
|
|
||||||
ls_obj_serializer_map-item-obj_type = co_obj_type.
|
ls_obj_serializer_map-item-obj_type = co_obj_type.
|
||||||
ls_obj_serializer_map-item-obj_name = iv_object_name.
|
ls_obj_serializer_map-item-obj_name = iv_object_name.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user