New Advanced Link Transport refactor

This commit is contained in:
eduardocopat 2017-03-13 17:53:14 +01:00
parent 552a9d9b84
commit 7b018144a6
4 changed files with 125 additions and 92 deletions

View File

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

View File

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

View File

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

View File

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