Deserialize postprocess (#3461)

* Update 3 objects

* Update zcl_abapgit_exit.clas.abap

Pretty printer didnt work in JAVA GUI, so had to manually change the file

* IS_STEP as input parameter

* Issue in JAVA based GUI

Pretty printer not working for class name in implementation

* Move TY_STEP_DATA to ZIF_ABAPGIT_DEFINITIONS

* try moving ty_deserialization_step

Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
Rakshith Gore 2020-06-08 09:35:49 +05:30 committed by GitHub
parent a94e8902bb
commit 14b9c7d864
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 70 additions and 40 deletions

View File

@ -1,19 +1,13 @@
INTERFACE zif_abapgit_object INTERFACE zif_abapgit_object
PUBLIC . 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 . DATA mo_files TYPE REF TO zcl_abapgit_objects_files .
CONSTANTS: CONSTANTS:
BEGIN OF gc_step_id, BEGIN OF gc_step_id,
abap TYPE ty_deserialization_step VALUE `ABAP`, abap TYPE zif_abapgit_definitions=>ty_deserialization_step VALUE `ABAP`,
ddic TYPE ty_deserialization_step VALUE `DDIC`, ddic TYPE zif_abapgit_definitions=>ty_deserialization_step VALUE `DDIC`,
late TYPE ty_deserialization_step VALUE `LATE`, late TYPE zif_abapgit_definitions=>ty_deserialization_step VALUE `LATE`,
END OF gc_step_id. END OF gc_step_id.
CONSTANTS c_abap_version_sap_cp TYPE progdir-uccheck VALUE '5' ##NO_TEXT. CONSTANTS c_abap_version_sap_cp TYPE progdir-uccheck VALUE '5' ##NO_TEXT.
@ -28,7 +22,7 @@ INTERFACE zif_abapgit_object
IMPORTING IMPORTING
!iv_package TYPE devclass !iv_package TYPE devclass
!io_xml TYPE REF TO zcl_abapgit_xml_input !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 !ii_log TYPE REF TO zif_abapgit_log
RAISING RAISING
zcx_abapgit_exception . zcx_abapgit_exception .
@ -70,5 +64,5 @@ INTERFACE zif_abapgit_object
zcx_abapgit_exception . zcx_abapgit_exception .
METHODS get_deserialize_steps METHODS get_deserialize_steps
RETURNING RETURNING
VALUE(rt_steps) TYPE ty_deserialization_step_tt . VALUE(rt_steps) TYPE zif_abapgit_definitions=>ty_deserialization_step_tt .
ENDINTERFACE. ENDINTERFACE.

View File

@ -119,6 +119,25 @@ CLASS zcl_abapgit_exit IMPLEMENTATION.
ENDMETHOD. 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. METHOD zif_abapgit_exit~get_ssl_id.
TRY. TRY.
@ -143,11 +162,4 @@ CLASS zcl_abapgit_exit IMPLEMENTATION.
ENDTRY. ENDTRY.
ENDMETHOD. 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. ENDCLASS.

View File

@ -20,18 +20,6 @@ CLASS zcl_abapgit_objects DEFINITION
files TYPE zif_abapgit_definitions=>ty_files_tt, files TYPE zif_abapgit_definitions=>ty_files_tt,
item TYPE zif_abapgit_definitions=>ty_item, item TYPE zif_abapgit_definitions=>ty_item,
END OF ty_serialization . 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 CLASS-METHODS serialize
IMPORTING IMPORTING
@ -195,7 +183,7 @@ CLASS zcl_abapgit_objects DEFINITION
zcx_abapgit_exception . zcx_abapgit_exception .
CLASS-METHODS deserialize_objects CLASS-METHODS deserialize_objects
IMPORTING IMPORTING
!is_step TYPE ty_step_data !is_step TYPE zif_abapgit_definitions=>ty_step_data
!ii_log TYPE REF TO zif_abapgit_log !ii_log TYPE REF TO zif_abapgit_log
CHANGING CHANGING
!ct_files TYPE zif_abapgit_definitions=>ty_file_signatures_tt !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 . VALUE(rt_results) TYPE zif_abapgit_definitions=>ty_results_tt .
CLASS-METHODS get_deserialize_steps CLASS-METHODS get_deserialize_steps
RETURNING RETURNING
VALUE(rt_steps) TYPE ty_step_data_tt . VALUE(rt_steps) TYPE zif_abapgit_definitions=>ty_step_data_tt .
ENDCLASS. ENDCLASS.
@ -590,14 +578,14 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
li_progress TYPE REF TO zif_abapgit_progress, li_progress TYPE REF TO zif_abapgit_progress,
lv_path TYPE string, lv_path TYPE string,
lt_items TYPE zif_abapgit_definitions=>ty_items_tt, lt_items TYPE zif_abapgit_definitions=>ty_items_tt,
lt_steps_id TYPE zif_abapgit_object=>ty_deserialization_step_tt, lt_steps_id TYPE zif_abapgit_definitions=>ty_deserialization_step_tt,
lt_steps TYPE ty_step_data_tt, lt_steps TYPE zif_abapgit_definitions=>ty_step_data_tt,
lx_exc TYPE REF TO zcx_abapgit_exception. lx_exc TYPE REF TO zcx_abapgit_exception.
DATA: lo_folder_logic TYPE REF TO zcl_abapgit_folder_logic. DATA: lo_folder_logic TYPE REF TO zcl_abapgit_folder_logic.
FIELD-SYMBOLS: <ls_result> TYPE zif_abapgit_definitions=>ty_result, FIELD-SYMBOLS: <ls_result> TYPE zif_abapgit_definitions=>ty_result,
<lv_step_id> TYPE LINE OF zif_abapgit_object=>ty_deserialization_step_tt, <lv_step_id> TYPE LINE OF zif_abapgit_definitions=>ty_deserialization_step_tt,
<ls_step> TYPE LINE OF ty_step_data_tt, <ls_step> TYPE LINE OF zif_abapgit_definitions=>ty_step_data_tt,
<ls_deser> TYPE LINE OF ty_deserialization_tt. <ls_deser> TYPE LINE OF ty_deserialization_tt.
lt_steps = get_deserialize_steps( ). lt_steps = get_deserialize_steps( ).
@ -749,6 +737,7 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
METHOD deserialize_objects. METHOD deserialize_objects.
DATA: li_progress TYPE REF TO zif_abapgit_progress, 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. lx_exc TYPE REF TO zcx_abapgit_exception.
FIELD-SYMBOLS: <ls_obj> LIKE LINE OF is_step-objects. FIELD-SYMBOLS: <ls_obj> LIKE LINE OF is_step-objects.
@ -784,6 +773,12 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
zcl_abapgit_objects_activation=>activate( is_step-is_ddic ). 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. ENDMETHOD.
@ -902,7 +897,7 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
METHOD get_deserialize_steps. METHOD get_deserialize_steps.
FIELD-SYMBOLS: <ls_step> TYPE LINE OF ty_step_data_tt. FIELD-SYMBOLS: <ls_step> TYPE LINE OF zif_abapgit_definitions=>ty_step_data_tt.
APPEND INITIAL LINE TO rt_steps ASSIGNING <ls_step>. APPEND INITIAL LINE TO rt_steps ASSIGNING <ls_step>.
<ls_step>-step_id = zif_abapgit_object=>gc_step_id-ddic. <ls_step>-step_id = zif_abapgit_object=>gc_step_id-ddic.

View File

@ -386,6 +386,32 @@ INTERFACE zif_abapgit_definitions
length TYPE lvc_outlen, length TYPE lvc_outlen,
END OF ty_alv_column, END OF ty_alv_column,
ty_alv_column_tt TYPE TABLE OF ty_alv_column WITH DEFAULT KEY. 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: CONSTANTS:
BEGIN OF c_git_branch_type, BEGIN OF c_git_branch_type,
branch TYPE ty_git_branch_type VALUE 'HD', 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_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_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 c_spagpa_param_package TYPE c LENGTH 20 VALUE 'PACKAGE' ##NO_TEXT.
CONSTANTS gc_yes TYPE ty_yes_no VALUE 'Y'. CONSTANTS gc_yes TYPE ty_yes_no VALUE 'Y'.
CONSTANTS gc_no TYPE ty_yes_no VALUE 'N'. CONSTANTS gc_no TYPE ty_yes_no VALUE 'N'.
CONSTANTS gc_partial TYPE ty_yes_no_partial VALUE 'P'. CONSTANTS gc_partial TYPE ty_yes_no_partial VALUE 'P'.

View File

@ -48,9 +48,13 @@ INTERFACE zif_abapgit_exit
VALUE(rv_ssl_id) TYPE ssfapplssl . VALUE(rv_ssl_id) TYPE ssfapplssl .
METHODS custom_serialize_abap_clif METHODS custom_serialize_abap_clif
IMPORTING IMPORTING
is_class_key TYPE seoclskey !is_class_key TYPE seoclskey
RETURNING RETURNING
VALUE(rt_source) TYPE zif_abapgit_definitions=>ty_string_tt VALUE(rt_source) TYPE zif_abapgit_definitions=>ty_string_tt
RAISING 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. ENDINTERFACE.