From bfd4c7f3c657405d6f475bb9e4103bd7d68836f7 Mon Sep 17 00:00:00 2001 From: larshp Date: Mon, 5 Sep 2016 11:27:17 +0000 Subject: [PATCH] various changes, close #317 pretty print zabapgit_password_dialog bump version to v1.17.7 minor changes in get_display_name() close #317, thanks @StevusPrimus --- src/zabapgit.prog.abap | 2 +- src/zabapgit_git_helpers.prog.abap | 36 ++++++++++++-------------- src/zabapgit_password_dialog.prog.abap | 34 ++++++++++++------------ src/zabapgit_zip.prog.abap | 7 +++-- 4 files changed, 40 insertions(+), 39 deletions(-) diff --git a/src/zabapgit.prog.abap b/src/zabapgit.prog.abap index 12ea0bb1c..67a10e3b3 100644 --- a/src/zabapgit.prog.abap +++ b/src/zabapgit.prog.abap @@ -3,7 +3,7 @@ REPORT zabapgit LINE-SIZE 100. * See http://www.abapgit.org CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT - gc_abap_version TYPE string VALUE 'v1.17.6'. "#EC NOTEXT + gc_abap_version TYPE string VALUE 'v1.17.7'. "#EC NOTEXT ******************************************************************************** * The MIT License (MIT) diff --git a/src/zabapgit_git_helpers.prog.abap b/src/zabapgit_git_helpers.prog.abap index 15e26ff14..123d2ff8f 100644 --- a/src/zabapgit_git_helpers.prog.abap +++ b/src/zabapgit_git_helpers.prog.abap @@ -107,14 +107,14 @@ CLASS lcl_git_branch_list DEFINITION FINAL. TYPES: ty_git_branch_list_tt TYPE STANDARD TABLE OF ty_git_branch WITH DEFAULT KEY. CONSTANTS: BEGIN OF c_type, - branch TYPE ty_git_branch_type VALUE 'HD', - tag TYPE ty_git_branch_type VALUE 'TG', - other TYPE ty_git_branch_type VALUE 'ZZ', - END OF c_type. - CONSTANTS HEAD_NAME TYPE string VALUE 'HEAD'. + branch TYPE ty_git_branch_type VALUE 'HD', + tag TYPE ty_git_branch_type VALUE 'TG', + other TYPE ty_git_branch_type VALUE 'ZZ', + END OF c_type. + CONSTANTS head_name TYPE string VALUE 'HEAD'. METHODS constructor - IMPORTING iv_data TYPE string + IMPORTING iv_data TYPE string RAISING lcx_exception. METHODS find_by_name @@ -139,16 +139,16 @@ CLASS lcl_git_branch_list DEFINITION FINAL. RETURNING VALUE(rv_ignore) TYPE abap_bool. CLASS-METHODS get_display_name - IMPORTING iv_branch_name TYPE clike + IMPORTING iv_branch_name TYPE clike RETURNING VALUE(rv_display_name) TYPE string. CLASS-METHODS get_type - IMPORTING iv_branch_name TYPE clike - RETURNING VALUE(rv_type) TYPE ty_git_branch_type. + IMPORTING iv_branch_name TYPE clike + RETURNING VALUE(rv_type) TYPE ty_git_branch_type. CLASS-METHODS complete_heads_branch_name - IMPORTING iv_branch_name TYPE clike - RETURNING VALUE(rv_name) TYPE string. + IMPORTING iv_branch_name TYPE clike + RETURNING VALUE(rv_name) TYPE string. PRIVATE SECTION. DATA mt_branches TYPE ty_git_branch_list_tt. @@ -197,7 +197,7 @@ CLASS lcl_git_branch_list IMPLEMENTATION. IF mv_head_symref IS NOT INITIAL. rs_branch = find_by_name( mv_head_symref ). ELSE. - rs_branch = find_by_name( HEAD_NAME ). + rs_branch = find_by_name( head_name ). ENDIF. ENDMETHOD. "get_head @@ -246,7 +246,7 @@ CLASS lcl_git_branch_list IMPLEMENTATION. -name = lv_name. -display_name = get_display_name( lv_name ). -type = get_type( lv_name ). - IF -name = HEAD_NAME OR -name = ev_head_symref. + IF -name = head_name OR -name = ev_head_symref. -is_head = abap_true. ENDIF. ENDLOOP. @@ -255,7 +255,7 @@ CLASS lcl_git_branch_list IMPLEMENTATION. METHOD parse_head_params. - DATA: ls_match TYPE match_result, + DATA: ls_match TYPE match_result, ls_submatch TYPE submatch_result. FIND FIRST OCCURRENCE OF REGEX '\ssymref=HEAD:([^\s]+)' IN iv_data RESULTS ls_match. @@ -286,12 +286,8 @@ CLASS lcl_git_branch_list IMPLEMENTATION. IF rv_display_name CP 'refs/heads/*'. REPLACE FIRST OCCURRENCE OF 'refs/heads/' IN rv_display_name WITH ''. - RETURN. - ENDIF. - - IF rv_display_name CP 'refs/tags/*'. + ELSEIF rv_display_name CP 'refs/tags/*'. REPLACE FIRST OCCURRENCE OF 'refs/' IN rv_display_name WITH ''. - RETURN. ENDIF. ENDMETHOD. "get_display_name @@ -299,7 +295,7 @@ CLASS lcl_git_branch_list IMPLEMENTATION. METHOD get_type. rv_type = c_type-other. - IF iv_branch_name CP 'refs/heads/*' OR iv_branch_name = HEAD_NAME. + IF iv_branch_name CP 'refs/heads/*' OR iv_branch_name = head_name. rv_type = c_type-branch. RETURN. ENDIF. diff --git a/src/zabapgit_password_dialog.prog.abap b/src/zabapgit_password_dialog.prog.abap index 46a09e151..d7f36694d 100644 --- a/src/zabapgit_password_dialog.prog.abap +++ b/src/zabapgit_password_dialog.prog.abap @@ -6,15 +6,15 @@ TABLES sscrfields. SELECTION-SCREEN BEGIN OF SCREEN 1002 TITLE s_title. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(10) s_url FOR FIELD p_url. -PARAMETER: p_url TYPE string LOWER CASE VISIBLE LENGTH 40. +PARAMETERS: p_url TYPE string LOWER CASE VISIBLE LENGTH 40. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(10) s_user FOR FIELD p_user. -PARAMETER: p_user TYPE string LOWER CASE VISIBLE LENGTH 40. +PARAMETERS: p_user TYPE string LOWER CASE VISIBLE LENGTH 40. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN COMMENT 1(10) s_pass FOR FIELD p_pass. -PARAMETER: p_pass TYPE string LOWER CASE VISIBLE LENGTH 40. +PARAMETERS: p_pass TYPE string LOWER CASE VISIBLE LENGTH 40. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN END OF SCREEN 1002. @@ -24,7 +24,7 @@ SELECTION-SCREEN END OF SCREEN 1002. CLASS lcl_password_dialog DEFINITION. PUBLIC SECTION. - CONSTANTS DYNNR TYPE char4 VALUE '1002'. + CONSTANTS dynnr TYPE char4 VALUE '1002'. CLASS-METHODS popup IMPORTING @@ -37,7 +37,7 @@ CLASS lcl_password_dialog DEFINITION. CLASS-METHODS on_screen_output. CLASS-METHODS on_screen_event IMPORTING - iv_ucomm TYPE syucomm. + iv_ucomm TYPE syucomm. PRIVATE SECTION. CLASS-DATA mv_confirm TYPE abap_bool. @@ -48,12 +48,12 @@ CLASS lcl_password_dialog IMPLEMENTATION. METHOD popup. - clear p_pass. + CLEAR p_pass. p_url = iv_repo_url. p_user = cv_user. mv_confirm = abap_false. - CALL SELECTION-SCREEN DYNNR STARTING AT 5 5 ENDING AT 60 8. + CALL SELECTION-SCREEN dynnr STARTING AT 5 5 ENDING AT 60 8. IF mv_confirm = abap_true. cv_user = p_user. @@ -76,7 +76,7 @@ CLASS lcl_password_dialog IMPLEMENTATION. METHOD on_screen_output. DATA lt_ucomm TYPE TABLE OF sy-ucomm. - ASSERT sy-dynnr = DYNNR. + ASSERT sy-dynnr = dynnr. LOOP AT SCREEN. IF screen-name = 'P_URL'. @@ -97,8 +97,10 @@ CLASS lcl_password_dialog IMPLEMENTATION. APPEND 'SPOS' TO lt_ucomm. "Save as Variant CALL FUNCTION 'RS_SET_SELSCREEN_STATUS' - EXPORTING p_status = sy-pfkey - TABLES p_exclude = lt_ucomm. + EXPORTING + p_status = sy-pfkey + TABLES + p_exclude = lt_ucomm. IF p_user IS NOT INITIAL. SET CURSOR FIELD 'P_PASS'. @@ -107,7 +109,7 @@ CLASS lcl_password_dialog IMPLEMENTATION. ENDMETHOD. "on_screen_output METHOD on_screen_event. - ASSERT sy-dynnr = DYNNR. + ASSERT sy-dynnr = dynnr. " CRET - F8 " OTHERS - simulate Enter press @@ -115,11 +117,11 @@ CLASS lcl_password_dialog IMPLEMENTATION. WHEN 'CRET'. mv_confirm = abap_true. WHEN OTHERS. "TODO REFACTOR !!! A CLUTCH ! - " This will work unless any new specific logic appear - " for other commands. The problem is that the password dialog - " does not have Enter event (or I don't know how to activate it ;) - " so Enter issues previous command from previous screen - " But for now this works :) Fortunately Esc produces another flow + " This will work unless any new specific logic appear + " for other commands. The problem is that the password dialog + " does not have Enter event (or I don't know how to activate it ;) + " so Enter issues previous command from previous screen + " But for now this works :) Fortunately Esc produces another flow mv_confirm = abap_true. LEAVE TO SCREEN 0. ENDCASE. diff --git a/src/zabapgit_zip.prog.abap b/src/zabapgit_zip.prog.abap index 08415d116..d386c9436 100644 --- a/src/zabapgit_zip.prog.abap +++ b/src/zabapgit_zip.prog.abap @@ -108,10 +108,13 @@ CLASS lcl_zip IMPLEMENTATION. lv_filename TYPE string, lv_default TYPE string, lv_path TYPE string, - lv_fullpath TYPE string. + lv_fullpath TYPE string, + lv_package TYPE devclass. - CONCATENATE iv_package '_' sy-datlo '_' sy-timlo INTO lv_default. + lv_package = iv_package. + TRANSLATE lv_package USING '/#'. + CONCATENATE lv_package '_' sy-datlo '_' sy-timlo INTO lv_default. cl_gui_frontend_services=>file_save_dialog( EXPORTING