mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
New Advanced Link Transport refactor
This commit is contained in:
parent
552a9d9b84
commit
7b018144a6
|
@ -185,7 +185,7 @@ CONSTANTS: gc_english TYPE spras VALUE 'E'.
|
|||
|
||||
CONSTANTS: gc_root_dir TYPE string VALUE '/',
|
||||
gc_dot_abapgit TYPE string VALUE '.abapgit.xml' ##NO_TEXT,
|
||||
gc_author_regex TYPE string VALUE '^([\w\s\.@\-_1-9]+) <(.*)> (\d{10}) .\d{4}$' ##NO_TEXT.
|
||||
gc_author_regex TYPE string VALUE '^([\w\s\.@\-_1-9]+) <(.*)> (\d{10}).\d{4}$' ##NO_TEXT.
|
||||
|
||||
CONSTANTS: BEGIN OF gc_action,
|
||||
repo_clone TYPE string VALUE 'repo_clone',
|
||||
|
@ -198,6 +198,7 @@ CONSTANTS: BEGIN OF gc_action,
|
|||
repo_remote_change TYPE string VALUE 'repo_remote_change',
|
||||
repo_refresh_checksums TYPE string VALUE 'repo_refresh_checksums',
|
||||
repo_toggle_fav TYPE string VALUE 'repo_toggle_fav',
|
||||
repo_transport_to_pull_reqst TYPE string VALUE 'go_transport_to_pull_request',
|
||||
|
||||
abapgit_home TYPE string VALUE 'abapgit_home',
|
||||
abapgit_wiki TYPE string VALUE 'abapgit_wiki',
|
||||
|
|
|
@ -67,7 +67,9 @@ CLASS lcl_gui_router IMPLEMENTATION.
|
|||
DATA: lv_url TYPE string,
|
||||
lv_key TYPE lcl_persistence_repo=>ty_repo-key,
|
||||
ls_db TYPE lcl_persistence_db=>ty_content,
|
||||
ls_item TYPE ty_item.
|
||||
ls_item TYPE ty_item,
|
||||
lt_transport_headers TYPE trwbo_request_headers,
|
||||
lt_tadir TYPE scts_tadir.
|
||||
|
||||
lv_key = iv_getdata. " TODO refactor
|
||||
lv_url = iv_getdata. " TODO refactor
|
||||
|
@ -171,6 +173,11 @@ CLASS lcl_gui_router IMPLEMENTATION.
|
|||
WHEN gc_action-repo_toggle_fav. " Toggle repo as favorite
|
||||
lcl_services_repo=>toggle_favorite( lv_key ).
|
||||
ev_state = gc_event_state-re_render.
|
||||
WHEN gc_action-repo_transport_to_pull_reqst.
|
||||
lt_transport_headers = lcl_transport_popup=>show( ).
|
||||
lt_tadir = lcl_transport=>to_tadir( lt_transport_headers ).
|
||||
"lcl_services_repo=>transport_to_pull_request( lv_key ).
|
||||
ev_state = gc_event_state-re_render.
|
||||
|
||||
" ZIP services actions
|
||||
WHEN gc_action-zip_import. " Import repo from ZIP
|
||||
|
|
|
@ -1,17 +1,24 @@
|
|||
*&---------------------------------------------------------------------*
|
||||
*& Include ZABAPGIT_TRANSPORT
|
||||
*&---------------------------------------------------------------------*
|
||||
CLASS lcl_transport_popup DEFINITION.
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS:
|
||||
show
|
||||
RETURNING VALUE(rt_trkorr) TYPE trwbo_request_headers.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_transport DEFINITION FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS:
|
||||
zip RAISING lcx_exception.
|
||||
zip RAISING lcx_exception,
|
||||
to_tadir IMPORTING it_transport_headers TYPE trwbo_request_headers
|
||||
RETURNING VALUE(rt_tadir) TYPE scts_tadir
|
||||
RAISING lcx_exception.
|
||||
|
||||
PRIVATE SECTION.
|
||||
CLASS-METHODS:
|
||||
popup
|
||||
RETURNING VALUE(rt_trkorr) TYPE trwbo_request_headers,
|
||||
read_requests
|
||||
IMPORTING it_trkorr TYPE trwbo_request_headers
|
||||
RETURNING VALUE(rt_requests) TYPE trwbo_requests
|
||||
|
@ -38,7 +45,7 @@ CLASS lcl_transport IMPLEMENTATION.
|
|||
lt_trkorr TYPE trwbo_request_headers.
|
||||
|
||||
|
||||
lt_trkorr = popup( ).
|
||||
lt_trkorr = lcl_transport_popup=>show( ).
|
||||
IF lines( lt_trkorr ) = 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
@ -67,6 +74,22 @@ CLASS lcl_transport IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD to_tadir.
|
||||
DATA: lt_requests TYPE trwbo_requests,
|
||||
lt_tadir TYPE scts_tadir,
|
||||
lv_package TYPE devclass,
|
||||
lt_trkorr TYPE trwbo_request_headers.
|
||||
|
||||
|
||||
lt_trkorr = lcl_transport_popup=>show( ).
|
||||
IF lines( lt_trkorr ) = 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
lt_requests = read_requests( lt_trkorr ).
|
||||
lt_tadir = resolve( lt_requests ).
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD find_top_package.
|
||||
* assumption: all objects in transport share a common super package
|
||||
|
||||
|
@ -100,41 +123,6 @@ CLASS lcl_transport IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD popup.
|
||||
DATA: lrs_trfunction TYPE trsel_trs_function,
|
||||
lv_types TYPE string,
|
||||
ls_ranges TYPE trsel_ts_ranges.
|
||||
|
||||
" Fill all request types
|
||||
lv_types = 'KWTCOEMPDRSXQFG'.
|
||||
lrs_trfunction-sign = 'I'.
|
||||
lrs_trfunction-option = 'EQ'.
|
||||
WHILE lv_types NE space.
|
||||
lrs_trfunction-low = lv_types(1).
|
||||
APPEND lrs_trfunction TO ls_ranges-request_funcs.
|
||||
SHIFT lv_types.
|
||||
ENDWHILE.
|
||||
|
||||
CALL FUNCTION 'TRINT_SELECT_REQUESTS'
|
||||
EXPORTING
|
||||
iv_username_pattern = sy-uname
|
||||
iv_via_selscreen = 'X'
|
||||
iv_complete_projects = ''
|
||||
* is_popup =
|
||||
iv_title = 'abapGit: Transport Request Selection'
|
||||
IMPORTING
|
||||
et_requests = rt_trkorr
|
||||
CHANGING
|
||||
cs_ranges = ls_ranges
|
||||
EXCEPTIONS
|
||||
action_aborted_by_user = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD read_requests.
|
||||
|
||||
DATA lt_requests LIKE rt_requests.
|
||||
|
@ -205,3 +193,38 @@ CLASS lcl_transport IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
CLASS lcl_transport_popup IMPLEMENTATION.
|
||||
METHOD show.
|
||||
DATA: lrs_trfunction TYPE trsel_trs_function,
|
||||
lv_types TYPE string,
|
||||
ls_ranges TYPE trsel_ts_ranges.
|
||||
|
||||
" Fill all request types
|
||||
lv_types = 'KWTCOEMPDRSXQFG'.
|
||||
lrs_trfunction-sign = 'I'.
|
||||
lrs_trfunction-option = 'EQ'.
|
||||
WHILE lv_types NE space.
|
||||
lrs_trfunction-low = lv_types(1).
|
||||
APPEND lrs_trfunction TO ls_ranges-request_funcs.
|
||||
SHIFT lv_types.
|
||||
ENDWHILE.
|
||||
|
||||
CALL FUNCTION 'TRINT_SELECT_REQUESTS'
|
||||
EXPORTING
|
||||
iv_username_pattern = sy-uname
|
||||
iv_via_selscreen = 'X'
|
||||
iv_complete_projects = ''
|
||||
* is_popup =
|
||||
iv_title = 'abapGit: Transport Request Selection'
|
||||
IMPORTING
|
||||
et_requests = rt_trkorr
|
||||
CHANGING
|
||||
cs_ranges = ls_ranges
|
||||
EXCEPTIONS
|
||||
action_aborted_by_user = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -309,6 +309,8 @@ CLASS lcl_gui_view_repo_content IMPLEMENTATION.
|
|||
iv_act = |{ gc_action-repo_remote_detach }?{ lv_key }| ).
|
||||
lo_tb_advanced->add( iv_txt = 'Force stage'
|
||||
iv_act = |{ gc_action-go_stage }?{ lv_key }| ).
|
||||
lo_tb_advanced->add( iv_txt = 'Transport to Pull Request'
|
||||
iv_act = |{ gc_action-repo_transport_to_pull_reqst }?{ lv_key }| ).
|
||||
ELSE.
|
||||
lo_tb_advanced->add( iv_txt = 'Make on-line'
|
||||
iv_act = |{ gc_action-repo_remote_attach }?{ lv_key }| ).
|
||||
|
|
Loading…
Reference in New Issue
Block a user