Moves lcl_skip_objects closer to lcl_tadir

This commit is contained in:
eduardocopat 2017-09-28 21:41:38 +02:00
parent 33cba1d3b8
commit b1c22a5b34
4 changed files with 56 additions and 49 deletions

View File

@ -7,23 +7,6 @@
*----------------------------------------------------------------------*
CLASS ltcl_file_status DEFINITION DEFERRED.
CLASS ltcl_file_status2 DEFINITION DEFERRED.
CLASS lcl_skip_objects DEFINITION.
PUBLIC SECTION.
METHODS:
skip_sadl_generated_objects
IMPORTING
it_results TYPE lif_defs=>ty_results_tt
io_log TYPE REF TO lcl_log
RETURNING
VALUE(rt_results) TYPE lif_defs=>ty_results_tt.
PRIVATE SECTION.
METHODS:
has_sadl_superclass
IMPORTING
is_class TYPE lif_defs=>ty_result
RETURNING
VALUE(rv_return) TYPE abap_bool.
ENDCLASS.
CLASS lcl_file_status DEFINITION FINAL
FRIENDS ltcl_file_status ltcl_file_status2.
@ -162,8 +145,7 @@ CLASS lcl_file_status IMPLEMENTATION.
METHOD status.
DATA: lv_index LIKE sy-tabix,
lo_dot_abapgit TYPE REF TO lcl_dot_abapgit,
lo_skip_objects TYPE REF TO lcl_skip_objects.
lo_dot_abapgit TYPE REF TO lcl_dot_abapgit.
FIELD-SYMBOLS <ls_result> LIKE LINE OF rt_results.
@ -187,12 +169,6 @@ CLASS lcl_file_status IMPLEMENTATION.
ENDIF.
ENDLOOP.
CREATE OBJECT lo_skip_objects.
rt_results = lo_skip_objects->skip_sadl_generated_objects(
it_results = rt_results
io_log = io_log ).
run_checks(
io_log = io_log
it_results = rt_results

View File

@ -636,7 +636,8 @@ CLASS lcl_repo IMPLEMENTATION.
lt_tadir = lcl_tadir=>read(
iv_package = get_package( )
iv_ignore_subpackages = ignore_subpackages( )
io_dot = get_dot_abapgit( ) ).
io_dot = get_dot_abapgit( )
io_log = io_log ).
lt_filter = it_filter.
lv_filter_exist = boolc( lines( lt_filter ) > 0 ).

View File

@ -4,30 +4,31 @@
CLASS lcl_skip_objects IMPLEMENTATION.
METHOD skip_sadl_generated_objects.
DATA: ls_ddls_class_result LIKE LINE OF rt_results,
lo_sadl_class TYPE REF TO lif_object,
ls_item TYPE lif_defs=>ty_item,
ls_result LIKE LINE OF rt_results,
lt_lines_to_delete TYPE lif_defs=>ty_results_tt.
DATA: ls_tadir_class LIKE LINE OF rt_tadir,
lo_sadl_class TYPE REF TO lif_object,
ls_item TYPE lif_defs=>ty_tadir,
ls_tadir LIKE LINE OF rt_tadir,
lt_lines_to_delete TYPE lif_defs=>ty_tadir_tt.
rt_results = it_results.
LOOP AT it_results INTO ls_result WHERE obj_type = 'DDLS'.
LOOP AT it_results INTO ls_ddls_class_result
WHERE obj_type = 'CLAS' AND obj_name CS ls_result-obj_name.
rt_tadir = it_tadir.
LOOP AT it_tadir INTO ls_tadir WHERE object = 'DDLS'.
LOOP AT rt_tadir INTO ls_tadir_class
WHERE object = 'CLAS' AND obj_name CS ls_tadir-obj_name.
IF has_sadl_superclass( ls_ddls_class_result ).
APPEND ls_ddls_class_result TO lt_lines_to_delete.
IF has_sadl_superclass( ls_tadir_class ).
APPEND ls_tadir_class TO lt_lines_to_delete.
ENDIF.
ENDLOOP.
ENDLOOP.
SORT lt_lines_to_delete BY filename.
DELETE ADJACENT DUPLICATES FROM lt_lines_to_delete.
LOOP AT lt_lines_to_delete INTO ls_ddls_class_result.
DELETE TABLE rt_results FROM ls_ddls_class_result.
io_log->add(
iv_msg = |{ ls_ddls_class_result-filename } skipped: generated by SADL|
iv_type = 'W' ).
LOOP AT lt_lines_to_delete INTO ls_tadir_class.
DELETE TABLE rt_tadir FROM ls_tadir_class.
IF io_log IS BOUND.
io_log->add(
iv_msg = |{ ls_tadir_class-obj_name } skipped: generated by SADL|
iv_type = 'W' ).
ENDIF.
ENDLOOP.
ENDMETHOD.
@ -36,7 +37,7 @@ CLASS lcl_skip_objects IMPLEMENTATION.
lv_class_name TYPE seoclsname,
lv_superclass TYPE seoclsname.
lo_oo_functions = lcl_oo_factory=>make( is_class-obj_type ).
lo_oo_functions = lcl_oo_factory=>make( is_class-object ).
lv_class_name = is_class-obj_name.
lv_superclass = lo_oo_functions->read_superclass( lv_class_name ).
IF lv_superclass = 'CL_SADL_GTK_EXPOSURE_MPC'.

View File

@ -7,6 +7,24 @@
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_skip_objects DEFINITION.
PUBLIC SECTION.
METHODS:
skip_sadl_generated_objects
IMPORTING
it_tadir TYPE lif_defs=>ty_tadir_tt
io_log TYPE REF TO lcl_log OPTIONAL
RETURNING
VALUE(rt_tadir) TYPE lif_defs=>ty_tadir_tt.
PRIVATE SECTION.
METHODS:
has_sadl_superclass
IMPORTING
is_class TYPE lif_defs=>ty_tadir
RETURNING
VALUE(rv_return) TYPE abap_bool.
ENDCLASS.
CLASS lcl_tadir DEFINITION FINAL.
PUBLIC SECTION.
@ -15,6 +33,7 @@ CLASS lcl_tadir DEFINITION FINAL.
IMPORTING iv_package TYPE tadir-devclass
iv_ignore_subpackages TYPE abap_bool DEFAULT abap_false
io_dot TYPE REF TO lcl_dot_abapgit OPTIONAL
io_log TYPE REF TO lcl_log OPTIONAL
RETURNING VALUE(rt_tadir) TYPE lif_defs=>ty_tadir_tt
RAISING lcx_exception,
read_single
@ -50,6 +69,7 @@ CLASS lcl_tadir DEFINITION FINAL.
iv_top TYPE tadir-devclass
io_dot TYPE REF TO lcl_dot_abapgit
iv_ignore_subpackages TYPE abap_bool DEFAULT abap_false
io_log TYPE REF TO lcl_log OPTIONAL
RETURNING VALUE(rt_tadir) TYPE lif_defs=>ty_tadir_tt
RAISING lcx_exception.
@ -188,7 +208,8 @@ CLASS lcl_tadir IMPLEMENTATION.
rt_tadir = build( iv_package = iv_package
iv_top = iv_package
io_dot = io_dot
iv_ignore_subpackages = iv_ignore_subpackages ).
iv_ignore_subpackages = iv_ignore_subpackages
io_log = io_log ).
rt_tadir = check_exists( rt_tadir ).
@ -196,9 +217,10 @@ CLASS lcl_tadir IMPLEMENTATION.
METHOD build.
DATA: lt_tadir TYPE lif_defs=>ty_tadir_tt,
lt_tdevc TYPE STANDARD TABLE OF tdevc,
lv_path TYPE string.
DATA: lt_tadir TYPE lif_defs=>ty_tadir_tt,
lt_tdevc TYPE STANDARD TABLE OF tdevc,
lv_path TYPE string,
lo_skip_objects TYPE REF TO lcl_skip_objects.
FIELD-SYMBOLS: <ls_tdevc> LIKE LINE OF lt_tdevc,
<ls_tadir> LIKE LINE OF rt_tadir.
@ -216,6 +238,12 @@ CLASS lcl_tadir IMPLEMENTATION.
AND delflag = abap_false
ORDER BY PRIMARY KEY. "#EC CI_GENBUFF "#EC CI_SUBRC
CREATE OBJECT lo_skip_objects.
rt_tadir = lo_skip_objects->skip_sadl_generated_objects(
it_tadir = rt_tadir
io_log = io_log
).
IF NOT io_dot IS INITIAL.
lv_path = lcl_folder_logic=>package_to_path(
iv_top = iv_top
@ -243,7 +271,8 @@ CLASS lcl_tadir IMPLEMENTATION.
LOOP AT lt_tdevc ASSIGNING <ls_tdevc>.
lt_tadir = build( iv_package = <ls_tdevc>-devclass
iv_top = iv_top
io_dot = io_dot ).
io_dot = io_dot
io_log = io_log ).
APPEND LINES OF lt_tadir TO rt_tadir.
ENDLOOP.