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_status DEFINITION DEFERRED.
CLASS ltcl_file_status2 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 CLASS lcl_file_status DEFINITION FINAL
FRIENDS ltcl_file_status ltcl_file_status2. FRIENDS ltcl_file_status ltcl_file_status2.
@ -162,8 +145,7 @@ CLASS lcl_file_status IMPLEMENTATION.
METHOD status. METHOD status.
DATA: lv_index LIKE sy-tabix, DATA: lv_index LIKE sy-tabix,
lo_dot_abapgit TYPE REF TO lcl_dot_abapgit, lo_dot_abapgit TYPE REF TO lcl_dot_abapgit.
lo_skip_objects TYPE REF TO lcl_skip_objects.
FIELD-SYMBOLS <ls_result> LIKE LINE OF rt_results. FIELD-SYMBOLS <ls_result> LIKE LINE OF rt_results.
@ -187,12 +169,6 @@ CLASS lcl_file_status IMPLEMENTATION.
ENDIF. ENDIF.
ENDLOOP. 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( run_checks(
io_log = io_log io_log = io_log
it_results = rt_results it_results = rt_results

View File

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

View File

@ -4,30 +4,31 @@
CLASS lcl_skip_objects IMPLEMENTATION. CLASS lcl_skip_objects IMPLEMENTATION.
METHOD skip_sadl_generated_objects. METHOD skip_sadl_generated_objects.
DATA: ls_ddls_class_result LIKE LINE OF rt_results, DATA: ls_tadir_class LIKE LINE OF rt_tadir,
lo_sadl_class TYPE REF TO lif_object, lo_sadl_class TYPE REF TO lif_object,
ls_item TYPE lif_defs=>ty_item, ls_item TYPE lif_defs=>ty_tadir,
ls_result LIKE LINE OF rt_results, ls_tadir LIKE LINE OF rt_tadir,
lt_lines_to_delete TYPE lif_defs=>ty_results_tt. lt_lines_to_delete TYPE lif_defs=>ty_tadir_tt.
rt_results = it_results. rt_tadir = it_tadir.
LOOP AT it_results INTO ls_result WHERE obj_type = 'DDLS'. LOOP AT it_tadir INTO ls_tadir WHERE object = 'DDLS'.
LOOP AT it_results INTO ls_ddls_class_result LOOP AT rt_tadir INTO ls_tadir_class
WHERE obj_type = 'CLAS' AND obj_name CS ls_result-obj_name. WHERE object = 'CLAS' AND obj_name CS ls_tadir-obj_name.
IF has_sadl_superclass( ls_ddls_class_result ). IF has_sadl_superclass( ls_tadir_class ).
APPEND ls_ddls_class_result TO lt_lines_to_delete. APPEND ls_tadir_class TO lt_lines_to_delete.
ENDIF. ENDIF.
ENDLOOP. ENDLOOP.
ENDLOOP. ENDLOOP.
SORT lt_lines_to_delete BY filename.
DELETE ADJACENT DUPLICATES FROM lt_lines_to_delete. DELETE ADJACENT DUPLICATES FROM lt_lines_to_delete.
LOOP AT lt_lines_to_delete INTO ls_ddls_class_result. LOOP AT lt_lines_to_delete INTO ls_tadir_class.
DELETE TABLE rt_results FROM ls_ddls_class_result. DELETE TABLE rt_tadir FROM ls_tadir_class.
io_log->add( IF io_log IS BOUND.
iv_msg = |{ ls_ddls_class_result-filename } skipped: generated by SADL| io_log->add(
iv_type = 'W' ). iv_msg = |{ ls_tadir_class-obj_name } skipped: generated by SADL|
iv_type = 'W' ).
ENDIF.
ENDLOOP. ENDLOOP.
ENDMETHOD. ENDMETHOD.
@ -36,7 +37,7 @@ CLASS lcl_skip_objects IMPLEMENTATION.
lv_class_name TYPE seoclsname, lv_class_name TYPE seoclsname,
lv_superclass 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_class_name = is_class-obj_name.
lv_superclass = lo_oo_functions->read_superclass( lv_class_name ). lv_superclass = lo_oo_functions->read_superclass( lv_class_name ).
IF lv_superclass = 'CL_SADL_GTK_EXPOSURE_MPC'. 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. CLASS lcl_tadir DEFINITION FINAL.
PUBLIC SECTION. PUBLIC SECTION.
@ -15,6 +33,7 @@ CLASS lcl_tadir DEFINITION FINAL.
IMPORTING iv_package TYPE tadir-devclass IMPORTING iv_package TYPE tadir-devclass
iv_ignore_subpackages TYPE abap_bool DEFAULT abap_false iv_ignore_subpackages TYPE abap_bool DEFAULT abap_false
io_dot TYPE REF TO lcl_dot_abapgit OPTIONAL 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 RETURNING VALUE(rt_tadir) TYPE lif_defs=>ty_tadir_tt
RAISING lcx_exception, RAISING lcx_exception,
read_single read_single
@ -50,6 +69,7 @@ CLASS lcl_tadir DEFINITION FINAL.
iv_top TYPE tadir-devclass iv_top TYPE tadir-devclass
io_dot TYPE REF TO lcl_dot_abapgit io_dot TYPE REF TO lcl_dot_abapgit
iv_ignore_subpackages TYPE abap_bool DEFAULT abap_false 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 RETURNING VALUE(rt_tadir) TYPE lif_defs=>ty_tadir_tt
RAISING lcx_exception. RAISING lcx_exception.
@ -188,7 +208,8 @@ CLASS lcl_tadir IMPLEMENTATION.
rt_tadir = build( iv_package = iv_package rt_tadir = build( iv_package = iv_package
iv_top = iv_package iv_top = iv_package
io_dot = io_dot 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 ). rt_tadir = check_exists( rt_tadir ).
@ -196,9 +217,10 @@ CLASS lcl_tadir IMPLEMENTATION.
METHOD build. METHOD build.
DATA: lt_tadir TYPE lif_defs=>ty_tadir_tt, DATA: lt_tadir TYPE lif_defs=>ty_tadir_tt,
lt_tdevc TYPE STANDARD TABLE OF tdevc, lt_tdevc TYPE STANDARD TABLE OF tdevc,
lv_path TYPE string. lv_path TYPE string,
lo_skip_objects TYPE REF TO lcl_skip_objects.
FIELD-SYMBOLS: <ls_tdevc> LIKE LINE OF lt_tdevc, FIELD-SYMBOLS: <ls_tdevc> LIKE LINE OF lt_tdevc,
<ls_tadir> LIKE LINE OF rt_tadir. <ls_tadir> LIKE LINE OF rt_tadir.
@ -216,6 +238,12 @@ CLASS lcl_tadir IMPLEMENTATION.
AND delflag = abap_false AND delflag = abap_false
ORDER BY PRIMARY KEY. "#EC CI_GENBUFF "#EC CI_SUBRC 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. IF NOT io_dot IS INITIAL.
lv_path = lcl_folder_logic=>package_to_path( lv_path = lcl_folder_logic=>package_to_path(
iv_top = iv_top iv_top = iv_top
@ -243,7 +271,8 @@ CLASS lcl_tadir IMPLEMENTATION.
LOOP AT lt_tdevc ASSIGNING <ls_tdevc>. LOOP AT lt_tdevc ASSIGNING <ls_tdevc>.
lt_tadir = build( iv_package = <ls_tdevc>-devclass lt_tadir = build( iv_package = <ls_tdevc>-devclass
iv_top = iv_top iv_top = iv_top
io_dot = io_dot ). io_dot = io_dot
io_log = io_log ).
APPEND LINES OF lt_tadir TO rt_tadir. APPEND LINES OF lt_tadir TO rt_tadir.
ENDLOOP. ENDLOOP.