mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
zcl_abapgit_html_action_utils
refactoring for ABAP Cloud (#6514)
This commit is contained in:
parent
d65183bd6a
commit
03033a2e89
|
@ -672,7 +672,7 @@ CLASS zcl_abapgit_repo_srv IMPLEMENTATION.
|
|||
|
||||
METHOD zif_abapgit_repo_srv~validate_package.
|
||||
|
||||
DATA: lv_as4user TYPE tdevc-as4user,
|
||||
DATA: lv_as4user TYPE usnam,
|
||||
li_repo TYPE REF TO zif_abapgit_repo,
|
||||
lv_reason TYPE string.
|
||||
|
||||
|
|
|
@ -42,6 +42,12 @@ CLASS zcl_abapgit_html_action_utils DEFINITION
|
|||
!ig_field TYPE any
|
||||
CHANGING
|
||||
!ct_field TYPE tihttpnvp .
|
||||
|
||||
CLASS-METHODS fields_to_string
|
||||
IMPORTING
|
||||
!it_fields TYPE tihttpnvp
|
||||
RETURNING
|
||||
VALUE(rv_string) TYPE string.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
@ -75,31 +81,52 @@ CLASS zcl_abapgit_html_action_utils IMPLEMENTATION.
|
|||
|
||||
METHOD dbkey_encode.
|
||||
|
||||
DATA: lt_fields TYPE tihttpnvp.
|
||||
DATA lt_fields TYPE tihttpnvp.
|
||||
|
||||
add_field( EXPORTING iv_name = 'TYPE'
|
||||
ig_field = is_key-type CHANGING ct_field = lt_fields ).
|
||||
add_field( EXPORTING iv_name = 'VALUE'
|
||||
ig_field = is_key-value CHANGING ct_field = lt_fields ).
|
||||
|
||||
rv_string = cl_http_utility=>fields_to_string( lt_fields ).
|
||||
rv_string = fields_to_string( lt_fields ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD dir_encode.
|
||||
|
||||
DATA: lt_fields TYPE tihttpnvp.
|
||||
DATA lt_fields TYPE tihttpnvp.
|
||||
add_field( EXPORTING iv_name = 'PATH'
|
||||
ig_field = iv_path CHANGING ct_field = lt_fields ).
|
||||
rv_string = cl_http_utility=>fields_to_string( lt_fields ).
|
||||
rv_string = fields_to_string( lt_fields ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD fields_to_string.
|
||||
|
||||
* There is no equivalent to cl_http_utility=>fields_to_string released in ABAP Cloud,
|
||||
* see cl_web_http_utility
|
||||
|
||||
DATA lt_tab TYPE STANDARD TABLE OF string WITH DEFAULT KEY.
|
||||
DATA lv_str TYPE string.
|
||||
DATA ls_field LIKE LINE OF it_fields.
|
||||
|
||||
LOOP AT it_fields INTO ls_field.
|
||||
ls_field-value = cl_http_utility=>escape_url( ls_field-value ).
|
||||
lv_str = ls_field-name && '=' && ls_field-value.
|
||||
APPEND lv_str TO lt_tab.
|
||||
ENDLOOP.
|
||||
rv_string = concat_lines_of(
|
||||
table = lt_tab
|
||||
sep = '&' ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD file_encode.
|
||||
|
||||
DATA: lt_fields TYPE tihttpnvp.
|
||||
DATA lt_fields TYPE tihttpnvp.
|
||||
|
||||
|
||||
add_field( EXPORTING iv_name = 'KEY'
|
||||
|
@ -109,14 +136,14 @@ CLASS zcl_abapgit_html_action_utils IMPLEMENTATION.
|
|||
add_field( EXPORTING iv_name = 'FILENAME'
|
||||
ig_field = ig_file CHANGING ct_field = lt_fields ).
|
||||
|
||||
rv_string = cl_http_utility=>fields_to_string( lt_fields ).
|
||||
rv_string = fields_to_string( lt_fields ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD jump_encode.
|
||||
|
||||
DATA: lt_fields TYPE tihttpnvp.
|
||||
DATA lt_fields TYPE tihttpnvp.
|
||||
|
||||
|
||||
add_field( EXPORTING iv_name = 'TYPE'
|
||||
|
@ -129,14 +156,14 @@ CLASS zcl_abapgit_html_action_utils IMPLEMENTATION.
|
|||
ig_field = iv_filename CHANGING ct_field = lt_fields ).
|
||||
ENDIF.
|
||||
|
||||
rv_string = cl_http_utility=>fields_to_string( lt_fields ).
|
||||
rv_string = fields_to_string( lt_fields ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD obj_encode.
|
||||
|
||||
DATA: lt_fields TYPE tihttpnvp.
|
||||
DATA lt_fields TYPE tihttpnvp.
|
||||
|
||||
|
||||
add_field( EXPORTING iv_name = 'KEY'
|
||||
|
@ -146,8 +173,7 @@ CLASS zcl_abapgit_html_action_utils IMPLEMENTATION.
|
|||
add_field( EXPORTING iv_name = 'OBJ_NAME'
|
||||
ig_field = ig_object CHANGING ct_field = lt_fields ).
|
||||
|
||||
rv_string = cl_http_utility=>fields_to_string( lt_fields ).
|
||||
rv_string = fields_to_string( lt_fields ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
CLASS ltcl_test DEFINITION FOR TESTING DURATION SHORT RISK LEVEL HARMLESS FINAL.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS dir_encode FOR TESTING.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS ltcl_test IMPLEMENTATION.
|
||||
|
||||
METHOD dir_encode.
|
||||
|
||||
DATA lv_encoded TYPE string.
|
||||
|
||||
lv_encoded = zcl_abapgit_html_action_utils=>dir_encode( '/hello.,()[]' ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
act = lv_encoded
|
||||
exp = 'PATH=%2fhello.%2c()%5b%5d' ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
|
@ -10,6 +10,7 @@
|
|||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
|
|
Loading…
Reference in New Issue
Block a user