mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Refactor: Determine i18n parameters (#6869)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
c40964ec33
commit
67ec3980b5
|
@ -118,14 +118,7 @@ CLASS zcl_abapgit_serialize DEFINITION
|
|||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
PRIVATE SECTION.
|
||||
CLASS-METHODS determine_i18n_params
|
||||
IMPORTING
|
||||
!io_dot TYPE REF TO zcl_abapgit_dot_abapgit
|
||||
!iv_main_language_only TYPE abap_bool
|
||||
RETURNING
|
||||
VALUE(rs_i18n_params) TYPE zif_abapgit_definitions=>ty_i18n_params
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
METHODS is_parallelization_possible
|
||||
RETURNING
|
||||
VALUE(rv_result) TYPE abap_bool.
|
||||
|
@ -271,9 +264,12 @@ CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
|||
mo_dot_abapgit = io_dot_abapgit.
|
||||
ms_local_settings = is_local_settings.
|
||||
|
||||
ms_i18n_params = determine_i18n_params(
|
||||
io_dot = io_dot_abapgit
|
||||
iv_main_language_only = is_local_settings-main_language_only ).
|
||||
IF io_dot_abapgit IS BOUND.
|
||||
ms_i18n_params = io_dot_abapgit->determine_i18n_parameters( is_local_settings-main_language_only ).
|
||||
ELSE.
|
||||
ms_i18n_params-main_language = sy-langu.
|
||||
ms_i18n_params-main_language_only = is_local_settings-main_language_only.
|
||||
ENDIF.
|
||||
|
||||
CREATE OBJECT mo_abap_language_version
|
||||
EXPORTING
|
||||
|
@ -282,26 +278,6 @@ CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD determine_i18n_params.
|
||||
|
||||
" TODO: unify with ZCL_ABAPGIT_OBJECTS=>DETERMINE_I18N_PARAMS, same code
|
||||
|
||||
IF io_dot IS BOUND.
|
||||
rs_i18n_params-main_language = io_dot->get_main_language( ).
|
||||
rs_i18n_params-use_lxe = io_dot->use_lxe( ).
|
||||
rs_i18n_params-main_language_only = iv_main_language_only.
|
||||
rs_i18n_params-translation_languages = zcl_abapgit_lxe_texts=>get_translation_languages(
|
||||
iv_main_language = io_dot->get_main_language( )
|
||||
it_i18n_languages = io_dot->get_i18n_languages( ) ).
|
||||
ENDIF.
|
||||
|
||||
IF rs_i18n_params-main_language IS INITIAL.
|
||||
rs_i18n_params-main_language = sy-langu.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD determine_max_processes.
|
||||
DATA: li_exit TYPE REF TO zif_abapgit_exit.
|
||||
|
||||
|
@ -503,6 +479,20 @@ CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD is_parallelization_possible.
|
||||
|
||||
rv_result = boolc( zcl_abapgit_factory=>get_environment( )->is_merged( ) = abap_false
|
||||
AND zcl_abapgit_persist_factory=>get_settings( )->read( )->get_parallel_proc_disabled( ) = abap_false
|
||||
AND mv_group IS NOT INITIAL
|
||||
" The function module below should always exist here as is_merged evaluated to false above.
|
||||
" It does however not exist in the transpiled version which then causes unit tests to fail.
|
||||
" Therefore the check needs to stay.
|
||||
AND zcl_abapgit_factory=>get_function_module(
|
||||
)->function_exists( 'Z_ABAPGIT_SERIALIZE_PARALLEL' ) = abap_true ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD on_end_of_task.
|
||||
|
||||
* this method will be called from the parallel processing, thus it must be public
|
||||
|
@ -693,19 +683,4 @@ CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
|||
lo_timer->end( abap_true ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD is_parallelization_possible.
|
||||
|
||||
rv_result = boolc( zcl_abapgit_factory=>get_environment( )->is_merged( ) = abap_false
|
||||
AND zcl_abapgit_persist_factory=>get_settings( )->read( )->get_parallel_proc_disabled( ) = abap_false
|
||||
AND mv_group IS NOT INITIAL
|
||||
" The function module below should always exist here as is_merged evaluated to false above.
|
||||
" It does however not exist in the transpiled version which then causes unit tests to fail.
|
||||
" Therefore the check needs to stay.
|
||||
AND zcl_abapgit_factory=>get_function_module(
|
||||
)->function_exists( 'Z_ABAPGIT_SERIALIZE_PARALLEL' ) = abap_true ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -205,14 +205,6 @@ CLASS zcl_abapgit_objects DEFINITION
|
|||
IMPORTING
|
||||
!is_item TYPE zif_abapgit_definitions=>ty_item
|
||||
!ii_log TYPE REF TO zif_abapgit_log .
|
||||
CLASS-METHODS determine_i18n_params
|
||||
IMPORTING
|
||||
!io_dot TYPE REF TO zcl_abapgit_dot_abapgit
|
||||
!iv_main_language_only TYPE abap_bool
|
||||
RETURNING
|
||||
VALUE(rs_i18n_params) TYPE zif_abapgit_definitions=>ty_i18n_params
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
CLASS-METHODS get_extra_from_filename
|
||||
IMPORTING
|
||||
!iv_filename TYPE string
|
||||
|
@ -660,6 +652,7 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
METHOD deserialize.
|
||||
|
||||
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||
lo_dot TYPE REF TO zcl_abapgit_dot_abapgit,
|
||||
li_obj TYPE REF TO zif_abapgit_object,
|
||||
lt_remote TYPE zif_abapgit_git_definitions=>ty_files_tt,
|
||||
lv_package TYPE devclass,
|
||||
|
@ -686,6 +679,7 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
lt_steps = get_deserialize_steps( ).
|
||||
|
||||
lv_package = io_repo->get_package( ).
|
||||
lo_dot = io_repo->get_dot_abapgit( ).
|
||||
|
||||
IF is_checks-transport-required = abap_true.
|
||||
zcl_abapgit_factory=>get_default_transport( )->set( is_checks-transport-transport ).
|
||||
|
@ -728,9 +722,8 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
ii_log = ii_log
|
||||
io_dot = io_repo->get_dot_abapgit( ) ).
|
||||
|
||||
lo_i18n_params = zcl_abapgit_i18n_params=>new( is_params = determine_i18n_params(
|
||||
io_dot = io_repo->get_dot_abapgit( )
|
||||
iv_main_language_only = io_repo->get_local_settings( )-main_language_only ) ).
|
||||
lo_i18n_params = zcl_abapgit_i18n_params=>new( is_params =
|
||||
lo_dot->determine_i18n_parameters( io_repo->get_local_settings( )-main_language_only ) ).
|
||||
|
||||
IF lines( lt_items ) = 1.
|
||||
ii_log->add_info( |>>> Deserializing 1 object| ).
|
||||
|
@ -740,7 +733,7 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
|
||||
CREATE OBJECT lo_abap_language_vers
|
||||
EXPORTING
|
||||
io_dot_abapgit = io_repo->get_dot_abapgit( ).
|
||||
io_dot_abapgit = lo_dot.
|
||||
|
||||
lo_folder_logic = zcl_abapgit_folder_logic=>get_instance( ).
|
||||
LOOP AT lt_results ASSIGNING <ls_result>.
|
||||
|
@ -759,7 +752,7 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
" If package does not exist yet, it will be created with this call
|
||||
lv_package = lo_folder_logic->path_to_package(
|
||||
iv_top = io_repo->get_package( )
|
||||
io_dot = io_repo->get_dot_abapgit( )
|
||||
io_dot = lo_dot
|
||||
iv_path = <ls_result>-path ).
|
||||
|
||||
check_main_package(
|
||||
|
@ -872,7 +865,7 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
update_original_system(
|
||||
it_items = lt_items
|
||||
ii_log = ii_log
|
||||
io_dot = io_repo->get_dot_abapgit( )
|
||||
io_dot = lo_dot
|
||||
iv_transport = is_checks-transport-transport ).
|
||||
|
||||
zcl_abapgit_factory=>get_default_transport( )->reset( ).
|
||||
|
@ -986,26 +979,6 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD determine_i18n_params.
|
||||
|
||||
" TODO: unify with ZCL_ABAPGIT_SERIALIZE=>DETERMINE_I18N_PARAMS, same code
|
||||
|
||||
IF io_dot IS BOUND.
|
||||
rs_i18n_params-main_language = io_dot->get_main_language( ).
|
||||
rs_i18n_params-use_lxe = io_dot->use_lxe( ).
|
||||
rs_i18n_params-main_language_only = iv_main_language_only.
|
||||
rs_i18n_params-translation_languages = zcl_abapgit_lxe_texts=>get_translation_languages(
|
||||
iv_main_language = io_dot->get_main_language( )
|
||||
it_i18n_languages = io_dot->get_i18n_languages( ) ).
|
||||
ENDIF.
|
||||
|
||||
IF rs_i18n_params-main_language IS INITIAL.
|
||||
rs_i18n_params-main_language = sy-langu.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD exists.
|
||||
|
||||
DATA: li_obj TYPE REF TO zif_abapgit_object.
|
||||
|
|
|
@ -69,6 +69,13 @@ CLASS zcl_abapgit_dot_abapgit DEFINITION
|
|||
it_languages TYPE zif_abapgit_definitions=>ty_languages
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS determine_i18n_parameters
|
||||
IMPORTING
|
||||
!iv_main_language_only TYPE abap_bool
|
||||
RETURNING
|
||||
VALUE(rs_i18n_params) TYPE zif_abapgit_definitions=>ty_i18n_params
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
METHODS get_signature
|
||||
RETURNING
|
||||
VALUE(rs_signature) TYPE zif_abapgit_git_definitions=>ty_file_signature
|
||||
|
@ -192,6 +199,18 @@ CLASS zcl_abapgit_dot_abapgit IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD determine_i18n_parameters.
|
||||
|
||||
rs_i18n_params-main_language = get_main_language( ).
|
||||
rs_i18n_params-use_lxe = use_lxe( ).
|
||||
rs_i18n_params-main_language_only = iv_main_language_only.
|
||||
rs_i18n_params-translation_languages = zcl_abapgit_lxe_texts=>get_translation_languages(
|
||||
iv_main_language = get_main_language( )
|
||||
it_i18n_languages = get_i18n_languages( ) ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD from_xml.
|
||||
|
||||
DATA: lv_xml TYPE string.
|
||||
|
@ -233,6 +252,9 @@ CLASS zcl_abapgit_dot_abapgit IMPLEMENTATION.
|
|||
|
||||
METHOD get_main_language.
|
||||
rv_language = ms_data-master_language.
|
||||
IF rv_language IS INITIAL.
|
||||
rv_language = sy-langu.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user