mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +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.
|
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,
|
li_repo TYPE REF TO zif_abapgit_repo,
|
||||||
lv_reason TYPE string.
|
lv_reason TYPE string.
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,12 @@ CLASS zcl_abapgit_html_action_utils DEFINITION
|
||||||
!ig_field TYPE any
|
!ig_field TYPE any
|
||||||
CHANGING
|
CHANGING
|
||||||
!ct_field TYPE tihttpnvp .
|
!ct_field TYPE tihttpnvp .
|
||||||
|
|
||||||
|
CLASS-METHODS fields_to_string
|
||||||
|
IMPORTING
|
||||||
|
!it_fields TYPE tihttpnvp
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_string) TYPE string.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -75,31 +81,52 @@ CLASS zcl_abapgit_html_action_utils IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD dbkey_encode.
|
METHOD dbkey_encode.
|
||||||
|
|
||||||
DATA: lt_fields TYPE tihttpnvp.
|
DATA lt_fields TYPE tihttpnvp.
|
||||||
|
|
||||||
add_field( EXPORTING iv_name = 'TYPE'
|
add_field( EXPORTING iv_name = 'TYPE'
|
||||||
ig_field = is_key-type CHANGING ct_field = lt_fields ).
|
ig_field = is_key-type CHANGING ct_field = lt_fields ).
|
||||||
add_field( EXPORTING iv_name = 'VALUE'
|
add_field( EXPORTING iv_name = 'VALUE'
|
||||||
ig_field = is_key-value CHANGING ct_field = lt_fields ).
|
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.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD dir_encode.
|
METHOD dir_encode.
|
||||||
|
|
||||||
DATA: lt_fields TYPE tihttpnvp.
|
DATA lt_fields TYPE tihttpnvp.
|
||||||
add_field( EXPORTING iv_name = 'PATH'
|
add_field( EXPORTING iv_name = 'PATH'
|
||||||
ig_field = iv_path CHANGING ct_field = lt_fields ).
|
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.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD file_encode.
|
METHOD file_encode.
|
||||||
|
|
||||||
DATA: lt_fields TYPE tihttpnvp.
|
DATA lt_fields TYPE tihttpnvp.
|
||||||
|
|
||||||
|
|
||||||
add_field( EXPORTING iv_name = 'KEY'
|
add_field( EXPORTING iv_name = 'KEY'
|
||||||
|
@ -109,14 +136,14 @@ CLASS zcl_abapgit_html_action_utils IMPLEMENTATION.
|
||||||
add_field( EXPORTING iv_name = 'FILENAME'
|
add_field( EXPORTING iv_name = 'FILENAME'
|
||||||
ig_field = ig_file CHANGING ct_field = lt_fields ).
|
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.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD jump_encode.
|
METHOD jump_encode.
|
||||||
|
|
||||||
DATA: lt_fields TYPE tihttpnvp.
|
DATA lt_fields TYPE tihttpnvp.
|
||||||
|
|
||||||
|
|
||||||
add_field( EXPORTING iv_name = 'TYPE'
|
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 ).
|
ig_field = iv_filename CHANGING ct_field = lt_fields ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
rv_string = cl_http_utility=>fields_to_string( lt_fields ).
|
rv_string = fields_to_string( lt_fields ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD obj_encode.
|
METHOD obj_encode.
|
||||||
|
|
||||||
DATA: lt_fields TYPE tihttpnvp.
|
DATA lt_fields TYPE tihttpnvp.
|
||||||
|
|
||||||
|
|
||||||
add_field( EXPORTING iv_name = 'KEY'
|
add_field( EXPORTING iv_name = 'KEY'
|
||||||
|
@ -146,8 +173,7 @@ CLASS zcl_abapgit_html_action_utils IMPLEMENTATION.
|
||||||
add_field( EXPORTING iv_name = 'OBJ_NAME'
|
add_field( EXPORTING iv_name = 'OBJ_NAME'
|
||||||
ig_field = ig_object CHANGING ct_field = lt_fields ).
|
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.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
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>
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
<FIXPT>X</FIXPT>
|
<FIXPT>X</FIXPT>
|
||||||
<UNICODE>X</UNICODE>
|
<UNICODE>X</UNICODE>
|
||||||
|
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
|
||||||
</VSEOCLASS>
|
</VSEOCLASS>
|
||||||
</asx:values>
|
</asx:values>
|
||||||
</asx:abap>
|
</asx:abap>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user