diff --git a/src/ui/lib/zcl_abapgit_html_form_utils.clas.testclasses.abap b/src/ui/lib/zcl_abapgit_html_form_utils.clas.testclasses.abap index e41fbbd60..dd450dee4 100644 --- a/src/ui/lib/zcl_abapgit_html_form_utils.clas.testclasses.abap +++ b/src/ui/lib/zcl_abapgit_html_form_utils.clas.testclasses.abap @@ -105,57 +105,6 @@ CLASS ltcl_popups_mock IMPLEMENTATION. ENDCLASS. -CLASS ltcl_sapgui_mock DEFINITION FINAL FOR TESTING - DURATION SHORT - RISK LEVEL HARMLESS. - - PUBLIC SECTION. - - INTERFACES: - zif_abapgit_frontend_services. - -ENDCLASS. - -CLASS ltcl_sapgui_mock IMPLEMENTATION. - - METHOD zif_abapgit_frontend_services~clipboard_export. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~directory_browse. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~directory_create. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~directory_exist. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~execute. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~file_download. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~file_upload. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~get_file_separator. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~get_gui_version. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~get_system_directory. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~gui_is_available. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~is_sapgui_for_java. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~is_sapgui_for_windows. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~is_webgui. - rv_is_webgui = abap_false. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~open_ie_devtools. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~show_file_open_dialog. - ENDMETHOD. - METHOD zif_abapgit_frontend_services~show_file_save_dialog. - ENDMETHOD. - -ENDCLASS. - CLASS ltcl_test_form DEFINITION FOR TESTING RISK LEVEL HARMLESS @@ -165,7 +114,7 @@ CLASS ltcl_test_form DEFINITION PRIVATE SECTION. DATA: mo_popups_mock TYPE REF TO ltcl_popups_mock, - mo_sapgui_mock TYPE REF TO ltcl_sapgui_mock. + mo_sapgui_mock TYPE REF TO zif_abapgit_frontend_services. METHODS setup. METHODS validate1 FOR TESTING RAISING zcx_abapgit_exception. @@ -186,8 +135,8 @@ CLASS ltcl_test_form IMPLEMENTATION. CREATE OBJECT mo_popups_mock TYPE ltcl_popups_mock. zcl_abapgit_ui_injector=>set_popups( mo_popups_mock ). - CREATE OBJECT mo_sapgui_mock TYPE ltcl_sapgui_mock. - zcl_abapgit_ui_injector=>set_frontend_services( mo_sapgui_mock ). + " Disable GUI + mo_sapgui_mock = zcl_abapgit_ui_factory=>get_frontend_services( abap_true ). ENDMETHOD. diff --git a/src/ui/pages/zcl_abapgit_gui_page_sett_remo.clas.testclasses.abap b/src/ui/pages/zcl_abapgit_gui_page_sett_remo.clas.testclasses.abap index 477cdedaf..ff9452805 100644 --- a/src/ui/pages/zcl_abapgit_gui_page_sett_remo.clas.testclasses.abap +++ b/src/ui/pages/zcl_abapgit_gui_page_sett_remo.clas.testclasses.abap @@ -24,19 +24,6 @@ CLASS ltd_branch_list DEFINITION FINAL FOR TESTING INHERITING FROM zcl_abapgit_g ENDCLASS. -CLASS ltd_frontend_services DEFINITION FINAL FOR TESTING - DURATION SHORT - RISK LEVEL HARMLESS. - - PUBLIC SECTION. - - INTERFACES: - zif_abapgit_frontend_services. - -ENDCLASS. - - - CLASS ltcl_validate_form DEFINITION FINAL FOR TESTING DURATION SHORT RISK LEVEL HARMLESS. @@ -127,62 +114,6 @@ CLASS ltd_branch_list IMPLEMENTATION. ENDCLASS. -CLASS ltd_frontend_services IMPLEMENTATION. - - METHOD zif_abapgit_frontend_services~clipboard_export. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~directory_browse. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~directory_create. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~directory_exist. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~execute. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~file_download. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~file_upload. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~get_file_separator. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~get_gui_version. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~get_system_directory. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~gui_is_available. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~is_sapgui_for_java. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~is_sapgui_for_windows. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~is_webgui. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~open_ie_devtools. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~show_file_open_dialog. - ENDMETHOD. - - METHOD zif_abapgit_frontend_services~show_file_save_dialog. - ENDMETHOD. - -ENDCLASS. - - CLASS ltcl_validate_form IMPLEMENTATION. METHOD setup. @@ -192,8 +123,8 @@ CLASS ltcl_validate_form IMPLEMENTATION. CREATE OBJECT mo_git_transport_mock TYPE ltd_git_transport. zcl_abapgit_git_injector=>set_git_transport( mo_git_transport_mock ). - CREATE OBJECT mo_frontend_services_mock TYPE ltd_frontend_services. - zcl_abapgit_ui_injector=>set_frontend_services( mo_frontend_services_mock ). + " Disable GUI + mo_frontend_services_mock = zcl_abapgit_ui_factory=>get_frontend_services( abap_true ). ls_data-key = 1. ls_data-branch_name = 'main'. diff --git a/src/ui/zcl_abapgit_frontend_no_gui.clas.abap b/src/ui/zcl_abapgit_frontend_no_gui.clas.abap new file mode 100644 index 000000000..5d7f5f9ec --- /dev/null +++ b/src/ui/zcl_abapgit_frontend_no_gui.clas.abap @@ -0,0 +1,89 @@ +CLASS zcl_abapgit_frontend_no_gui DEFINITION + PUBLIC + CREATE PRIVATE + GLOBAL FRIENDS zcl_abapgit_ui_factory. + + PUBLIC SECTION. + + INTERFACES zif_abapgit_frontend_services. + + PROTECTED SECTION. + PRIVATE SECTION. +ENDCLASS. + + + +CLASS zcl_abapgit_frontend_no_gui IMPLEMENTATION. + + + METHOD zif_abapgit_frontend_services~clipboard_export. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~directory_browse. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~directory_create. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~directory_exist. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~execute. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~file_download. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~file_upload. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~get_file_separator. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~get_gui_version. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~get_system_directory. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~gui_is_available. + rv_gui_is_available = abap_false. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~is_sapgui_for_java. + rv_result = abap_false. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~is_sapgui_for_windows. + rv_result = abap_false. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~is_webgui. + rv_is_webgui = abap_false. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~open_ie_devtools. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~show_file_open_dialog. + ENDMETHOD. + + + METHOD zif_abapgit_frontend_services~show_file_save_dialog. + ENDMETHOD. +ENDCLASS. diff --git a/src/ui/zcl_abapgit_frontend_no_gui.clas.xml b/src/ui/zcl_abapgit_frontend_no_gui.clas.xml new file mode 100644 index 000000000..122c63d3d --- /dev/null +++ b/src/ui/zcl_abapgit_frontend_no_gui.clas.xml @@ -0,0 +1,16 @@ + + + + + + ZCL_ABAPGIT_FRONTEND_NO_GUI + E + abapGit - Frontend without GUI + 1 + X + X + X + + + + diff --git a/src/ui/zcl_abapgit_ui_factory.clas.abap b/src/ui/zcl_abapgit_ui_factory.clas.abap index dcc4acbf3..6c1331d70 100644 --- a/src/ui/zcl_abapgit_ui_factory.clas.abap +++ b/src/ui/zcl_abapgit_ui_factory.clas.abap @@ -24,6 +24,8 @@ CLASS zcl_abapgit_ui_factory DEFINITION RAISING zcx_abapgit_exception . CLASS-METHODS get_frontend_services + IMPORTING + !iv_disable_gui TYPE abap_bool DEFAULT abap_false RETURNING VALUE(ri_fe_serv) TYPE REF TO zif_abapgit_frontend_services . CLASS-METHODS get_html_viewer @@ -116,7 +118,11 @@ CLASS zcl_abapgit_ui_factory IMPLEMENTATION. METHOD get_frontend_services. IF gi_fe_services IS INITIAL. - CREATE OBJECT gi_fe_services TYPE zcl_abapgit_frontend_services. + IF iv_disable_gui IS INITIAL. + CREATE OBJECT gi_fe_services TYPE zcl_abapgit_frontend_services. + ELSE. + CREATE OBJECT gi_fe_services TYPE zcl_abapgit_frontend_no_gui. + ENDIF. ENDIF. ri_fe_serv = gi_fe_services.