mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
user exit for overriding host #848
This commit is contained in:
parent
b462b3de68
commit
72dfb59a01
|
@ -48,6 +48,7 @@ INCLUDE zabapgit_sap_package.
|
||||||
INCLUDE zabapgit_folder_logic.
|
INCLUDE zabapgit_folder_logic.
|
||||||
INCLUDE zabapgit_requirements.
|
INCLUDE zabapgit_requirements.
|
||||||
INCLUDE zabapgit_authorizations.
|
INCLUDE zabapgit_authorizations.
|
||||||
|
INCLUDE zabapgit_exit.
|
||||||
|
|
||||||
INCLUDE zabapgit_stage.
|
INCLUDE zabapgit_stage.
|
||||||
INCLUDE zabapgit_git_helpers.
|
INCLUDE zabapgit_git_helpers.
|
||||||
|
|
|
@ -33,6 +33,8 @@ INTERFACE lif_defs.
|
||||||
|
|
||||||
TYPES: ty_string_tt TYPE STANDARD TABLE OF string WITH DEFAULT KEY.
|
TYPES: ty_string_tt TYPE STANDARD TABLE OF string WITH DEFAULT KEY.
|
||||||
|
|
||||||
|
TYPES: ty_icm_sinfo2_tt TYPE STANDARD TABLE OF icm_sinfo2 WITH DEFAULT KEY.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_git_user,
|
BEGIN OF ty_git_user,
|
||||||
name TYPE string,
|
name TYPE string,
|
||||||
|
|
45
src/zabapgit_exit.prog.abap
Normal file
45
src/zabapgit_exit.prog.abap
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
*&---------------------------------------------------------------------*
|
||||||
|
*& Include ZABAPGIT_USER_EXITS
|
||||||
|
*&---------------------------------------------------------------------*
|
||||||
|
|
||||||
|
INTERFACE lif_exit.
|
||||||
|
|
||||||
|
METHODS:
|
||||||
|
change_local_host
|
||||||
|
CHANGING ct_hosts TYPE lif_defs=>ty_icm_sinfo2_tt.
|
||||||
|
|
||||||
|
ENDINTERFACE.
|
||||||
|
|
||||||
|
* add class LCL_USER_EXIT implementing LIF_EXIT in following include,
|
||||||
|
* place the include in a different package than ZABAPGIT
|
||||||
|
INCLUDE zabapgit_user_exit IF FOUND.
|
||||||
|
|
||||||
|
*******************
|
||||||
|
|
||||||
|
CLASS lcl_exit DEFINITION FINAL.
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
CLASS-METHODS: get_instance RETURNING VALUE(ri_exit) TYPE REF TO lif_exit.
|
||||||
|
|
||||||
|
INTERFACES: lif_exit.
|
||||||
|
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
|
CLASS lcl_exit IMPLEMENTATION.
|
||||||
|
|
||||||
|
METHOD get_instance.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
CREATE OBJECT ri_exit TYPE ('LCL_USER_EXIT').
|
||||||
|
CATCH cx_sy_create_object_error.
|
||||||
|
CREATE OBJECT ri_exit TYPE lcl_exit.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD lif_exit~change_local_host.
|
||||||
|
* default behavior
|
||||||
|
RETURN.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
ENDCLASS.
|
22
src/zabapgit_exit.prog.xml
Normal file
22
src/zabapgit_exit.prog.xml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<abapGit version="v1.0.0" serializer="LCL_OBJECT_PROG" serializer_version="v1.0.0">
|
||||||
|
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||||
|
<asx:values>
|
||||||
|
<PROGDIR>
|
||||||
|
<NAME>ZABAPGIT_EXIT</NAME>
|
||||||
|
<STATE>A</STATE>
|
||||||
|
<VARCL>X</VARCL>
|
||||||
|
<SUBC>I</SUBC>
|
||||||
|
<RLOAD>E</RLOAD>
|
||||||
|
<UCCHECK>X</UCCHECK>
|
||||||
|
</PROGDIR>
|
||||||
|
<TPOOL>
|
||||||
|
<item>
|
||||||
|
<ID>R</ID>
|
||||||
|
<ENTRY>Include ZABAPGIT_USER_EXITS</ENTRY>
|
||||||
|
<LENGTH>27</LENGTH>
|
||||||
|
</item>
|
||||||
|
</TPOOL>
|
||||||
|
</asx:values>
|
||||||
|
</asx:abap>
|
||||||
|
</abapGit>
|
|
@ -501,7 +501,7 @@ CLASS lcl_http IMPLEMENTATION.
|
||||||
METHOD is_local_system.
|
METHOD is_local_system.
|
||||||
|
|
||||||
DATA: lv_host TYPE string,
|
DATA: lv_host TYPE string,
|
||||||
lt_list TYPE STANDARD TABLE OF icm_sinfo2 WITH DEFAULT KEY.
|
lt_list TYPE lif_defs=>ty_icm_sinfo2_tt.
|
||||||
|
|
||||||
|
|
||||||
CALL FUNCTION 'ICM_GET_INFO2'
|
CALL FUNCTION 'ICM_GET_INFO2'
|
||||||
|
@ -516,6 +516,8 @@ CLASS lcl_http IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
lcl_exit=>get_instance( )->change_local_host( CHANGING ct_hosts = lt_list ).
|
||||||
|
|
||||||
FIND REGEX 'https?://([^/^:]*)' IN iv_url
|
FIND REGEX 'https?://([^/^:]*)' IN iv_url
|
||||||
SUBMATCHES lv_host.
|
SUBMATCHES lv_host.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user