From b6afd31d6acebdbfbb9dbfd3e6f2623f0f2478ab Mon Sep 17 00:00:00 2001 From: Philipp R <58359632+PeregrinTooc@users.noreply.github.com> Date: Thu, 19 Nov 2020 12:38:02 +0100 Subject: [PATCH] Create an interface for online repo functions (#4201) * Create an interface for online repo functions To make my own code calling online repo functions testable, I need some functions behind an interface. Using aliases, this is a safe refactoring. Please pull :) * Update src/zif_abapgit_repo_online.intf.abap Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> * Update src/zif_abapgit_repo_online.intf.abap Commit abaplint recommendation Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> * update formatting Co-authored-by: Rembold Rembold Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> --- src/zcl_abapgit_repo_online.clas.abap | 87 ++++++++------------------- src/zif_abapgit_repo_online.intf.abap | 49 +++++++++++++++ src/zif_abapgit_repo_online.intf.xml | 15 +++++ 3 files changed, 89 insertions(+), 62 deletions(-) create mode 100644 src/zif_abapgit_repo_online.intf.abap create mode 100644 src/zif_abapgit_repo_online.intf.xml diff --git a/src/zcl_abapgit_repo_online.clas.abap b/src/zcl_abapgit_repo_online.clas.abap index cac5c4fd8..f76acfb98 100644 --- a/src/zcl_abapgit_repo_online.clas.abap +++ b/src/zcl_abapgit_repo_online.clas.abap @@ -5,59 +5,22 @@ CLASS zcl_abapgit_repo_online DEFINITION CREATE PUBLIC . PUBLIC SECTION. - + INTERFACES zif_abapgit_repo_online. INTERFACES zif_abapgit_git_operations . - ALIASES create_branch - FOR zif_abapgit_git_operations~create_branch . - ALIASES push - FOR zif_abapgit_git_operations~push . - - METHODS get_url - RETURNING - VALUE(rv_url) TYPE zif_abapgit_persistence=>ty_repo-url . - METHODS get_selected_branch - RETURNING - VALUE(rv_name) TYPE zif_abapgit_persistence=>ty_repo-branch_name . - METHODS set_url - IMPORTING - !iv_url TYPE zif_abapgit_persistence=>ty_repo-url - RAISING - zcx_abapgit_exception . - METHODS select_branch - IMPORTING - !iv_branch_name TYPE zif_abapgit_persistence=>ty_repo-branch_name - RAISING - zcx_abapgit_exception . - METHODS get_selected_commit - RETURNING - VALUE(rv_selected_commit) TYPE zif_abapgit_persistence=>ty_repo-selected_commit - RAISING - zcx_abapgit_exception . - METHODS get_current_remote - RETURNING - VALUE(rv_sha1) TYPE zif_abapgit_definitions=>ty_sha1 - RAISING - zcx_abapgit_exception . - METHODS select_commit - IMPORTING - !iv_selected_commit TYPE zif_abapgit_persistence=>ty_repo-selected_commit - RAISING - zcx_abapgit_exception . - METHODS get_objects - RETURNING - VALUE(rt_objects) TYPE zif_abapgit_definitions=>ty_objects_tt - RAISING - zcx_abapgit_exception . - METHODS get_switched_origin - RETURNING - VALUE(rv_url) TYPE zif_abapgit_persistence=>ty_repo-switched_origin . - METHODS switch_origin - IMPORTING - !iv_url TYPE zif_abapgit_persistence=>ty_repo-url - !iv_overwrite TYPE abap_bool DEFAULT abap_false - RAISING - zcx_abapgit_exception . + ALIASES: + create_branch FOR zif_abapgit_git_operations~create_branch, + push FOR zif_abapgit_git_operations~push, + get_url FOR zif_abapgit_repo_online~get_url, + get_selected_branch FOR zif_abapgit_repo_online~get_selected_branch, + set_url FOR zif_abapgit_repo_online~set_url, + select_branch FOR zif_abapgit_repo_online~select_branch, + get_selected_commit FOR zif_abapgit_repo_online~get_selected_commit, + get_current_remote FOR zif_abapgit_repo_online~get_current_remote, + select_commit FOR zif_abapgit_repo_online~select_commit, + get_objects FOR zif_abapgit_repo_online~get_objects, + get_switched_origin FOR zif_abapgit_repo_online~get_switched_origin, + switch_origin FOR zif_abapgit_repo_online~switch_origin. METHODS get_files_remote REDEFINITION . @@ -90,7 +53,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_REPO_ONLINE IMPLEMENTATION. +CLASS zcl_abapgit_repo_online IMPLEMENTATION. METHOD fetch_remote. @@ -122,7 +85,7 @@ CLASS ZCL_ABAPGIT_REPO_ONLINE IMPLEMENTATION. ENDMETHOD. - METHOD get_current_remote. + METHOD zif_abapgit_repo_online~get_current_remote. fetch_remote( ). rv_sha1 = mv_current_commit. ENDMETHOD. @@ -143,28 +106,28 @@ CLASS ZCL_ABAPGIT_REPO_ONLINE IMPLEMENTATION. ENDMETHOD. - METHOD get_objects. + METHOD zif_abapgit_repo_online~get_objects. fetch_remote( ). rt_objects = mt_objects. ENDMETHOD. - METHOD get_selected_branch. + METHOD zif_abapgit_repo_online~get_selected_branch. rv_name = ms_data-branch_name. ENDMETHOD. - METHOD get_selected_commit. + METHOD zif_abapgit_repo_online~get_selected_commit. rv_selected_commit = ms_data-selected_commit. ENDMETHOD. - METHOD get_switched_origin. + METHOD zif_abapgit_repo_online~get_switched_origin. rv_url = ms_data-switched_origin. ENDMETHOD. - METHOD get_url. + METHOD zif_abapgit_repo_online~get_url. rv_url = ms_data-url. ENDMETHOD. @@ -267,7 +230,7 @@ CLASS ZCL_ABAPGIT_REPO_ONLINE IMPLEMENTATION. ENDMETHOD. - METHOD select_branch. + METHOD zif_abapgit_repo_online~select_branch. reset_remote( ). set( iv_branch_name = iv_branch_name @@ -276,7 +239,7 @@ CLASS ZCL_ABAPGIT_REPO_ONLINE IMPLEMENTATION. ENDMETHOD. - METHOD select_commit. + METHOD zif_abapgit_repo_online~select_commit. reset_remote( ). set( iv_selected_commit = iv_selected_commit ). @@ -289,7 +252,7 @@ CLASS ZCL_ABAPGIT_REPO_ONLINE IMPLEMENTATION. ENDMETHOD. - METHOD set_url. + METHOD zif_abapgit_repo_online~set_url. reset_remote( ). set( iv_url = iv_url ). @@ -297,7 +260,7 @@ CLASS ZCL_ABAPGIT_REPO_ONLINE IMPLEMENTATION. ENDMETHOD. - METHOD switch_origin. + METHOD zif_abapgit_repo_online~switch_origin. DATA lv_offs TYPE i. diff --git a/src/zif_abapgit_repo_online.intf.abap b/src/zif_abapgit_repo_online.intf.abap new file mode 100644 index 000000000..d45b4c533 --- /dev/null +++ b/src/zif_abapgit_repo_online.intf.abap @@ -0,0 +1,49 @@ +INTERFACE zif_abapgit_repo_online + PUBLIC . + METHODS get_url + RETURNING + VALUE(rv_url) TYPE zif_abapgit_persistence=>ty_repo-url . + METHODS get_selected_branch + RETURNING + VALUE(rv_name) TYPE zif_abapgit_persistence=>ty_repo-branch_name . + METHODS set_url + IMPORTING + iv_url TYPE zif_abapgit_persistence=>ty_repo-url + RAISING + zcx_abapgit_exception . + METHODS select_branch + IMPORTING + iv_branch_name TYPE zif_abapgit_persistence=>ty_repo-branch_name + RAISING + zcx_abapgit_exception . + METHODS get_selected_commit + RETURNING + VALUE(rv_selected_commit) TYPE zif_abapgit_persistence=>ty_repo-selected_commit + RAISING + zcx_abapgit_exception . + METHODS get_current_remote + RETURNING + VALUE(rv_sha1) TYPE zif_abapgit_definitions=>ty_sha1 + RAISING + zcx_abapgit_exception . + METHODS select_commit + IMPORTING + iv_selected_commit TYPE zif_abapgit_persistence=>ty_repo-selected_commit + RAISING + zcx_abapgit_exception . + METHODS get_objects + RETURNING + VALUE(rt_objects) TYPE zif_abapgit_definitions=>ty_objects_tt + RAISING + zcx_abapgit_exception . + METHODS get_switched_origin + RETURNING + VALUE(rv_url) TYPE zif_abapgit_persistence=>ty_repo-switched_origin . + METHODS switch_origin + IMPORTING + iv_url TYPE zif_abapgit_persistence=>ty_repo-url + iv_overwrite TYPE abap_bool DEFAULT abap_false + RAISING + zcx_abapgit_exception . + +ENDINTERFACE. diff --git a/src/zif_abapgit_repo_online.intf.xml b/src/zif_abapgit_repo_online.intf.xml new file mode 100644 index 000000000..dda2f76c0 --- /dev/null +++ b/src/zif_abapgit_repo_online.intf.xml @@ -0,0 +1,15 @@ + + + + + + ZIF_ABAPGIT_REPO_ONLINE + E + Online Repository + 2 + 1 + X + + + +