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
This commit is contained in:
larshp 2016-09-05 11:27:17 +00:00
parent f04d774e09
commit bfd4c7f3c6
4 changed files with 40 additions and 39 deletions

View File

@ -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)

View File

@ -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.
<ls_branch>-name = lv_name.
<ls_branch>-display_name = get_display_name( lv_name ).
<ls_branch>-type = get_type( lv_name ).
IF <ls_branch>-name = HEAD_NAME OR <ls_branch>-name = ev_head_symref.
IF <ls_branch>-name = head_name OR <ls_branch>-name = ev_head_symref.
<ls_branch>-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.

View File

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

View File

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