From aab96d313b7c762ecf2ef3f48acf3e3cb1a54b0e Mon Sep 17 00:00:00 2001 From: larshp Date: Tue, 14 Feb 2017 11:21:43 +0000 Subject: [PATCH] #521 preperations * add FOLDER_LOGIC to dot abapgit * refactor folder logic to separate class * move lcl_sap_package=>check to file_status class * DDLS fix exists method --- .abapgit.xml | 1 + src/zabapgit.prog.abap | 1 + src/zabapgit_dot_abapgit.prog.abap | 22 +++++ src/zabapgit_file_status.prog.abap | 106 +++++++++++++++++++-- src/zabapgit_folder_logic.prog.abap | 98 ++++++++++++++++++++ src/zabapgit_folder_logic.prog.xml | 22 +++++ src/zabapgit_object_ddls.prog.abap | 27 +++++- src/zabapgit_objects.prog.abap | 8 -- src/zabapgit_objects_impl.prog.abap | 31 +------ src/zabapgit_sap_package.prog.abap | 138 ---------------------------- src/zabapgit_unit_test.prog.abap | 51 +++++----- 11 files changed, 294 insertions(+), 211 deletions(-) create mode 100644 src/zabapgit_folder_logic.prog.abap create mode 100644 src/zabapgit_folder_logic.prog.xml diff --git a/.abapgit.xml b/.abapgit.xml index 1ad2643c1..729fe535c 100644 --- a/.abapgit.xml +++ b/.abapgit.xml @@ -4,6 +4,7 @@ E /src/ + PREFIX /.travis.yml /CONTRIBUTING.md diff --git a/src/zabapgit.prog.abap b/src/zabapgit.prog.abap index 245c2682e..e7fdd36c8 100644 --- a/src/zabapgit.prog.abap +++ b/src/zabapgit.prog.abap @@ -48,6 +48,7 @@ INCLUDE zabapgit_persistence_old. INCLUDE zabapgit_persistence. INCLUDE zabapgit_dot_abapgit. INCLUDE zabapgit_sap_package. +INCLUDE zabapgit_folder_logic. INCLUDE zabapgit_stage. INCLUDE zabapgit_git_helpers. diff --git a/src/zabapgit_dot_abapgit.prog.abap b/src/zabapgit_dot_abapgit.prog.abap index 24f95ac35..71684faf5 100644 --- a/src/zabapgit_dot_abapgit.prog.abap +++ b/src/zabapgit_dot_abapgit.prog.abap @@ -4,6 +4,11 @@ CLASS ltcl_dot_abapgit DEFINITION DEFERRED. +CONSTANTS: BEGIN OF c_folder_logic, + prefix TYPE string VALUE 'PREFIX', + full TYPE string VALUE 'FULL', + END OF c_folder_logic. + CLASS lcl_dot_abapgit DEFINITION CREATE PRIVATE FINAL FRIENDS ltcl_dot_abapgit. PUBLIC SECTION. @@ -32,6 +37,8 @@ CLASS lcl_dot_abapgit DEFINITION CREATE PRIVATE FINAL FRIENDS ltcl_dot_abapgit. iv_filename TYPE string, get_starting_folder RETURNING VALUE(rv_path) TYPE string, + get_folder_logic + RETURNING VALUE(rv_logic) TYPE string, * set_starting_folder * IMPORTING iv_path TYPE string, get_master_language @@ -46,6 +53,7 @@ CLASS lcl_dot_abapgit DEFINITION CREATE PRIVATE FINAL FRIENDS ltcl_dot_abapgit. TYPES: BEGIN OF ty_dot_abapgit, master_language TYPE spras, starting_folder TYPE string, + folder_logic TYPE string, ignore TYPE STANDARD TABLE OF string WITH DEFAULT KEY, END OF ty_dot_abapgit. @@ -105,6 +113,8 @@ CLASS lcl_dot_abapgit IMPLEMENTATION. ls_data-master_language = iv_master_language. ls_data-starting_folder = '/'. + ls_data-folder_logic = c_folder_logic-prefix. + APPEND '/.gitignore' TO ls_data-ignore. APPEND '/LICENSE' TO ls_data-ignore. APPEND '/README.md' TO ls_data-ignore. @@ -118,6 +128,7 @@ CLASS lcl_dot_abapgit IMPLEMENTATION. ENDMETHOD. METHOD to_xml. + CALL TRANSFORMATION id SOURCE data = is_data RESULT XML rv_xml. @@ -129,6 +140,7 @@ CLASS lcl_dot_abapgit IMPLEMENTATION. IN rv_xml WITH ''. ASSERT sy-subrc = 0. + ENDMETHOD. METHOD from_xml. @@ -145,6 +157,12 @@ CLASS lcl_dot_abapgit IMPLEMENTATION. OPTIONS value_handling = 'accept_data_loss' SOURCE XML lv_xml RESULT data = rs_data ##NO_TEXT. + +* downward compatibility + IF rs_data-folder_logic IS INITIAL. + rs_data-folder_logic = c_folder_logic-prefix. + ENDIF. + ENDMETHOD. METHOD add_ignore. @@ -198,6 +216,10 @@ CLASS lcl_dot_abapgit IMPLEMENTATION. rv_path = ms_data-starting_folder. ENDMETHOD. + METHOD get_folder_logic. + rv_logic = ms_data-folder_logic. + ENDMETHOD. + * METHOD set_starting_folder. * ms_data-starting_folder = iv_path. * ENDMETHOD. diff --git a/src/zabapgit_file_status.prog.abap b/src/zabapgit_file_status.prog.abap index 3f9921343..306af38c8 100644 --- a/src/zabapgit_file_status.prog.abap +++ b/src/zabapgit_file_status.prog.abap @@ -6,9 +6,10 @@ * CLASS lcl_file_status DEFINITION *----------------------------------------------------------------------* CLASS ltcl_file_status DEFINITION DEFERRED. +CLASS ltcl_file_status2 DEFINITION DEFERRED. CLASS lcl_file_status DEFINITION FINAL - FRIENDS ltcl_file_status. + FRIENDS ltcl_file_status ltcl_file_status2. PUBLIC SECTION. @@ -20,14 +21,18 @@ CLASS lcl_file_status DEFINITION FINAL PRIVATE SECTION. - CLASS-METHODS calculate_status - IMPORTING iv_devclass TYPE devclass - it_local TYPE ty_files_item_tt - it_remote TYPE ty_files_tt - it_cur_state TYPE ty_file_signatures_tt - RETURNING VALUE(rt_results) TYPE ty_results_tt. - CLASS-METHODS: + calculate_status + IMPORTING iv_devclass TYPE devclass + it_local TYPE ty_files_item_tt + it_remote TYPE ty_files_tt + it_cur_state TYPE ty_file_signatures_tt + RETURNING VALUE(rt_results) TYPE ty_results_tt, + run_checks + IMPORTING io_log TYPE REF TO lcl_log + it_results TYPE ty_results_tt + iv_start TYPE string + iv_top TYPE devclass, build_existing IMPORTING is_local TYPE ty_file_item is_remote TYPE ty_file @@ -54,6 +59,89 @@ ENDCLASS. "lcl_file_status DEFINITION *----------------------------------------------------------------------* CLASS lcl_file_status IMPLEMENTATION. + METHOD run_checks. + + DATA: lv_path TYPE string, + ls_item TYPE ty_item, + ls_file TYPE ty_file_signature, + lt_res_sort LIKE it_results, + lt_item_idx LIKE it_results. + + FIELD-SYMBOLS: LIKE LINE OF it_results, + LIKE LINE OF it_results. + + + IF io_log IS INITIAL. + RETURN. + ENDIF. + + " Collect object indexe + lt_res_sort = it_results. + SORT lt_res_sort BY obj_type ASCENDING obj_name ASCENDING. + + LOOP AT it_results ASSIGNING WHERE NOT obj_type IS INITIAL. + IF NOT ( -obj_type = ls_item-obj_type + AND -obj_name = ls_item-obj_name ). + APPEND INITIAL LINE TO lt_item_idx ASSIGNING . + -obj_type = -obj_type. + -obj_name = -obj_name. + -path = -path. + MOVE-CORRESPONDING TO ls_item. + ENDIF. + ENDLOOP. + + " Check files for one object is in the same folder + + LOOP AT it_results ASSIGNING WHERE NOT obj_type IS INITIAL. + READ TABLE lt_item_idx ASSIGNING + WITH KEY obj_type = -obj_type obj_name = -obj_name + BINARY SEARCH. " Sorted above + + IF sy-subrc <> 0 OR -path <> -path. " All paths are same + io_log->add( iv_msgv1 = 'Files for object' + iv_msgv2 = -obj_type + iv_msgv3 = -obj_name + iv_msgv4 = 'are not placed in the same folder' + iv_rc = '1' ) ##no_text. + ENDIF. + ENDLOOP. + + " Check that objects are created in package corresponding to folder + LOOP AT it_results ASSIGNING + WHERE NOT package IS INITIAL AND NOT path IS INITIAL. + lv_path = lcl_folder_logic=>class_to_path( iv_top = iv_top + iv_start = iv_start + iv_package = -package ). + IF lv_path <> -path. + io_log->add( iv_msgv1 = 'Package and path does not match for object,' + iv_msgv2 = -obj_type + iv_msgv3 = -obj_name + iv_rc = '2' ) ##no_text. + ENDIF. + ENDLOOP. + + " Check for multiple files with same filename + SORT lt_res_sort BY filename ASCENDING. + + LOOP AT lt_res_sort ASSIGNING . + IF -filename IS NOT INITIAL AND -filename = ls_file-filename. + io_log->add( iv_msgv1 = 'Multiple files with same filename,' + iv_msgv2 = -filename + iv_rc = '3' ) ##no_text. + ENDIF. + + IF -filename IS INITIAL. + io_log->add( iv_msgv1 = 'Filename is empty for object' + iv_msgv2 = -obj_type + iv_msgv3 = -obj_name + iv_rc = '4' ) ##no_text. + ENDIF. + + MOVE-CORRESPONDING TO ls_file. + ENDLOOP. + + ENDMETHOD. "check + METHOD status. DATA: lv_index LIKE sy-tabix, @@ -82,7 +170,7 @@ CLASS lcl_file_status IMPLEMENTATION. ENDIF. ENDLOOP. - lcl_sap_package=>check( + run_checks( io_log = io_log it_results = rt_results iv_start = lo_dot_abapgit->get_starting_folder( ) diff --git a/src/zabapgit_folder_logic.prog.abap b/src/zabapgit_folder_logic.prog.abap new file mode 100644 index 000000000..78c5d653d --- /dev/null +++ b/src/zabapgit_folder_logic.prog.abap @@ -0,0 +1,98 @@ +*&---------------------------------------------------------------------* +*& Include ZABAPGIT_FOLDER_LOGIC +*&---------------------------------------------------------------------* + +CLASS lcl_folder_logic DEFINITION. + + PUBLIC SECTION. + CLASS-METHODS: + class_to_path + IMPORTING + iv_top TYPE devclass + iv_start TYPE string + iv_package TYPE devclass + RETURNING + VALUE(rv_path) TYPE string. + + CLASS-METHODS + path_to_package + IMPORTING iv_top TYPE devclass + iv_start TYPE string + iv_path TYPE string + RETURNING VALUE(rv_package) TYPE devclass + RAISING lcx_exception. + +ENDCLASS. + +CLASS lcl_folder_logic IMPLEMENTATION. + + METHOD path_to_package. + + DATA: lv_length TYPE i, + lv_parent TYPE devclass, + lv_new TYPE string, + lv_path TYPE string. + + + lv_length = strlen( iv_start ). + lv_path = iv_path+lv_length. + lv_parent = iv_top. + rv_package = iv_top. + + WHILE lv_path CA '/'. + SPLIT lv_path AT '/' INTO lv_new lv_path. + + CONCATENATE rv_package '_' lv_new INTO rv_package. + TRANSLATE rv_package TO UPPER CASE. + + IF lcl_sap_package=>exists( rv_package ) = abap_false. + lcl_sap_package=>create_child( iv_parent = lv_parent + iv_child = rv_package ). + ENDIF. + + lv_parent = rv_package. + ENDWHILE. + + ENDMETHOD. + + METHOD class_to_path. + + DATA: lv_len TYPE i, + lv_path TYPE string, + lv_parentcl TYPE tdevc-parentcl. + + + IF iv_top = iv_package. + rv_path = iv_start. + ELSE. + SELECT SINGLE parentcl FROM tdevc INTO lv_parentcl + WHERE devclass = iv_package. "#EC CI_SUBRC "#EC CI_GENBUFF + ASSERT sy-subrc = 0. + + IF lv_parentcl IS INITIAL. + rv_path = 'error' ##no_text. + ELSE. + lv_len = strlen( lv_parentcl ). + lv_path = iv_package+lv_len. + IF strlen( lv_path ) = 0. + RETURN. " prevent dump + ENDIF. + IF lv_path(1) = '_'. + lv_path = lv_path+1. + ENDIF. + TRANSLATE lv_path TO LOWER CASE. + CONCATENATE lv_path '/' INTO lv_path. + + rv_path = class_to_path( iv_top = iv_top + iv_start = iv_start + iv_package = lv_parentcl ). + + CONCATENATE rv_path lv_path INTO rv_path. + + ENDIF. + + ENDIF. + + ENDMETHOD. "class_to_path + +ENDCLASS. diff --git a/src/zabapgit_folder_logic.prog.xml b/src/zabapgit_folder_logic.prog.xml new file mode 100644 index 000000000..2106cc765 --- /dev/null +++ b/src/zabapgit_folder_logic.prog.xml @@ -0,0 +1,22 @@ + + + + + + ZABAPGIT_FOLDER_LOGIC + A + X + I + E + X + + + + R + Include ZABAPGIT_FOLDER_LOGIC + 29 + + + + + diff --git a/src/zabapgit_object_ddls.prog.abap b/src/zabapgit_object_ddls.prog.abap index c752b8c48..e503ded72 100644 --- a/src/zabapgit_object_ddls.prog.abap +++ b/src/zabapgit_object_ddls.prog.abap @@ -39,8 +39,31 @@ CLASS lcl_object_ddls IMPLEMENTATION. ENDMETHOD. "lif_object~get_metadata METHOD lif_object~exists. -* todo - rv_bool = abap_true. + + DATA: lv_state TYPE objstate, + li_ddl TYPE REF TO object. + + + CALL METHOD ('CL_DD_DDL_HANDLER_FACTORY')=>('CREATE') + RECEIVING + handler = li_ddl. + + TRY. + CALL METHOD li_ddl->('IF_DD_DDL_HANDLER~READ') + EXPORTING + name = ms_item-obj_name + get_state = 'A' + IMPORTING + got_state = lv_state. + IF lv_state IS INITIAL. + rv_bool = abap_false. + ELSE. + rv_bool = abap_true. + ENDIF. + CATCH cx_root. + rv_bool = abap_false. + ENDTRY. + ENDMETHOD. "lif_object~exists METHOD lif_object~jump. diff --git a/src/zabapgit_objects.prog.abap b/src/zabapgit_objects.prog.abap index 9dc251848..f09b66029 100644 --- a/src/zabapgit_objects.prog.abap +++ b/src/zabapgit_objects.prog.abap @@ -1729,14 +1729,6 @@ CLASS lcl_objects DEFINITION FINAL. IMPORTING it_results TYPE ty_results_tt RETURNING VALUE(rt_results) TYPE ty_results_tt. - CLASS-METHODS - path_to_package - IMPORTING iv_top TYPE devclass - iv_start TYPE string - iv_path TYPE string - RETURNING VALUE(rv_package) TYPE devclass - RAISING lcx_exception. - CLASS-METHODS class_name IMPORTING is_item TYPE ty_item RETURNING VALUE(rv_class_name) TYPE string. diff --git a/src/zabapgit_objects_impl.prog.abap b/src/zabapgit_objects_impl.prog.abap index a37f4f419..751fafa78 100644 --- a/src/zabapgit_objects_impl.prog.abap +++ b/src/zabapgit_objects_impl.prog.abap @@ -223,35 +223,6 @@ CLASS lcl_objects IMPLEMENTATION. ENDMETHOD. "exists - METHOD path_to_package. - - DATA: lv_length TYPE i, - lv_parent TYPE devclass, - lv_new TYPE string, - lv_path TYPE string. - - - lv_length = strlen( iv_start ). - lv_path = iv_path+lv_length. - lv_parent = iv_top. - rv_package = iv_top. - - WHILE lv_path CA '/'. - SPLIT lv_path AT '/' INTO lv_new lv_path. - - CONCATENATE rv_package '_' lv_new INTO rv_package. - TRANSLATE rv_package TO UPPER CASE. - - IF lcl_sap_package=>exists( rv_package ) = abap_false. - lcl_sap_package=>create_child( iv_parent = lv_parent - iv_child = rv_package ). - ENDIF. - - lv_parent = rv_package. - ENDWHILE. - - ENDMETHOD. - METHOD class_name. CONCATENATE 'LCL_OBJECT_' is_item-obj_type INTO rv_class_name. "#EC NOTEXT @@ -624,7 +595,7 @@ CLASS lcl_objects IMPLEMENTATION. * handle namespaces REPLACE ALL OCCURRENCES OF '#' IN ls_item-obj_name WITH '/'. - lv_package = path_to_package( + lv_package = lcl_folder_logic=>path_to_package( iv_top = io_repo->get_package( ) iv_start = io_repo->get_dot_abapgit( )->get_starting_folder( ) iv_path = -path ). diff --git a/src/zabapgit_sap_package.prog.abap b/src/zabapgit_sap_package.prog.abap index 632941449..0aa4622ae 100644 --- a/src/zabapgit_sap_package.prog.abap +++ b/src/zabapgit_sap_package.prog.abap @@ -13,11 +13,6 @@ CLASS lcl_sap_package DEFINITION FINAL. TYPES: ty_devclass_tt TYPE STANDARD TABLE OF devclass WITH DEFAULT KEY. CLASS-METHODS: - check - IMPORTING io_log TYPE REF TO lcl_log - it_results TYPE ty_results_tt - iv_start TYPE string - iv_top TYPE devclass, list_subpackages IMPORTING iv_package TYPE devclass RETURNING VALUE(rt_list) TYPE ty_devclass_tt, list_superpackages IMPORTING iv_package TYPE devclass @@ -37,16 +32,6 @@ CLASS lcl_sap_package DEFINITION FINAL. IMPORTING iv_package TYPE devclass RETURNING VALUE(rv_bool) TYPE abap_bool. - PRIVATE SECTION. - CLASS-METHODS: - class_to_path - IMPORTING - iv_top TYPE devclass - iv_start TYPE string - iv_package TYPE devclass - RETURNING - VALUE(rv_path) TYPE string. - ENDCLASS. "lcl_package DEFINITION *----------------------------------------------------------------------* @@ -56,129 +41,6 @@ ENDCLASS. "lcl_package DEFINITION *----------------------------------------------------------------------* CLASS lcl_sap_package IMPLEMENTATION. - METHOD class_to_path. - - DATA: lv_len TYPE i, - lv_path TYPE string, - lv_parentcl TYPE tdevc-parentcl. - - - IF iv_top = iv_package. - rv_path = iv_start. - ELSE. - SELECT SINGLE parentcl FROM tdevc INTO lv_parentcl - WHERE devclass = iv_package. "#EC CI_SUBRC "#EC CI_GENBUFF - ASSERT sy-subrc = 0. - - IF lv_parentcl IS INITIAL. - rv_path = 'error' ##no_text. - ELSE. - lv_len = strlen( lv_parentcl ). - lv_path = iv_package+lv_len. - IF strlen( lv_path ) = 0. - RETURN. " prevent dump - ENDIF. - IF lv_path(1) = '_'. - lv_path = lv_path+1. - ENDIF. - TRANSLATE lv_path TO LOWER CASE. - CONCATENATE lv_path '/' INTO lv_path. - - rv_path = class_to_path( iv_top = iv_top - iv_start = iv_start - iv_package = lv_parentcl ). - - CONCATENATE rv_path lv_path INTO rv_path. - - ENDIF. - - ENDIF. - - ENDMETHOD. "class_to_path - - METHOD check. - - DATA: lv_path TYPE string, - ls_item TYPE ty_item, - ls_file TYPE ty_file_signature, - lt_res_sort LIKE it_results, - lt_item_idx LIKE it_results. - - FIELD-SYMBOLS: LIKE LINE OF it_results, - LIKE LINE OF it_results. - - - IF io_log IS INITIAL. - RETURN. - ENDIF. - - " Collect object indexe - lt_res_sort = it_results. - SORT lt_res_sort BY obj_type ASCENDING obj_name ASCENDING. - - LOOP AT it_results ASSIGNING WHERE NOT obj_type IS INITIAL. - IF NOT ( -obj_type = ls_item-obj_type - AND -obj_name = ls_item-obj_name ). - APPEND INITIAL LINE TO lt_item_idx ASSIGNING . - -obj_type = -obj_type. - -obj_name = -obj_name. - -path = -path. - MOVE-CORRESPONDING TO ls_item. - ENDIF. - ENDLOOP. - - " Check files for one object is in the same folder - - LOOP AT it_results ASSIGNING WHERE NOT obj_type IS INITIAL. - READ TABLE lt_item_idx ASSIGNING - WITH KEY obj_type = -obj_type obj_name = -obj_name - BINARY SEARCH. " Sorted above - - IF sy-subrc <> 0 OR -path <> -path. " All paths are same - io_log->add( iv_msgv1 = 'Files for object' - iv_msgv2 = -obj_type - iv_msgv3 = -obj_name - iv_msgv4 = 'are not placed in the same folder' - iv_rc = '1' ) ##no_text. - ENDIF. - ENDLOOP. - - " Check that objects are created in package corresponding to folder - LOOP AT it_results ASSIGNING - WHERE NOT package IS INITIAL AND NOT path IS INITIAL. - lv_path = class_to_path( iv_top = iv_top - iv_start = iv_start - iv_package = -package ). - IF lv_path <> -path. - io_log->add( iv_msgv1 = 'Package and path does not match for object,' - iv_msgv2 = -obj_type - iv_msgv3 = -obj_name - iv_rc = '2' ) ##no_text. - ENDIF. - ENDLOOP. - - " Check for multiple files with same filename - SORT lt_res_sort BY filename ASCENDING. - - LOOP AT lt_res_sort ASSIGNING . - IF -filename IS NOT INITIAL AND -filename = ls_file-filename. - io_log->add( iv_msgv1 = 'Multiple files with same filename,' - iv_msgv2 = -filename - iv_rc = '3' ) ##no_text. - ENDIF. - - IF -filename IS INITIAL. - io_log->add( iv_msgv1 = 'Filename is empty for object' - iv_msgv2 = -obj_type - iv_msgv3 = -obj_name - iv_rc = '4' ) ##no_text. - ENDIF. - - MOVE-CORRESPONDING TO ls_file. - ENDLOOP. - - ENDMETHOD. "check - METHOD exists. cl_package_factory=>load_package( diff --git a/src/zabapgit_unit_test.prog.abap b/src/zabapgit_unit_test.prog.abap index 510f5f481..0f762c6a2 100644 --- a/src/zabapgit_unit_test.prog.abap +++ b/src/zabapgit_unit_test.prog.abap @@ -1956,7 +1956,7 @@ CLASS ltcl_file_status IMPLEMENTATION. ENDCLASS. "ltcl_file_status -CLASS ltcl_sap_package DEFINITION +CLASS ltcl_file_status2 DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL INHERITING FROM cl_aunit_assert. @@ -1965,7 +1965,7 @@ CLASS ltcl_sap_package DEFINITION ENDCLASS. "ltcl_sap_package -CLASS ltcl_sap_package IMPLEMENTATION. +CLASS ltcl_file_status2 IMPLEMENTATION. METHOD check. @@ -1984,10 +1984,10 @@ CLASS ltcl_sap_package IMPLEMENTATION. _append_result 'DOMA' 'ZDOMA1' 'X' ' ' ' ' '$Z$' '/' 'zdoma1.doma.xml'. _append_result 'DOMA' 'ZDOMA2' ' ' 'M' ' ' '$Z$' '/' 'zdoma2.doma.xml'. - lcl_sap_package=>check( io_log = lo_log - it_results = lt_results - iv_start = '/' - iv_top = '$Z$' ). + lcl_file_status=>run_checks( io_log = lo_log + it_results = lt_results + iv_start = '/' + iv_top = '$Z$' ). assert_equals( act = lo_log->count( ) exp = 0 ). @@ -2002,10 +2002,10 @@ CLASS ltcl_sap_package IMPLEMENTATION. _append_result 'DOMA' 'ZDOMA1' 'X' ' ' ' ' '$Z$' '/' 'zdoma1.doma.xml'. _append_result 'DOMA' 'ZDOMA2' ' ' 'M' ' ' '$Z$' '/' 'zdoma2.doma.xml'. - lcl_sap_package=>check( io_log = lo_log - it_results = lt_results - iv_start = '/' - iv_top = '$Z$' ). + lcl_file_status=>run_checks( io_log = lo_log + it_results = lt_results + iv_start = '/' + iv_top = '$Z$' ). " This one is not pure - incorrect path also triggers path vs package check assert_equals( act = lo_log->count( ) exp = 2 ). @@ -2022,10 +2022,10 @@ CLASS ltcl_sap_package IMPLEMENTATION. _append_result 'DOMA' '$$ZDOMA1' 'X' ' ' ' ' '$Z$' '/sub' '$$zdoma1.doma.xml'. _append_result 'DOMA' '$$ZDOMA2' ' ' 'M' ' ' '$Z$' '/' '$$zdoma2.doma.xml'. - lcl_sap_package=>check( io_log = lo_log - it_results = lt_results - iv_start = '/' - iv_top = '$Z$' ). + lcl_file_status=>run_checks( io_log = lo_log + it_results = lt_results + iv_start = '/' + iv_top = '$Z$' ). assert_equals( act = lo_log->count( ) exp = 1 ). assert_equals( act = lo_log->has_rc( '2' ) exp = abap_true ). @@ -2041,10 +2041,10 @@ CLASS ltcl_sap_package IMPLEMENTATION. _append_result 'DOMA' '$$ZDOMA1' 'X' ' ' ' ' '$Z$' '/' '$$zdoma1.doma.xml'. _append_result 'DOMA' '$$ZDOMA2' ' ' 'M' ' ' '$Z$' '/' '$$zdoma1.doma.xml'. - lcl_sap_package=>check( io_log = lo_log - it_results = lt_results - iv_start = '/' - iv_top = '$Z$' ). + lcl_file_status=>run_checks( io_log = lo_log + it_results = lt_results + iv_start = '/' + iv_top = '$Z$' ). assert_equals( act = lo_log->count( ) exp = 1 ). assert_equals( act = lo_log->has_rc( '3' ) exp = abap_true ). @@ -2059,13 +2059,16 @@ CLASS ltcl_sap_package IMPLEMENTATION. _append_result 'CLAS' '$$ZCLASS1' 'X' ' ' ' ' '$Z$' '/' '$$zclass1.clas.xml'. _append_result 'DOMA' '$$ZDOMA1' 'X' ' ' ' ' '$Z$' '/' ''. - lcl_sap_package=>check( io_log = lo_log - it_results = lt_results - iv_start = '/' - iv_top = '$Z$' ). + lcl_file_status=>run_checks( io_log = lo_log + it_results = lt_results + iv_start = '/' + iv_top = '$Z$' ). - assert_equals( act = lo_log->count( ) exp = 1 ). - assert_equals( act = lo_log->has_rc( '4' ) exp = abap_true ). + assert_equals( act = lo_log->count( ) + exp = 1 ). + + assert_equals( act = lo_log->has_rc( '4' ) + exp = abap_true ). ENDMETHOD. " check.