From ebe43a42c45b79d8be26973d45b81f550e5b1ba3 Mon Sep 17 00:00:00 2001 From: larshp Date: Sun, 11 Feb 2018 10:09:03 +0000 Subject: [PATCH] lcl_exit to global breaking change, if using user exit then rename class to zcl_abapgit_user_exit --- src/zabapgit_exit.prog.abap | 72 +------------------------------- src/zabapgit_http.prog.abap | 4 +- src/zabapgit_proxy.prog.abap | 4 +- src/zabapgit_repo_impl.prog.abap | 3 +- src/zcl_abapgit_exit.clas.abap | 55 ++++++++++++++++++++++++ src/zcl_abapgit_exit.clas.xml | 18 ++++++++ src/zif_abapgit_exit.intf.abap | 18 ++++++++ src/zif_abapgit_exit.intf.xml | 16 +++++++ 8 files changed, 113 insertions(+), 77 deletions(-) create mode 100644 src/zcl_abapgit_exit.clas.abap create mode 100644 src/zcl_abapgit_exit.clas.xml create mode 100644 src/zif_abapgit_exit.intf.abap create mode 100644 src/zif_abapgit_exit.intf.xml diff --git a/src/zabapgit_exit.prog.abap b/src/zabapgit_exit.prog.abap index 5481c3181..259035301 100644 --- a/src/zabapgit_exit.prog.abap +++ b/src/zabapgit_exit.prog.abap @@ -2,76 +2,6 @@ *& Include ZABAPGIT_USER_EXITS *&---------------------------------------------------------------------* -INTERFACE lif_exit. - - 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, +* add class ZCL_ABAPGIT_USER_EXIT implementing ZIF_ABAPGIT_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. - - 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. diff --git a/src/zabapgit_http.prog.abap b/src/zabapgit_http.prog.abap index 19ee87d50..47dea20b6 100644 --- a/src/zabapgit_http.prog.abap +++ b/src/zabapgit_http.prog.abap @@ -182,7 +182,7 @@ CLASS lcl_http IMPLEMENTATION. DATA: lv_host TYPE string, 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: LIKE LINE OF lt_list. @@ -201,7 +201,7 @@ CLASS lcl_http IMPLEMENTATION. APPEND INITIAL LINE TO lt_list ASSIGNING . -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 ). FIND REGEX 'https?://([^/^:]*)' IN iv_url diff --git a/src/zabapgit_proxy.prog.abap b/src/zabapgit_proxy.prog.abap index e4fc4e838..c03b596d2 100644 --- a/src/zabapgit_proxy.prog.abap +++ b/src/zabapgit_proxy.prog.abap @@ -28,7 +28,7 @@ CLASS lcl_proxy_config DEFINITION CREATE PUBLIC. PRIVATE SECTION. 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. @@ -38,7 +38,7 @@ CLASS lcl_proxy_config IMPLEMENTATION. mo_settings = zcl_abapgit_persist_settings=>get_instance( )->read( ). - mi_exit = lcl_exit=>get_instance( ). + mi_exit = zcl_abapgit_exit=>get_instance( ). ENDMETHOD. diff --git a/src/zabapgit_repo_impl.prog.abap b/src/zabapgit_repo_impl.prog.abap index c95ce13a4..03393e811 100644 --- a/src/zabapgit_repo_impl.prog.abap +++ b/src/zabapgit_repo_impl.prog.abap @@ -1075,7 +1075,6 @@ CLASS lcl_repo_srv IMPLEMENTATION. ENDMETHOD. "switch_repo_type - METHOD is_sap_object_allowed. rv_allowed = cl_enh_badi_def_utility=>is_sap_system( ). @@ -1083,7 +1082,7 @@ CLASS lcl_repo_srv IMPLEMENTATION. RETURN. ENDIF. - rv_allowed = lcl_exit=>get_instance( )->allow_sap_objects( ). + rv_allowed = zcl_abapgit_exit=>get_instance( )->allow_sap_objects( ). ENDMETHOD. diff --git a/src/zcl_abapgit_exit.clas.abap b/src/zcl_abapgit_exit.clas.abap new file mode 100644 index 000000000..dc8c026a2 --- /dev/null +++ b/src/zcl_abapgit_exit.clas.abap @@ -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. diff --git a/src/zcl_abapgit_exit.clas.xml b/src/zcl_abapgit_exit.clas.xml new file mode 100644 index 000000000..c7b36e64c --- /dev/null +++ b/src/zcl_abapgit_exit.clas.xml @@ -0,0 +1,18 @@ + + + + + + ZCL_ABAPGIT_EXIT + 1 + E + Default exit + 2 + 1 + X + X + X + + + + diff --git a/src/zif_abapgit_exit.intf.abap b/src/zif_abapgit_exit.intf.abap new file mode 100644 index 000000000..da7a9df03 --- /dev/null +++ b/src/zif_abapgit_exit.intf.abap @@ -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. diff --git a/src/zif_abapgit_exit.intf.xml b/src/zif_abapgit_exit.intf.xml new file mode 100644 index 000000000..9b122534a --- /dev/null +++ b/src/zif_abapgit_exit.intf.xml @@ -0,0 +1,16 @@ + + + + + + ZIF_ABAPGIT_EXIT + 1 + E + user exit interface + 2 + 1 + X + + + +