mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +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
|
||||
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.
|
||||
|
||||
TYPES:
|
||||
|
@ -986,6 +994,8 @@ CLASS lcl_json_to_abap IMPLEMENTATION.
|
|||
" TODO: check type ?
|
||||
IF is_node_type-type_kind = lif_kind=>date AND is_node-value IS NOT INITIAL.
|
||||
<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.
|
||||
<container> = to_timestamp( is_node-value ).
|
||||
ELSE.
|
||||
|
@ -1095,6 +1105,22 @@ CLASS lcl_json_to_abap IMPLEMENTATION.
|
|||
|
||||
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.
|
||||
|
||||
**********************************************************************
|
||||
|
|
|
@ -1459,7 +1459,9 @@ CLASS ltcl_json_to_abap DEFINITION
|
|||
METHODS to_abap_corresponding_pub_neg
|
||||
FOR TESTING
|
||||
RAISING zcx_abapgit_ajson_error.
|
||||
|
||||
METHODS to_abap_time
|
||||
FOR TESTING
|
||||
RAISING cx_static_check.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS zcl_abapgit_ajson DEFINITION LOCAL FRIENDS ltcl_json_to_abap.
|
||||
|
@ -1536,6 +1538,44 @@ CLASS ltcl_json_to_abap IMPLEMENTATION.
|
|||
|
||||
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.
|
||||
|
||||
DATA lo_cut TYPE REF TO lcl_json_to_abap.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
INTERFACE zif_abapgit_ajson
|
||||
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 license TYPE string VALUE 'MIT'. "#EC NOTEXT
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user