Merge pull request #1193 from larshp/lcl_exit

lcl_exit to global
This commit is contained in:
Lars Hvam 2018-02-11 11:11:13 +01:00 committed by GitHub
commit 538a114656
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 113 additions and 77 deletions

View File

@ -2,76 +2,6 @@
*& Include ZABAPGIT_USER_EXITS *& Include ZABAPGIT_USER_EXITS
*&---------------------------------------------------------------------* *&---------------------------------------------------------------------*
INTERFACE lif_exit. * add class ZCL_ABAPGIT_USER_EXIT implementing ZIF_ABAPGIT_EXIT in following include,
METHODS:
change_local_host
CHANGING ct_hosts TYPE zif_abapgit_definitions=>ty_icm_sinfo2_tt,
allow_sap_objects
RETURNING VALUE(rv_allowed) TYPE abap_bool,
change_proxy_url
IMPORTING iv_repo_url TYPE csequence
CHANGING c_proxy_url TYPE string,
change_proxy_port
IMPORTING iv_repo_url TYPE csequence
CHANGING c_proxy_port TYPE string,
change_proxy_authentication
IMPORTING iv_repo_url TYPE csequence
CHANGING c_proxy_authentication TYPE abap_bool.
ENDINTERFACE.
* add class LCL_USER_EXIT implementing LIF_EXIT in following include,
* place the include in a different package than ZABAPGIT * place the include in a different package than ZABAPGIT
INCLUDE zabapgit_user_exit IF FOUND. 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.
METHOD lif_exit~allow_sap_objects.
rv_allowed = abap_false.
ENDMETHOD.
METHOD lif_exit~change_proxy_url.
* default behavior change nothing
RETURN.
ENDMETHOD.
METHOD lif_exit~change_proxy_port.
* default behavior change nothing
RETURN.
ENDMETHOD.
METHOD lif_exit~change_proxy_authentication.
* default behavior change nothing
RETURN.
ENDMETHOD.
ENDCLASS.

View File

@ -182,7 +182,7 @@ CLASS lcl_http IMPLEMENTATION.
DATA: lv_host TYPE string, DATA: lv_host TYPE string,
lt_list TYPE zif_abapgit_definitions=>ty_icm_sinfo2_tt, lt_list TYPE zif_abapgit_definitions=>ty_icm_sinfo2_tt,
li_exit TYPE REF TO lif_exit. li_exit TYPE REF TO zif_abapgit_exit.
FIELD-SYMBOLS: <ls_list> LIKE LINE OF lt_list. FIELD-SYMBOLS: <ls_list> LIKE LINE OF lt_list.
@ -201,7 +201,7 @@ CLASS lcl_http IMPLEMENTATION.
APPEND INITIAL LINE TO lt_list ASSIGNING <ls_list>. APPEND INITIAL LINE TO lt_list ASSIGNING <ls_list>.
<ls_list>-hostname = 'localhost'. <ls_list>-hostname = 'localhost'.
li_exit = lcl_exit=>get_instance( ). li_exit = zcl_abapgit_exit=>get_instance( ).
li_exit->change_local_host( CHANGING ct_hosts = lt_list ). li_exit->change_local_host( CHANGING ct_hosts = lt_list ).
FIND REGEX 'https?://([^/^:]*)' IN iv_url FIND REGEX 'https?://([^/^:]*)' IN iv_url

View File

@ -28,7 +28,7 @@ CLASS lcl_proxy_config DEFINITION CREATE PUBLIC.
PRIVATE SECTION. PRIVATE SECTION.
DATA: mo_settings TYPE REF TO zcl_abapgit_settings, DATA: mo_settings TYPE REF TO zcl_abapgit_settings,
mi_exit TYPE REF TO lif_exit. mi_exit TYPE REF TO zif_abapgit_exit.
ENDCLASS. ENDCLASS.
@ -38,7 +38,7 @@ CLASS lcl_proxy_config IMPLEMENTATION.
mo_settings = zcl_abapgit_persist_settings=>get_instance( )->read( ). mo_settings = zcl_abapgit_persist_settings=>get_instance( )->read( ).
mi_exit = lcl_exit=>get_instance( ). mi_exit = zcl_abapgit_exit=>get_instance( ).
ENDMETHOD. ENDMETHOD.

View File

@ -1075,7 +1075,6 @@ CLASS lcl_repo_srv IMPLEMENTATION.
ENDMETHOD. "switch_repo_type ENDMETHOD. "switch_repo_type
METHOD is_sap_object_allowed. METHOD is_sap_object_allowed.
rv_allowed = cl_enh_badi_def_utility=>is_sap_system( ). rv_allowed = cl_enh_badi_def_utility=>is_sap_system( ).
@ -1083,7 +1082,7 @@ CLASS lcl_repo_srv IMPLEMENTATION.
RETURN. RETURN.
ENDIF. ENDIF.
rv_allowed = lcl_exit=>get_instance( )->allow_sap_objects( ). rv_allowed = zcl_abapgit_exit=>get_instance( )->allow_sap_objects( ).
ENDMETHOD. ENDMETHOD.

View File

@ -0,0 +1,55 @@
CLASS zcl_abapgit_exit DEFINITION
PUBLIC
CREATE PUBLIC .
PUBLIC SECTION.
CLASS-METHODS: get_instance RETURNING VALUE(ri_exit) TYPE REF TO zif_abapgit_exit.
INTERFACES: zif_abapgit_exit.
ENDCLASS.
CLASS ZCL_ABAPGIT_EXIT IMPLEMENTATION.
METHOD get_instance.
TRY.
CREATE OBJECT ri_exit TYPE ('ZCL_ABAPGIT_USER_EXIT').
CATCH cx_sy_create_object_error.
CREATE OBJECT ri_exit TYPE zcl_abapgit_exit.
ENDTRY.
ENDMETHOD.
METHOD zif_abapgit_exit~allow_sap_objects.
rv_allowed = abap_false.
ENDMETHOD.
METHOD zif_abapgit_exit~change_local_host.
* default behavior
RETURN.
ENDMETHOD.
METHOD zif_abapgit_exit~change_proxy_authentication.
* default behavior change nothing
RETURN.
ENDMETHOD.
METHOD zif_abapgit_exit~change_proxy_port.
* default behavior change nothing
RETURN.
ENDMETHOD.
METHOD zif_abapgit_exit~change_proxy_url.
* default behavior change nothing
RETURN.
ENDMETHOD.
ENDCLASS.

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCL_ABAPGIT_EXIT</CLSNAME>
<VERSION>1</VERSION>
<LANGU>E</LANGU>
<DESCRIPT>Default exit</DESCRIPT>
<EXPOSURE>2</EXPOSURE>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -0,0 +1,18 @@
INTERFACE zif_abapgit_exit PUBLIC.
METHODS:
change_local_host
CHANGING ct_hosts TYPE zif_abapgit_definitions=>ty_icm_sinfo2_tt,
allow_sap_objects
RETURNING VALUE(rv_allowed) TYPE abap_bool,
change_proxy_url
IMPORTING iv_repo_url TYPE csequence
CHANGING c_proxy_url TYPE string,
change_proxy_port
IMPORTING iv_repo_url TYPE csequence
CHANGING c_proxy_port TYPE string,
change_proxy_authentication
IMPORTING iv_repo_url TYPE csequence
CHANGING c_proxy_authentication TYPE abap_bool.
ENDINTERFACE.

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_INTF" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOINTERF>
<CLSNAME>ZIF_ABAPGIT_EXIT</CLSNAME>
<VERSION>1</VERSION>
<LANGU>E</LANGU>
<DESCRIPT>user exit interface</DESCRIPT>
<EXPOSURE>2</EXPOSURE>
<STATE>1</STATE>
<UNICODE>X</UNICODE>
</VSEOINTERF>
</asx:values>
</asx:abap>
</abapGit>