mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 04:36:49 +08:00
CLAS,INTF: Support for component documentation (#5575)
* serialization * full sotr class serialization * nw 7.02 compatibility * ensure consistent order * Second attempt to stage support for CLAS and INTF Second attempt to stage support for CLAS and INTF, first attempt did not have changes * Pretty printed * Lint compliance part 1 * Lint compliance part 2 * code review remediation plus one bugfix includes one bugfix - do not write entries in <DOCU_CAT> if there are no lines of text * Update src/objects/zcl_abapgit_objects_program.clas.abap Co-authored-by: Lars Hvam <larshp@hotmail.com> * Switch to new method Co-authored-by: Lars Hvam <larshp@hotmail.com> Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com> Co-authored-by: Marc Bernard <marc@marcbernardtools.com>
This commit is contained in:
parent
e0e3b442a0
commit
954d913191
|
@ -82,6 +82,24 @@ CLASS zcl_abapgit_object_clas DEFINITION
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
|
CONSTANTS:
|
||||||
|
BEGIN OF c_longtext_name,
|
||||||
|
attributes TYPE string VALUE 'LONGTEXTS_CA',
|
||||||
|
methods TYPE string VALUE 'LONGTEXTS_CO',
|
||||||
|
events TYPE string VALUE 'LONGTEXTS_CE',
|
||||||
|
types TYPE string VALUE 'LONGTEXTS_CT',
|
||||||
|
END OF c_longtext_name.
|
||||||
|
|
||||||
|
CONSTANTS:
|
||||||
|
BEGIN OF c_longtext_id,
|
||||||
|
class TYPE dokil-id VALUE 'CL',
|
||||||
|
attributes TYPE dokil-id VALUE 'CA',
|
||||||
|
methods TYPE dokil-id VALUE 'CO',
|
||||||
|
events TYPE dokil-id VALUE 'CE',
|
||||||
|
types TYPE dokil-id VALUE 'CT',
|
||||||
|
END OF c_longtext_id.
|
||||||
|
|
||||||
METHODS deserialize_pre_ddic
|
METHODS deserialize_pre_ddic
|
||||||
IMPORTING
|
IMPORTING
|
||||||
ii_xml TYPE REF TO zif_abapgit_xml_input
|
ii_xml TYPE REF TO zif_abapgit_xml_input
|
||||||
|
@ -213,7 +231,7 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
||||||
|
|
||||||
IF lines( lt_lines ) = 0.
|
IF lines( lt_lines ) = 0.
|
||||||
mi_object_oriented_object_fct->delete_documentation(
|
mi_object_oriented_object_fct->delete_documentation(
|
||||||
iv_id = 'CL'
|
iv_id = c_longtext_id-class
|
||||||
iv_object_name = lv_object
|
iv_object_name = lv_object
|
||||||
iv_language = mv_language ).
|
iv_language = mv_language ).
|
||||||
RETURN.
|
RETURN.
|
||||||
|
@ -221,7 +239,7 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
||||||
|
|
||||||
mi_object_oriented_object_fct->create_documentation(
|
mi_object_oriented_object_fct->create_documentation(
|
||||||
it_lines = lt_lines
|
it_lines = lt_lines
|
||||||
iv_id = 'CL'
|
iv_id = c_longtext_id-class
|
||||||
iv_object_name = lv_object
|
iv_object_name = lv_object
|
||||||
iv_language = mv_language ).
|
iv_language = mv_language ).
|
||||||
|
|
||||||
|
@ -231,12 +249,32 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
||||||
LOOP AT lt_i18n_lines INTO ls_i18n_lines.
|
LOOP AT lt_i18n_lines INTO ls_i18n_lines.
|
||||||
mi_object_oriented_object_fct->create_documentation(
|
mi_object_oriented_object_fct->create_documentation(
|
||||||
it_lines = ls_i18n_lines-lines
|
it_lines = ls_i18n_lines-lines
|
||||||
iv_id = 'CL'
|
iv_id = c_longtext_id-class
|
||||||
iv_object_name = lv_object
|
iv_object_name = lv_object
|
||||||
iv_language = ls_i18n_lines-language
|
iv_language = ls_i18n_lines-language
|
||||||
iv_no_masterlang = abap_true ).
|
iv_no_masterlang = abap_true ).
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
deserialize_longtexts(
|
||||||
|
ii_xml = ii_xml
|
||||||
|
iv_longtext_name = c_longtext_name-attributes
|
||||||
|
iv_longtext_id = c_longtext_id-attributes ).
|
||||||
|
|
||||||
|
deserialize_longtexts(
|
||||||
|
ii_xml = ii_xml
|
||||||
|
iv_longtext_name = c_longtext_name-methods
|
||||||
|
iv_longtext_id = c_longtext_id-methods ).
|
||||||
|
|
||||||
|
deserialize_longtexts(
|
||||||
|
ii_xml = ii_xml
|
||||||
|
iv_longtext_name = c_longtext_name-events
|
||||||
|
iv_longtext_id = c_longtext_id-events ).
|
||||||
|
|
||||||
|
deserialize_longtexts(
|
||||||
|
ii_xml = ii_xml
|
||||||
|
iv_longtext_name = c_longtext_name-types
|
||||||
|
iv_longtext_id = c_longtext_id-types ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -447,7 +485,7 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
||||||
lv_object = iv_clsname.
|
lv_object = iv_clsname.
|
||||||
|
|
||||||
lt_lines = mi_object_oriented_object_fct->read_documentation(
|
lt_lines = mi_object_oriented_object_fct->read_documentation(
|
||||||
iv_id = 'CL'
|
iv_id = c_longtext_id-class
|
||||||
iv_object_name = lv_object
|
iv_object_name = lv_object
|
||||||
iv_language = mv_language ).
|
iv_language = mv_language ).
|
||||||
IF lines( lt_lines ) > 0.
|
IF lines( lt_lines ) > 0.
|
||||||
|
@ -462,7 +500,7 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
||||||
LOOP AT it_langu_additional INTO lv_langu.
|
LOOP AT it_langu_additional INTO lv_langu.
|
||||||
|
|
||||||
lt_lines = mi_object_oriented_object_fct->read_documentation(
|
lt_lines = mi_object_oriented_object_fct->read_documentation(
|
||||||
iv_id = 'CL'
|
iv_id = c_longtext_id-class
|
||||||
iv_object_name = lv_object
|
iv_object_name = lv_object
|
||||||
iv_language = lv_langu ).
|
iv_language = lv_langu ).
|
||||||
|
|
||||||
|
@ -480,6 +518,26 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
||||||
ig_data = lt_i18n_lines ).
|
ig_data = lt_i18n_lines ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
serialize_longtexts(
|
||||||
|
ii_xml = ii_xml
|
||||||
|
iv_longtext_name = c_longtext_name-attributes
|
||||||
|
iv_longtext_id = c_longtext_id-attributes ).
|
||||||
|
|
||||||
|
serialize_longtexts(
|
||||||
|
ii_xml = ii_xml
|
||||||
|
iv_longtext_name = c_longtext_name-methods
|
||||||
|
iv_longtext_id = c_longtext_id-methods ).
|
||||||
|
|
||||||
|
serialize_longtexts(
|
||||||
|
ii_xml = ii_xml
|
||||||
|
iv_longtext_name = c_longtext_name-events
|
||||||
|
iv_longtext_id = c_longtext_id-events ).
|
||||||
|
|
||||||
|
serialize_longtexts(
|
||||||
|
ii_xml = ii_xml
|
||||||
|
iv_longtext_name = c_longtext_name-types
|
||||||
|
iv_longtext_id = c_longtext_id-types ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,8 @@ CLASS zcl_abapgit_object_intf DEFINITION PUBLIC FINAL INHERITING FROM zcl_abapgi
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
METHODS deserialize_docu
|
METHODS deserialize_docu
|
||||||
IMPORTING
|
IMPORTING
|
||||||
is_docu TYPE ty_docu
|
!ii_xml TYPE REF TO zif_abapgit_xml_input
|
||||||
|
!is_docu TYPE ty_docu
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
METHODS serialize_docu
|
METHODS serialize_docu
|
||||||
|
@ -60,6 +61,21 @@ CLASS zcl_abapgit_object_intf DEFINITION PUBLIC FINAL INHERITING FROM zcl_abapgi
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
|
CONSTANTS:
|
||||||
|
BEGIN OF c_longtext_name,
|
||||||
|
attributes TYPE string VALUE 'LONGTEXTS_IA',
|
||||||
|
methods TYPE string VALUE 'LONGTEXTS_IO',
|
||||||
|
events TYPE string VALUE 'LONGTEXTS_IE',
|
||||||
|
END OF c_longtext_name.
|
||||||
|
|
||||||
|
CONSTANTS:
|
||||||
|
BEGIN OF c_longtext_id,
|
||||||
|
interface TYPE dokil-id VALUE 'IF',
|
||||||
|
attributes TYPE dokil-id VALUE 'IA',
|
||||||
|
methods TYPE dokil-id VALUE 'IO',
|
||||||
|
events TYPE dokil-id VALUE 'IE',
|
||||||
|
END OF c_longtext_id.
|
||||||
|
|
||||||
DATA mi_object_oriented_object_fct TYPE REF TO zif_abapgit_oo_object_fnc .
|
DATA mi_object_oriented_object_fct TYPE REF TO zif_abapgit_oo_object_fnc .
|
||||||
|
|
||||||
METHODS deserialize_pre_ddic
|
METHODS deserialize_pre_ddic
|
||||||
|
@ -128,7 +144,7 @@ CLASS zcl_abapgit_object_intf IMPLEMENTATION.
|
||||||
|
|
||||||
IF lines( is_docu-lines ) = 0.
|
IF lines( is_docu-lines ) = 0.
|
||||||
mi_object_oriented_object_fct->delete_documentation(
|
mi_object_oriented_object_fct->delete_documentation(
|
||||||
iv_id = 'IF'
|
iv_id = c_longtext_id-interface
|
||||||
iv_object_name = lv_object
|
iv_object_name = lv_object
|
||||||
iv_language = mv_language ).
|
iv_language = mv_language ).
|
||||||
RETURN.
|
RETURN.
|
||||||
|
@ -136,19 +152,34 @@ CLASS zcl_abapgit_object_intf IMPLEMENTATION.
|
||||||
|
|
||||||
mi_object_oriented_object_fct->create_documentation(
|
mi_object_oriented_object_fct->create_documentation(
|
||||||
it_lines = is_docu-lines
|
it_lines = is_docu-lines
|
||||||
iv_id = 'IF'
|
iv_id = c_longtext_id-interface
|
||||||
iv_object_name = lv_object
|
iv_object_name = lv_object
|
||||||
iv_language = mv_language ).
|
iv_language = mv_language ).
|
||||||
|
|
||||||
LOOP AT is_docu-i18n_lines INTO ls_i18n_lines.
|
LOOP AT is_docu-i18n_lines INTO ls_i18n_lines.
|
||||||
mi_object_oriented_object_fct->create_documentation(
|
mi_object_oriented_object_fct->create_documentation(
|
||||||
it_lines = ls_i18n_lines-lines
|
it_lines = ls_i18n_lines-lines
|
||||||
iv_id = 'IF'
|
iv_id = c_longtext_id-interface
|
||||||
iv_object_name = lv_object
|
iv_object_name = lv_object
|
||||||
iv_language = ls_i18n_lines-language
|
iv_language = ls_i18n_lines-language
|
||||||
iv_no_masterlang = abap_true ).
|
iv_no_masterlang = abap_true ).
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
deserialize_longtexts(
|
||||||
|
ii_xml = ii_xml
|
||||||
|
iv_longtext_name = c_longtext_name-attributes
|
||||||
|
iv_longtext_id = c_longtext_id-attributes ).
|
||||||
|
|
||||||
|
deserialize_longtexts(
|
||||||
|
ii_xml = ii_xml
|
||||||
|
iv_longtext_name = c_longtext_name-methods
|
||||||
|
iv_longtext_id = c_longtext_id-methods ).
|
||||||
|
|
||||||
|
deserialize_longtexts(
|
||||||
|
ii_xml = ii_xml
|
||||||
|
iv_longtext_name = c_longtext_name-events
|
||||||
|
iv_longtext_id = c_longtext_id-events ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -307,7 +338,7 @@ CLASS zcl_abapgit_object_intf IMPLEMENTATION.
|
||||||
lv_object = iv_clsname.
|
lv_object = iv_clsname.
|
||||||
|
|
||||||
lt_lines = mi_object_oriented_object_fct->read_documentation(
|
lt_lines = mi_object_oriented_object_fct->read_documentation(
|
||||||
iv_id = 'IF'
|
iv_id = c_longtext_id-interface
|
||||||
iv_object_name = lv_object
|
iv_object_name = lv_object
|
||||||
iv_language = mv_language ).
|
iv_language = mv_language ).
|
||||||
|
|
||||||
|
@ -320,7 +351,7 @@ CLASS zcl_abapgit_object_intf IMPLEMENTATION.
|
||||||
LOOP AT it_langu_additional INTO lv_langu.
|
LOOP AT it_langu_additional INTO lv_langu.
|
||||||
|
|
||||||
lt_lines = mi_object_oriented_object_fct->read_documentation(
|
lt_lines = mi_object_oriented_object_fct->read_documentation(
|
||||||
iv_id = 'IF'
|
iv_id = c_longtext_id-interface
|
||||||
iv_object_name = lv_object
|
iv_object_name = lv_object
|
||||||
iv_language = lv_langu ).
|
iv_language = lv_langu ).
|
||||||
|
|
||||||
|
@ -365,7 +396,7 @@ CLASS zcl_abapgit_object_intf IMPLEMENTATION.
|
||||||
SELECT DISTINCT langu
|
SELECT DISTINCT langu
|
||||||
INTO TABLE lt_langu_additional
|
INTO TABLE lt_langu_additional
|
||||||
FROM dokhl
|
FROM dokhl
|
||||||
WHERE id = 'IF'
|
WHERE id = c_longtext_id-interface
|
||||||
AND object = ls_clskey-clsname
|
AND object = ls_clskey-clsname
|
||||||
AND langu <> mv_language.
|
AND langu <> mv_language.
|
||||||
|
|
||||||
|
@ -376,7 +407,6 @@ CLASS zcl_abapgit_object_intf IMPLEMENTATION.
|
||||||
|
|
||||||
ls_intf-description = serialize_descr( ii_xml = io_xml
|
ls_intf-description = serialize_descr( ii_xml = io_xml
|
||||||
iv_clsname = ls_clskey-clsname ).
|
iv_clsname = ls_clskey-clsname ).
|
||||||
|
|
||||||
ls_intf-description_sub = serialize_descr_sub( ii_xml = io_xml
|
ls_intf-description_sub = serialize_descr_sub( ii_xml = io_xml
|
||||||
iv_clsname = ls_clskey-clsname ).
|
iv_clsname = ls_clskey-clsname ).
|
||||||
|
|
||||||
|
@ -397,6 +427,22 @@ CLASS zcl_abapgit_object_intf IMPLEMENTATION.
|
||||||
ig_data = ls_intf-docu-lines ).
|
ig_data = ls_intf-docu-lines ).
|
||||||
io_xml->add( iv_name = 'I18N_LINES'
|
io_xml->add( iv_name = 'I18N_LINES'
|
||||||
ig_data = ls_intf-docu-i18n_lines ).
|
ig_data = ls_intf-docu-i18n_lines ).
|
||||||
|
|
||||||
|
serialize_longtexts(
|
||||||
|
ii_xml = io_xml
|
||||||
|
iv_longtext_name = c_longtext_name-attributes
|
||||||
|
iv_longtext_id = c_longtext_id-attributes ).
|
||||||
|
|
||||||
|
serialize_longtexts(
|
||||||
|
ii_xml = io_xml
|
||||||
|
iv_longtext_name = c_longtext_name-methods
|
||||||
|
iv_longtext_id = c_longtext_id-methods ).
|
||||||
|
|
||||||
|
serialize_longtexts(
|
||||||
|
ii_xml = io_xml
|
||||||
|
iv_longtext_name = c_longtext_name-events
|
||||||
|
iv_longtext_id = c_longtext_id-events ).
|
||||||
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -495,7 +541,9 @@ CLASS zcl_abapgit_object_intf IMPLEMENTATION.
|
||||||
|
|
||||||
deserialize_descr_sub( it_description = ls_intf-description_sub ).
|
deserialize_descr_sub( it_description = ls_intf-description_sub ).
|
||||||
|
|
||||||
deserialize_docu( is_docu = ls_intf-docu ).
|
deserialize_docu(
|
||||||
|
is_docu = ls_intf-docu
|
||||||
|
ii_xml = io_xml ).
|
||||||
|
|
||||||
mi_object_oriented_object_fct->add_to_activation_list( ms_item ).
|
mi_object_oriented_object_fct->add_to_activation_list( ms_item ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user