diff --git a/src/ui/zcl_abapgit_gui_page_tag.clas.abap b/src/ui/zcl_abapgit_gui_page_tag.clas.abap index 9d3459292..e73e80e16 100644 --- a/src/ui/zcl_abapgit_gui_page_tag.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_tag.clas.abap @@ -12,6 +12,7 @@ CLASS zcl_abapgit_gui_page_tag DEFINITION PUBLIC FINAL constructor IMPORTING io_repo TYPE REF TO zcl_abapgit_repo RAISING zcx_abapgit_exception, + zif_abapgit_gui_page~on_event REDEFINITION. PROTECTED SECTION. @@ -25,20 +26,25 @@ CLASS zcl_abapgit_gui_page_tag DEFINITION PUBLIC FINAL METHODS: render_menu RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html, + render_form RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html RAISING zcx_abapgit_exception, + render_text_input IMPORTING iv_name TYPE string iv_label TYPE string iv_value TYPE string OPTIONAL iv_max_length TYPE string OPTIONAL RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html, + create_tag - IMPORTING - it_postdata TYPE cnht_post_data_tab - RAISING - zcx_abapgit_exception. + IMPORTING it_postdata TYPE cnht_post_data_tab + RAISING zcx_abapgit_exception, + + parse_tag_request + IMPORTING !it_postdata TYPE cnht_post_data_tab + EXPORTING !es_fields TYPE any. ENDCLASS. @@ -226,7 +232,7 @@ CLASS zcl_abapgit_gui_page_tag IMPLEMENTATION. lv_text TYPE string, lv_tag_type TYPE zif_abapgit_definitions=>ty_git_branch_type. - zcl_abapgit_html_action_utils=>parse_tag_request( + parse_tag_request( EXPORTING it_postdata = it_postdata IMPORTING es_fields = ls_tag ). @@ -251,4 +257,34 @@ CLASS zcl_abapgit_gui_page_tag IMPLEMENTATION. ENDMETHOD. + + METHOD parse_tag_request. + + CONSTANTS: lc_replace TYPE string VALUE '<>'. + + DATA: lv_string TYPE string, + lt_fields TYPE tihttpnvp. + + FIELD-SYMBOLS TYPE string. + + CLEAR es_fields. + + CONCATENATE LINES OF it_postdata INTO lv_string. + REPLACE ALL OCCURRENCES OF zif_abapgit_definitions=>gc_crlf IN lv_string WITH lc_replace. + REPLACE ALL OCCURRENCES OF zif_abapgit_definitions=>gc_newline IN lv_string WITH lc_replace. + lt_fields = zcl_abapgit_html_action_utils=>parse_fields_upper_case_name( lv_string ). + + zcl_abapgit_html_action_utils=>get_field( EXPORTING name = 'SHA1' it = lt_fields CHANGING cv = es_fields ). + zcl_abapgit_html_action_utils=>get_field( EXPORTING name = 'NAME' it = lt_fields CHANGING cv = es_fields ). + zcl_abapgit_html_action_utils=>get_field( EXPORTING name = 'TAGGER_NAME' it = lt_fields CHANGING cv = es_fields ). + zcl_abapgit_html_action_utils=>get_field( EXPORTING name = 'TAGGER_EMAIL' it = lt_fields CHANGING cv = es_fields ). + zcl_abapgit_html_action_utils=>get_field( EXPORTING name = 'MESSAGE' it = lt_fields CHANGING cv = es_fields ). + zcl_abapgit_html_action_utils=>get_field( EXPORTING name = 'BODY' it = lt_fields CHANGING cv = es_fields ). + + ASSIGN COMPONENT 'BODY' OF STRUCTURE es_fields TO . + ASSERT IS ASSIGNED. + REPLACE ALL OCCURRENCES OF lc_replace IN WITH zif_abapgit_definitions=>gc_newline. + + ENDMETHOD. + ENDCLASS. diff --git a/src/ui/zcl_abapgit_html_action_utils.clas.abap b/src/ui/zcl_abapgit_html_action_utils.clas.abap index 824c61c4e..6c9e74991 100644 --- a/src/ui/zcl_abapgit_html_action_utils.clas.abap +++ b/src/ui/zcl_abapgit_html_action_utils.clas.abap @@ -96,11 +96,6 @@ CLASS zcl_abapgit_html_action_utils DEFINITION !it_postdata TYPE cnht_post_data_tab EXPORTING !es_fields TYPE any . - CLASS-METHODS parse_tag_request - IMPORTING - !it_postdata TYPE cnht_post_data_tab - EXPORTING - !es_fields TYPE any . CLASS-METHODS decode_bg_update IMPORTING !iv_getdata TYPE clike @@ -436,33 +431,4 @@ CLASS zcl_abapgit_html_action_utils IMPLEMENTATION. ENDMETHOD. - METHOD parse_tag_request. - - CONSTANTS: lc_replace TYPE string VALUE '<>'. - - DATA: lv_string TYPE string, - lt_fields TYPE tihttpnvp. - - FIELD-SYMBOLS TYPE string. - - CLEAR es_fields. - - CONCATENATE LINES OF it_postdata INTO lv_string. - REPLACE ALL OCCURRENCES OF zif_abapgit_definitions=>gc_crlf IN lv_string WITH lc_replace. - REPLACE ALL OCCURRENCES OF zif_abapgit_definitions=>gc_newline IN lv_string WITH lc_replace. - lt_fields = parse_fields_upper_case_name( lv_string ). - - get_field( EXPORTING name = 'SHA1' it = lt_fields CHANGING cv = es_fields ). - get_field( EXPORTING name = 'NAME' it = lt_fields CHANGING cv = es_fields ). - get_field( EXPORTING name = 'TAGGER_NAME' it = lt_fields CHANGING cv = es_fields ). - get_field( EXPORTING name = 'TAGGER_EMAIL' it = lt_fields CHANGING cv = es_fields ). - get_field( EXPORTING name = 'MESSAGE' it = lt_fields CHANGING cv = es_fields ). - get_field( EXPORTING name = 'BODY' it = lt_fields CHANGING cv = es_fields ). - - ASSIGN COMPONENT 'BODY' OF STRUCTURE es_fields TO . - ASSERT IS ASSIGNED. - REPLACE ALL OCCURRENCES OF lc_replace IN WITH zif_abapgit_definitions=>gc_newline. - - ENDMETHOD. - ENDCLASS.