From 90cb2201fa3e58d9010e70098bf3901da8539a1c Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Sat, 22 Feb 2025 15:50:21 +0100 Subject: [PATCH 1/4] Fix dump in non-Unicode systems (#7146) Co-authored-by: Lars Hvam --- src/ui/core/zcl_abapgit_gui_event.clas.abap | 131 ++++++++++---------- 1 file changed, 68 insertions(+), 63 deletions(-) diff --git a/src/ui/core/zcl_abapgit_gui_event.clas.abap b/src/ui/core/zcl_abapgit_gui_event.clas.abap index 93705a037..bdefea42a 100644 --- a/src/ui/core/zcl_abapgit_gui_event.clas.abap +++ b/src/ui/core/zcl_abapgit_gui_event.clas.abap @@ -85,6 +85,24 @@ ENDCLASS. CLASS zcl_abapgit_gui_event IMPLEMENTATION. + METHOD class_constructor. + + CONSTANTS lc_nbsp TYPE xstring VALUE 'C2A0'. "   + + TRY. + gv_non_breaking_space = zcl_abapgit_convert=>xstring_to_string_utf8( lc_nbsp ). + CATCH zcx_abapgit_exception. + " Fallback for non-Unicode systems + IF cl_abap_char_utilities=>charsize < 2. + gv_non_breaking_space = |X'A0'|. + ELSE. + ASSERT 0 = 1. + ENDIF. + ENDTRY. + + ENDMETHOD. + + METHOD constructor. " Edge Webview control returns upper case action but abapGit requires lower case (#4841) @@ -112,6 +130,17 @@ CLASS zcl_abapgit_gui_event IMPLEMENTATION. ENDMETHOD. + METHOD field_keys_to_upper. + + FIELD-SYMBOLS LIKE LINE OF ct_fields. + + LOOP AT ct_fields ASSIGNING . + -name = to_upper( -name ). + ENDLOOP. + + ENDMETHOD. + + METHOD new. CREATE OBJECT ro_instance EXPORTING @@ -122,51 +151,6 @@ CLASS zcl_abapgit_gui_event IMPLEMENTATION. ENDMETHOD. - METHOD zif_abapgit_gui_event~form_data. - - IF mo_form_data IS NOT BOUND. - mo_form_data = fields_to_map( parse_post_form_data( zif_abapgit_gui_event~mt_postdata ) ). - mo_form_data->freeze( ). - ENDIF. - ro_string_map = mo_form_data. - - ENDMETHOD. - - - METHOD zif_abapgit_gui_event~query. - - IF mo_query IS NOT BOUND. - mo_query = fields_to_map( parse_fields( zif_abapgit_gui_event~mv_getdata ) ). - mo_query->freeze( ). - ENDIF. - ro_string_map = mo_query. - - ENDMETHOD. - - - METHOD parse_fields_upper_case_name. - - rt_fields = parse_fields( - iv_string = iv_string - iv_upper_cased = abap_true ). - - ENDMETHOD. - - - METHOD parse_post_form_data. - - DATA lv_serialized_post_data TYPE string. - - lv_serialized_post_data = translate_postdata( it_post_data ). - IF iv_upper_cased = abap_true. - rt_fields = parse_fields_upper_case_name( lv_serialized_post_data ). - ELSE. - rt_fields = parse_fields( lv_serialized_post_data ). - ENDIF. - - ENDMETHOD. - - METHOD parse_fields. DATA: @@ -206,6 +190,29 @@ CLASS zcl_abapgit_gui_event IMPLEMENTATION. ENDMETHOD. + METHOD parse_fields_upper_case_name. + + rt_fields = parse_fields( + iv_string = iv_string + iv_upper_cased = abap_true ). + + ENDMETHOD. + + + METHOD parse_post_form_data. + + DATA lv_serialized_post_data TYPE string. + + lv_serialized_post_data = translate_postdata( it_post_data ). + IF iv_upper_cased = abap_true. + rt_fields = parse_fields_upper_case_name( lv_serialized_post_data ). + ELSE. + rt_fields = parse_fields( lv_serialized_post_data ). + ENDIF. + + ENDMETHOD. + + METHOD translate_postdata. DATA: lt_post_data TYPE zif_abapgit_html_viewer=>ty_post_data, @@ -233,17 +240,6 @@ CLASS zcl_abapgit_gui_event IMPLEMENTATION. ENDMETHOD. - METHOD field_keys_to_upper. - - FIELD-SYMBOLS LIKE LINE OF ct_fields. - - LOOP AT ct_fields ASSIGNING . - -name = to_upper( -name ). - ENDLOOP. - - ENDMETHOD. - - METHOD unescape. * do not use cl_http_utility as it does strange things with the encoding @@ -261,15 +257,24 @@ CLASS zcl_abapgit_gui_event IMPLEMENTATION. ENDMETHOD. - METHOD class_constructor. + METHOD zif_abapgit_gui_event~form_data. - CONSTANTS lc_nbsp TYPE xstring VALUE 'C2A0'. "   + IF mo_form_data IS NOT BOUND. + mo_form_data = fields_to_map( parse_post_form_data( zif_abapgit_gui_event~mt_postdata ) ). + mo_form_data->freeze( ). + ENDIF. + ro_string_map = mo_form_data. - TRY. - gv_non_breaking_space = zcl_abapgit_convert=>xstring_to_string_utf8( lc_nbsp ). - CATCH zcx_abapgit_exception. - ASSERT 0 = 1. - ENDTRY. + ENDMETHOD. + + + METHOD zif_abapgit_gui_event~query. + + IF mo_query IS NOT BOUND. + mo_query = fields_to_map( parse_fields( zif_abapgit_gui_event~mv_getdata ) ). + mo_query->freeze( ). + ENDIF. + ro_string_map = mo_query. ENDMETHOD. ENDCLASS. From ae9ec4c14159487bf99824b35c105711a6b46388 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Sun, 23 Feb 2025 13:12:02 +0100 Subject: [PATCH 2/4] Fix version badge (#7152) --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 67fb37ce3..738590fc7 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,7 @@ [![License](https://img.shields.io/github/license/abapGit/abapGit?label=License&color=green)](LICENSE) [![REUSE Status](https://api.reuse.software/badge/github.com/abapGit/abapGit?color=success)](https://api.reuse.software/info/github.com/abapGit/abapGit) [![Slack](https://img.shields.io/badge/Join-Slack-blue)](https://communityinviter.com/apps/abapgit/abap) -[![abap package version](https://img.shields.io/endpoint?url=https://shield.abap.space/version-shield-json/github/abapGit/abapGit/src/zif_abapgit_version.intf.abap/c_abap_version&label=version)](https://github.com/abapGit/abapGit/blob/main/src/zif_abapgit_version.intf.abap) - +[![abap package version](https://img.shields.io/endpoint?url=https://shield.abappm.com/github/abapGit/abapGit/-main/src/zif_abapgit_version.intf.abap/c_abap_version&label=version)](https://github.com/abapGit/abapGit/blob/main/src/zif_abapgit_version.intf.abap)