Merge branch 'main' into mbtools/repo-overview-type

This commit is contained in:
Marc Bernard 2025-04-01 15:24:51 +02:00 committed by GitHub
commit 0af2d4e706
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 130 additions and 135 deletions

View File

@ -62,7 +62,7 @@ CLASS zcl_abapgit_pr_enumerator IMPLEMENTATION.
DATA lv_user TYPE string. DATA lv_user TYPE string.
DATA lv_repo TYPE string. DATA lv_repo TYPE string.
li_agent = zcl_abapgit_factory=>get_http_agent( ). li_agent = zcl_abapgit_http_agent=>create( ).
FIND ALL OCCURRENCES OF REGEX 'github\.com\/([^\/]+)\/([^\/]+)' FIND ALL OCCURRENCES OF REGEX 'github\.com\/([^\/]+)\/([^\/]+)'
IN iv_repo_url IN iv_repo_url

View File

@ -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.

View File

@ -228,10 +228,6 @@ CLASS ltcl_aff_settings_deserialize IMPLEMENTATION.
TRY. TRY.
lo_settings_deserialize = lo_cut->create_aff_setting_deserialize( ). lo_settings_deserialize = lo_cut->create_aff_setting_deserialize( ).
CATCH cx_root.
" System doesn't support AFF with ABAP language version
RETURN.
ENDTRY.
CALL METHOD lo_settings_deserialize->('IF_AFF_SETTINGS_DESERIALIZE~GET_ABAP_LANGUAGE_VERSION') CALL METHOD lo_settings_deserialize->('IF_AFF_SETTINGS_DESERIALIZE~GET_ABAP_LANGUAGE_VERSION')
RECEIVING RECEIVING
@ -261,6 +257,11 @@ CLASS ltcl_aff_settings_deserialize IMPLEMENTATION.
act = lv_act_setting_user act = lv_act_setting_user
exp = sy-uname ). exp = sy-uname ).
CATCH cx_root.
" System doesn't support AFF with ABAP language version
RETURN.
ENDTRY.
ENDMETHOD. ENDMETHOD.
METHOD abap_language_version_standard. METHOD abap_language_version_standard.

View File

@ -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.

View File

@ -1,9 +1,10 @@
CLASS zcl_abapgit_gui_buttons DEFINITION CLASS zcl_abapgit_gui_buttons DEFINITION
PUBLIC PUBLIC
FINAL FINAL
CREATE PUBLIC . CREATE PUBLIC.
PUBLIC SECTION. PUBLIC SECTION.
CLASS-METHODS new_online CLASS-METHODS new_online
RETURNING VALUE(rv_html_string) TYPE string. RETURNING VALUE(rv_html_string) TYPE string.
@ -28,6 +29,9 @@ CLASS zcl_abapgit_gui_buttons DEFINITION
CLASS-METHODS experimental CLASS-METHODS experimental
RETURNING VALUE(rv_html_string) TYPE string. RETURNING VALUE(rv_html_string) TYPE string.
CLASS-METHODS refresh
RETURNING VALUE(rv_html_string) TYPE string.
PROTECTED SECTION. PROTECTED SECTION.
PRIVATE SECTION. PRIVATE SECTION.
ENDCLASS. ENDCLASS.
@ -51,6 +55,11 @@ CLASS zcl_abapgit_gui_buttons IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD flow.
rv_html_string = zcl_abapgit_html=>icon( 'flow' ) && ' Flow'.
ENDMETHOD.
METHOD help. METHOD help.
rv_html_string = zcl_abapgit_html=>icon( rv_html_string = zcl_abapgit_html=>icon(
iv_name = 'question-circle-solid' iv_name = 'question-circle-solid'
@ -68,8 +77,10 @@ CLASS zcl_abapgit_gui_buttons IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD flow. METHOD refresh.
rv_html_string = zcl_abapgit_html=>icon( 'flow' ) && ' Flow'. rv_html_string = zcl_abapgit_html=>icon(
iv_name = 'redo-alt-solid'
iv_hint = 'Refresh' ).
ENDMETHOD. ENDMETHOD.

View File

@ -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 }|

View File

@ -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 ).

View File

@ -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(

View File

@ -55,6 +55,7 @@ CLASS zcl_abapgit_gui_page_repo_over DEFINITION
select TYPE string VALUE 'select', select TYPE string VALUE 'select',
apply_filter TYPE string VALUE 'apply_filter', apply_filter TYPE string VALUE 'apply_filter',
label_filter TYPE string VALUE 'label_filter', label_filter TYPE string VALUE 'label_filter',
refresh_list TYPE string VALUE 'refresh_list',
END OF c_action, END OF c_action,
c_label_filter_prefix TYPE string VALUE `label:`, c_label_filter_prefix TYPE string VALUE `label:`,
c_raw_field_suffix TYPE string VALUE `_RAW` ##NO_TEXT. c_raw_field_suffix TYPE string VALUE `_RAW` ##NO_TEXT.
@ -931,6 +932,11 @@ CLASS zcl_abapgit_gui_page_repo_over IMPLEMENTATION.
save_settings( ). save_settings( ).
rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render. rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render.
WHEN c_action-refresh_list.
zcl_abapgit_repo_srv=>get_instance( )->init( ).
rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render.
ENDCASE. ENDCASE.
ENDMETHOD. ENDMETHOD.
@ -982,6 +988,11 @@ CLASS zcl_abapgit_gui_page_repo_over IMPLEMENTATION.
ls_hotkey_action-hotkey = |a|. ls_hotkey_action-hotkey = |a|.
INSERT ls_hotkey_action INTO TABLE rt_hotkey_actions. INSERT ls_hotkey_action INTO TABLE rt_hotkey_actions.
ls_hotkey_action-description = |Refresh|.
ls_hotkey_action-action = c_action-refresh_list.
ls_hotkey_action-hotkey = |r|.
INSERT ls_hotkey_action INTO TABLE rt_hotkey_actions.
" registered/handled in js " registered/handled in js
ls_hotkey_action-description = |Previous Repository|. ls_hotkey_action-description = |Previous Repository|.
ls_hotkey_action-action = `#`. ls_hotkey_action-action = `#`.
@ -1023,6 +1034,9 @@ CLASS zcl_abapgit_gui_page_repo_over IMPLEMENTATION.
)->add( )->add(
iv_txt = zcl_abapgit_gui_buttons=>settings( ) iv_txt = zcl_abapgit_gui_buttons=>settings( )
iv_act = zif_abapgit_definitions=>c_action-go_settings iv_act = zif_abapgit_definitions=>c_action-go_settings
)->add(
iv_txt = zcl_abapgit_gui_buttons=>refresh( )
iv_act = c_action-refresh_list
)->add( )->add(
iv_txt = zcl_abapgit_gui_buttons=>advanced( ) iv_txt = zcl_abapgit_gui_buttons=>advanced( )
io_sub = zcl_abapgit_gui_menus=>advanced( ) io_sub = zcl_abapgit_gui_menus=>advanced( )

View File

@ -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.

View File

@ -13,30 +13,18 @@ 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 .
CLASS-METHODS get_default_transport CLASS-METHODS get_default_transport
RETURNING RETURNING
VALUE(ri_default_transport) TYPE REF TO zif_abapgit_default_transport VALUE(ri_default_transport) TYPE REF TO zif_abapgit_default_transport.
RAISING
zcx_abapgit_exception.
CLASS-METHODS get_environment CLASS-METHODS get_environment
RETURNING RETURNING
VALUE(ri_environment) TYPE REF TO zif_abapgit_environment . VALUE(ri_environment) TYPE REF TO zif_abapgit_environment .
CLASS-METHODS get_longtexts CLASS-METHODS get_longtexts
RETURNING RETURNING
VALUE(ri_longtexts) TYPE REF TO zif_abapgit_longtexts . VALUE(ri_longtexts) TYPE REF TO zif_abapgit_longtexts .
CLASS-METHODS get_http_agent
RETURNING
VALUE(ri_http_agent) TYPE REF TO zif_abapgit_http_agent .
CLASS-METHODS get_lxe_texts CLASS-METHODS get_lxe_texts
RETURNING RETURNING
VALUE(ri_lxe_texts) TYPE REF TO zif_abapgit_lxe_texts . VALUE(ri_lxe_texts) TYPE REF TO zif_abapgit_lxe_texts .
@ -60,22 +48,12 @@ 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 .
CLASS-DATA gi_http_agent TYPE REF TO zif_abapgit_http_agent .
CLASS-DATA gi_lxe_texts TYPE REF TO zif_abapgit_lxe_texts . CLASS-DATA gi_lxe_texts TYPE REF TO zif_abapgit_lxe_texts .
CLASS-DATA gi_sap_namespace TYPE REF TO zif_abapgit_sap_namespace . CLASS-DATA gi_sap_namespace TYPE REF TO zif_abapgit_sap_namespace .
CLASS-DATA gi_sap_report TYPE REF TO zif_abapgit_sap_report. CLASS-DATA gi_sap_report TYPE REF TO zif_abapgit_sap_report.
@ -88,31 +66,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.
@ -152,17 +105,6 @@ CLASS zcl_abapgit_factory IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD get_http_agent.
IF gi_http_agent IS INITIAL.
gi_http_agent = zcl_abapgit_http_agent=>create( ).
ENDIF.
ri_http_agent = gi_http_agent.
ENDMETHOD.
METHOD get_longtexts. METHOD get_longtexts.
IF gi_longtext IS NOT BOUND. IF gi_longtext IS NOT BOUND.

View File

@ -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 .
@ -25,9 +21,6 @@ CLASS zcl_abapgit_injector DEFINITION
CLASS-METHODS set_longtexts CLASS-METHODS set_longtexts
IMPORTING IMPORTING
!ii_longtexts TYPE REF TO zif_abapgit_longtexts . !ii_longtexts TYPE REF TO zif_abapgit_longtexts .
CLASS-METHODS set_http_agent
IMPORTING
!ii_http_agent TYPE REF TO zif_abapgit_http_agent .
CLASS-METHODS set_lxe_texts CLASS-METHODS set_lxe_texts
IMPORTING IMPORTING
!ii_lxe_texts TYPE REF TO zif_abapgit_lxe_texts . !ii_lxe_texts TYPE REF TO zif_abapgit_lxe_texts .
@ -52,29 +45,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.
@ -95,11 +65,6 @@ CLASS zcl_abapgit_injector IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD set_http_agent.
zcl_abapgit_factory=>gi_http_agent = ii_http_agent.
ENDMETHOD.
METHOD set_longtexts. METHOD set_longtexts.
zcl_abapgit_factory=>gi_longtext = ii_longtexts. zcl_abapgit_factory=>gi_longtext = ii_longtexts.
ENDMETHOD. ENDMETHOD.

View File

@ -23,7 +23,7 @@ CLASS zcl_abapgit_gitea IMPLEMENTATION.
DATA lv_url TYPE string. DATA lv_url TYPE string.
li_agent = zcl_abapgit_factory=>get_http_agent( ). li_agent = zcl_abapgit_http_agent=>create( ).
li_agent->global_headers( )->set( li_agent->global_headers( )->set(
iv_key = 'Accept' iv_key = 'Accept'