From 274f802e8b5da88e5fc92a1a353b98b062ccda44 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Wed, 23 Aug 2023 02:08:30 -0400 Subject: [PATCH] Rename `zcl_abapgit_file_status` (#6413) Co-authored-by: Lars Hvam --- .../zcl_abapgit_file_deserialize.clas.abap | 2 +- .../core/zcl_abapgit_objects_check.clas.abap | 2 +- src/repo/zcl_abapgit_repo.clas.abap | 5 +- ...abap => zcl_abapgit_repo_status.clas.abap} | 156 ++++++++++-------- ..._abapgit_repo_status.clas.locals_imp.abap} | 0 ...abapgit_repo_status.clas.testclasses.abap} | 8 +- ...s.xml => zcl_abapgit_repo_status.clas.xml} | 4 +- .../zcl_abapgit_gui_page_sett_info.clas.abap | 2 +- test/abap_transpile.json | 4 +- 9 files changed, 96 insertions(+), 87 deletions(-) rename src/repo/{zcl_abapgit_file_status.clas.abap => zcl_abapgit_repo_status.clas.abap} (94%) rename src/repo/{zcl_abapgit_file_status.clas.locals_imp.abap => zcl_abapgit_repo_status.clas.locals_imp.abap} (100%) rename src/repo/{zcl_abapgit_file_status.clas.testclasses.abap => zcl_abapgit_repo_status.clas.testclasses.abap} (99%) rename src/repo/{zcl_abapgit_file_status.clas.xml => zcl_abapgit_repo_status.clas.xml} (81%) diff --git a/src/objects/core/zcl_abapgit_file_deserialize.clas.abap b/src/objects/core/zcl_abapgit_file_deserialize.clas.abap index a570d8351..aa13dd113 100644 --- a/src/objects/core/zcl_abapgit_file_deserialize.clas.abap +++ b/src/objects/core/zcl_abapgit_file_deserialize.clas.abap @@ -139,7 +139,7 @@ CLASS zcl_abapgit_file_deserialize IMPLEMENTATION. DATA lt_results TYPE zif_abapgit_definitions=>ty_results_tt. lt_results = filter_files_to_deserialize( - it_results = zcl_abapgit_file_status=>status( io_repo ) + it_results = zcl_abapgit_repo_status=>calculate( io_repo ) ii_log = ii_log ). rt_results = prioritize_deser( diff --git a/src/objects/core/zcl_abapgit_objects_check.clas.abap b/src/objects/core/zcl_abapgit_objects_check.clas.abap index 5f35643ea..f9a6f90ad 100644 --- a/src/objects/core/zcl_abapgit_objects_check.clas.abap +++ b/src/objects/core/zcl_abapgit_objects_check.clas.abap @@ -134,7 +134,7 @@ CLASS zcl_abapgit_objects_check IMPLEMENTATION. li_package TYPE REF TO zif_abapgit_sap_package. " get unfiltered status to evaluate properly which warnings are required - lt_results = zcl_abapgit_file_status=>status( io_repo ). + lt_results = zcl_abapgit_repo_status=>calculate( io_repo ). check_multiple_files( lt_results ). diff --git a/src/repo/zcl_abapgit_repo.clas.abap b/src/repo/zcl_abapgit_repo.clas.abap index ab7aaae1f..90024438d 100644 --- a/src/repo/zcl_abapgit_repo.clas.abap +++ b/src/repo/zcl_abapgit_repo.clas.abap @@ -665,9 +665,8 @@ CLASS zcl_abapgit_repo IMPLEMENTATION. METHOD status. IF lines( mt_status ) = 0. - mt_status = zcl_abapgit_file_status=>status( io_repo = me - ii_log = ii_log ). - + mt_status = zcl_abapgit_repo_status=>calculate( io_repo = me + ii_log = ii_log ). ENDIF. rt_results = mt_status. diff --git a/src/repo/zcl_abapgit_file_status.clas.abap b/src/repo/zcl_abapgit_repo_status.clas.abap similarity index 94% rename from src/repo/zcl_abapgit_file_status.clas.abap rename to src/repo/zcl_abapgit_repo_status.clas.abap index eec7b3444..692b40983 100644 --- a/src/repo/zcl_abapgit_file_status.clas.abap +++ b/src/repo/zcl_abapgit_repo_status.clas.abap @@ -1,18 +1,18 @@ -CLASS zcl_abapgit_file_status DEFINITION +CLASS zcl_abapgit_repo_status DEFINITION PUBLIC FINAL - CREATE PRIVATE . + CREATE PRIVATE. PUBLIC SECTION. - CLASS-METHODS status + CLASS-METHODS calculate IMPORTING !io_repo TYPE REF TO zcl_abapgit_repo !ii_log TYPE REF TO zif_abapgit_log OPTIONAL RETURNING VALUE(rt_results) TYPE zif_abapgit_definitions=>ty_results_tt RAISING - zcx_abapgit_exception . + zcx_abapgit_exception. METHODS constructor IMPORTING @@ -21,6 +21,7 @@ CLASS zcl_abapgit_file_status DEFINITION PROTECTED SECTION. PRIVATE SECTION. + DATA mv_root_package TYPE devclass. DATA mo_dot TYPE REF TO zcl_abapgit_dot_abapgit. @@ -32,7 +33,8 @@ CLASS zcl_abapgit_file_status DEFINITION RETURNING VALUE(rt_results) TYPE zif_abapgit_definitions=>ty_results_tt RAISING - zcx_abapgit_exception . + zcx_abapgit_exception. + METHODS process_local IMPORTING !it_local TYPE zif_abapgit_definitions=>ty_files_item_tt @@ -42,36 +44,41 @@ CLASS zcl_abapgit_file_status DEFINITION !ct_items TYPE zif_abapgit_definitions=>ty_items_tt !ct_results TYPE zif_abapgit_definitions=>ty_results_tt RAISING - zcx_abapgit_exception . + zcx_abapgit_exception. + METHODS process_items IMPORTING !it_unprocessed_remote TYPE zif_abapgit_git_definitions=>ty_files_tt CHANGING - !ct_items TYPE zif_abapgit_definitions=>ty_items_tt + !ct_items TYPE zif_abapgit_definitions=>ty_items_tt RAISING - zcx_abapgit_exception . + zcx_abapgit_exception. + METHODS process_remote IMPORTING - !it_local TYPE zif_abapgit_definitions=>ty_files_item_tt + !it_local TYPE zif_abapgit_definitions=>ty_files_item_tt !it_unprocessed_remote TYPE zif_abapgit_git_definitions=>ty_files_tt - !it_state_idx TYPE zif_abapgit_git_definitions=>ty_file_signatures_ts - !it_items_idx TYPE zif_abapgit_definitions=>ty_items_ts + !it_state_idx TYPE zif_abapgit_git_definitions=>ty_file_signatures_ts + !it_items_idx TYPE zif_abapgit_definitions=>ty_items_ts CHANGING - !ct_results TYPE zif_abapgit_definitions=>ty_results_tt + !ct_results TYPE zif_abapgit_definitions=>ty_results_tt RAISING - zcx_abapgit_exception . + zcx_abapgit_exception. + CLASS-METHODS build_existing IMPORTING !is_local TYPE zif_abapgit_definitions=>ty_file_item !is_remote TYPE zif_abapgit_git_definitions=>ty_file !it_state TYPE zif_abapgit_git_definitions=>ty_file_signatures_ts RETURNING - VALUE(rs_result) TYPE zif_abapgit_definitions=>ty_result . + VALUE(rs_result) TYPE zif_abapgit_definitions=>ty_result. + CLASS-METHODS build_new_local IMPORTING !is_local TYPE zif_abapgit_definitions=>ty_file_item RETURNING - VALUE(rs_result) TYPE zif_abapgit_definitions=>ty_result . + VALUE(rs_result) TYPE zif_abapgit_definitions=>ty_result. + METHODS build_new_remote IMPORTING !is_remote TYPE zif_abapgit_git_definitions=>ty_file @@ -80,7 +87,8 @@ CLASS zcl_abapgit_file_status DEFINITION RETURNING VALUE(rs_result) TYPE zif_abapgit_definitions=>ty_result RAISING - zcx_abapgit_exception . + zcx_abapgit_exception. + CLASS-METHODS get_object_package IMPORTING !iv_object TYPE tadir-object @@ -88,17 +96,19 @@ CLASS zcl_abapgit_file_status DEFINITION RETURNING VALUE(rv_devclass) TYPE devclass RAISING - zcx_abapgit_exception . + zcx_abapgit_exception. + CLASS-METHODS check_local_remote_consistency IMPORTING - !is_local TYPE zif_abapgit_definitions=>ty_file_item - !is_remote TYPE zif_abapgit_git_definitions=>ty_file + !is_local TYPE zif_abapgit_definitions=>ty_file_item + !is_remote TYPE zif_abapgit_git_definitions=>ty_file RAISING - zcx_abapgit_exception . + zcx_abapgit_exception. + CLASS-METHODS ensure_state IMPORTING - !it_local TYPE zif_abapgit_definitions=>ty_files_item_tt - !it_cur_state TYPE zif_abapgit_git_definitions=>ty_file_signatures_tt + !it_local TYPE zif_abapgit_definitions=>ty_files_item_tt + !it_cur_state TYPE zif_abapgit_git_definitions=>ty_file_signatures_tt RETURNING VALUE(rt_state) TYPE zif_abapgit_git_definitions=>ty_file_signatures_tt. @@ -106,7 +116,7 @@ ENDCLASS. -CLASS zcl_abapgit_file_status IMPLEMENTATION. +CLASS zcl_abapgit_repo_status IMPLEMENTATION. METHOD build_existing. @@ -242,6 +252,56 @@ CLASS zcl_abapgit_file_status IMPLEMENTATION. ENDMETHOD. + METHOD calculate. + + DATA lt_local TYPE zif_abapgit_definitions=>ty_files_item_tt. + DATA lt_remote TYPE zif_abapgit_git_definitions=>ty_files_tt. + DATA li_exit TYPE REF TO zif_abapgit_exit. + DATA lo_instance TYPE REF TO zcl_abapgit_repo_status. + DATA lo_consistency_checks TYPE REF TO lcl_status_consistency_checks. + + lt_local = io_repo->get_files_local( ii_log = ii_log ). + + IF lines( lt_local ) <= 2. + " Less equal two means that we have only the .abapgit.xml and the package in + " our local repository. In this case we have to update our local .abapgit.xml + " from the remote one. Otherwise we get errors when e.g. the folder starting + " folder is different. + io_repo->find_remote_dot_abapgit( ). + ENDIF. + + lt_remote = io_repo->get_files_remote( iv_ignore_files = abap_true ). + + li_exit = zcl_abapgit_exit=>get_instance( ). + li_exit->pre_calculate_repo_status( + EXPORTING + is_repo_meta = io_repo->ms_data + CHANGING + ct_local = lt_local + ct_remote = lt_remote ). + + CREATE OBJECT lo_instance + EXPORTING + iv_root_package = io_repo->get_package( ) + io_dot = io_repo->get_dot_abapgit( ). + + rt_results = lo_instance->calculate_status( + it_local = lt_local + it_remote = lt_remote + it_cur_state = io_repo->zif_abapgit_repo~checksums( )->get_checksums_per_file( ) ). + + IF ii_log IS BOUND. + " This method just adds messages to the log. No log, nothing to do here + CREATE OBJECT lo_consistency_checks + EXPORTING + iv_root_package = io_repo->get_package( ) + io_dot = io_repo->get_dot_abapgit( ). + ii_log->merge_with( lo_consistency_checks->run_checks( rt_results ) ). + ENDIF. + + ENDMETHOD. + + METHOD calculate_status. DATA: @@ -514,54 +574,4 @@ CLASS zcl_abapgit_file_status IMPLEMENTATION. ENDLOOP. ENDMETHOD. - - - METHOD status. - - DATA lt_local TYPE zif_abapgit_definitions=>ty_files_item_tt. - DATA lt_remote TYPE zif_abapgit_git_definitions=>ty_files_tt. - DATA li_exit TYPE REF TO zif_abapgit_exit. - DATA lo_instance TYPE REF TO zcl_abapgit_file_status. - DATA lo_consistency_checks TYPE REF TO lcl_status_consistency_checks. - - lt_local = io_repo->get_files_local( ii_log = ii_log ). - - IF lines( lt_local ) <= 2. - " Less equal two means that we have only the .abapgit.xml and the package in - " our local repository. In this case we have to update our local .abapgit.xml - " from the remote one. Otherwise we get errors when e.g. the folder starting - " folder is different. - io_repo->find_remote_dot_abapgit( ). - ENDIF. - - lt_remote = io_repo->get_files_remote( iv_ignore_files = abap_true ). - - li_exit = zcl_abapgit_exit=>get_instance( ). - li_exit->pre_calculate_repo_status( - EXPORTING - is_repo_meta = io_repo->ms_data - CHANGING - ct_local = lt_local - ct_remote = lt_remote ). - - CREATE OBJECT lo_instance - EXPORTING - iv_root_package = io_repo->get_package( ) - io_dot = io_repo->get_dot_abapgit( ). - - rt_results = lo_instance->calculate_status( - it_local = lt_local - it_remote = lt_remote - it_cur_state = io_repo->zif_abapgit_repo~checksums( )->get_checksums_per_file( ) ). - - IF ii_log IS BOUND. - " This method just adds messages to the log. No log, nothing to do here - CREATE OBJECT lo_consistency_checks - EXPORTING - iv_root_package = io_repo->get_package( ) - io_dot = io_repo->get_dot_abapgit( ). - ii_log->merge_with( lo_consistency_checks->run_checks( rt_results ) ). - ENDIF. - - ENDMETHOD. ENDCLASS. diff --git a/src/repo/zcl_abapgit_file_status.clas.locals_imp.abap b/src/repo/zcl_abapgit_repo_status.clas.locals_imp.abap similarity index 100% rename from src/repo/zcl_abapgit_file_status.clas.locals_imp.abap rename to src/repo/zcl_abapgit_repo_status.clas.locals_imp.abap diff --git a/src/repo/zcl_abapgit_file_status.clas.testclasses.abap b/src/repo/zcl_abapgit_repo_status.clas.testclasses.abap similarity index 99% rename from src/repo/zcl_abapgit_file_status.clas.testclasses.abap rename to src/repo/zcl_abapgit_repo_status.clas.testclasses.abap index 64fca5505..e16120e15 100644 --- a/src/repo/zcl_abapgit_file_status.clas.testclasses.abap +++ b/src/repo/zcl_abapgit_repo_status.clas.testclasses.abap @@ -1,5 +1,5 @@ CLASS ltcl_run_checks DEFINITION DEFERRED. -CLASS zcl_abapgit_file_status DEFINITION LOCAL FRIENDS ltcl_run_checks. +CLASS zcl_abapgit_repo_status DEFINITION LOCAL FRIENDS ltcl_run_checks. CLASS ltcl_util DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL. PUBLIC SECTION. @@ -635,7 +635,7 @@ CLASS lcl_status_result IMPLEMENTATION. ENDCLASS. CLASS ltcl_status_helper DEFINITION DEFERRED. -CLASS zcl_abapgit_file_status DEFINITION LOCAL FRIENDS ltcl_status_helper. +CLASS zcl_abapgit_repo_status DEFINITION LOCAL FRIENDS ltcl_status_helper. CLASS ltcl_status_helper DEFINITION FOR TESTING. @@ -775,7 +775,7 @@ CLASS ltcl_status_helper IMPLEMENTATION. METHOD run. DATA: lt_results TYPE zif_abapgit_definitions=>ty_results_tt, - lo_instance TYPE REF TO zcl_abapgit_file_status, + lo_instance TYPE REF TO zcl_abapgit_repo_status, lo_dot TYPE REF TO zcl_abapgit_dot_abapgit. lo_dot = zcl_abapgit_dot_abapgit=>build_default( ). @@ -800,7 +800,7 @@ CLASS ltcl_status_helper IMPLEMENTATION. ENDCLASS. CLASS ltcl_calculate_status DEFINITION DEFERRED. -CLASS zcl_abapgit_file_status DEFINITION LOCAL FRIENDS ltcl_calculate_status. +CLASS zcl_abapgit_repo_status DEFINITION LOCAL FRIENDS ltcl_calculate_status. CLASS ltcl_calculate_status DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL. diff --git a/src/repo/zcl_abapgit_file_status.clas.xml b/src/repo/zcl_abapgit_repo_status.clas.xml similarity index 81% rename from src/repo/zcl_abapgit_file_status.clas.xml rename to src/repo/zcl_abapgit_repo_status.clas.xml index 76bc2b562..7344c34d4 100644 --- a/src/repo/zcl_abapgit_file_status.clas.xml +++ b/src/repo/zcl_abapgit_repo_status.clas.xml @@ -3,9 +3,9 @@ - ZCL_ABAPGIT_FILE_STATUS + ZCL_ABAPGIT_REPO_STATUS E - abapGit - File Status + abapGit - Repository Status 1 X X diff --git a/src/ui/pages/zcl_abapgit_gui_page_sett_info.clas.abap b/src/ui/pages/zcl_abapgit_gui_page_sett_info.clas.abap index c1f039169..91b5e1c74 100644 --- a/src/ui/pages/zcl_abapgit_gui_page_sett_info.clas.abap +++ b/src/ui/pages/zcl_abapgit_gui_page_sett_info.clas.abap @@ -535,7 +535,7 @@ CLASS zcl_abapgit_gui_page_sett_info IMPLEMENTATION. FIELD-SYMBOLS: LIKE LINE OF lt_results. - lt_results = zcl_abapgit_file_status=>status( mo_repo ). + lt_results = zcl_abapgit_repo_status=>calculate( mo_repo ). DO 3 TIMES. CLEAR ls_stats. diff --git a/test/abap_transpile.json b/test/abap_transpile.json index 2bb7379b8..75bb5c4d3 100644 --- a/test/abap_transpile.json +++ b/test/abap_transpile.json @@ -92,8 +92,8 @@ {"object": "ZCL_ABAPGIT_SERIALIZE", "class": "ltcl_serialize", "method": "ignored", "note": "Void type: KO100"}, {"object": "ZCL_ABAPGIT_SERIALIZE", "class": "ltcl_i18n", "method": "test", "note": "Void type: DD02V"}, - {"object": "ZCL_ABAPGIT_FILE_STATUS", "class": "ltcl_calculate_status", "method": "deleted_remote", "note": "READ TABLE subrc 4 vs subrc 8"}, - {"object": "ZCL_ABAPGIT_FILE_STATUS", "class": "ltcl_calculate_status", "method": "complete", "note": "READ TABLE subrc 4 vs subrc 8"}, + {"object": "ZCL_ABAPGIT_REPO_STATUS", "class": "ltcl_calculate_status", "method": "deleted_remote", "note": "READ TABLE subrc 4 vs subrc 8"}, + {"object": "ZCL_ABAPGIT_REPO_STATUS", "class": "ltcl_calculate_status", "method": "complete", "note": "READ TABLE subrc 4 vs subrc 8"}, {"object": "ZCL_ABAPGIT_PERSIST_PACKAGES", "class": "ltcl_packages", "method": "test_package", "note": "ZABAPGIT table not existing, error cx_sy_dynamic_osql_semantics"},