gui_page cleanups (#3615)

* move test_changed_by from gui_page to services

* kind of linter fix

* move more action to router

Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
Alexander Tsybulsky 2020-07-13 18:42:40 +03:00 committed by GitHub
parent 144cb8822c
commit 07e1f787c6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 88 additions and 68 deletions

View File

@ -79,14 +79,11 @@ CLASS zcl_abapgit_gui_page DEFINITION PUBLIC ABSTRACT
RAISING RAISING
zcx_abapgit_exception. zcx_abapgit_exception.
METHODS test_changed_by
RAISING zcx_abapgit_exception.
ENDCLASS. ENDCLASS.
CLASS zcl_abapgit_gui_page IMPLEMENTATION. CLASS ZCL_ABAPGIT_GUI_PAGE IMPLEMENTATION.
METHOD constructor. METHOD constructor.
@ -307,22 +304,6 @@ CLASS zcl_abapgit_gui_page IMPLEMENTATION.
ENDIF. ENDIF.
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act. ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
WHEN zif_abapgit_definitions=>c_action-changed_by.
test_changed_by( ).
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
WHEN zif_abapgit_definitions=>c_action-documentation.
zcl_abapgit_services_abapgit=>open_abapgit_wikipage( ).
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
WHEN zif_abapgit_definitions=>c_action-go_explore.
zcl_abapgit_services_abapgit=>open_dotabap_homepage( ).
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
WHEN zif_abapgit_definitions=>c_action-changelog.
zcl_abapgit_services_abapgit=>open_abapgit_changelog( ).
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
ENDCASE. ENDCASE.
ENDMETHOD. ENDMETHOD.
@ -367,25 +348,4 @@ CLASS zcl_abapgit_gui_page IMPLEMENTATION.
ri_html->add( '</html>' ). "#EC NOTEXT ri_html->add( '</html>' ). "#EC NOTEXT
ENDMETHOD. ENDMETHOD.
METHOD test_changed_by.
DATA: ls_tadir TYPE zif_abapgit_definitions=>ty_tadir,
lv_user TYPE xubname,
ls_item TYPE zif_abapgit_definitions=>ty_item.
ls_tadir = zcl_abapgit_ui_factory=>get_popups( )->popup_object( ).
IF ls_tadir IS INITIAL.
RETURN.
ENDIF.
ls_item-obj_type = ls_tadir-object.
ls_item-obj_name = ls_tadir-obj_name.
lv_user = zcl_abapgit_objects=>changed_by( ls_item ).
MESSAGE lv_user TYPE 'S'.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -72,6 +72,14 @@ CLASS zcl_abapgit_gui_router DEFINITION
!ev_state TYPE i !ev_state TYPE i
RAISING RAISING
zcx_abapgit_exception. zcx_abapgit_exception.
METHODS other_utilities
IMPORTING
!is_event_data TYPE ty_event_data
EXPORTING
!ei_page TYPE REF TO zif_abapgit_gui_renderable
!ev_state TYPE i
RAISING
zcx_abapgit_exception.
METHODS zip_services METHODS zip_services
IMPORTING IMPORTING
!is_event_data TYPE ty_event_data !is_event_data TYPE ty_event_data
@ -133,7 +141,7 @@ ENDCLASS.
CLASS zcl_abapgit_gui_router IMPLEMENTATION. CLASS ZCL_ABAPGIT_GUI_ROUTER IMPLEMENTATION.
METHOD abapgit_services_actions. METHOD abapgit_services_actions.
@ -152,6 +160,30 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD call_browser.
cl_gui_frontend_services=>execute(
EXPORTING
document = |{ iv_url }|
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
bad_parameter = 3
file_not_found = 4
path_not_found = 5
file_extension_unknown = 6
error_execute_failed = 7
synchronous_failed = 8
not_supported_by_gui = 9
OTHERS = 10 ).
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
ENDMETHOD.
METHOD db_actions. METHOD db_actions.
CASE is_event_data-action. CASE is_event_data-action.
@ -256,6 +288,16 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION.
WHEN zif_abapgit_definitions=>c_action-go_tutorial. " Go to tutorial WHEN zif_abapgit_definitions=>c_action-go_tutorial. " Go to tutorial
CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_tutorial. CREATE OBJECT ei_page TYPE zcl_abapgit_gui_page_tutorial.
ev_state = zcl_abapgit_gui=>c_event_state-new_page. ev_state = zcl_abapgit_gui=>c_event_state-new_page.
WHEN zif_abapgit_definitions=>c_action-documentation. " abapGit docs
zcl_abapgit_services_abapgit=>open_abapgit_wikipage( ).
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
WHEN zif_abapgit_definitions=>c_action-go_explore. " dotabap
zcl_abapgit_services_abapgit=>open_dotabap_homepage( ).
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
WHEN zif_abapgit_definitions=>c_action-changelog. " abapGit full changelog
zcl_abapgit_services_abapgit=>open_abapgit_changelog( ).
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
ENDCASE. ENDCASE.
ENDMETHOD. ENDMETHOD.
@ -444,6 +486,19 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD other_utilities.
CASE is_event_data-action.
WHEN zif_abapgit_definitions=>c_action-changed_by.
zcl_abapgit_services_basis=>test_changed_by( ).
ev_state = zcl_abapgit_gui=>c_event_state-no_more_act.
WHEN OTHERS.
" To pass abaplint, keep the place for future commands
ENDCASE.
ENDMETHOD.
METHOD remote_origin_manipulations. METHOD remote_origin_manipulations.
DATA: lv_key TYPE zif_abapgit_persistence=>ty_repo-key. DATA: lv_key TYPE zif_abapgit_persistence=>ty_repo-key.
@ -624,6 +679,13 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION.
ei_page = ei_page ei_page = ei_page
ev_state = ev_state ). ev_state = ev_state ).
other_utilities(
EXPORTING
is_event_data = ls_event_data
IMPORTING
ei_page = ei_page
ev_state = ev_state ).
IF ev_state IS INITIAL. IF ev_state IS INITIAL.
ev_state = zcl_abapgit_gui=>c_event_state-not_handled. ev_state = zcl_abapgit_gui=>c_event_state-not_handled.
ENDIF. ENDIF.
@ -676,30 +738,4 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION.
ENDCASE. ENDCASE.
ENDMETHOD. ENDMETHOD.
METHOD call_browser.
cl_gui_frontend_services=>execute(
EXPORTING
document = |{ iv_url }|
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
bad_parameter = 3
file_not_found = 4
path_not_found = 5
file_extension_unknown = 6
error_execute_failed = 7
synchronous_failed = 8
not_supported_by_gui = 9
OTHERS = 10 ).
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
ENDIF.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -11,6 +11,9 @@ CLASS zcl_abapgit_services_basis DEFINITION
VALUE(rv_package) TYPE devclass VALUE(rv_package) TYPE devclass
RAISING RAISING
zcx_abapgit_exception. zcx_abapgit_exception.
CLASS-METHODS test_changed_by
RAISING
zcx_abapgit_exception.
PROTECTED SECTION. PROTECTED SECTION.
PRIVATE SECTION. PRIVATE SECTION.
@ -40,4 +43,25 @@ CLASS ZCL_ABAPGIT_SERVICES_BASIS IMPLEMENTATION.
ENDIF. ENDIF.
ENDMETHOD. ENDMETHOD.
METHOD test_changed_by.
DATA ls_tadir TYPE zif_abapgit_definitions=>ty_tadir.
DATA ls_item TYPE zif_abapgit_definitions=>ty_item.
DATA lv_user TYPE xubname.
ls_tadir = zcl_abapgit_ui_factory=>get_popups( )->popup_object( ).
IF ls_tadir IS INITIAL.
RETURN.
ENDIF.
ls_item-obj_type = ls_tadir-object.
ls_item-obj_name = ls_tadir-obj_name.
lv_user = zcl_abapgit_objects=>changed_by( ls_item ).
MESSAGE lv_user TYPE 'S'.
ENDMETHOD.
ENDCLASS. ENDCLASS.