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. |