mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
ajson, Automatic Update (#6796)
Co-authored-by: larshp <larshp@users.noreply.github.com> Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
83573bf7e6
commit
0514b2df62
|
@ -672,6 +672,14 @@ CLASS lcl_json_to_abap DEFINITION FINAL.
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_ajson_error.
|
zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
|
METHODS to_time
|
||||||
|
IMPORTING
|
||||||
|
iv_value TYPE zif_abapgit_ajson_types=>ty_node-value
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_result) TYPE t
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_ajson_error.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
|
@ -986,6 +994,8 @@ CLASS lcl_json_to_abap IMPLEMENTATION.
|
||||||
" TODO: check type ?
|
" TODO: check type ?
|
||||||
IF is_node_type-type_kind = lif_kind=>date AND is_node-value IS NOT INITIAL.
|
IF is_node_type-type_kind = lif_kind=>date AND is_node-value IS NOT INITIAL.
|
||||||
<container> = to_date( is_node-value ).
|
<container> = to_date( is_node-value ).
|
||||||
|
ELSEIF is_node_type-type_kind = lif_kind=>time AND is_node-value IS NOT INITIAL.
|
||||||
|
<container> = to_time( is_node-value ).
|
||||||
ELSEIF is_node_type-type_kind = lif_kind=>packed AND is_node-value IS NOT INITIAL.
|
ELSEIF is_node_type-type_kind = lif_kind=>packed AND is_node-value IS NOT INITIAL.
|
||||||
<container> = to_timestamp( is_node-value ).
|
<container> = to_timestamp( is_node-value ).
|
||||||
ELSE.
|
ELSE.
|
||||||
|
@ -1095,6 +1105,22 @@ CLASS lcl_json_to_abap IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD to_time.
|
||||||
|
|
||||||
|
DATA lv_h TYPE c LENGTH 2.
|
||||||
|
DATA lv_m TYPE c LENGTH 2.
|
||||||
|
DATA lv_s TYPE c LENGTH 2.
|
||||||
|
|
||||||
|
FIND FIRST OCCURRENCE OF REGEX '^(\d{2}):(\d{2}):(\d{2})(T|$)'
|
||||||
|
IN iv_value
|
||||||
|
SUBMATCHES lv_h lv_m lv_s.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_ajson_error=>raise( 'Unexpected time format' ).
|
||||||
|
ENDIF.
|
||||||
|
CONCATENATE lv_h lv_m lv_s INTO rv_result.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
**********************************************************************
|
**********************************************************************
|
||||||
|
|
|
@ -1459,7 +1459,9 @@ CLASS ltcl_json_to_abap DEFINITION
|
||||||
METHODS to_abap_corresponding_pub_neg
|
METHODS to_abap_corresponding_pub_neg
|
||||||
FOR TESTING
|
FOR TESTING
|
||||||
RAISING zcx_abapgit_ajson_error.
|
RAISING zcx_abapgit_ajson_error.
|
||||||
|
METHODS to_abap_time
|
||||||
|
FOR TESTING
|
||||||
|
RAISING cx_static_check.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS zcl_abapgit_ajson DEFINITION LOCAL FRIENDS ltcl_json_to_abap.
|
CLASS zcl_abapgit_ajson DEFINITION LOCAL FRIENDS ltcl_json_to_abap.
|
||||||
|
@ -1536,6 +1538,44 @@ CLASS ltcl_json_to_abap IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD to_abap_time.
|
||||||
|
|
||||||
|
DATA lo_cut TYPE REF TO lcl_json_to_abap.
|
||||||
|
DATA lv_mock TYPE t.
|
||||||
|
DATA lo_nodes TYPE REF TO lcl_nodes_helper.
|
||||||
|
|
||||||
|
CREATE OBJECT lo_nodes.
|
||||||
|
lo_nodes->add( ' | |str |11:11:11| ' ).
|
||||||
|
|
||||||
|
CREATE OBJECT lo_cut.
|
||||||
|
lo_cut->to_abap(
|
||||||
|
EXPORTING
|
||||||
|
it_nodes = lo_nodes->sorted( )
|
||||||
|
CHANGING
|
||||||
|
c_container = lv_mock ).
|
||||||
|
|
||||||
|
cl_abap_unit_assert=>assert_equals(
|
||||||
|
act = lv_mock
|
||||||
|
exp = '111111' ).
|
||||||
|
|
||||||
|
DATA lv_mock_init TYPE t.
|
||||||
|
|
||||||
|
CREATE OBJECT lo_nodes.
|
||||||
|
lo_nodes->add( ' | |str || ' ).
|
||||||
|
|
||||||
|
CREATE OBJECT lo_cut.
|
||||||
|
lo_cut->to_abap(
|
||||||
|
EXPORTING
|
||||||
|
it_nodes = lo_nodes->sorted( )
|
||||||
|
CHANGING
|
||||||
|
c_container = lv_mock_init ).
|
||||||
|
|
||||||
|
cl_abap_unit_assert=>assert_equals(
|
||||||
|
act = lv_mock_init
|
||||||
|
exp = '000000' ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD to_abap_value.
|
METHOD to_abap_value.
|
||||||
|
|
||||||
DATA lo_cut TYPE REF TO lcl_json_to_abap.
|
DATA lo_cut TYPE REF TO lcl_json_to_abap.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
INTERFACE zif_abapgit_ajson
|
INTERFACE zif_abapgit_ajson
|
||||||
PUBLIC.
|
PUBLIC.
|
||||||
|
|
||||||
CONSTANTS version TYPE string VALUE 'v1.1.9'. "#EC NOTEXT
|
CONSTANTS version TYPE string VALUE 'v1.1.10'. "#EC NOTEXT
|
||||||
CONSTANTS origin TYPE string VALUE 'https://github.com/sbcgua/ajson'. "#EC NOTEXT
|
CONSTANTS origin TYPE string VALUE 'https://github.com/sbcgua/ajson'. "#EC NOTEXT
|
||||||
CONSTANTS license TYPE string VALUE 'MIT'. "#EC NOTEXT
|
CONSTANTS license TYPE string VALUE 'MIT'. "#EC NOTEXT
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user