mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 13:03:01 +08:00
AdHoc code inspection: ask user for check variant
This commit is contained in:
parent
de12ff23e2
commit
1913b7eaeb
|
@ -30,8 +30,10 @@ CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||||
commit TYPE string VALUE 'commit' ##NO_TEXT,
|
commit TYPE string VALUE 'commit' ##NO_TEXT,
|
||||||
rerun TYPE string VALUE 'rerun' ##NO_TEXT,
|
rerun TYPE string VALUE 'rerun' ##NO_TEXT,
|
||||||
END OF c_actions.
|
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.
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
build_menu
|
build_menu
|
||||||
|
@ -50,7 +52,17 @@ CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||||
|
|
||||||
is_stage_allowed
|
is_stage_allowed
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_is_stage_allowed) TYPE abap_bool.
|
VALUE(rv_is_stage_allowed) TYPE abap_bool,
|
||||||
|
|
||||||
|
ask_user_for_check_variant
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_check_variant) TYPE sci_chkv
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception,
|
||||||
|
|
||||||
|
determine_check_variant
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -104,6 +116,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION.
|
||||||
mo_repo ?= io_repo.
|
mo_repo ?= io_repo.
|
||||||
mo_stage = io_stage.
|
mo_stage = io_stage.
|
||||||
ms_control-page_title = 'Code Inspector'.
|
ms_control-page_title = 'Code Inspector'.
|
||||||
|
determine_check_variant( ).
|
||||||
run_code_inspector( ).
|
run_code_inspector( ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -127,23 +140,19 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD render_content.
|
METHOD render_content.
|
||||||
|
|
||||||
DATA: lv_check_variant TYPE sci_chkv.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_result> TYPE scir_alvlist.
|
FIELD-SYMBOLS: <ls_result> TYPE scir_alvlist.
|
||||||
|
|
||||||
CREATE OBJECT ro_html.
|
CREATE OBJECT ro_html.
|
||||||
|
|
||||||
lv_check_variant = mo_repo->get_local_settings( )-code_inspector_check_variant.
|
IF mv_check_variant IS INITIAL.
|
||||||
|
ro_html->add( |No check variant supplied.| ).
|
||||||
IF lv_check_variant IS INITIAL.
|
|
||||||
ro_html->add( |No check variant maintained in repo settings.| ).
|
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ro_html->add( '<div class="toc"><br/>' ).
|
ro_html->add( '<div class="toc"><br/>' ).
|
||||||
|
|
||||||
ro_html->add( |Code inspector check variant: {
|
ro_html->add( |Code inspector check variant: {
|
||||||
mo_repo->get_local_settings( )-code_inspector_check_variant
|
mv_check_variant
|
||||||
}<br/>| ).
|
}<br/>| ).
|
||||||
|
|
||||||
IF lines( mt_result ) = 0.
|
IF lines( mt_result ) = 0.
|
||||||
|
@ -164,7 +173,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD run_code_inspector.
|
METHOD run_code_inspector.
|
||||||
|
|
||||||
mt_result = mo_repo->run_code_inspector( ).
|
mt_result = mo_repo->run_code_inspector( |{ mv_check_variant }| ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -257,4 +266,49 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION.
|
||||||
ro_html = super->zif_abapgit_gui_page~render( ).
|
ro_html = super->zif_abapgit_gui_page~render( ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD ask_user_for_check_variant.
|
||||||
|
|
||||||
|
DATA: lt_return TYPE STANDARD TABLE OF ddshretval.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_return> LIKE LINE OF lt_return.
|
||||||
|
|
||||||
|
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
|
||||||
|
EXPORTING
|
||||||
|
tabname = 'SCI_DYNP'
|
||||||
|
fieldname = 'CHKV'
|
||||||
|
TABLES
|
||||||
|
return_tab = lt_return
|
||||||
|
EXCEPTIONS
|
||||||
|
field_not_found = 1
|
||||||
|
no_help_for_field = 2
|
||||||
|
inconsistent_help = 3
|
||||||
|
no_values_found = 4
|
||||||
|
OTHERS = 5.
|
||||||
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise_t100( ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
READ TABLE lt_return ASSIGNING <ls_return>
|
||||||
|
WITH KEY retfield = 'SCI_DYNP-CHKV'.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Please select a check variant.| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
rv_check_variant = <ls_return>-fieldval.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD determine_check_variant.
|
||||||
|
|
||||||
|
mv_check_variant = mo_repo->get_local_settings( )-code_inspector_check_variant.
|
||||||
|
|
||||||
|
IF mv_check_variant IS INITIAL.
|
||||||
|
mv_check_variant = ask_user_for_check_variant( ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -131,7 +131,16 @@ CLASS zcl_abapgit_code_inspector IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
|
IF iv_package IS INITIAL.
|
||||||
|
zcx_abapgit_exception=>raise( |Please supply package| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
mv_package = iv_package.
|
mv_package = iv_package.
|
||||||
|
|
||||||
|
IF iv_check_variant_name IS INITIAL.
|
||||||
|
zcx_abapgit_exception=>raise( |Please supply check variant| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
mv_check_variant_name = iv_check_variant_name.
|
mv_check_variant_name = iv_check_variant_name.
|
||||||
|
|
||||||
" We create the inspection and objectset with dummy names.
|
" We create the inspection and objectset with dummy names.
|
||||||
|
|
|
@ -100,8 +100,10 @@ CLASS zcl_abapgit_repo DEFINITION
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
METHODS run_code_inspector
|
METHODS run_code_inspector
|
||||||
|
IMPORTING
|
||||||
|
iv_check_variant TYPE string
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rt_list) TYPE scit_alvlist
|
VALUE(rt_list) TYPE scit_alvlist
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
METHODS has_remote_source
|
METHODS has_remote_source
|
||||||
|
@ -611,18 +613,11 @@ CLASS ZCL_ABAPGIT_REPO IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD run_code_inspector.
|
METHOD run_code_inspector.
|
||||||
|
|
||||||
DATA: li_code_inspector TYPE REF TO zif_abapgit_code_inspector,
|
DATA: li_code_inspector TYPE REF TO zif_abapgit_code_inspector.
|
||||||
lv_check_variant TYPE string.
|
|
||||||
|
|
||||||
lv_check_variant = get_local_settings( )-code_inspector_check_variant.
|
|
||||||
|
|
||||||
IF lv_check_variant IS INITIAL.
|
|
||||||
zcx_abapgit_exception=>raise( |No check variant maintained in repo settings.| ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
li_code_inspector = zcl_abapgit_factory=>get_code_inspector(
|
li_code_inspector = zcl_abapgit_factory=>get_code_inspector(
|
||||||
iv_package = get_package( )
|
iv_package = get_package( )
|
||||||
iv_check_variant_name = |{ lv_check_variant }| ).
|
iv_check_variant_name = |{ iv_check_variant }| ).
|
||||||
|
|
||||||
rt_list = li_code_inspector->run( ).
|
rt_list = li_code_inspector->run( ).
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,10 @@ CLASS ltcl_code_inspector DEFINITION FOR TESTING.
|
||||||
constructor
|
constructor
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_package TYPE devclass.
|
iv_package TYPE devclass.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
DATA mv_package TYPE devclass.
|
DATA:
|
||||||
|
mv_package TYPE devclass.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -47,9 +49,10 @@ CLASS ltcl_run_code_inspection DEFINITION FINAL FOR TESTING
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
DATA:
|
DATA:
|
||||||
mo_repo_online TYPE REF TO zcl_abapgit_repo_online,
|
mo_repo_online TYPE REF TO zcl_abapgit_repo_online,
|
||||||
mv_error_text TYPE string,
|
mv_error_text TYPE string,
|
||||||
mt_act_list TYPE scit_alvlist.
|
mt_act_list TYPE scit_alvlist,
|
||||||
|
mv_check_variant TYPE string.
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
exception_when_no_check_var FOR TESTING RAISING cx_static_check,
|
exception_when_no_check_var FOR TESTING RAISING cx_static_check,
|
||||||
|
@ -99,7 +102,7 @@ CLASS ltcl_run_code_inspection IMPLEMENTATION.
|
||||||
given_online_repo( iv_package = '$DUMMY' ).
|
given_online_repo( iv_package = '$DUMMY' ).
|
||||||
given_check_variant( || ).
|
given_check_variant( || ).
|
||||||
when_run_code_inspector( ).
|
when_run_code_inspector( ).
|
||||||
then_exception_text_is( |No check variant maintained in repo settings.| ).
|
then_exception_text_is( |Please supply check variant| ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -143,6 +146,7 @@ CLASS ltcl_run_code_inspection IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD given_check_variant.
|
METHOD given_check_variant.
|
||||||
|
mv_check_variant = iv_check_variant.
|
||||||
mo_repo_online->ms_data-local_settings-code_inspector_check_variant = iv_check_variant.
|
mo_repo_online->ms_data-local_settings-code_inspector_check_variant = iv_check_variant.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -213,7 +217,7 @@ CLASS ltcl_run_code_inspection IMPLEMENTATION.
|
||||||
DATA: lx_error TYPE REF TO zcx_abapgit_exception.
|
DATA: lx_error TYPE REF TO zcx_abapgit_exception.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
mt_act_list = mo_repo_online->run_code_inspector( ).
|
mt_act_list = mo_repo_online->run_code_inspector( |{ mv_check_variant }| ).
|
||||||
CATCH zcx_abapgit_exception INTO lx_error.
|
CATCH zcx_abapgit_exception INTO lx_error.
|
||||||
mv_error_text = lx_error->get_text( ).
|
mv_error_text = lx_error->get_text( ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user