diff --git a/src/background/zcl_abapgit_background_push_au.clas.abap b/src/background/zcl_abapgit_background_push_au.clas.abap index 97e9c65a7..377cc3f24 100644 --- a/src/background/zcl_abapgit_background_push_au.clas.abap +++ b/src/background/zcl_abapgit_background_push_au.clas.abap @@ -110,7 +110,7 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION. LIKE LINE OF ls_files-local. - ls_files = zcl_abapgit_factory=>get_stage_logic( )->get( io_repo ). + ls_files = zcl_abapgit_stage_logic=>get_stage_logic( )->get( io_repo ). LOOP AT ls_files-local ASSIGNING . lv_changed_by = zcl_abapgit_objects=>changed_by( @@ -237,7 +237,7 @@ CLASS zcl_abapgit_background_push_au IMPLEMENTATION. DATA: ls_files TYPE zif_abapgit_definitions=>ty_stage_files. mi_log = ii_log. - ls_files = zcl_abapgit_factory=>get_stage_logic( )->get( io_repo ). + ls_files = zcl_abapgit_stage_logic=>get_stage_logic( )->get( io_repo ). IF lines( ls_files-local ) = 0 AND lines( ls_files-remote ) = 0. ii_log->add_info( 'Nothing to stage' ). diff --git a/src/background/zcl_abapgit_background_push_fi.clas.abap b/src/background/zcl_abapgit_background_push_fi.clas.abap index d1d49911e..1f4500fa4 100644 --- a/src/background/zcl_abapgit_background_push_fi.clas.abap +++ b/src/background/zcl_abapgit_background_push_fi.clas.abap @@ -73,7 +73,7 @@ CLASS zcl_abapgit_background_push_fi IMPLEMENTATION. LIKE LINE OF ls_files-remote. - ls_files = zcl_abapgit_factory=>get_stage_logic( )->get( io_repo ). + ls_files = zcl_abapgit_stage_logic=>get_stage_logic( )->get( io_repo ). ASSERT lines( ls_files-local ) > 0 OR lines( ls_files-remote ) > 0. @@ -142,7 +142,7 @@ CLASS zcl_abapgit_background_push_fi IMPLEMENTATION. lv_email TYPE string. mi_log = ii_log. - ls_files = zcl_abapgit_factory=>get_stage_logic( )->get( io_repo ). + ls_files = zcl_abapgit_stage_logic=>get_stage_logic( )->get( io_repo ). IF lines( ls_files-local ) = 0 AND lines( ls_files-remote ) = 0. ii_log->add_info( 'Nothing to stage' ). diff --git a/src/cts/zcl_abapgit_transport_2_branch.clas.abap b/src/cts/zcl_abapgit_transport_2_branch.clas.abap index 133cd3f05..0521ebc1e 100644 --- a/src/cts/zcl_abapgit_transport_2_branch.clas.abap +++ b/src/cts/zcl_abapgit_transport_2_branch.clas.abap @@ -50,7 +50,7 @@ CLASS zcl_abapgit_transport_2_branch IMPLEMENTATION. CREATE OBJECT lo_stage. - ls_stage_objects = zcl_abapgit_factory=>get_stage_logic( )->get( io_repository ). + ls_stage_objects = zcl_abapgit_stage_logic=>get_stage_logic( )->get( io_repository ). lt_object_statuses = zcl_abapgit_repo_status=>calculate( io_repository ). diff --git a/src/repo/stage/zcl_abapgit_stage_logic.clas.abap b/src/repo/stage/zcl_abapgit_stage_logic.clas.abap index 22a5871e9..efb10e6db 100644 --- a/src/repo/stage/zcl_abapgit_stage_logic.clas.abap +++ b/src/repo/stage/zcl_abapgit_stage_logic.clas.abap @@ -1,13 +1,24 @@ CLASS zcl_abapgit_stage_logic DEFINITION PUBLIC - CREATE PRIVATE - GLOBAL FRIENDS zcl_abapgit_factory . + CREATE PRIVATE. PUBLIC SECTION. - INTERFACES zif_abapgit_stage_logic . + INTERFACES zif_abapgit_stage_logic. + + CLASS-METHODS get_stage_logic + RETURNING + VALUE(ri_logic) TYPE REF TO zif_abapgit_stage_logic. + + CLASS-METHODS set_stage_logic + IMPORTING + ii_logic TYPE REF TO zif_abapgit_stage_logic. + PROTECTED SECTION. PRIVATE SECTION. + + CLASS-DATA gi_stage_logic TYPE REF TO zif_abapgit_stage_logic. + CLASS-METHODS: remove_ignored IMPORTING io_repo TYPE REF TO zcl_abapgit_repo_online @@ -22,6 +33,17 @@ ENDCLASS. CLASS zcl_abapgit_stage_logic IMPLEMENTATION. + METHOD get_stage_logic. + + IF gi_stage_logic IS INITIAL. + CREATE OBJECT gi_stage_logic TYPE zcl_abapgit_stage_logic. + ENDIF. + + ri_logic = gi_stage_logic. + + ENDMETHOD. + + METHOD remove_identical. DATA: lv_index TYPE i, @@ -85,6 +107,11 @@ CLASS zcl_abapgit_stage_logic IMPLEMENTATION. ENDMETHOD. + METHOD set_stage_logic. + gi_stage_logic = ii_logic. + ENDMETHOD. + + METHOD zif_abapgit_stage_logic~get. " Getting REMOTE before LOCAL is critical to ensure that DATA config is loaded first diff --git a/src/ui/pages/zcl_abapgit_gui_page_stage.clas.abap b/src/ui/pages/zcl_abapgit_gui_page_stage.clas.abap index 6c43630fc..b2ba99737 100644 --- a/src/ui/pages/zcl_abapgit_gui_page_stage.clas.abap +++ b/src/ui/pages/zcl_abapgit_gui_page_stage.clas.abap @@ -373,8 +373,8 @@ CLASS zcl_abapgit_gui_page_stage IMPLEMENTATION. METHOD init_files. - ms_files = zcl_abapgit_factory=>get_stage_logic( )->get( io_repo = mo_repo - ii_obj_filter = mi_obj_filter ). + ms_files = zcl_abapgit_stage_logic=>get_stage_logic( )->get( io_repo = mo_repo + ii_obj_filter = mi_obj_filter ). IF lines( ms_files-local ) = 0 AND lines( ms_files-remote ) = 0. mo_repo->refresh( ). diff --git a/src/zcl_abapgit_factory.clas.abap b/src/zcl_abapgit_factory.clas.abap index 6462be0f0..4bcdcc1b1 100644 --- a/src/zcl_abapgit_factory.clas.abap +++ b/src/zcl_abapgit_factory.clas.abap @@ -20,9 +20,6 @@ CLASS zcl_abapgit_factory DEFINITION VALUE(ri_code_inspector) TYPE REF TO zif_abapgit_code_inspector RAISING zcx_abapgit_exception . - CLASS-METHODS get_stage_logic - RETURNING - VALUE(ri_logic) TYPE REF TO zif_abapgit_stage_logic . CLASS-METHODS get_cts_api RETURNING VALUE(ri_cts_api) TYPE REF TO zif_abapgit_cts_api . @@ -89,7 +86,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_FACTORY IMPLEMENTATION. +CLASS zcl_abapgit_factory IMPLEMENTATION. METHOD get_code_inspector. @@ -234,17 +231,6 @@ CLASS ZCL_ABAPGIT_FACTORY IMPLEMENTATION. ENDMETHOD. - METHOD get_stage_logic. - - IF gi_stage_logic IS INITIAL. - CREATE OBJECT gi_stage_logic TYPE zcl_abapgit_stage_logic. - ENDIF. - - ri_logic = gi_stage_logic. - - ENDMETHOD. - - METHOD get_tadir. IF gi_tadir IS INITIAL. diff --git a/src/zcl_abapgit_injector.clas.abap b/src/zcl_abapgit_injector.clas.abap index f2a619b99..ca20461a8 100644 --- a/src/zcl_abapgit_injector.clas.abap +++ b/src/zcl_abapgit_injector.clas.abap @@ -16,9 +16,6 @@ CLASS zcl_abapgit_injector DEFINITION IMPORTING !iv_package TYPE devclass !ii_code_inspector TYPE REF TO zif_abapgit_code_inspector . - CLASS-METHODS set_stage_logic - IMPORTING - !ii_logic TYPE REF TO zif_abapgit_stage_logic . CLASS-METHODS set_cts_api IMPORTING !ii_cts_api TYPE REF TO zif_abapgit_cts_api . @@ -146,13 +143,6 @@ CLASS zcl_abapgit_injector IMPLEMENTATION. ENDMETHOD. - METHOD set_stage_logic. - - zcl_abapgit_factory=>gi_stage_logic = ii_logic. - - ENDMETHOD. - - METHOD set_tadir. zcl_abapgit_factory=>gi_tadir = ii_tadir. ENDMETHOD.