diff --git a/src/objects/zif_abapgit_object.intf.abap b/src/objects/zif_abapgit_object.intf.abap index e626ab915..7f59d734f 100644 --- a/src/objects/zif_abapgit_object.intf.abap +++ b/src/objects/zif_abapgit_object.intf.abap @@ -1,19 +1,13 @@ INTERFACE zif_abapgit_object PUBLIC . - TYPES: - ty_deserialization_step TYPE string. - TYPES: - ty_deserialization_step_tt TYPE STANDARD TABLE OF ty_deserialization_step - WITH DEFAULT KEY . - DATA mo_files TYPE REF TO zcl_abapgit_objects_files . CONSTANTS: BEGIN OF gc_step_id, - abap TYPE ty_deserialization_step VALUE `ABAP`, - ddic TYPE ty_deserialization_step VALUE `DDIC`, - late TYPE ty_deserialization_step VALUE `LATE`, + abap TYPE zif_abapgit_definitions=>ty_deserialization_step VALUE `ABAP`, + ddic TYPE zif_abapgit_definitions=>ty_deserialization_step VALUE `DDIC`, + late TYPE zif_abapgit_definitions=>ty_deserialization_step VALUE `LATE`, END OF gc_step_id. CONSTANTS c_abap_version_sap_cp TYPE progdir-uccheck VALUE '5' ##NO_TEXT. @@ -28,7 +22,7 @@ INTERFACE zif_abapgit_object IMPORTING !iv_package TYPE devclass !io_xml TYPE REF TO zcl_abapgit_xml_input - !iv_step TYPE ty_deserialization_step + !iv_step TYPE zif_abapgit_definitions=>ty_deserialization_step !ii_log TYPE REF TO zif_abapgit_log RAISING zcx_abapgit_exception . @@ -70,5 +64,5 @@ INTERFACE zif_abapgit_object zcx_abapgit_exception . METHODS get_deserialize_steps RETURNING - VALUE(rt_steps) TYPE ty_deserialization_step_tt . + VALUE(rt_steps) TYPE zif_abapgit_definitions=>ty_deserialization_step_tt . ENDINTERFACE. diff --git a/src/zcl_abapgit_exit.clas.abap b/src/zcl_abapgit_exit.clas.abap index 965b5fb16..1dbf0867f 100644 --- a/src/zcl_abapgit_exit.clas.abap +++ b/src/zcl_abapgit_exit.clas.abap @@ -119,6 +119,25 @@ CLASS zcl_abapgit_exit IMPLEMENTATION. ENDMETHOD. + METHOD zif_abapgit_exit~custom_serialize_abap_clif. + TRY. + rt_source = gi_exit->custom_serialize_abap_clif( is_class_key ). + CATCH cx_sy_ref_is_initial cx_sy_dyn_call_illegal_method ##NO_HANDLER. + ENDTRY. + ENDMETHOD. + + + METHOD zif_abapgit_exit~deserialize_postprocess. + + TRY. + gi_exit->deserialize_postprocess( is_step = is_step + ii_log = ii_log ). + CATCH cx_sy_ref_is_initial cx_sy_dyn_call_illegal_method ##NO_HANDLER. + ENDTRY. + + ENDMETHOD. + + METHOD zif_abapgit_exit~get_ssl_id. TRY. @@ -143,11 +162,4 @@ CLASS zcl_abapgit_exit IMPLEMENTATION. ENDTRY. ENDMETHOD. - - METHOD zif_abapgit_exit~custom_serialize_abap_clif. - TRY. - rt_source = gi_exit->custom_serialize_abap_clif( is_class_key ). - CATCH cx_sy_ref_is_initial cx_sy_dyn_call_illegal_method ##NO_HANDLER. - ENDTRY. - ENDMETHOD. ENDCLASS. diff --git a/src/zcl_abapgit_objects.clas.abap b/src/zcl_abapgit_objects.clas.abap index 007d564be..b72466897 100644 --- a/src/zcl_abapgit_objects.clas.abap +++ b/src/zcl_abapgit_objects.clas.abap @@ -20,18 +20,6 @@ CLASS zcl_abapgit_objects DEFINITION files TYPE zif_abapgit_definitions=>ty_files_tt, item TYPE zif_abapgit_definitions=>ty_item, END OF ty_serialization . - TYPES: - BEGIN OF ty_step_data, - step_id TYPE zif_abapgit_object=>ty_deserialization_step, - order TYPE i, - descr TYPE string, - is_ddic TYPE abap_bool, - syntax_check TYPE abap_bool, - objects TYPE ty_deserialization_tt, - END OF ty_step_data . - TYPES: - ty_step_data_tt TYPE STANDARD TABLE OF ty_step_data - WITH DEFAULT KEY . CLASS-METHODS serialize IMPORTING @@ -195,7 +183,7 @@ CLASS zcl_abapgit_objects DEFINITION zcx_abapgit_exception . CLASS-METHODS deserialize_objects IMPORTING - !is_step TYPE ty_step_data + !is_step TYPE zif_abapgit_definitions=>ty_step_data !ii_log TYPE REF TO zif_abapgit_log CHANGING !ct_files TYPE zif_abapgit_definitions=>ty_file_signatures_tt @@ -240,7 +228,7 @@ CLASS zcl_abapgit_objects DEFINITION VALUE(rt_results) TYPE zif_abapgit_definitions=>ty_results_tt . CLASS-METHODS get_deserialize_steps RETURNING - VALUE(rt_steps) TYPE ty_step_data_tt . + VALUE(rt_steps) TYPE zif_abapgit_definitions=>ty_step_data_tt . ENDCLASS. @@ -590,14 +578,14 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION. li_progress TYPE REF TO zif_abapgit_progress, lv_path TYPE string, lt_items TYPE zif_abapgit_definitions=>ty_items_tt, - lt_steps_id TYPE zif_abapgit_object=>ty_deserialization_step_tt, - lt_steps TYPE ty_step_data_tt, + lt_steps_id TYPE zif_abapgit_definitions=>ty_deserialization_step_tt, + lt_steps TYPE zif_abapgit_definitions=>ty_step_data_tt, lx_exc TYPE REF TO zcx_abapgit_exception. DATA: lo_folder_logic TYPE REF TO zcl_abapgit_folder_logic. FIELD-SYMBOLS: TYPE zif_abapgit_definitions=>ty_result, - TYPE LINE OF zif_abapgit_object=>ty_deserialization_step_tt, - TYPE LINE OF ty_step_data_tt, + TYPE LINE OF zif_abapgit_definitions=>ty_deserialization_step_tt, + TYPE LINE OF zif_abapgit_definitions=>ty_step_data_tt, TYPE LINE OF ty_deserialization_tt. lt_steps = get_deserialize_steps( ). @@ -749,6 +737,7 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION. METHOD deserialize_objects. DATA: li_progress TYPE REF TO zif_abapgit_progress, + li_exit TYPE REF TO zif_abapgit_exit, lx_exc TYPE REF TO zcx_abapgit_exception. FIELD-SYMBOLS: LIKE LINE OF is_step-objects. @@ -784,6 +773,12 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION. zcl_abapgit_objects_activation=>activate( is_step-is_ddic ). +* Call postprocessing + li_exit = zcl_abapgit_exit=>get_instance( ). + + li_exit->deserialize_postprocess( is_step = is_step + ii_log = ii_log ). + ENDMETHOD. @@ -902,7 +897,7 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION. METHOD get_deserialize_steps. - FIELD-SYMBOLS: TYPE LINE OF ty_step_data_tt. + FIELD-SYMBOLS: TYPE LINE OF zif_abapgit_definitions=>ty_step_data_tt. APPEND INITIAL LINE TO rt_steps ASSIGNING . -step_id = zif_abapgit_object=>gc_step_id-ddic. diff --git a/src/zif_abapgit_definitions.intf.abap b/src/zif_abapgit_definitions.intf.abap index 3adbbb9a3..05b7a7c1b 100644 --- a/src/zif_abapgit_definitions.intf.abap +++ b/src/zif_abapgit_definitions.intf.abap @@ -386,6 +386,32 @@ INTERFACE zif_abapgit_definitions length TYPE lvc_outlen, END OF ty_alv_column, ty_alv_column_tt TYPE TABLE OF ty_alv_column WITH DEFAULT KEY. + TYPES: + BEGIN OF ty_deserialization, + obj TYPE REF TO zif_abapgit_object, + xml TYPE REF TO zcl_abapgit_xml_input, + package TYPE devclass, + item TYPE ty_item, + END OF ty_deserialization . + TYPES: + ty_deserialization_tt TYPE STANDARD TABLE OF ty_deserialization WITH DEFAULT KEY . + TYPES: + ty_deserialization_step TYPE string. + TYPES: + ty_deserialization_step_tt TYPE STANDARD TABLE OF ty_deserialization_step + WITH DEFAULT KEY . + TYPES: + BEGIN OF ty_step_data, + step_id TYPE ty_deserialization_step, + order TYPE i, + descr TYPE string, + is_ddic TYPE abap_bool, + syntax_check TYPE abap_bool, + objects TYPE ty_deserialization_tt, + END OF ty_step_data . + TYPES: + ty_step_data_tt TYPE STANDARD TABLE OF ty_step_data + WITH DEFAULT KEY . CONSTANTS: BEGIN OF c_git_branch_type, branch TYPE ty_git_branch_type VALUE 'HD', @@ -492,7 +518,6 @@ INTERFACE zif_abapgit_definitions CONSTANTS c_tag_prefix TYPE string VALUE 'refs/tags/' ##NO_TEXT. CONSTANTS c_spagpa_param_repo_key TYPE c LENGTH 20 VALUE 'REPO_KEY' ##NO_TEXT. CONSTANTS c_spagpa_param_package TYPE c LENGTH 20 VALUE 'PACKAGE' ##NO_TEXT. - CONSTANTS gc_yes TYPE ty_yes_no VALUE 'Y'. CONSTANTS gc_no TYPE ty_yes_no VALUE 'N'. CONSTANTS gc_partial TYPE ty_yes_no_partial VALUE 'P'. diff --git a/src/zif_abapgit_exit.intf.abap b/src/zif_abapgit_exit.intf.abap index 422ff2c25..2140f1240 100644 --- a/src/zif_abapgit_exit.intf.abap +++ b/src/zif_abapgit_exit.intf.abap @@ -48,9 +48,13 @@ INTERFACE zif_abapgit_exit VALUE(rv_ssl_id) TYPE ssfapplssl . METHODS custom_serialize_abap_clif IMPORTING - is_class_key TYPE seoclskey + !is_class_key TYPE seoclskey RETURNING VALUE(rt_source) TYPE zif_abapgit_definitions=>ty_string_tt RAISING - zcx_abapgit_exception. + zcx_abapgit_exception . + METHODS deserialize_postprocess + IMPORTING + !is_step TYPE zif_abapgit_definitions=>ty_step_data + !ii_log TYPE REF TO zif_abapgit_log . ENDINTERFACE.