Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | CLASS zcl_abapgit_html_action_utils DEFINITION
PUBLIC
CREATE PUBLIC .
PUBLIC SECTION.
CLASS-METHODS jump_encode
IMPORTING
!iv_obj_type TYPE tadir-object
!iv_obj_name TYPE tadir-obj_name
!iv_filename TYPE string OPTIONAL
RETURNING
VALUE(rv_string) TYPE string .
CLASS-METHODS dir_encode
IMPORTING
!iv_path TYPE string
RETURNING
VALUE(rv_string) TYPE string .
CLASS-METHODS file_encode
IMPORTING
!iv_key TYPE zif_abapgit_persistence=>ty_repo-key
!ig_file TYPE any
!iv_extra TYPE clike OPTIONAL
RETURNING
VALUE(rv_string) TYPE string .
CLASS-METHODS obj_encode
IMPORTING
!iv_key TYPE zif_abapgit_persistence=>ty_repo-key
!ig_object TYPE any
RETURNING
VALUE(rv_string) TYPE string .
CLASS-METHODS dbkey_encode
IMPORTING
!is_key TYPE zif_abapgit_persistence=>ty_content
RETURNING
VALUE(rv_string) TYPE string .
PROTECTED SECTION.
PRIVATE SECTION.
TYPES: BEGIN OF ty_name_value,
name TYPE string,
value TYPE string,
END OF ty_name_value.
TYPES ty_name_value_tt TYPE STANDARD TABLE OF ty_name_value WITH DEFAULT KEY.
CLASS-METHODS add_field
IMPORTING
!iv_name TYPE string
!ig_field TYPE any
CHANGING
!ct_field TYPE ty_name_value_tt .
CLASS-METHODS fields_to_string
IMPORTING
!it_fields TYPE ty_name_value_tt
RETURNING
VALUE(rv_string) TYPE string.
ENDCLASS.
CLASS zcl_abapgit_html_action_utils IMPLEMENTATION.
METHOD add_field.
DATA ls_field LIKE LINE OF ct_field.
FIELD-SYMBOLS <lg_src> TYPE any.
ls_field-name = iv_name.
CASE cl_abap_typedescr=>describe_by_data( ig_field )->kind.
WHEN cl_abap_typedescr=>kind_elem.
ls_field-value = ig_field.
WHEN cl_abap_typedescr=>kind_struct.
ASSIGN COMPONENT iv_name OF STRUCTURE ig_field TO <lg_src>.
ASSERT <lg_src> IS ASSIGNED.
ls_field-value = <lg_src>.
WHEN OTHERS.
ASSERT 0 = 1.
ENDCASE.
APPEND ls_field TO ct_field.
ENDMETHOD.
METHOD dbkey_encode.
DATA lt_fields TYPE ty_name_value_tt.
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 = fields_to_string( lt_fields ).
ENDMETHOD.
METHOD dir_encode.
DATA lt_fields TYPE ty_name_value_tt.
add_field( EXPORTING iv_name = 'PATH'
ig_field = iv_path CHANGING ct_field = 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 ty_name_value_tt.
add_field(
EXPORTING
iv_name = 'KEY'
ig_field = iv_key
CHANGING
ct_field = lt_fields ).
add_field(
EXPORTING
iv_name = 'PATH'
ig_field = ig_file
CHANGING
ct_field = lt_fields ).
add_field(
EXPORTING
iv_name = 'FILENAME'
ig_field = ig_file
CHANGING
ct_field = lt_fields ).
IF iv_extra IS SUPPLIED.
add_field(
EXPORTING
iv_name = 'EXTRA'
ig_field = iv_extra
CHANGING
ct_field = lt_fields ).
ENDIF.
rv_string = fields_to_string( lt_fields ).
ENDMETHOD.
METHOD jump_encode.
DATA lt_fields TYPE ty_name_value_tt.
add_field( EXPORTING iv_name = 'TYPE'
ig_field = iv_obj_type CHANGING ct_field = lt_fields ).
add_field( EXPORTING iv_name = 'NAME'
ig_field = iv_obj_name CHANGING ct_field = lt_fields ).
IF iv_filename IS NOT INITIAL.
add_field( EXPORTING iv_name = 'FILE'
ig_field = iv_filename CHANGING ct_field = lt_fields ).
ENDIF.
rv_string = fields_to_string( lt_fields ).
ENDMETHOD.
METHOD obj_encode.
DATA lt_fields TYPE ty_name_value_tt.
add_field( EXPORTING iv_name = 'KEY'
ig_field = iv_key CHANGING ct_field = lt_fields ).
add_field( EXPORTING iv_name = 'OBJ_TYPE'
ig_field = ig_object CHANGING ct_field = lt_fields ).
add_field( EXPORTING iv_name = 'OBJ_NAME'
ig_field = ig_object CHANGING ct_field = lt_fields ).
rv_string = fields_to_string( lt_fields ).
ENDMETHOD.
ENDCLASS.
|