mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 04:36:49 +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.
|
render_content REDEFINITION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
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:
|
DATA:
|
||||||
mo_stage TYPE REF TO zcl_abapgit_stage,
|
mo_stage TYPE REF TO zcl_abapgit_stage,
|
||||||
mv_check_variant TYPE sci_chkv.
|
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
|
determine_check_variant
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -109,11 +101,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION.
|
||||||
|
|
||||||
DATA: lv_opt TYPE c LENGTH 1.
|
DATA: lv_opt TYPE c LENGTH 1.
|
||||||
|
|
||||||
CREATE OBJECT ro_menu.
|
ro_menu = build_base_menu( ).
|
||||||
|
|
||||||
ro_menu->add( iv_txt = 'Re-Run'
|
|
||||||
iv_act = c_actions-rerun
|
|
||||||
iv_cur = abap_false ) ##NO_TEXT.
|
|
||||||
|
|
||||||
IF is_stage_allowed( ) = abap_false.
|
IF is_stage_allowed( ) = abap_false.
|
||||||
lv_opt = zif_abapgit_html=>c_html_opt-crossout.
|
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.
|
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 mo_repo TYPE REF TO zcl_abapgit_repo .
|
||||||
DATA mt_result TYPE scit_alvlist .
|
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 .
|
!is_result TYPE scir_alvlist .
|
||||||
METHODS build_nav_link
|
METHODS build_nav_link
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!is_result TYPE scir_alvlist
|
!is_result TYPE scir_alvlist
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_link) TYPE string.
|
VALUE(rv_link) TYPE string .
|
||||||
METHODS jump
|
METHODS jump
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!is_item TYPE zif_abapgit_definitions=>ty_item
|
!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
|
!iv_line_number TYPE i
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
METHODS build_base_menu
|
||||||
|
RETURNING
|
||||||
|
VALUE(ro_menu) TYPE REF TO zcl_abapgit_html_toolbar .
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CONSTANTS c_object_separator TYPE char1 VALUE '|'.
|
CONSTANTS c_object_separator TYPE char1 VALUE '|'.
|
||||||
CONSTANTS c_ci_sig TYPE string VALUE 'cinav:'.
|
CONSTANTS c_ci_sig TYPE string VALUE 'cinav:'.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -40,6 +52,35 @@ ENDCLASS.
|
||||||
CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
|
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.
|
METHOD build_nav_link.
|
||||||
|
|
||||||
rv_link = |{ c_ci_sig }| &&
|
rv_link = |{ c_ci_sig }| &&
|
||||||
|
@ -52,13 +93,13 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD jump.
|
METHOD jump.
|
||||||
|
|
||||||
DATA: lo_test TYPE REF TO cl_ci_test_root,
|
DATA: lo_test TYPE REF TO cl_ci_test_root,
|
||||||
ls_info TYPE scir_rest,
|
ls_info TYPE scir_rest,
|
||||||
lo_result TYPE REF TO cl_ci_result_root,
|
lo_result TYPE REF TO cl_ci_result_root,
|
||||||
lv_adt_jump_enabled TYPE abap_bool,
|
lv_adt_jump_enabled TYPE abap_bool,
|
||||||
lv_line_number TYPE i,
|
lv_line_number TYPE i,
|
||||||
ls_item TYPE zif_abapgit_definitions=>ty_item,
|
ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||||
ls_sub_item TYPE zif_abapgit_definitions=>ty_item.
|
ls_sub_item TYPE zif_abapgit_definitions=>ty_item.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_result> TYPE scir_alvlist.
|
FIELD-SYMBOLS: <ls_result> TYPE scir_alvlist.
|
||||||
|
|
||||||
|
@ -152,7 +193,8 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
|
||||||
|
|
||||||
DATA: lv_class TYPE string,
|
DATA: lv_class TYPE string,
|
||||||
lv_obj_txt TYPE string,
|
lv_obj_txt TYPE string,
|
||||||
lv_msg TYPE string.
|
lv_msg TYPE string,
|
||||||
|
ls_mtdkey TYPE seocpdkey.
|
||||||
|
|
||||||
CASE is_result-kind.
|
CASE is_result-kind.
|
||||||
WHEN 'E'.
|
WHEN 'E'.
|
||||||
|
@ -170,7 +212,26 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION.
|
||||||
( is_result-sobjname = is_result-objname AND
|
( is_result-sobjname = is_result-objname AND
|
||||||
is_result-sobjtype = is_result-sobjtype ).
|
is_result-sobjtype = is_result-sobjtype ).
|
||||||
lv_obj_txt = |{ is_result-objtype } { is_result-objname }|.
|
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 }|.
|
lv_obj_txt = |{ is_result-objtype } { is_result-objname } > { is_result-sobjtype } { is_result-sobjname }|.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
lv_obj_txt = |{ lv_obj_txt } [ @{ zcl_abapgit_convert=>alpha_output( is_result-line ) } ]|.
|
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.
|
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.
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -22,11 +22,6 @@ CLASS zcl_abapgit_gui_page_syntax DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||||
render_content REDEFINITION.
|
render_content REDEFINITION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CONSTANTS:
|
|
||||||
BEGIN OF c_actions,
|
|
||||||
rerun TYPE string VALUE 'rerun' ##NO_TEXT,
|
|
||||||
END OF c_actions.
|
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
build_menu
|
build_menu
|
||||||
RETURNING
|
RETURNING
|
||||||
|
@ -37,7 +32,6 @@ CLASS zcl_abapgit_gui_page_syntax DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||||
run_syntax_check
|
run_syntax_check
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -47,11 +41,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SYNTAX IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD build_menu.
|
METHOD build_menu.
|
||||||
|
|
||||||
CREATE OBJECT ro_menu.
|
ro_menu = build_base_menu( ).
|
||||||
|
|
||||||
ro_menu->add( iv_txt = 'Re-Run'
|
|
||||||
iv_act = c_actions-rerun
|
|
||||||
iv_cur = abap_false ) ##NO_TEXT.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
|
@ -82,7 +82,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_CODE_INSPECTOR IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD cleanup.
|
METHOD cleanup.
|
||||||
|
@ -177,6 +177,7 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
DATA: lt_objs TYPE scit_objs,
|
DATA: lt_objs TYPE scit_objs,
|
||||||
ls_obj TYPE scir_objs,
|
ls_obj TYPE scir_objs,
|
||||||
lt_objs_check TYPE scit_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 TYPE zif_abapgit_sap_package=>ty_devclass_tt.
|
||||||
|
|
||||||
lt_packages = zcl_abapgit_factory=>get_sap_package( mv_package )->list_subpackages( ).
|
lt_packages = zcl_abapgit_factory=>get_sap_package( mv_package )->list_subpackages( ).
|
||||||
|
@ -196,6 +197,13 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
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.
|
INSERT ls_obj INTO TABLE lt_objs_check.
|
||||||
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
@ -207,28 +215,6 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
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.
|
METHOD create_variant.
|
||||||
|
|
||||||
IF iv_variant IS INITIAL.
|
IF iv_variant IS INITIAL.
|
||||||
|
@ -256,6 +242,23 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
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.
|
METHOD run_inspection.
|
||||||
|
|
||||||
io_inspection->run(
|
io_inspection->run(
|
||||||
|
@ -271,6 +274,32 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
|
|
||||||
io_inspection->plain_list( IMPORTING p_list = rt_list ).
|
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.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -339,21 +368,4 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
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.
|
ENDCLASS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user