Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 10x 2x 2x 2x 5x 5x 5x 5x 5x 5x 5x 1x 1x 4x 4x 4x 4x 4x 10x 10x 10x 10x 10x 10x 10x 10x 7x 1x 1x 1x 1x 10x 7x 1x | CLASS zcl_abapgit_transport_objects DEFINITION PUBLIC FINAL CREATE PUBLIC . PUBLIC SECTION. METHODS constructor IMPORTING !it_transport_objects TYPE zif_abapgit_definitions=>ty_tadir_tt . METHODS to_stage IMPORTING !io_stage TYPE REF TO zcl_abapgit_stage !is_stage_objects TYPE zif_abapgit_definitions=>ty_stage_files !it_object_statuses TYPE zif_abapgit_definitions=>ty_results_tt RAISING zcx_abapgit_exception . PROTECTED SECTION. PRIVATE SECTION. DATA mt_transport_objects TYPE zif_abapgit_definitions=>ty_tadir_tt . ENDCLASS. CLASS zcl_abapgit_transport_objects IMPLEMENTATION. METHOD constructor. mt_transport_objects = it_transport_objects. ENDMETHOD. METHOD to_stage. DATA: ls_transport_object LIKE LINE OF mt_transport_objects, ls_local_file TYPE zif_abapgit_definitions=>ty_file_item, ls_object_status TYPE zif_abapgit_definitions=>ty_result. LOOP AT mt_transport_objects INTO ls_transport_object. LOOP AT it_object_statuses INTO ls_object_status WHERE obj_name = ls_transport_object-obj_name AND obj_type = ls_transport_object-object AND NOT lstate IS INITIAL. CASE ls_object_status-lstate. WHEN zif_abapgit_definitions=>c_state-added OR zif_abapgit_definitions=>c_state-modified. IF ls_transport_object-delflag = abap_true. zcx_abapgit_exception=>raise( |Object { ls_transport_object-object }| && | { ls_transport_object-obj_name } should be added/modified,| && | but has deletion flag in transport| ). ENDIF. READ TABLE is_stage_objects-local INTO ls_local_file WITH KEY item-obj_name = ls_transport_object-obj_name item-obj_type = ls_transport_object-object file-filename = ls_object_status-filename. IF sy-subrc <> 0. zcx_abapgit_exception=>raise( |Object { ls_transport_object-object }| && | { ls_transport_object-obj_name } not found in the local repository files| ). ELSE. io_stage->add( iv_path = ls_local_file-file-path iv_filename = ls_local_file-file-filename iv_data = ls_local_file-file-data ). ENDIF. WHEN zif_abapgit_definitions=>c_state-deleted. io_stage->rm( iv_path = ls_object_status-path iv_filename = ls_object_status-filename ). WHEN OTHERS. ASSERT 0 = 1. "Unexpected state ENDCASE. ENDLOOP. IF sy-subrc <> 0. " Since not all objects in a transport might be in the local repo " i.e. generated SADL objects, we don't add these objects to " the stage. ENDIF. ENDLOOP. ENDMETHOD. ENDCLASS. |