git: refactor to use convert class (#6051)

This commit is contained in:
Lars Hvam 2023-02-08 11:01:40 +01:00 committed by GitHub
parent d63407db3e
commit 13714f63a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 19 deletions

View File

@ -58,23 +58,9 @@ CLASS zcl_abapgit_git_utils IMPLEMENTATION.
lv_xstring = iv_data(4).
IF go_convert_in IS INITIAL.
go_convert_in = cl_abap_conv_in_ce=>create( encoding = 'UTF-8' ).
ENDIF.
TRY.
go_convert_in->convert(
EXPORTING
input = lv_xstring
n = 4
IMPORTING
data = lv_char4 ).
CATCH cx_sy_codepage_converter_init
cx_sy_conversion_codepage
cx_parameter_invalid_type.
zcx_abapgit_exception=>raise( 'error converting to hex, LENGTH_UTF8_HEX' ).
ENDTRY.
lv_char4 = zcl_abapgit_convert=>xstring_to_string_utf8(
iv_data = lv_xstring
iv_length = 4 ).
TRANSLATE lv_char4 TO UPPER CASE.
lv_x = lv_char4.

View File

@ -24,6 +24,7 @@ CLASS zcl_abapgit_convert DEFINITION
CLASS-METHODS xstring_to_string_utf8
IMPORTING
!iv_data TYPE xsequence
!iv_length TYPE i OPTIONAL
RETURNING
VALUE(rv_string) TYPE string
RAISING
@ -278,7 +279,13 @@ CLASS zcl_abapgit_convert IMPLEMENTATION.
METHOD xstring_to_string_utf8.
DATA lx_error TYPE REF TO cx_root.
DATA lx_error TYPE REF TO cx_root.
DATA lv_length TYPE i.
lv_length = iv_length.
IF lv_length <= 0.
lv_length = xstrlen( iv_data ).
ENDIF.
TRY.
IF go_convert_in IS INITIAL.
@ -288,7 +295,7 @@ CLASS zcl_abapgit_convert IMPLEMENTATION.
go_convert_in->convert(
EXPORTING
input = iv_data
n = xstrlen( iv_data )
n = lv_length
IMPORTING
data = rv_string ).