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 '/',
|
CONSTANTS: gc_root_dir TYPE string VALUE '/',
|
||||||
gc_dot_abapgit TYPE string VALUE '.abapgit.xml' ##NO_TEXT,
|
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,
|
CONSTANTS: BEGIN OF gc_action,
|
||||||
repo_clone TYPE string VALUE 'repo_clone',
|
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_remote_change TYPE string VALUE 'repo_remote_change',
|
||||||
repo_refresh_checksums TYPE string VALUE 'repo_refresh_checksums',
|
repo_refresh_checksums TYPE string VALUE 'repo_refresh_checksums',
|
||||||
repo_toggle_fav TYPE string VALUE 'repo_toggle_fav',
|
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_home TYPE string VALUE 'abapgit_home',
|
||||||
abapgit_wiki TYPE string VALUE 'abapgit_wiki',
|
abapgit_wiki TYPE string VALUE 'abapgit_wiki',
|
||||||
|
|
|
@ -67,7 +67,9 @@ CLASS lcl_gui_router IMPLEMENTATION.
|
||||||
DATA: lv_url TYPE string,
|
DATA: lv_url TYPE string,
|
||||||
lv_key TYPE lcl_persistence_repo=>ty_repo-key,
|
lv_key TYPE lcl_persistence_repo=>ty_repo-key,
|
||||||
ls_db TYPE lcl_persistence_db=>ty_content,
|
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_key = iv_getdata. " TODO refactor
|
||||||
lv_url = 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
|
WHEN gc_action-repo_toggle_fav. " Toggle repo as favorite
|
||||||
lcl_services_repo=>toggle_favorite( lv_key ).
|
lcl_services_repo=>toggle_favorite( lv_key ).
|
||||||
ev_state = gc_event_state-re_render.
|
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
|
" ZIP services actions
|
||||||
WHEN gc_action-zip_import. " Import repo from ZIP
|
WHEN gc_action-zip_import. " Import repo from ZIP
|
||||||
|
|
|
@ -1,17 +1,24 @@
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
*& Include ZABAPGIT_TRANSPORT
|
*& 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.
|
CLASS lcl_transport DEFINITION FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
CLASS-METHODS:
|
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.
|
PRIVATE SECTION.
|
||||||
CLASS-METHODS:
|
CLASS-METHODS:
|
||||||
popup
|
|
||||||
RETURNING VALUE(rt_trkorr) TYPE trwbo_request_headers,
|
|
||||||
read_requests
|
read_requests
|
||||||
IMPORTING it_trkorr TYPE trwbo_request_headers
|
IMPORTING it_trkorr TYPE trwbo_request_headers
|
||||||
RETURNING VALUE(rt_requests) TYPE trwbo_requests
|
RETURNING VALUE(rt_requests) TYPE trwbo_requests
|
||||||
|
@ -38,7 +45,7 @@ CLASS lcl_transport IMPLEMENTATION.
|
||||||
lt_trkorr TYPE trwbo_request_headers.
|
lt_trkorr TYPE trwbo_request_headers.
|
||||||
|
|
||||||
|
|
||||||
lt_trkorr = popup( ).
|
lt_trkorr = lcl_transport_popup=>show( ).
|
||||||
IF lines( lt_trkorr ) = 0.
|
IF lines( lt_trkorr ) = 0.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -67,6 +74,22 @@ CLASS lcl_transport IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
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.
|
METHOD find_top_package.
|
||||||
* assumption: all objects in transport share a common super package
|
* assumption: all objects in transport share a common super package
|
||||||
|
|
||||||
|
@ -100,41 +123,6 @@ CLASS lcl_transport IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
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.
|
METHOD read_requests.
|
||||||
|
|
||||||
DATA lt_requests LIKE rt_requests.
|
DATA lt_requests LIKE rt_requests.
|
||||||
|
@ -205,3 +193,38 @@ CLASS lcl_transport IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
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 }| ).
|
iv_act = |{ gc_action-repo_remote_detach }?{ lv_key }| ).
|
||||||
lo_tb_advanced->add( iv_txt = 'Force stage'
|
lo_tb_advanced->add( iv_txt = 'Force stage'
|
||||||
iv_act = |{ gc_action-go_stage }?{ lv_key }| ).
|
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.
|
ELSE.
|
||||||
lo_tb_advanced->add( iv_txt = 'Make on-line'
|
lo_tb_advanced->add( iv_txt = 'Make on-line'
|
||||||
iv_act = |{ gc_action-repo_remote_attach }?{ lv_key }| ).
|
iv_act = |{ gc_action-repo_remote_attach }?{ lv_key }| ).
|
||||||
|
|
Loading…
Reference in New Issue
Block a user