mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 03:36:32 +08:00
Refactor: Decouple code inspection from factory (#7180)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
bc104e396e
commit
a0e7a47f7a
|
@ -13,6 +13,19 @@ CLASS zcl_abapgit_code_inspector DEFINITION
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
|
||||||
|
CLASS-METHODS get_code_inspector
|
||||||
|
IMPORTING
|
||||||
|
!iv_package TYPE devclass
|
||||||
|
RETURNING
|
||||||
|
VALUE(ri_code_inspector) TYPE REF TO zif_abapgit_code_inspector
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
|
CLASS-METHODS set_code_inspector
|
||||||
|
IMPORTING
|
||||||
|
!iv_package TYPE devclass
|
||||||
|
!ii_code_inspector TYPE REF TO zif_abapgit_code_inspector.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA mv_package TYPE devclass .
|
DATA mv_package TYPE devclass .
|
||||||
|
|
||||||
|
@ -35,6 +48,15 @@ CLASS zcl_abapgit_code_inspector DEFINITION
|
||||||
VALUE(rv_skip) TYPE abap_bool.
|
VALUE(rv_skip) TYPE abap_bool.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
BEGIN OF ty_code_inspector_pack,
|
||||||
|
package TYPE devclass,
|
||||||
|
instance TYPE REF TO zif_abapgit_code_inspector,
|
||||||
|
END OF ty_code_inspector_pack,
|
||||||
|
ty_code_inspector_packs TYPE HASHED TABLE OF ty_code_inspector_pack WITH UNIQUE KEY package.
|
||||||
|
|
||||||
|
CLASS-DATA gt_code_inspector TYPE ty_code_inspector_packs.
|
||||||
|
|
||||||
DATA mv_success TYPE abap_bool .
|
DATA mv_success TYPE abap_bool .
|
||||||
DATA mv_summary TYPE string.
|
DATA mv_summary TYPE string.
|
||||||
|
|
||||||
|
@ -266,6 +288,28 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD get_code_inspector.
|
||||||
|
|
||||||
|
DATA ls_code_inspector LIKE LINE OF gt_code_inspector.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS <ls_code_inspector> TYPE ty_code_inspector_pack.
|
||||||
|
|
||||||
|
READ TABLE gt_code_inspector ASSIGNING <ls_code_inspector> WITH TABLE KEY package = iv_package.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
ls_code_inspector-package = iv_package.
|
||||||
|
|
||||||
|
CREATE OBJECT ls_code_inspector-instance TYPE zcl_abapgit_code_inspector
|
||||||
|
EXPORTING
|
||||||
|
iv_package = iv_package.
|
||||||
|
|
||||||
|
INSERT ls_code_inspector INTO TABLE gt_code_inspector ASSIGNING <ls_code_inspector>.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ri_code_inspector = <ls_code_inspector>-instance.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD run_inspection.
|
METHOD run_inspection.
|
||||||
|
|
||||||
io_inspection->run(
|
io_inspection->run(
|
||||||
|
@ -290,6 +334,24 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD set_code_inspector.
|
||||||
|
|
||||||
|
DATA ls_code_inspector LIKE LINE OF gt_code_inspector.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS <ls_code_inspector> LIKE LINE OF gt_code_inspector.
|
||||||
|
|
||||||
|
READ TABLE gt_code_inspector ASSIGNING <ls_code_inspector> WITH TABLE KEY package = iv_package.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
ls_code_inspector-package = iv_package.
|
||||||
|
|
||||||
|
INSERT ls_code_inspector INTO TABLE gt_code_inspector ASSIGNING <ls_code_inspector>.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
<ls_code_inspector>-instance = ii_code_inspector.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD skip_object.
|
METHOD skip_object.
|
||||||
|
|
||||||
DATA ls_program_type TYPE subc.
|
DATA ls_program_type TYPE subc.
|
||||||
|
|
|
@ -273,7 +273,7 @@ CLASS zcl_abapgit_repo_online IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
IF ms_data-local_settings-block_commit = abap_true
|
IF ms_data-local_settings-block_commit = abap_true
|
||||||
AND zcl_abapgit_factory=>get_code_inspector( get_package( )
|
AND zcl_abapgit_code_inspector=>get_code_inspector( get_package( )
|
||||||
)->is_successful( ) = abap_false.
|
)->is_successful( ) = abap_false.
|
||||||
zcx_abapgit_exception=>raise( |A successful code inspection is required| ).
|
zcx_abapgit_exception=>raise( |A successful code inspection is required| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
|
@ -70,7 +70,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION.
|
CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD ask_user_for_check_variant.
|
METHOD ask_user_for_check_variant.
|
||||||
|
@ -151,7 +151,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION.
|
||||||
|
|
||||||
DATA li_code_inspector TYPE REF TO zif_abapgit_code_inspector.
|
DATA li_code_inspector TYPE REF TO zif_abapgit_code_inspector.
|
||||||
|
|
||||||
li_code_inspector = zcl_abapgit_factory=>get_code_inspector( mo_repo->get_package( ) ).
|
li_code_inspector = zcl_abapgit_code_inspector=>get_code_inspector( mo_repo->get_package( ) ).
|
||||||
|
|
||||||
mt_result = li_code_inspector->run(
|
mt_result = li_code_inspector->run(
|
||||||
iv_variant = |{ mv_check_variant }|
|
iv_variant = |{ mv_check_variant }|
|
||||||
|
|
|
@ -41,7 +41,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_GUI_PAGE_SYNTAX IMPLEMENTATION.
|
CLASS zcl_abapgit_gui_page_syntax IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
@ -68,7 +68,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SYNTAX IMPLEMENTATION.
|
||||||
|
|
||||||
DATA: li_syntax_check TYPE REF TO zif_abapgit_code_inspector.
|
DATA: li_syntax_check TYPE REF TO zif_abapgit_code_inspector.
|
||||||
|
|
||||||
li_syntax_check = zcl_abapgit_factory=>get_code_inspector( mo_repo->get_package( ) ).
|
li_syntax_check = zcl_abapgit_code_inspector=>get_code_inspector( mo_repo->get_package( ) ).
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
mt_result = li_syntax_check->run( c_variant ).
|
mt_result = li_syntax_check->run( c_variant ).
|
||||||
|
|
|
@ -104,7 +104,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_GUI_PAGE_SETT_LOCL IMPLEMENTATION.
|
CLASS zcl_abapgit_gui_page_sett_locl IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD choose_check_variant.
|
METHOD choose_check_variant.
|
||||||
|
@ -471,7 +471,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETT_LOCL IMPLEMENTATION.
|
||||||
lv_check_variant = to_upper( io_form_data->get( c_id-code_inspector_check_variant ) ).
|
lv_check_variant = to_upper( io_form_data->get( c_id-code_inspector_check_variant ) ).
|
||||||
IF lv_check_variant IS NOT INITIAL.
|
IF lv_check_variant IS NOT INITIAL.
|
||||||
TRY.
|
TRY.
|
||||||
zcl_abapgit_factory=>get_code_inspector( mo_repo->get_package( )
|
zcl_abapgit_code_inspector=>get_code_inspector( mo_repo->get_package( )
|
||||||
)->validate_check_variant( lv_check_variant ).
|
)->validate_check_variant( lv_check_variant ).
|
||||||
CATCH zcx_abapgit_exception INTO lx_error.
|
CATCH zcx_abapgit_exception INTO lx_error.
|
||||||
ro_validation_log->set(
|
ro_validation_log->set(
|
||||||
|
|
|
@ -34,7 +34,7 @@ CLASS zcl_abapgit_popup_code_insp IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD fetch_list.
|
METHOD fetch_list.
|
||||||
|
|
||||||
rt_list = zcl_abapgit_factory=>get_code_inspector( '$TMP' )->list_global_variants( ).
|
rt_list = zcl_abapgit_code_inspector=>get_code_inspector( '$TMP' )->list_global_variants( ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
|
@ -13,13 +13,6 @@ CLASS zcl_abapgit_factory DEFINITION
|
||||||
!iv_package TYPE devclass
|
!iv_package TYPE devclass
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_sap_package) TYPE REF TO zif_abapgit_sap_package .
|
VALUE(ri_sap_package) TYPE REF TO zif_abapgit_sap_package .
|
||||||
CLASS-METHODS get_code_inspector
|
|
||||||
IMPORTING
|
|
||||||
!iv_package TYPE devclass
|
|
||||||
RETURNING
|
|
||||||
VALUE(ri_code_inspector) TYPE REF TO zif_abapgit_code_inspector
|
|
||||||
RAISING
|
|
||||||
zcx_abapgit_exception .
|
|
||||||
CLASS-METHODS get_cts_api
|
CLASS-METHODS get_cts_api
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ri_cts_api) TYPE REF TO zif_abapgit_cts_api .
|
VALUE(ri_cts_api) TYPE REF TO zif_abapgit_cts_api .
|
||||||
|
@ -60,18 +53,9 @@ CLASS zcl_abapgit_factory DEFINITION
|
||||||
TYPES:
|
TYPES:
|
||||||
ty_sap_packages TYPE HASHED TABLE OF ty_sap_package
|
ty_sap_packages TYPE HASHED TABLE OF ty_sap_package
|
||||||
WITH UNIQUE KEY package .
|
WITH UNIQUE KEY package .
|
||||||
TYPES:
|
|
||||||
BEGIN OF ty_code_inspector_pack,
|
|
||||||
package TYPE devclass,
|
|
||||||
instance TYPE REF TO zif_abapgit_code_inspector,
|
|
||||||
END OF ty_code_inspector_pack .
|
|
||||||
TYPES:
|
|
||||||
ty_code_inspector_packs TYPE HASHED TABLE OF ty_code_inspector_pack
|
|
||||||
WITH UNIQUE KEY package .
|
|
||||||
|
|
||||||
CLASS-DATA gi_tadir TYPE REF TO zif_abapgit_tadir .
|
CLASS-DATA gi_tadir TYPE REF TO zif_abapgit_tadir .
|
||||||
CLASS-DATA gt_sap_package TYPE ty_sap_packages .
|
CLASS-DATA gt_sap_package TYPE ty_sap_packages .
|
||||||
CLASS-DATA gt_code_inspector TYPE ty_code_inspector_packs .
|
|
||||||
CLASS-DATA gi_cts_api TYPE REF TO zif_abapgit_cts_api .
|
CLASS-DATA gi_cts_api TYPE REF TO zif_abapgit_cts_api .
|
||||||
CLASS-DATA gi_environment TYPE REF TO zif_abapgit_environment .
|
CLASS-DATA gi_environment TYPE REF TO zif_abapgit_environment .
|
||||||
CLASS-DATA gi_longtext TYPE REF TO zif_abapgit_longtexts .
|
CLASS-DATA gi_longtext TYPE REF TO zif_abapgit_longtexts .
|
||||||
|
@ -88,31 +72,6 @@ ENDCLASS.
|
||||||
CLASS zcl_abapgit_factory IMPLEMENTATION.
|
CLASS zcl_abapgit_factory IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD get_code_inspector.
|
|
||||||
|
|
||||||
DATA: ls_code_inspector LIKE LINE OF gt_code_inspector.
|
|
||||||
FIELD-SYMBOLS: <ls_code_inspector> TYPE ty_code_inspector_pack.
|
|
||||||
|
|
||||||
READ TABLE gt_code_inspector ASSIGNING <ls_code_inspector>
|
|
||||||
WITH TABLE KEY package = iv_package.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
ls_code_inspector-package = iv_package.
|
|
||||||
|
|
||||||
CREATE OBJECT ls_code_inspector-instance TYPE zcl_abapgit_code_inspector
|
|
||||||
EXPORTING
|
|
||||||
iv_package = iv_package.
|
|
||||||
|
|
||||||
INSERT ls_code_inspector
|
|
||||||
INTO TABLE gt_code_inspector
|
|
||||||
ASSIGNING <ls_code_inspector>.
|
|
||||||
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ri_code_inspector = <ls_code_inspector>-instance.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD get_cts_api.
|
METHOD get_cts_api.
|
||||||
IF gi_cts_api IS NOT BOUND.
|
IF gi_cts_api IS NOT BOUND.
|
||||||
CREATE OBJECT gi_cts_api TYPE zcl_abapgit_cts_api.
|
CREATE OBJECT gi_cts_api TYPE zcl_abapgit_cts_api.
|
||||||
|
|
|
@ -12,10 +12,6 @@ CLASS zcl_abapgit_injector DEFINITION
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_package TYPE devclass
|
!iv_package TYPE devclass
|
||||||
!ii_sap_package TYPE REF TO zif_abapgit_sap_package .
|
!ii_sap_package TYPE REF TO zif_abapgit_sap_package .
|
||||||
CLASS-METHODS set_code_inspector
|
|
||||||
IMPORTING
|
|
||||||
!iv_package TYPE devclass
|
|
||||||
!ii_code_inspector TYPE REF TO zif_abapgit_code_inspector .
|
|
||||||
CLASS-METHODS set_cts_api
|
CLASS-METHODS set_cts_api
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!ii_cts_api TYPE REF TO zif_abapgit_cts_api .
|
!ii_cts_api TYPE REF TO zif_abapgit_cts_api .
|
||||||
|
@ -52,29 +48,6 @@ ENDCLASS.
|
||||||
CLASS zcl_abapgit_injector IMPLEMENTATION.
|
CLASS zcl_abapgit_injector IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD set_code_inspector.
|
|
||||||
|
|
||||||
DATA: ls_code_inspector LIKE LINE OF zcl_abapgit_factory=>gt_code_inspector.
|
|
||||||
FIELD-SYMBOLS: <ls_code_inspector> LIKE LINE OF zcl_abapgit_factory=>gt_code_inspector.
|
|
||||||
|
|
||||||
READ TABLE zcl_abapgit_factory=>gt_code_inspector
|
|
||||||
ASSIGNING <ls_code_inspector>
|
|
||||||
WITH TABLE KEY package = iv_package.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
|
|
||||||
ls_code_inspector-package = iv_package.
|
|
||||||
|
|
||||||
INSERT ls_code_inspector
|
|
||||||
INTO TABLE zcl_abapgit_factory=>gt_code_inspector
|
|
||||||
ASSIGNING <ls_code_inspector>.
|
|
||||||
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
<ls_code_inspector>-instance = ii_code_inspector.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD set_cts_api.
|
METHOD set_cts_api.
|
||||||
zcl_abapgit_factory=>gi_cts_api = ii_cts_api.
|
zcl_abapgit_factory=>gi_cts_api = ii_cts_api.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user