move INTF logic to INTF class

This commit is contained in:
larshp 2017-02-17 14:23:57 +00:00
parent 69d1f035e3
commit ae752a8a7e
2 changed files with 21 additions and 31 deletions

View File

@ -31,7 +31,10 @@ CLASS lcl_object_intf DEFINITION FINAL INHERITING FROM lcl_objects_program.
METHODS serialize_xml METHODS serialize_xml
IMPORTING io_xml TYPE REF TO lcl_xml_output IMPORTING io_xml TYPE REF TO lcl_xml_output
RAISING lcx_exception. RAISING lcx_exception.
ENDCLASS. "lcl_object_intf DEFINITION ENDCLASS. "lcl_object_intf DEFINITION
CLASS lcl_object_intf IMPLEMENTATION. CLASS lcl_object_intf IMPLEMENTATION.
METHOD constructor. METHOD constructor.
super->constructor( super->constructor(
@ -76,6 +79,7 @@ CLASS lcl_object_intf IMPLEMENTATION.
mo_object_oriented_object_fct->add_to_activation_list( is_item = ms_item ). mo_object_oriented_object_fct->add_to_activation_list( is_item = ms_item ).
ENDMETHOD. ENDMETHOD.
METHOD deserialize_docu. METHOD deserialize_docu.
DATA: lt_lines TYPE tlinetab, DATA: lt_lines TYPE tlinetab,
@ -95,6 +99,7 @@ CLASS lcl_object_intf IMPLEMENTATION.
iv_object_name = lv_object iv_object_name = lv_object
iv_language = mv_language ). iv_language = mv_language ).
ENDMETHOD. ENDMETHOD.
METHOD lif_object~has_changed_since. METHOD lif_object~has_changed_since.
DATA: DATA:
lv_program TYPE program, lv_program TYPE program,
@ -222,10 +227,24 @@ CLASS lcl_object_intf IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD lif_object~exists. METHOD lif_object~exists.
DATA: ls_class_key TYPE seoclskey.
DATA: ls_class_key TYPE seoclskey,
lv_category TYPE seoclassdf-category.
ls_class_key-clsname = ms_item-obj_name. ls_class_key-clsname = ms_item-obj_name.
rv_bool = mo_object_oriented_object_fct->exists( iv_object_name = ls_class_key ). rv_bool = mo_object_oriented_object_fct->exists( iv_object_name = ls_class_key ).
IF rv_bool = abap_true.
SELECT SINGLE category FROM seoclassdf INTO lv_category
WHERE clsname = ls_class_key-clsname
AND ( version = '1'
OR version = '0' ) ##warn_ok. "#EC CI_GENBUFF
IF sy-subrc = 0 AND lv_category = seoc_category_webdynpro_class.
rv_bool = abap_false.
ENDIF.
ENDIF.
ENDMETHOD. ENDMETHOD.
METHOD lif_object~get_metadata. METHOD lif_object~get_metadata.
@ -244,7 +263,6 @@ CLASS lcl_object_intf IMPLEMENTATION.
ENDCLASS. ENDCLASS.
CLASS lcl_object_oriented_interface DEFINITION CLASS lcl_object_oriented_interface DEFINITION
INHERITING FROM lcl_object_oriented_base. INHERITING FROM lcl_object_oriented_base.
PUBLIC SECTION. PUBLIC SECTION.

View File

@ -131,8 +131,7 @@ CLASS lcl_tadir IMPLEMENTATION.
lt_tdevc TYPE STANDARD TABLE OF tdevc, lt_tdevc TYPE STANDARD TABLE OF tdevc,
lv_len TYPE i, lv_len TYPE i,
lv_message TYPE string, lv_message TYPE string,
lv_path TYPE string, lv_path TYPE string.
lv_category TYPE seoclassdf-category.
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.
@ -164,15 +163,6 @@ CLASS lcl_tadir IMPLEMENTATION.
CASE <ls_tadir>-object. CASE <ls_tadir>-object.
WHEN 'SICF'. WHEN 'SICF'.
<ls_tadir>-obj_name = <ls_tadir>-obj_name(15). <ls_tadir>-obj_name = <ls_tadir>-obj_name(15).
WHEN 'INTF'.
* todo, move this logic to INTF exists method
SELECT SINGLE category FROM seoclassdf INTO lv_category
WHERE clsname = <ls_tadir>-obj_name
AND ( version = '1'
OR version = '0' ) ##warn_ok. "#EC CI_GENBUFF
IF sy-subrc = 0 AND lv_category = seoc_category_webdynpro_class.
DELETE rt_tadir INDEX lv_index.
ENDIF.
ENDCASE. ENDCASE.
ENDLOOP. ENDLOOP.
@ -184,24 +174,6 @@ CLASS lcl_tadir IMPLEMENTATION.
ENDIF. ENDIF.
LOOP AT lt_tdevc ASSIGNING <ls_tdevc>. LOOP AT lt_tdevc ASSIGNING <ls_tdevc>.
* lv_len = strlen( iv_package ).
* IF <ls_tdevc>-devclass(lv_len) <> iv_package.
** if abapGit project is installed in package ZZZ, all subpackages should be named
** ZZZ_something. This will define the folder name in the zip file to be "something",
** similarily with online projects
* lv_message = 'Unexpected package naming(' &&
* <ls_tdevc>-devclass && ')' ##no_text.
* MESSAGE lv_message TYPE 'I'.
* CONTINUE.
* ENDIF.
*
* lv_path = <ls_tdevc>-devclass+lv_len.
* IF lv_path(1) = '_'.
* lv_path = lv_path+1.
* ENDIF.
* TRANSLATE lv_path TO LOWER CASE.
* CONCATENATE iv_path lv_path '/' INTO lv_path.
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 ).