From 35f9a05e8c758d59f74d51017656de70c59b7765 Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Fri, 24 Feb 2023 15:58:25 +0100 Subject: [PATCH] Refactor: package, add read_responsible() (#6083) --- ...cl_abapgit_dependencies.clas.testclasses.abap | 4 ++++ ...zcl_abapgit_file_status.clas.testclasses.abap | 4 ++++ ...cl_abapgit_folder_logic.clas.testclasses.abap | 16 ++++++++++++++++ src/repo/zcl_abapgit_repo_srv.clas.abap | 5 ++--- ..._abapgit_services_basis.clas.testclasses.abap | 4 ++++ src/zcl_abapgit_sap_package.clas.abap | 7 +++++++ src/zif_abapgit_sap_package.intf.abap | 5 +++++ 7 files changed, 42 insertions(+), 3 deletions(-) diff --git a/src/objects/core/zcl_abapgit_dependencies.clas.testclasses.abap b/src/objects/core/zcl_abapgit_dependencies.clas.testclasses.abap index f4261e1a1..12212e600 100644 --- a/src/objects/core/zcl_abapgit_dependencies.clas.testclasses.abap +++ b/src/objects/core/zcl_abapgit_dependencies.clas.testclasses.abap @@ -34,6 +34,10 @@ CLASS ltcl_sap_package IMPLEMENTATION. RETURN. ENDMETHOD. + METHOD zif_abapgit_sap_package~read_responsible. + RETURN. + ENDMETHOD. + METHOD zif_abapgit_sap_package~list_subpackages. IF mv_package = 'Z_MAIN'. diff --git a/src/objects/core/zcl_abapgit_file_status.clas.testclasses.abap b/src/objects/core/zcl_abapgit_file_status.clas.testclasses.abap index 5f1e4b7a2..429d7d2bf 100644 --- a/src/objects/core/zcl_abapgit_file_status.clas.testclasses.abap +++ b/src/objects/core/zcl_abapgit_file_status.clas.testclasses.abap @@ -65,6 +65,10 @@ ENDCLASS. CLASS ltcl_run_checks IMPLEMENTATION. + METHOD zif_abapgit_sap_package~read_responsible. + RETURN. + ENDMETHOD. + METHOD zif_abapgit_sap_package~read_description. RETURN. ENDMETHOD. diff --git a/src/objects/core/zcl_abapgit_folder_logic.clas.testclasses.abap b/src/objects/core/zcl_abapgit_folder_logic.clas.testclasses.abap index 5aab62455..15f29a0b0 100644 --- a/src/objects/core/zcl_abapgit_folder_logic.clas.testclasses.abap +++ b/src/objects/core/zcl_abapgit_folder_logic.clas.testclasses.abap @@ -68,6 +68,10 @@ CLASS ltcl_folder_logic_package IMPLEMENTATION. INSERT lv_devclass INTO TABLE rt_list. ENDMETHOD. + METHOD zif_abapgit_sap_package~read_responsible. + RETURN. + ENDMETHOD. + METHOD zif_abapgit_sap_package~read_description. RETURN. ENDMETHOD. @@ -155,6 +159,10 @@ CLASS ltcl_folder_logic IMPLEMENTATION. INSERT lv_devclass INTO TABLE rt_list. ENDMETHOD. + METHOD zif_abapgit_sap_package~read_responsible. + RETURN. + ENDMETHOD. + METHOD zif_abapgit_sap_package~list_superpackages. RETURN. ENDMETHOD. @@ -365,6 +373,10 @@ CLASS ltcl_folder_logic_namespaces IMPLEMENTATION. INSERT lv_devclass INTO TABLE rt_list. ENDMETHOD. + METHOD zif_abapgit_sap_package~read_responsible. + RETURN. + ENDMETHOD. + METHOD zif_abapgit_sap_package~read_description. RETURN. ENDMETHOD. @@ -496,6 +508,10 @@ ENDCLASS. CLASS ltcl_folder_logic_no_parent IMPLEMENTATION. + METHOD zif_abapgit_sap_package~read_responsible. + RETURN. + ENDMETHOD. + METHOD zif_abapgit_sap_package~read_description. RETURN. ENDMETHOD. diff --git a/src/repo/zcl_abapgit_repo_srv.clas.abap b/src/repo/zcl_abapgit_repo_srv.clas.abap index 91ba8023b..3076ebc48 100644 --- a/src/repo/zcl_abapgit_repo_srv.clas.abap +++ b/src/repo/zcl_abapgit_repo_srv.clas.abap @@ -669,9 +669,8 @@ CLASS zcl_abapgit_repo_srv IMPLEMENTATION. zcl_abapgit_sap_package=>validate_name( iv_package ). " Check if package owned by SAP is allowed (new packages are ok, since they are created automatically) - SELECT SINGLE as4user FROM tdevc - INTO lv_as4user - WHERE devclass = iv_package. "#EC CI_GENBUFF + lv_as4user = zcl_abapgit_factory=>get_sap_package( iv_package )->read_responsible( ). + IF sy-subrc = 0 AND lv_as4user = 'SAP' AND zcl_abapgit_factory=>get_environment( )->is_sap_object_allowed( ) = abap_false. zcx_abapgit_exception=>raise( |Package { iv_package } not allowed, responsible user = 'SAP'| ). diff --git a/src/ui/routing/zcl_abapgit_services_basis.clas.testclasses.abap b/src/ui/routing/zcl_abapgit_services_basis.clas.testclasses.abap index ea6e48548..fe3d1ab03 100644 --- a/src/ui/routing/zcl_abapgit_services_basis.clas.testclasses.abap +++ b/src/ui/routing/zcl_abapgit_services_basis.clas.testclasses.abap @@ -274,6 +274,10 @@ CLASS ltcl_sap_package_mock IMPLEMENTATION. ENDMETHOD. + METHOD zif_abapgit_sap_package~read_responsible. + RETURN. + ENDMETHOD. + METHOD zif_abapgit_sap_package~read_description. ENDMETHOD. diff --git a/src/zcl_abapgit_sap_package.clas.abap b/src/zcl_abapgit_sap_package.clas.abap index 9e7cabbf6..450565122 100644 --- a/src/zcl_abapgit_sap_package.clas.abap +++ b/src/zcl_abapgit_sap_package.clas.abap @@ -399,4 +399,11 @@ CLASS zcl_abapgit_sap_package IMPLEMENTATION. ENDIF. ENDMETHOD. + + METHOD zif_abapgit_sap_package~read_responsible. + SELECT SINGLE as4user FROM tdevc + INTO rv_responsible + WHERE devclass = mv_package ##SUBRC_OK. "#EC CI_GENBUFF + ENDMETHOD. + ENDCLASS. diff --git a/src/zif_abapgit_sap_package.intf.abap b/src/zif_abapgit_sap_package.intf.abap index f94568178..9873abc32 100644 --- a/src/zif_abapgit_sap_package.intf.abap +++ b/src/zif_abapgit_sap_package.intf.abap @@ -31,6 +31,11 @@ INTERFACE zif_abapgit_sap_package VALUE(rv_description) TYPE string RAISING zcx_abapgit_exception . + METHODS read_responsible + RETURNING + VALUE(rv_responsible) TYPE usnam + RAISING + zcx_abapgit_exception . METHODS create_child IMPORTING !iv_child TYPE devclass