move parse_tag_request to page

This commit is contained in:
Christian Guenter 2018-05-28 06:37:14 +00:00
parent 440c7eb4b3
commit 039eb1e1fa
2 changed files with 41 additions and 39 deletions

View File

@ -12,6 +12,7 @@ CLASS zcl_abapgit_gui_page_tag DEFINITION PUBLIC FINAL
constructor constructor
IMPORTING io_repo TYPE REF TO zcl_abapgit_repo IMPORTING io_repo TYPE REF TO zcl_abapgit_repo
RAISING zcx_abapgit_exception, RAISING zcx_abapgit_exception,
zif_abapgit_gui_page~on_event REDEFINITION. zif_abapgit_gui_page~on_event REDEFINITION.
PROTECTED SECTION. PROTECTED SECTION.
@ -25,20 +26,25 @@ CLASS zcl_abapgit_gui_page_tag DEFINITION PUBLIC FINAL
METHODS: METHODS:
render_menu render_menu
RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html, RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html,
render_form render_form
RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html
RAISING zcx_abapgit_exception, RAISING zcx_abapgit_exception,
render_text_input render_text_input
IMPORTING iv_name TYPE string IMPORTING iv_name TYPE string
iv_label TYPE string iv_label TYPE string
iv_value TYPE string OPTIONAL iv_value TYPE string OPTIONAL
iv_max_length TYPE string OPTIONAL iv_max_length TYPE string OPTIONAL
RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html, RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html,
create_tag create_tag
IMPORTING IMPORTING it_postdata TYPE cnht_post_data_tab
it_postdata TYPE cnht_post_data_tab RAISING zcx_abapgit_exception,
RAISING
zcx_abapgit_exception. parse_tag_request
IMPORTING !it_postdata TYPE cnht_post_data_tab
EXPORTING !es_fields TYPE any.
ENDCLASS. ENDCLASS.
@ -226,7 +232,7 @@ CLASS zcl_abapgit_gui_page_tag IMPLEMENTATION.
lv_text TYPE string, lv_text TYPE string,
lv_tag_type TYPE zif_abapgit_definitions=>ty_git_branch_type. 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 EXPORTING it_postdata = it_postdata
IMPORTING es_fields = ls_tag ). IMPORTING es_fields = ls_tag ).
@ -251,4 +257,34 @@ CLASS zcl_abapgit_gui_page_tag IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD parse_tag_request.
CONSTANTS: lc_replace TYPE string VALUE '<<new>>'.
DATA: lv_string TYPE string,
lt_fields TYPE tihttpnvp.
FIELD-SYMBOLS <lv_body> 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 <lv_body>.
ASSERT <lv_body> IS ASSIGNED.
REPLACE ALL OCCURRENCES OF lc_replace IN <lv_body> WITH zif_abapgit_definitions=>gc_newline.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -96,11 +96,6 @@ CLASS zcl_abapgit_html_action_utils DEFINITION
!it_postdata TYPE cnht_post_data_tab !it_postdata TYPE cnht_post_data_tab
EXPORTING EXPORTING
!es_fields TYPE any . !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 CLASS-METHODS decode_bg_update
IMPORTING IMPORTING
!iv_getdata TYPE clike !iv_getdata TYPE clike
@ -436,33 +431,4 @@ CLASS zcl_abapgit_html_action_utils IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD parse_tag_request.
CONSTANTS: lc_replace TYPE string VALUE '<<new>>'.
DATA: lv_string TYPE string,
lt_fields TYPE tihttpnvp.
FIELD-SYMBOLS <lv_body> 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 <lv_body>.
ASSERT <lv_body> IS ASSIGNED.
REPLACE ALL OCCURRENCES OF lc_replace IN <lv_body> WITH zif_abapgit_definitions=>gc_newline.
ENDMETHOD.
ENDCLASS. ENDCLASS.