mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Enhance result view of Code Inspector/Syntax Check (#3717)
* Enhance result view of Code Inspector/Syntax Check * Enhance result view of Code Inspector/Syntax Check * Enhance result view of Code Inspector/Syntax Check * Lint * Move sort
This commit is contained in:
parent
c026ee89b0
commit
324db52335
|
@ -24,13 +24,6 @@ CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|||
render_content REDEFINITION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
CONSTANTS:
|
||||
BEGIN OF c_actions,
|
||||
stage TYPE string VALUE 'stage' ##NO_TEXT,
|
||||
commit TYPE string VALUE 'commit' ##NO_TEXT,
|
||||
rerun TYPE string VALUE 'rerun' ##NO_TEXT,
|
||||
END OF c_actions.
|
||||
|
||||
DATA:
|
||||
mo_stage TYPE REF TO zcl_abapgit_stage,
|
||||
mv_check_variant TYPE sci_chkv.
|
||||
|
@ -63,7 +56,6 @@ CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|||
determine_check_variant
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
@ -109,11 +101,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION.
|
|||
|
||||
DATA: lv_opt TYPE c LENGTH 1.
|
||||
|
||||
CREATE OBJECT ro_menu.
|
||||
|
||||
ro_menu->add( iv_txt = 'Re-Run'
|
||||
iv_act = c_actions-rerun
|
||||
iv_cur = abap_false ) ##NO_TEXT.
|
||||
ro_menu = build_base_menu( ).
|
||||
|
||||
IF is_stage_allowed( ) = abap_false.
|
||||
lv_opt = zif_abapgit_html=>c_html_opt-crossout.
|
||||
|
|
|
@ -6,6 +6,16 @@ CLASS zcl_abapgit_gui_page_codi_base DEFINITION PUBLIC ABSTRACT INHERITING FROM
|
|||
|
||||
PROTECTED SECTION.
|
||||
|
||||
CONSTANTS:
|
||||
BEGIN OF c_actions,
|
||||
rerun TYPE string VALUE 'rerun' ##NO_TEXT,
|
||||
sort_1 TYPE string VALUE 'sort_1' ##NO_TEXT,
|
||||
sort_2 TYPE string VALUE 'sort_2' ##NO_TEXT,
|
||||
sort_3 TYPE string VALUE 'sort_3' ##NO_TEXT,
|
||||
stage TYPE string VALUE 'stage' ##NO_TEXT,
|
||||
commit TYPE string VALUE 'commit' ##NO_TEXT,
|
||||
END OF c_actions.
|
||||
|
||||
DATA mo_repo TYPE REF TO zcl_abapgit_repo .
|
||||
DATA mt_result TYPE scit_alvlist .
|
||||
|
||||
|
@ -19,9 +29,9 @@ CLASS zcl_abapgit_gui_page_codi_base DEFINITION PUBLIC ABSTRACT INHERITING FROM
|
|||
!is_result TYPE scir_alvlist .
|
||||
METHODS build_nav_link
|
||||
IMPORTING
|
||||
!is_result TYPE scir_alvlist
|
||||
!is_result TYPE scir_alvlist
|
||||
RETURNING
|
||||
VALUE(rv_link) TYPE string.
|
||||
VALUE(rv_link) TYPE string .
|
||||
METHODS jump
|
||||
IMPORTING
|
||||
!is_item TYPE zif_abapgit_definitions=>ty_item
|
||||
|
@ -29,10 +39,12 @@ CLASS zcl_abapgit_gui_page_codi_base DEFINITION PUBLIC ABSTRACT INHERITING FROM
|
|||
!iv_line_number TYPE i
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS build_base_menu
|
||||
RETURNING
|
||||
VALUE(ro_menu) TYPE REF TO zcl_abapgit_html_toolbar .
|
||||
PRIVATE SECTION.
|
||||
CONSTANTS c_object_separator TYPE char1 VALUE '|'.
|
||||
CONSTANTS c_ci_sig TYPE string VALUE 'cinav:'.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
@ -40,6 +52,35 @@ ENDCLASS.
|
|||
CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD build_base_menu.
|
||||
|
||||
DATA:
|
||||
lo_sort_menu TYPE REF TO zcl_abapgit_html_toolbar.
|
||||
|
||||
CREATE OBJECT lo_sort_menu.
|
||||
|
||||
lo_sort_menu->add(
|
||||
iv_txt = 'By Object, Check, Sub-object'
|
||||
iv_act = c_actions-sort_1
|
||||
)->add(
|
||||
iv_txt = 'By Object, Sub-object, Line'
|
||||
iv_act = c_actions-sort_2
|
||||
)->add(
|
||||
iv_txt = 'By Check, Object, Sub-object'
|
||||
iv_act = c_actions-sort_3 ).
|
||||
|
||||
CREATE OBJECT ro_menu.
|
||||
|
||||
ro_menu->add( iv_txt = 'Sort'
|
||||
io_sub = lo_sort_menu ) ##NO_TEXT.
|
||||
|
||||
ro_menu->add( iv_txt = 'Re-Run'
|
||||
iv_act = c_actions-rerun
|
||||
iv_cur = abap_false ) ##NO_TEXT.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD build_nav_link.
|
||||
|
||||
rv_link = |{ c_ci_sig }| &&
|
||||
|
@ -52,13 +93,13 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
|
|||
|
||||
METHOD jump.
|
||||
|
||||
DATA: lo_test TYPE REF TO cl_ci_test_root,
|
||||
ls_info TYPE scir_rest,
|
||||
lo_result TYPE REF TO cl_ci_result_root,
|
||||
lv_adt_jump_enabled TYPE abap_bool,
|
||||
lv_line_number TYPE i,
|
||||
ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||
ls_sub_item TYPE zif_abapgit_definitions=>ty_item.
|
||||
DATA: lo_test TYPE REF TO cl_ci_test_root,
|
||||
ls_info TYPE scir_rest,
|
||||
lo_result TYPE REF TO cl_ci_result_root,
|
||||
lv_adt_jump_enabled TYPE abap_bool,
|
||||
lv_line_number TYPE i,
|
||||
ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||
ls_sub_item TYPE zif_abapgit_definitions=>ty_item.
|
||||
|
||||
FIELD-SYMBOLS: <ls_result> TYPE scir_alvlist.
|
||||
|
||||
|
@ -152,7 +193,8 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
|
|||
|
||||
DATA: lv_class TYPE string,
|
||||
lv_obj_txt TYPE string,
|
||||
lv_msg TYPE string.
|
||||
lv_msg TYPE string,
|
||||
ls_mtdkey TYPE seocpdkey.
|
||||
|
||||
CASE is_result-kind.
|
||||
WHEN 'E'.
|
||||
|
@ -170,7 +212,26 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
|
|||
( is_result-sobjname = is_result-objname AND
|
||||
is_result-sobjtype = is_result-sobjtype ).
|
||||
lv_obj_txt = |{ is_result-objtype } { is_result-objname }|.
|
||||
ELSE.
|
||||
ELSEIF is_result-objtype = 'CLAS'.
|
||||
TRY.
|
||||
CASE is_result-sobjname+30(*).
|
||||
WHEN seop_incextapp_definition.
|
||||
lv_obj_txt = |{ is_result-objname } : Local Definitions|.
|
||||
WHEN seop_incextapp_implementation.
|
||||
lv_obj_txt = |{ is_result-objname } : Local Implementations|.
|
||||
WHEN seop_incextapp_macros.
|
||||
lv_obj_txt = |{ is_result-objname } : Macros|.
|
||||
WHEN seop_incextapp_testclasses.
|
||||
lv_obj_txt = |{ is_result-objname } : Test Classes|.
|
||||
WHEN OTHERS.
|
||||
ls_mtdkey = cl_oo_classname_service=>get_method_by_include( is_result-sobjname ).
|
||||
lv_obj_txt = |{ ls_mtdkey-clsname }->{ ls_mtdkey-cpdname }|.
|
||||
ENDCASE.
|
||||
CATCH cx_root.
|
||||
lv_obj_txt = ''. "use default below
|
||||
ENDTRY.
|
||||
ENDIF.
|
||||
IF lv_obj_txt IS INITIAL.
|
||||
lv_obj_txt = |{ is_result-objtype } { is_result-objname } > { is_result-sobjtype } { is_result-sobjname }|.
|
||||
ENDIF.
|
||||
lv_obj_txt = |{ lv_obj_txt } [ @{ zcl_abapgit_convert=>alpha_output( is_result-line ) } ]|.
|
||||
|
@ -220,5 +281,22 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
|
|||
|
||||
ENDIF.
|
||||
|
||||
CASE iv_action.
|
||||
|
||||
WHEN c_actions-sort_1.
|
||||
SORT mt_result BY objtype objname test code sobjtype sobjname line col.
|
||||
ei_page = me.
|
||||
ev_state = zcl_abapgit_gui=>c_event_state-re_render.
|
||||
WHEN c_actions-sort_2.
|
||||
SORT mt_result BY objtype objname sobjtype sobjname line col test code.
|
||||
ei_page = me.
|
||||
ev_state = zcl_abapgit_gui=>c_event_state-re_render.
|
||||
WHEN c_actions-sort_3.
|
||||
SORT mt_result BY test code objtype objname sobjtype sobjname line col.
|
||||
ei_page = me.
|
||||
ev_state = zcl_abapgit_gui=>c_event_state-re_render.
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -22,11 +22,6 @@ CLASS zcl_abapgit_gui_page_syntax DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|||
render_content REDEFINITION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
CONSTANTS:
|
||||
BEGIN OF c_actions,
|
||||
rerun TYPE string VALUE 'rerun' ##NO_TEXT,
|
||||
END OF c_actions.
|
||||
|
||||
METHODS:
|
||||
build_menu
|
||||
RETURNING
|
||||
|
@ -37,7 +32,6 @@ CLASS zcl_abapgit_gui_page_syntax DEFINITION PUBLIC FINAL CREATE PUBLIC
|
|||
run_syntax_check
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
@ -47,11 +41,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SYNTAX IMPLEMENTATION.
|
|||
|
||||
METHOD build_menu.
|
||||
|
||||
CREATE OBJECT ro_menu.
|
||||
|
||||
ro_menu->add( iv_txt = 'Re-Run'
|
||||
iv_act = c_actions-rerun
|
||||
iv_cur = abap_false ) ##NO_TEXT.
|
||||
ro_menu = build_base_menu( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||
CLASS ZCL_ABAPGIT_CODE_INSPECTOR IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD cleanup.
|
||||
|
@ -177,6 +177,7 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
|||
DATA: lt_objs TYPE scit_objs,
|
||||
ls_obj TYPE scir_objs,
|
||||
lt_objs_check TYPE scit_objs,
|
||||
ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||
lt_packages TYPE zif_abapgit_sap_package=>ty_devclass_tt.
|
||||
|
||||
lt_packages = zcl_abapgit_factory=>get_sap_package( mv_package )->list_subpackages( ).
|
||||
|
@ -196,6 +197,13 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
|||
CONTINUE.
|
||||
ENDIF.
|
||||
|
||||
ls_item-obj_type = ls_obj-objtype.
|
||||
ls_item-obj_name = ls_obj-objname.
|
||||
|
||||
IF zcl_abapgit_objects=>exists( ls_item ) = abap_false.
|
||||
CONTINUE.
|
||||
ENDIF.
|
||||
|
||||
INSERT ls_obj INTO TABLE lt_objs_check.
|
||||
|
||||
ENDLOOP.
|
||||
|
@ -207,28 +215,6 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD skip_object.
|
||||
|
||||
DATA: ls_trdir TYPE trdir.
|
||||
|
||||
CASE is_obj-objtype.
|
||||
WHEN 'PROG'.
|
||||
|
||||
SELECT SINGLE *
|
||||
INTO ls_trdir
|
||||
FROM trdir
|
||||
WHERE name = is_obj-objname.
|
||||
|
||||
rv_skip = boolc( ls_trdir-subc = 'I' ). " Include program.
|
||||
|
||||
WHEN OTHERS.
|
||||
rv_skip = abap_false.
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD create_variant.
|
||||
|
||||
IF iv_variant IS INITIAL.
|
||||
|
@ -256,6 +242,23 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD decide_run_mode.
|
||||
|
||||
DATA: lo_settings TYPE REF TO zcl_abapgit_settings.
|
||||
lo_settings = zcl_abapgit_persist_settings=>get_instance( )->read( ).
|
||||
|
||||
IF sy-batch = abap_true.
|
||||
" We have to disable parallelization in batch because of lock errors.
|
||||
rv_run_mode = co_run_mode-run_via_rfc.
|
||||
ELSEIF lo_settings->get_parallel_proc_disabled( ) = abap_false.
|
||||
rv_run_mode = co_run_mode-run_loc_parallel.
|
||||
ELSE.
|
||||
rv_run_mode = co_run_mode-run_via_rfc.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD run_inspection.
|
||||
|
||||
io_inspection->run(
|
||||
|
@ -271,6 +274,32 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
|||
|
||||
io_inspection->plain_list( IMPORTING p_list = rt_list ).
|
||||
|
||||
SORT rt_list BY objtype objname test code sobjtype sobjname line col.
|
||||
|
||||
DELETE ADJACENT DUPLICATES FROM rt_list.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD skip_object.
|
||||
|
||||
DATA: ls_trdir TYPE trdir.
|
||||
|
||||
CASE is_obj-objtype.
|
||||
WHEN 'PROG'.
|
||||
|
||||
SELECT SINGLE *
|
||||
INTO ls_trdir
|
||||
FROM trdir
|
||||
WHERE name = is_obj-objname.
|
||||
|
||||
rv_skip = boolc( ls_trdir-subc = 'I' ). " Include program.
|
||||
|
||||
WHEN OTHERS.
|
||||
rv_skip = abap_false.
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
@ -339,21 +368,4 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
|||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD decide_run_mode.
|
||||
|
||||
DATA: lo_settings TYPE REF TO zcl_abapgit_settings.
|
||||
lo_settings = zcl_abapgit_persist_settings=>get_instance( )->read( ).
|
||||
|
||||
IF sy-batch = abap_true.
|
||||
" We have to disable parallelization in batch because of lock errors.
|
||||
rv_run_mode = co_run_mode-run_via_rfc.
|
||||
ELSEIF lo_settings->get_parallel_proc_disabled( ) = abap_false.
|
||||
rv_run_mode = co_run_mode-run_loc_parallel.
|
||||
ELSE.
|
||||
rv_run_mode = co_run_mode-run_via_rfc.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
Loading…
Reference in New Issue
Block a user