From a43d4df2b93aab7fc3e6b48fd4e38d2f3caa10b2 Mon Sep 17 00:00:00 2001 From: larshp Date: Sun, 1 Oct 2017 08:48:03 +0000 Subject: [PATCH] GUI for calling syntax check #911 --- src/zabapgit_definitions.prog.abap | 1 + src/zabapgit_gui_pages.prog.abap | 1 + src/zabapgit_gui_router.prog.abap | 5 ++ src/zabapgit_page_syntax_check.prog.abap | 59 ++++++++++++++++++++++++ src/zabapgit_page_syntax_check.prog.xml | 22 +++++++++ src/zabapgit_view_repo.prog.abap | 2 + 6 files changed, 90 insertions(+) create mode 100644 src/zabapgit_page_syntax_check.prog.abap create mode 100644 src/zabapgit_page_syntax_check.prog.xml diff --git a/src/zabapgit_definitions.prog.abap b/src/zabapgit_definitions.prog.abap index 90abd5bdf..987b7dd36 100644 --- a/src/zabapgit_definitions.prog.abap +++ b/src/zabapgit_definitions.prog.abap @@ -214,6 +214,7 @@ INTERFACE lif_defs. repo_refresh_checksums TYPE string VALUE 'repo_refresh_checksums', repo_toggle_fav TYPE string VALUE 'repo_toggle_fav', repo_transport_to_branch TYPE string VALUE 'repo_transport_to_branch', + repo_syntax_check TYPE string VALUE 'repo_syntax_check', abapgit_home TYPE string VALUE 'abapgit_home', abapgit_wiki TYPE string VALUE 'abapgit_wiki', diff --git a/src/zabapgit_gui_pages.prog.abap b/src/zabapgit_gui_pages.prog.abap index e4c658462..b1e5182cc 100644 --- a/src/zabapgit_gui_pages.prog.abap +++ b/src/zabapgit_gui_pages.prog.abap @@ -30,3 +30,4 @@ INCLUDE zabapgit_page_stage. INCLUDE zabapgit_page_debug. INCLUDE zabapgit_page_settings. INCLUDE zabapgit_page_repo_settings. +INCLUDE zabapgit_page_syntax_check. diff --git a/src/zabapgit_gui_router.prog.abap b/src/zabapgit_gui_router.prog.abap index 1c7a0b009..4317d5455 100644 --- a/src/zabapgit_gui_router.prog.abap +++ b/src/zabapgit_gui_router.prog.abap @@ -163,6 +163,11 @@ CLASS lcl_gui_router IMPLEMENTATION. WHEN lif_defs=>gc_action-repo_refresh. " Repo refresh lcl_services_repo=>refresh( lv_key ). ev_state = lif_defs=>gc_event_state-re_render. + WHEN lif_defs=>gc_action-repo_syntax_check. + CREATE OBJECT ei_page TYPE lcl_gui_page_syntax_check + EXPORTING + io_repo = lcl_app=>repo_srv( )->get( lv_key ). + ev_state = lif_defs=>gc_event_state-new_page. WHEN lif_defs=>gc_action-repo_purge. " Repo remove & purge all objects lcl_services_repo=>purge( lv_key ). ev_state = lif_defs=>gc_event_state-re_render. diff --git a/src/zabapgit_page_syntax_check.prog.abap b/src/zabapgit_page_syntax_check.prog.abap new file mode 100644 index 000000000..4a9d2ec78 --- /dev/null +++ b/src/zabapgit_page_syntax_check.prog.abap @@ -0,0 +1,59 @@ +*&---------------------------------------------------------------------* +*& Include ZABAPGIT_PAGE_SYNTAX_CHECK +*&---------------------------------------------------------------------* + +*&---------------------------------------------------------------------* +*& Include ZABAPGIT_PAGE_REPO_SETTINGS +*&---------------------------------------------------------------------* + +CLASS lcl_gui_page_syntax_check DEFINITION FINAL INHERITING FROM lcl_gui_page. + PUBLIC SECTION. + METHODS: + constructor + IMPORTING io_repo TYPE REF TO lcl_repo. + + PROTECTED SECTION. + CONSTANTS: + BEGIN OF c_action, + back TYPE string VALUE 'back', + END OF c_action. + + DATA: mo_repo TYPE REF TO lcl_repo. + + METHODS: + render_content REDEFINITION. + +ENDCLASS. + +CLASS lcl_gui_page_syntax_check IMPLEMENTATION. + + METHOD constructor. + super->constructor( ). + ms_control-page_title = 'SYNTAX CHECK'. + mo_repo = io_repo. + ENDMETHOD. " constructor. + + METHOD render_content. + + DATA: lt_result TYPE scit_alvlist, + ls_result LIKE LINE OF lt_result. + + + lt_result = zcl_abapgit_syntax_check=>run( mo_repo->get_package( ) ). + + CREATE OBJECT ro_html. + ro_html->add( '
' ). + + IF lines( lt_result ) = 0. + ro_html->add( 'No errors' ). + ENDIF. + + LOOP AT lt_result INTO ls_result. + ro_html->add( |{ ls_result-objtype } { ls_result-objname } { ls_result-kind } { ls_result-text }
| ). + ENDLOOP. + + ro_html->add( '
' ). + + ENDMETHOD. "render_content + +ENDCLASS. "lcl_gui_page_debuginfo diff --git a/src/zabapgit_page_syntax_check.prog.xml b/src/zabapgit_page_syntax_check.prog.xml new file mode 100644 index 000000000..6d12e98a3 --- /dev/null +++ b/src/zabapgit_page_syntax_check.prog.xml @@ -0,0 +1,22 @@ + + + + + + ZABAPGIT_PAGE_SYNTAX_CHECK + A + X + I + E + X + + + + R + Include ZABAPGIT_PAGE_SYNTAX_CHECK + 34 + + + + + diff --git a/src/zabapgit_view_repo.prog.abap b/src/zabapgit_view_repo.prog.abap index c643522f5..c31dda24a 100644 --- a/src/zabapgit_view_repo.prog.abap +++ b/src/zabapgit_view_repo.prog.abap @@ -314,6 +314,8 @@ CLASS lcl_gui_view_repo IMPLEMENTATION. lo_tb_advanced->add( iv_txt = 'Make on-line' iv_act = |{ lif_defs=>gc_action-repo_remote_attach }?{ lv_key }| ). ENDIF. + lo_tb_advanced->add( iv_txt = 'Syntax Check' + iv_act = |{ lif_defs=>gc_action-repo_syntax_check }?{ lv_key }| ). lo_tb_advanced->add( iv_txt = 'Repo settings' iv_act = |{ lif_defs=>gc_action-repo_settings }?{ lv_key }| ). lo_tb_advanced->add( iv_txt = 'Update local checksums'