run code inspector after conflict resolution

This commit is contained in:
Christian Guenter 2018-07-06 14:28:46 +00:00 committed by christianguenter2
parent 47a313602d
commit c6ebf2be1f
2 changed files with 60 additions and 15 deletions

View File

@ -6,6 +6,7 @@ CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
constructor constructor
IMPORTING IMPORTING
io_repo TYPE REF TO zcl_abapgit_repo io_repo TYPE REF TO zcl_abapgit_repo
io_stage TYPE REF TO zcl_abapgit_stage OPTIONAL
RAISING RAISING
zcx_abapgit_exception, zcx_abapgit_exception,
@ -26,11 +27,13 @@ CLASS zcl_abapgit_gui_page_code_insp DEFINITION PUBLIC FINAL CREATE PUBLIC
CONSTANTS: CONSTANTS:
BEGIN OF c_actions, BEGIN OF c_actions,
stage TYPE string VALUE 'stage' ##NO_TEXT, stage TYPE string VALUE 'stage' ##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:
mt_result TYPE scit_alvlist. mt_result TYPE scit_alvlist,
mo_stage TYPE REF TO zcl_abapgit_stage.
METHODS: METHODS:
build_menu build_menu
@ -75,17 +78,32 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
lv_opt = zif_abapgit_definitions=>gc_html_opt-crossout. lv_opt = zif_abapgit_definitions=>gc_html_opt-crossout.
ENDIF. 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 ) ##NO_TEXT.
ELSE.
ro_menu->add( iv_txt = 'Stage' ro_menu->add( iv_txt = 'Stage'
iv_act = c_actions-stage iv_act = c_actions-stage
iv_cur = abap_false iv_cur = abap_false
iv_opt = lv_opt ) ##NO_TEXT. iv_opt = lv_opt ) ##NO_TEXT.
ENDIF.
ENDMETHOD. ENDMETHOD.
METHOD constructor. METHOD constructor.
super->constructor( ). super->constructor( ).
mo_repo ?= io_repo. mo_repo ?= io_repo.
mo_stage = io_stage.
ms_control-page_title = 'Code Inspector'. ms_control-page_title = 'Code Inspector'.
run_code_inspector( ). run_code_inspector( ).
ENDMETHOD. " constructor. ENDMETHOD. " constructor.
@ -178,14 +196,29 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION.
WHEN c_actions-stage. WHEN c_actions-stage.
IF is_stage_allowed( ) = abap_true. IF is_stage_allowed( ) = abap_true.
" we need to refresh as the source might have changed " we need to refresh as the source might have changed
lo_repo_online->refresh( ). lo_repo_online->refresh( ).
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_stage CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_stage
EXPORTING EXPORTING
io_repo = lo_repo_online. io_repo = lo_repo_online.
ev_state = zif_abapgit_definitions=>gc_event_state-new_page.
ELSE.
ei_page = me.
ev_state = zif_abapgit_definitions=>gc_event_state-no_more_act.
ENDIF.
WHEN c_actions-commit.
IF is_stage_allowed( ) = abap_true.
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_commit
EXPORTING
io_repo = mo_repo
io_stage = mo_stage.
ev_state = zif_abapgit_definitions=>gc_event_state-new_page. ev_state = zif_abapgit_definitions=>gc_event_state-new_page.
ELSE. ELSE.

View File

@ -38,7 +38,7 @@ ENDCLASS.
CLASS ZCL_ABAPGIT_GUI_PAGE_MERGE IMPLEMENTATION. CLASS zcl_abapgit_gui_page_merge IMPLEMENTATION.
METHOD build_menu. METHOD build_menu.
@ -184,12 +184,24 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_MERGE IMPLEMENTATION.
zcx_abapgit_exception=>raise( 'nothing to merge' ). zcx_abapgit_exception=>raise( 'nothing to merge' ).
ENDIF. ENDIF.
IF mo_repo->get_local_settings( )-code_inspector_check_variant IS NOT INITIAL.
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_code_insp
EXPORTING
io_repo = mo_repo
io_stage = mo_merge->get_result( )-stage.
ev_state = zif_abapgit_definitions=>gc_event_state-new_page.
ELSE.
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_commit CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_commit
EXPORTING EXPORTING
io_repo = mo_repo io_repo = mo_repo
io_stage = mo_merge->get_result( )-stage. io_stage = mo_merge->get_result( )-stage.
ev_state = zif_abapgit_definitions=>gc_event_state-new_page. ev_state = zif_abapgit_definitions=>gc_event_state-new_page.
ENDIF.
WHEN c_actions-res_conflicts. WHEN c_actions-res_conflicts.
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_merge_res CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_merge_res
EXPORTING EXPORTING