mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Refactor Code Inspector and Syntax Check Pages (#6584)
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
8f7d7c30ec
commit
6471b3fe8d
|
@ -1,45 +1,46 @@
|
|||
CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
INHERITING FROM zcl_abapgit_gui_page_codi_base.
|
||||
CLASS zcl_abapgit_gui_page_code_insp DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_abapgit_gui_page_codi_base
|
||||
FINAL
|
||||
CREATE PRIVATE.
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES: zif_abapgit_gui_hotkeys.
|
||||
|
||||
INTERFACES:
|
||||
zif_abapgit_gui_event_handler,
|
||||
zif_abapgit_gui_hotkeys,
|
||||
zif_abapgit_gui_menu_provider,
|
||||
zif_abapgit_gui_renderable.
|
||||
|
||||
CLASS-METHODS create
|
||||
IMPORTING
|
||||
io_repo TYPE REF TO zcl_abapgit_repo
|
||||
io_stage TYPE REF TO zcl_abapgit_stage OPTIONAL
|
||||
iv_check_variant TYPE sci_chkv OPTIONAL
|
||||
iv_raise_when_no_results TYPE abap_bool DEFAULT abap_false
|
||||
RETURNING
|
||||
VALUE(ri_page) TYPE REF TO zif_abapgit_gui_renderable
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
METHODS:
|
||||
constructor
|
||||
IMPORTING
|
||||
io_repo TYPE REF TO zcl_abapgit_repo
|
||||
io_stage TYPE REF TO zcl_abapgit_stage OPTIONAL
|
||||
iv_check_variant TYPE sci_chkv OPTIONAL
|
||||
io_repo TYPE REF TO zcl_abapgit_repo
|
||||
io_stage TYPE REF TO zcl_abapgit_stage OPTIONAL
|
||||
iv_check_variant TYPE sci_chkv OPTIONAL
|
||||
iv_raise_when_no_results TYPE abap_bool DEFAULT abap_false
|
||||
RAISING
|
||||
zcx_abapgit_exception,
|
||||
|
||||
is_nothing_to_display
|
||||
RETURNING
|
||||
VALUE(rv_yes) TYPE abap_bool,
|
||||
|
||||
zif_abapgit_gui_event_handler~on_event
|
||||
REDEFINITION,
|
||||
|
||||
zif_abapgit_gui_renderable~render
|
||||
REDEFINITION.
|
||||
zcx_abapgit_exception.
|
||||
|
||||
PROTECTED SECTION.
|
||||
|
||||
METHODS:
|
||||
render_content REDEFINITION.
|
||||
|
||||
PRIVATE SECTION.
|
||||
|
||||
DATA:
|
||||
mo_stage TYPE REF TO zcl_abapgit_stage,
|
||||
mv_check_variant TYPE sci_chkv.
|
||||
|
||||
METHODS:
|
||||
build_menu
|
||||
RETURNING
|
||||
VALUE(ro_menu) TYPE REF TO zcl_abapgit_html_toolbar
|
||||
RAISING
|
||||
zcx_abapgit_exception,
|
||||
|
||||
run_code_inspector
|
||||
RAISING
|
||||
zcx_abapgit_exception,
|
||||
|
@ -79,50 +80,36 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD build_menu.
|
||||
|
||||
DATA: lv_opt TYPE c LENGTH 1.
|
||||
|
||||
ro_menu = build_base_menu( ).
|
||||
|
||||
IF is_stage_allowed( ) = abap_false.
|
||||
lv_opt = zif_abapgit_html=>c_html_opt-crossout.
|
||||
ENDIF.
|
||||
|
||||
IF mo_repo->is_offline( ) = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
IF mo_stage IS BOUND.
|
||||
|
||||
" Staging info already available, we can directly
|
||||
" offer to commit
|
||||
|
||||
ro_menu->add( iv_txt = 'Commit'
|
||||
iv_act = c_actions-commit
|
||||
iv_cur = abap_false
|
||||
iv_opt = lv_opt ).
|
||||
|
||||
ELSE.
|
||||
|
||||
ro_menu->add( iv_txt = 'Stage'
|
||||
iv_act = c_actions-stage
|
||||
iv_cur = abap_false
|
||||
iv_opt = lv_opt ).
|
||||
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD constructor.
|
||||
super->constructor( ).
|
||||
mo_repo = io_repo.
|
||||
mo_stage = io_stage.
|
||||
mv_check_variant = iv_check_variant.
|
||||
ms_control-page_title = 'Code Inspector'.
|
||||
determine_check_variant( ).
|
||||
run_code_inspector( ).
|
||||
|
||||
IF mt_result IS INITIAL AND iv_raise_when_no_results = abap_true.
|
||||
zcx_abapgit_exception=>raise( 'No results' ).
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD create.
|
||||
|
||||
DATA lo_component TYPE REF TO zcl_abapgit_gui_page_code_insp.
|
||||
|
||||
CREATE OBJECT lo_component
|
||||
EXPORTING
|
||||
io_repo = io_repo
|
||||
io_stage = io_stage
|
||||
iv_check_variant = iv_check_variant
|
||||
iv_raise_when_no_results = iv_raise_when_no_results.
|
||||
|
||||
ri_page = zcl_abapgit_gui_page_hoc=>create(
|
||||
iv_page_title = 'Code Inspector'
|
||||
ii_page_menu_provider = lo_component
|
||||
ii_child_component = lo_component ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
@ -150,11 +137,6 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD is_nothing_to_display.
|
||||
rv_yes = boolc( lines( mt_result ) = 0 ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD is_stage_allowed.
|
||||
|
||||
rv_is_stage_allowed = boolc( NOT ( mo_repo->get_local_settings( )-block_commit = abap_true
|
||||
|
@ -163,40 +145,6 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD render_content.
|
||||
|
||||
CREATE OBJECT ri_html TYPE zcl_abapgit_html.
|
||||
|
||||
ri_html->add( `<div class="repo">` ).
|
||||
ri_html->add( zcl_abapgit_gui_chunk_lib=>render_repo_top( io_repo = mo_repo
|
||||
iv_show_commit = abap_false ) ).
|
||||
ri_html->add( `</div>` ).
|
||||
|
||||
IF mv_check_variant IS INITIAL.
|
||||
ri_html->add( zcl_abapgit_gui_chunk_lib=>render_error( iv_error = 'No check variant supplied.' ) ).
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
register_handlers( ).
|
||||
|
||||
ri_html->add( render_variant(
|
||||
iv_variant = mv_check_variant
|
||||
iv_summary = mv_summary ) ).
|
||||
|
||||
IF lines( mt_result ) = 0.
|
||||
ri_html->add( '<div class="dummydiv success">' ).
|
||||
ri_html->add( ri_html->icon( 'check' ) ).
|
||||
ri_html->add( 'No code inspector findings' ).
|
||||
ri_html->add( '</div>' ).
|
||||
ELSE.
|
||||
render_result(
|
||||
ii_html = ri_html
|
||||
it_result = mt_result ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD run_code_inspector.
|
||||
|
||||
DATA: li_code_inspector TYPE REF TO zif_abapgit_code_inspector.
|
||||
|
@ -277,7 +225,7 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
|
|||
rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render.
|
||||
|
||||
WHEN OTHERS.
|
||||
rs_handled = super->zif_abapgit_gui_event_handler~on_event( ii_event ).
|
||||
rs_handled = on_event( ii_event ).
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
@ -287,7 +235,7 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
|
|||
|
||||
DATA: ls_hotkey_action LIKE LINE OF rt_hotkey_actions.
|
||||
|
||||
ls_hotkey_action-ui_component = 'Code inspector'.
|
||||
ls_hotkey_action-ui_component = 'Code Inspector'.
|
||||
|
||||
ls_hotkey_action-description = |Stage|.
|
||||
ls_hotkey_action-action = c_actions-stage.
|
||||
|
@ -302,10 +250,74 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_gui_menu_provider~get_menu.
|
||||
|
||||
DATA: lv_opt TYPE c LENGTH 1.
|
||||
|
||||
ro_toolbar = build_base_menu( ).
|
||||
|
||||
IF is_stage_allowed( ) = abap_false.
|
||||
lv_opt = zif_abapgit_html=>c_html_opt-crossout.
|
||||
ENDIF.
|
||||
|
||||
IF mo_repo->is_offline( ) = abap_true.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
IF mo_stage IS BOUND.
|
||||
|
||||
" Staging info already available, we can directly
|
||||
" offer to commit
|
||||
|
||||
ro_toolbar->add( iv_txt = 'Commit'
|
||||
iv_act = c_actions-commit
|
||||
iv_opt = lv_opt ).
|
||||
|
||||
ELSE.
|
||||
|
||||
ro_toolbar->add( iv_txt = 'Stage'
|
||||
iv_act = c_actions-stage
|
||||
iv_opt = lv_opt ).
|
||||
|
||||
ENDIF.
|
||||
|
||||
ro_toolbar->add(
|
||||
iv_txt = 'Back'
|
||||
iv_act = zif_abapgit_definitions=>c_action-go_back ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_gui_renderable~render.
|
||||
|
||||
ms_control-page_menu = build_menu( ).
|
||||
ri_html = super->zif_abapgit_gui_renderable~render( ).
|
||||
register_handlers( ).
|
||||
|
||||
CREATE OBJECT ri_html TYPE zcl_abapgit_html.
|
||||
|
||||
ri_html->add( `<div class="repo">` ).
|
||||
ri_html->add( zcl_abapgit_gui_chunk_lib=>render_repo_top( io_repo = mo_repo
|
||||
iv_show_commit = abap_false ) ).
|
||||
ri_html->add( `</div>` ).
|
||||
|
||||
IF mv_check_variant IS INITIAL.
|
||||
ri_html->add( zcl_abapgit_gui_chunk_lib=>render_error( iv_error = 'No check variant supplied.' ) ).
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
ri_html->add( render_variant(
|
||||
iv_variant = mv_check_variant
|
||||
iv_summary = mv_summary ) ).
|
||||
|
||||
IF lines( mt_result ) = 0.
|
||||
ri_html->add( '<div class="dummydiv success">' ).
|
||||
ri_html->add( ri_html->icon( 'check' ) ).
|
||||
ri_html->add( 'No code inspector findings' ).
|
||||
ri_html->add( '</div>' ).
|
||||
ELSE.
|
||||
render_result(
|
||||
ii_html = ri_html
|
||||
it_result = mt_result ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,24 +1,32 @@
|
|||
CLASS zcl_abapgit_gui_page_codi_base DEFINITION PUBLIC ABSTRACT INHERITING FROM zcl_abapgit_gui_page.
|
||||
CLASS zcl_abapgit_gui_page_codi_base DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_abapgit_gui_component.
|
||||
|
||||
PUBLIC SECTION.
|
||||
METHODS:
|
||||
zif_abapgit_gui_event_handler~on_event
|
||||
REDEFINITION.
|
||||
|
||||
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,
|
||||
rerun TYPE string VALUE 'rerun',
|
||||
sort_1 TYPE string VALUE 'sort_1',
|
||||
sort_2 TYPE string VALUE 'sort_2',
|
||||
sort_3 TYPE string VALUE 'sort_3',
|
||||
stage TYPE string VALUE 'stage',
|
||||
commit TYPE string VALUE 'commit',
|
||||
END OF c_actions .
|
||||
DATA mo_repo TYPE REF TO zcl_abapgit_repo .
|
||||
DATA mt_result TYPE zif_abapgit_code_inspector=>ty_results .
|
||||
DATA mv_summary TYPE string.
|
||||
|
||||
METHODS on_event
|
||||
IMPORTING
|
||||
ii_event TYPE REF TO zif_abapgit_gui_event
|
||||
RETURNING
|
||||
VALUE(rs_handled) TYPE zif_abapgit_gui_event_handler=>ty_handling_result
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
METHODS render_variant
|
||||
IMPORTING
|
||||
!iv_variant TYPE sci_chkv
|
||||
|
@ -81,8 +89,7 @@ CLASS zcl_abapgit_gui_page_codi_base IMPLEMENTATION.
|
|||
io_sub = lo_sort_menu ).
|
||||
|
||||
ro_menu->add( iv_txt = 'Re-Run'
|
||||
iv_act = c_actions-rerun
|
||||
iv_cur = abap_false ).
|
||||
iv_act = c_actions-rerun ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -169,6 +176,60 @@ CLASS zcl_abapgit_gui_page_codi_base IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD on_event.
|
||||
|
||||
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||
ls_sub_item TYPE zif_abapgit_definitions=>ty_item,
|
||||
lv_temp TYPE string,
|
||||
lv_main_object TYPE string,
|
||||
lv_sub_object TYPE string,
|
||||
lv_line_number_s TYPE string,
|
||||
lv_line_number TYPE i.
|
||||
|
||||
lv_temp = replace( val = ii_event->mv_action
|
||||
regex = |^{ c_ci_sig }|
|
||||
with = `` ).
|
||||
|
||||
IF lv_temp <> ii_event->mv_action. " CI navigation request detected
|
||||
|
||||
SPLIT lv_temp AT c_object_separator INTO lv_main_object lv_sub_object lv_line_number_s.
|
||||
ls_item-obj_type = to_upper( lv_main_object(4) ).
|
||||
ls_item-obj_name = to_upper( lv_main_object+4(*) ).
|
||||
|
||||
IF lv_sub_object IS NOT INITIAL.
|
||||
ls_sub_item-obj_type = to_upper( lv_sub_object(4) ).
|
||||
ls_sub_item-obj_name = to_upper( lv_sub_object+4(*) ).
|
||||
ENDIF.
|
||||
|
||||
lv_line_number = lv_line_number_s.
|
||||
|
||||
jump( is_item = ls_item
|
||||
is_sub_item = ls_sub_item
|
||||
iv_line_number = lv_line_number ).
|
||||
|
||||
rs_handled-state = zcl_abapgit_gui=>c_event_state-no_more_act.
|
||||
|
||||
ENDIF.
|
||||
|
||||
CASE ii_event->mv_action.
|
||||
|
||||
WHEN c_actions-sort_1.
|
||||
SORT mt_result BY objtype objname test code sobjtype sobjname line col.
|
||||
rs_handled-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.
|
||||
rs_handled-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.
|
||||
rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render.
|
||||
WHEN zif_abapgit_definitions=>c_action-go_back.
|
||||
rs_handled-state = zcl_abapgit_gui=>c_event_state-go_back.
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD render_result.
|
||||
|
||||
CONSTANTS: lc_limit TYPE i VALUE 500.
|
||||
|
@ -284,55 +345,4 @@ CLASS zcl_abapgit_gui_page_codi_base IMPLEMENTATION.
|
|||
ri_html->add( `</div>` ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_gui_event_handler~on_event.
|
||||
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||
ls_sub_item TYPE zif_abapgit_definitions=>ty_item,
|
||||
lv_temp TYPE string,
|
||||
lv_main_object TYPE string,
|
||||
lv_sub_object TYPE string,
|
||||
lv_line_number_s TYPE string,
|
||||
lv_line_number TYPE i.
|
||||
|
||||
lv_temp = replace( val = ii_event->mv_action
|
||||
regex = |^{ c_ci_sig }|
|
||||
with = `` ).
|
||||
|
||||
IF lv_temp <> ii_event->mv_action. " CI navigation request detected
|
||||
|
||||
SPLIT lv_temp AT c_object_separator INTO lv_main_object lv_sub_object lv_line_number_s.
|
||||
ls_item-obj_type = to_upper( lv_main_object(4) ).
|
||||
ls_item-obj_name = to_upper( lv_main_object+4(*) ).
|
||||
|
||||
IF lv_sub_object IS NOT INITIAL.
|
||||
ls_sub_item-obj_type = to_upper( lv_sub_object(4) ).
|
||||
ls_sub_item-obj_name = to_upper( lv_sub_object+4(*) ).
|
||||
ENDIF.
|
||||
|
||||
lv_line_number = lv_line_number_s.
|
||||
|
||||
jump( is_item = ls_item
|
||||
is_sub_item = ls_sub_item
|
||||
iv_line_number = lv_line_number ).
|
||||
|
||||
rs_handled-state = zcl_abapgit_gui=>c_event_state-no_more_act.
|
||||
|
||||
ENDIF.
|
||||
|
||||
CASE ii_event->mv_action.
|
||||
|
||||
WHEN c_actions-sort_1.
|
||||
SORT mt_result BY objtype objname test code sobjtype sobjname line col.
|
||||
rs_handled-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.
|
||||
rs_handled-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.
|
||||
rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render.
|
||||
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -211,10 +211,9 @@ CLASS zcl_abapgit_gui_page_merge IMPLEMENTATION.
|
|||
|
||||
IF mo_repo->get_local_settings( )-code_inspector_check_variant IS NOT INITIAL.
|
||||
|
||||
CREATE OBJECT rs_handled-page TYPE zcl_abapgit_gui_page_code_insp
|
||||
EXPORTING
|
||||
io_repo = mo_repo
|
||||
io_stage = mi_merge->get_result( )-stage.
|
||||
rs_handled-page = zcl_abapgit_gui_page_code_insp=>create(
|
||||
io_repo = mo_repo
|
||||
io_stage = mi_merge->get_result( )-stage ).
|
||||
|
||||
ELSE.
|
||||
|
||||
|
|
|
@ -108,7 +108,6 @@ CLASS zcl_abapgit_gui_page_runit IMPLEMENTATION.
|
|||
METHOD create.
|
||||
|
||||
DATA lo_component TYPE REF TO zcl_abapgit_gui_page_runit.
|
||||
DATA lo_page_code_inspector TYPE REF TO zcl_abapgit_gui_page_code_insp.
|
||||
|
||||
TRY.
|
||||
CREATE OBJECT lo_component EXPORTING io_repo = io_repo.
|
||||
|
@ -122,12 +121,9 @@ CLASS zcl_abapgit_gui_page_runit IMPLEMENTATION.
|
|||
|
||||
" Fallback as either SAPLSAUCV_GUI_RUNNER is not available in old releases
|
||||
" or passport=>get is private in newer releases NW >= 756
|
||||
CREATE OBJECT lo_page_code_inspector
|
||||
EXPORTING
|
||||
io_repo = io_repo
|
||||
iv_check_variant = 'SWF_ABAP_UNIT'.
|
||||
|
||||
ri_page = lo_page_code_inspector.
|
||||
ri_page = zcl_abapgit_gui_page_code_insp=>create(
|
||||
io_repo = io_repo
|
||||
iv_check_variant = 'SWF_ABAP_UNIT' ).
|
||||
|
||||
ENDTRY.
|
||||
|
||||
|
|
|
@ -1,38 +1,43 @@
|
|||
CLASS zcl_abapgit_gui_page_syntax DEFINITION PUBLIC FINAL CREATE PUBLIC
|
||||
INHERITING FROM zcl_abapgit_gui_page_codi_base.
|
||||
CLASS zcl_abapgit_gui_page_syntax DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_abapgit_gui_page_codi_base
|
||||
FINAL
|
||||
CREATE PRIVATE.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
INTERFACES:
|
||||
zif_abapgit_gui_event_handler,
|
||||
zif_abapgit_gui_hotkeys,
|
||||
zif_abapgit_gui_menu_provider,
|
||||
zif_abapgit_gui_renderable.
|
||||
|
||||
CLASS-METHODS create
|
||||
IMPORTING
|
||||
io_repo TYPE REF TO zcl_abapgit_repo
|
||||
RETURNING
|
||||
VALUE(ri_page) TYPE REF TO zif_abapgit_gui_renderable
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
METHODS:
|
||||
constructor
|
||||
IMPORTING
|
||||
io_repo TYPE REF TO zcl_abapgit_repo
|
||||
RAISING
|
||||
zcx_abapgit_exception,
|
||||
|
||||
zif_abapgit_gui_event_handler~on_event
|
||||
REDEFINITION,
|
||||
|
||||
zif_abapgit_gui_renderable~render
|
||||
REDEFINITION.
|
||||
zcx_abapgit_exception.
|
||||
|
||||
PROTECTED SECTION.
|
||||
CONSTANTS: c_variant TYPE c LENGTH 30 VALUE 'SYNTAX_CHECK'.
|
||||
|
||||
METHODS:
|
||||
render_content REDEFINITION.
|
||||
CONSTANTS c_variant TYPE c LENGTH 30 VALUE 'SYNTAX_CHECK'.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS:
|
||||
build_menu
|
||||
RETURNING
|
||||
VALUE(ro_menu) TYPE REF TO zcl_abapgit_html_toolbar
|
||||
RAISING
|
||||
zcx_abapgit_exception,
|
||||
|
||||
METHODS:
|
||||
run_syntax_check
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
@ -40,45 +45,25 @@ ENDCLASS.
|
|||
CLASS zcl_abapgit_gui_page_syntax IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD build_menu.
|
||||
|
||||
ro_menu = build_base_menu( ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD constructor.
|
||||
super->constructor( ).
|
||||
ms_control-page_title = 'Syntax Check'.
|
||||
mo_repo = io_repo.
|
||||
run_syntax_check( ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD render_content.
|
||||
METHOD create.
|
||||
|
||||
CREATE OBJECT ri_html TYPE zcl_abapgit_html.
|
||||
DATA lo_component TYPE REF TO zcl_abapgit_gui_page_syntax.
|
||||
|
||||
ri_html->add( `<div class="repo">` ).
|
||||
ri_html->add( zcl_abapgit_gui_chunk_lib=>render_repo_top( io_repo = mo_repo
|
||||
iv_show_commit = abap_false ) ).
|
||||
ri_html->add( `</div>` ).
|
||||
CREATE OBJECT lo_component
|
||||
EXPORTING
|
||||
io_repo = io_repo.
|
||||
|
||||
ri_html->add( '<div class="toc">' ).
|
||||
|
||||
ri_html->add( render_variant(
|
||||
iv_variant = c_variant
|
||||
iv_summary = mv_summary ) ).
|
||||
|
||||
IF lines( mt_result ) = 0.
|
||||
ri_html->add( '<div class="dummydiv success">' ).
|
||||
ri_html->add( ri_html->icon( 'check' ) ).
|
||||
ri_html->add( 'No syntax errors' ).
|
||||
ri_html->add( '</div>' ).
|
||||
ELSE.
|
||||
render_result( ii_html = ri_html
|
||||
it_result = mt_result ).
|
||||
ENDIF.
|
||||
ri_page = zcl_abapgit_gui_page_hoc=>create(
|
||||
iv_page_title = 'Syntax Check'
|
||||
ii_page_menu_provider = lo_component
|
||||
ii_child_component = lo_component ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -110,16 +95,63 @@ CLASS zcl_abapgit_gui_page_syntax IMPLEMENTATION.
|
|||
rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render.
|
||||
|
||||
WHEN OTHERS.
|
||||
rs_handled = super->zif_abapgit_gui_event_handler~on_event( ii_event ).
|
||||
rs_handled = on_event( ii_event ).
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_gui_hotkeys~get_hotkey_actions.
|
||||
|
||||
DATA: ls_hotkey_action LIKE LINE OF rt_hotkey_actions.
|
||||
|
||||
ls_hotkey_action-ui_component = 'Syntax Check'.
|
||||
|
||||
ls_hotkey_action-description = |Re-Run|.
|
||||
ls_hotkey_action-action = c_actions-rerun.
|
||||
ls_hotkey_action-hotkey = |r|.
|
||||
INSERT ls_hotkey_action INTO TABLE rt_hotkey_actions.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_gui_menu_provider~get_menu.
|
||||
|
||||
ro_toolbar = build_base_menu( ).
|
||||
|
||||
ro_toolbar->add(
|
||||
iv_txt = 'Back'
|
||||
iv_act = zif_abapgit_definitions=>c_action-go_back ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_gui_renderable~render.
|
||||
|
||||
ms_control-page_menu = build_menu( ).
|
||||
ri_html = super->zif_abapgit_gui_renderable~render( ).
|
||||
register_handlers( ).
|
||||
|
||||
CREATE OBJECT ri_html TYPE zcl_abapgit_html.
|
||||
|
||||
ri_html->add( `<div class="repo">` ).
|
||||
ri_html->add( zcl_abapgit_gui_chunk_lib=>render_repo_top( io_repo = mo_repo
|
||||
iv_show_commit = abap_false ) ).
|
||||
ri_html->add( `</div>` ).
|
||||
|
||||
ri_html->add( '<div class="toc">' ).
|
||||
|
||||
ri_html->add( render_variant(
|
||||
iv_variant = c_variant
|
||||
iv_summary = mv_summary ) ).
|
||||
|
||||
IF lines( mt_result ) = 0.
|
||||
ri_html->add( '<div class="dummydiv success">' ).
|
||||
ri_html->add( ri_html->icon( 'check' ) ).
|
||||
ri_html->add( 'No syntax errors' ).
|
||||
ri_html->add( '</div>' ).
|
||||
ELSE.
|
||||
render_result( ii_html = ri_html
|
||||
it_result = mt_result ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -312,7 +312,6 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION.
|
|||
lv_key TYPE zif_abapgit_persistence=>ty_repo-key,
|
||||
lv_seed TYPE string,
|
||||
lo_stage_page TYPE REF TO zcl_abapgit_gui_page_stage,
|
||||
lo_code_inspector_page TYPE REF TO zcl_abapgit_gui_page_code_insp,
|
||||
lv_sci_result TYPE zif_abapgit_definitions=>ty_sci_result,
|
||||
lx_error TYPE REF TO cx_sy_move_cast_error.
|
||||
|
||||
|
@ -334,15 +333,16 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION.
|
|||
ENDIF.
|
||||
|
||||
IF lo_repo->get_local_settings( )-code_inspector_check_variant IS NOT INITIAL.
|
||||
CREATE OBJECT lo_code_inspector_page
|
||||
EXPORTING
|
||||
io_repo = lo_repo.
|
||||
|
||||
IF lo_code_inspector_page->is_nothing_to_display( ) = abap_true.
|
||||
lv_sci_result = zif_abapgit_definitions=>c_sci_result-passed.
|
||||
ELSE.
|
||||
ri_page = lo_code_inspector_page.
|
||||
ENDIF.
|
||||
TRY.
|
||||
ri_page = zcl_abapgit_gui_page_code_insp=>create(
|
||||
io_repo = lo_repo
|
||||
iv_raise_when_no_results = abap_true ).
|
||||
|
||||
CATCH zcx_abapgit_exception.
|
||||
lv_sci_result = zif_abapgit_definitions=>c_sci_result-passed.
|
||||
ENDTRY.
|
||||
|
||||
ENDIF.
|
||||
|
||||
IF ri_page IS INITIAL.
|
||||
|
@ -580,15 +580,11 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION.
|
|||
WHEN zif_abapgit_definitions=>c_action-repo_refresh. " Repo refresh
|
||||
zcl_abapgit_services_repo=>refresh( lv_key ).
|
||||
rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render.
|
||||
WHEN zif_abapgit_definitions=>c_action-repo_syntax_check.
|
||||
CREATE OBJECT rs_handled-page TYPE zcl_abapgit_gui_page_syntax " Syntax check
|
||||
EXPORTING
|
||||
io_repo = lo_repo.
|
||||
WHEN zif_abapgit_definitions=>c_action-repo_syntax_check. " Syntax check
|
||||
rs_handled-page = zcl_abapgit_gui_page_syntax=>create( lo_repo ).
|
||||
rs_handled-state = zcl_abapgit_gui=>c_event_state-new_page.
|
||||
WHEN zif_abapgit_definitions=>c_action-repo_code_inspector. " Code inspector
|
||||
CREATE OBJECT rs_handled-page TYPE zcl_abapgit_gui_page_code_insp
|
||||
EXPORTING
|
||||
io_repo = lo_repo.
|
||||
rs_handled-page = zcl_abapgit_gui_page_code_insp=>create( lo_repo ).
|
||||
rs_handled-state = zcl_abapgit_gui=>c_event_state-new_page.
|
||||
WHEN zif_abapgit_definitions=>c_action-repo_purge. " Purge all objects and repo (uninstall)
|
||||
zcl_abapgit_services_repo=>purge( lv_key ).
|
||||
|
|
Loading…
Reference in New Issue
Block a user