From fbeabd62200820ea26436a7cda77e60d98d03ae1 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Thu, 6 Oct 2022 04:17:22 -0400 Subject: [PATCH] ENHO: Unlock objects in cases of errors (#5811) --- src/objects/enh/zcl_abapgit_object_enho_badi.clas.abap | 4 ++++ src/objects/enh/zcl_abapgit_object_enho_class.clas.abap | 4 ++++ src/objects/enh/zcl_abapgit_object_enho_fugr.clas.abap | 4 ++++ src/objects/enh/zcl_abapgit_object_enho_hook.clas.abap | 4 ++++ src/objects/enh/zcl_abapgit_object_enho_intf.clas.abap | 4 ++++ src/objects/enh/zcl_abapgit_object_enho_wdyc.clas.abap | 4 ++++ src/objects/enh/zcl_abapgit_object_enho_wdyn.clas.abap | 4 ++++ 7 files changed, 28 insertions(+) diff --git a/src/objects/enh/zcl_abapgit_object_enho_badi.clas.abap b/src/objects/enh/zcl_abapgit_object_enho_badi.clas.abap index 125d342e0..8342a4281 100644 --- a/src/objects/enh/zcl_abapgit_object_enho_badi.clas.abap +++ b/src/objects/enh/zcl_abapgit_object_enho_badi.clas.abap @@ -64,6 +64,10 @@ CLASS zcl_abapgit_object_enho_badi IMPLEMENTATION. lo_badi->if_enh_object~save( run_dark = abap_true ). lo_badi->if_enh_object~unlock( ). CATCH cx_enh_root INTO lx_enh_root. + TRY. + lo_badi->if_enh_object~unlock( ). + CATCH cx_sy_ref_is_initial cx_enh_mod_not_allowed ##NO_HANDLER. + ENDTRY. zcx_abapgit_exception=>raise_with_text( lx_enh_root ). ENDTRY. diff --git a/src/objects/enh/zcl_abapgit_object_enho_class.clas.abap b/src/objects/enh/zcl_abapgit_object_enho_class.clas.abap index f263bf2b4..6e5532ee7 100644 --- a/src/objects/enh/zcl_abapgit_object_enho_class.clas.abap +++ b/src/objects/enh/zcl_abapgit_object_enho_class.clas.abap @@ -188,6 +188,10 @@ CLASS zcl_abapgit_object_enho_class IMPLEMENTATION. lo_enh_class->if_enh_object~save( run_dark = abap_true ). lo_enh_class->if_enh_object~unlock( ). CATCH cx_enh_root INTO lx_enh_root. + TRY. + lo_enh_class->if_enh_object~unlock( ). + CATCH cx_sy_ref_is_initial cx_enh_mod_not_allowed ##NO_HANDLER. + ENDTRY. zcx_abapgit_exception=>raise_with_text( lx_enh_root ). ENDTRY. diff --git a/src/objects/enh/zcl_abapgit_object_enho_fugr.clas.abap b/src/objects/enh/zcl_abapgit_object_enho_fugr.clas.abap index f6f693c74..427d79382 100644 --- a/src/objects/enh/zcl_abapgit_object_enho_fugr.clas.abap +++ b/src/objects/enh/zcl_abapgit_object_enho_fugr.clas.abap @@ -75,6 +75,10 @@ CLASS zcl_abapgit_object_enho_fugr IMPLEMENTATION. lo_fugrdata->if_enh_object~save( run_dark = abap_true ). lo_fugrdata->if_enh_object~unlock( ). CATCH cx_enh_root INTO lx_enh_root. + TRY. + lo_fugrdata->if_enh_object~unlock( ). + CATCH cx_sy_ref_is_initial cx_enh_mod_not_allowed ##NO_HANDLER. + ENDTRY. zcx_abapgit_exception=>raise_with_text( lx_enh_root ). ENDTRY. diff --git a/src/objects/enh/zcl_abapgit_object_enho_hook.clas.abap b/src/objects/enh/zcl_abapgit_object_enho_hook.clas.abap index 27626132a..e94cec3b4 100644 --- a/src/objects/enh/zcl_abapgit_object_enho_hook.clas.abap +++ b/src/objects/enh/zcl_abapgit_object_enho_hook.clas.abap @@ -222,6 +222,10 @@ CLASS zcl_abapgit_object_enho_hook IMPLEMENTATION. lo_hook_impl->if_enh_object~save( run_dark = abap_true ). lo_hook_impl->if_enh_object~unlock( ). CATCH cx_enh_root INTO lx_enh_root. + TRY. + lo_hook_impl->if_enh_object~unlock( ). + CATCH cx_sy_ref_is_initial cx_enh_mod_not_allowed ##NO_HANDLER. + ENDTRY. zcx_abapgit_exception=>raise_with_text( lx_enh_root ). ENDTRY. diff --git a/src/objects/enh/zcl_abapgit_object_enho_intf.clas.abap b/src/objects/enh/zcl_abapgit_object_enho_intf.clas.abap index 61daa20a0..f6ad3776c 100644 --- a/src/objects/enh/zcl_abapgit_object_enho_intf.clas.abap +++ b/src/objects/enh/zcl_abapgit_object_enho_intf.clas.abap @@ -65,6 +65,10 @@ CLASS zcl_abapgit_object_enho_intf IMPLEMENTATION. lo_enh_intf->if_enh_object~save( run_dark = abap_true ). lo_enh_intf->if_enh_object~unlock( ). CATCH cx_enh_root INTO lx_enh_root. + TRY. + lo_enh_intf->if_enh_object~unlock( ). + CATCH cx_sy_ref_is_initial cx_enh_mod_not_allowed ##NO_HANDLER. + ENDTRY. zcx_abapgit_exception=>raise_with_text( lx_enh_root ). ENDTRY. diff --git a/src/objects/enh/zcl_abapgit_object_enho_wdyc.clas.abap b/src/objects/enh/zcl_abapgit_object_enho_wdyc.clas.abap index 489b940f6..1416cf40c 100644 --- a/src/objects/enh/zcl_abapgit_object_enho_wdyc.clas.abap +++ b/src/objects/enh/zcl_abapgit_object_enho_wdyc.clas.abap @@ -67,6 +67,10 @@ CLASS zcl_abapgit_object_enho_wdyc IMPLEMENTATION. lo_wdyconf->if_enh_object~save( run_dark = abap_true ). lo_wdyconf->if_enh_object~unlock( ). CATCH cx_enh_root cx_static_check. + TRY. + lo_wdyconf->if_enh_object~unlock( ). + CATCH cx_sy_ref_is_initial cx_enh_mod_not_allowed ##NO_HANDLER. + ENDTRY. zcx_abapgit_exception=>raise( 'error deserializing ENHO wdyconf' ). ENDTRY. ENDMETHOD. diff --git a/src/objects/enh/zcl_abapgit_object_enho_wdyn.clas.abap b/src/objects/enh/zcl_abapgit_object_enho_wdyn.clas.abap index 52fca06c6..2f40ce823 100644 --- a/src/objects/enh/zcl_abapgit_object_enho_wdyn.clas.abap +++ b/src/objects/enh/zcl_abapgit_object_enho_wdyn.clas.abap @@ -83,6 +83,10 @@ CLASS zcl_abapgit_object_enho_wdyn IMPLEMENTATION. lo_wdyn->if_enh_object~unlock( ). CATCH cx_root. + TRY. + lo_wdyn->if_enh_object~unlock( ). + CATCH cx_sy_ref_is_initial cx_enh_mod_not_allowed ##NO_HANDLER. + ENDTRY. zcx_abapgit_exception=>raise( |error deserializing ENHO wdyn { ms_item-obj_name }| ). ENDTRY.