mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
* interface for progress class * adjust branch overview * adjust git pack * adjust diff page * adjust objects class * adjust activation class * adjust repo online class * adjust serialize class few methods moved * adjust tadir class
This commit is contained in:
parent
1a60384e84
commit
e8b6b0020d
|
@ -84,6 +84,7 @@ CLASS zcl_abapgit_git_pack DEFINITION
|
|||
VALUE(rv_data) TYPE xstring
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
CONSTANTS:
|
||||
|
@ -334,7 +335,7 @@ CLASS ZCL_ABAPGIT_GIT_PACK IMPLEMENTATION.
|
|||
METHOD decode_deltas.
|
||||
|
||||
DATA: ls_object LIKE LINE OF ct_objects,
|
||||
lo_progress TYPE REF TO zcl_abapgit_progress,
|
||||
li_progress TYPE REF TO zif_abapgit_progress,
|
||||
lt_deltas LIKE ct_objects.
|
||||
|
||||
|
||||
|
@ -351,12 +352,10 @@ CLASS ZCL_ABAPGIT_GIT_PACK IMPLEMENTATION.
|
|||
"Restore correct Delta Order
|
||||
SORT lt_deltas BY index.
|
||||
|
||||
CREATE OBJECT lo_progress
|
||||
EXPORTING
|
||||
iv_total = lines( lt_deltas ).
|
||||
li_progress = zcl_abapgit_progress=>get_instance( lines( lt_deltas ) ).
|
||||
|
||||
LOOP AT lt_deltas INTO ls_object.
|
||||
lo_progress->show( iv_current = sy-tabix
|
||||
li_progress->show( iv_current = sy-tabix
|
||||
iv_text = 'Decode deltas' ) ##NO_TEXT.
|
||||
|
||||
delta( EXPORTING is_object = ls_object
|
||||
|
@ -617,7 +616,7 @@ CLASS ZCL_ABAPGIT_GIT_PACK IMPLEMENTATION.
|
|||
lv_adler32 TYPE zif_abapgit_definitions=>ty_adler32,
|
||||
lv_compressed TYPE xstring,
|
||||
lv_xstring TYPE xstring,
|
||||
lo_progress TYPE REF TO zcl_abapgit_progress,
|
||||
li_progress TYPE REF TO zif_abapgit_progress,
|
||||
lv_objects_total TYPE i.
|
||||
|
||||
FIELD-SYMBOLS: <ls_object> LIKE LINE OF it_objects.
|
||||
|
@ -632,13 +631,11 @@ CLASS ZCL_ABAPGIT_GIT_PACK IMPLEMENTATION.
|
|||
|
||||
lv_objects_total = lines( it_objects ).
|
||||
|
||||
CREATE OBJECT lo_progress
|
||||
EXPORTING
|
||||
iv_total = lv_objects_total.
|
||||
li_progress = zcl_abapgit_progress=>get_instance( lv_objects_total ).
|
||||
|
||||
LOOP AT it_objects ASSIGNING <ls_object>.
|
||||
IF sy-tabix MOD 200 = 0.
|
||||
lo_progress->show(
|
||||
li_progress->show(
|
||||
iv_current = sy-tabix
|
||||
iv_text = |Encoding objects ( { sy-tabix } of { lv_objects_total } )| ).
|
||||
ENDIF.
|
||||
|
|
|
@ -138,26 +138,24 @@ CLASS ZCL_ABAPGIT_OBJECTS_ACTIVATION IMPLEMENTATION.
|
|||
|
||||
METHOD activate_new.
|
||||
|
||||
DATA: lo_progress TYPE REF TO zcl_abapgit_progress.
|
||||
DATA: li_progress TYPE REF TO zif_abapgit_progress.
|
||||
|
||||
IF gt_objects IS INITIAL.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
CREATE OBJECT lo_progress
|
||||
EXPORTING
|
||||
iv_total = 100.
|
||||
li_progress = zcl_abapgit_progress=>get_instance( 100 ).
|
||||
|
||||
IF iv_ddic = abap_true.
|
||||
|
||||
lo_progress->show( iv_current = 98
|
||||
li_progress->show( iv_current = 98
|
||||
iv_text = 'Activating DDIC' ).
|
||||
|
||||
activate_ddic( ).
|
||||
|
||||
ELSE.
|
||||
|
||||
lo_progress->show( iv_current = 98
|
||||
li_progress->show( iv_current = 98
|
||||
iv_text = 'Activating non DDIC' ).
|
||||
|
||||
activate_old( ).
|
||||
|
@ -299,16 +297,14 @@ CLASS ZCL_ABAPGIT_OBJECTS_ACTIVATION IMPLEMENTATION.
|
|||
DATA: lv_class LIKE LINE OF gt_classes,
|
||||
lo_cross TYPE REF TO cl_wb_crossreference,
|
||||
lv_include TYPE programm,
|
||||
lo_progress TYPE REF TO zcl_abapgit_progress.
|
||||
li_progress TYPE REF TO zif_abapgit_progress.
|
||||
|
||||
|
||||
CREATE OBJECT lo_progress
|
||||
EXPORTING
|
||||
iv_total = lines( gt_classes ).
|
||||
li_progress = zcl_abapgit_progress=>get_instance( lines( gt_classes ) ).
|
||||
|
||||
LOOP AT gt_classes INTO lv_class.
|
||||
IF sy-tabix MOD 20 = 0.
|
||||
lo_progress->show(
|
||||
li_progress->show(
|
||||
iv_current = sy-tabix
|
||||
iv_text = 'Updating where-used lists' ).
|
||||
ENDIF.
|
||||
|
|
|
@ -617,19 +617,17 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_DIFF IMPLEMENTATION.
|
|||
METHOD render_content.
|
||||
|
||||
DATA: ls_diff_file LIKE LINE OF mt_diff_files,
|
||||
lo_progress TYPE REF TO zcl_abapgit_progress.
|
||||
li_progress TYPE REF TO zif_abapgit_progress.
|
||||
|
||||
|
||||
CREATE OBJECT ro_html.
|
||||
|
||||
CREATE OBJECT lo_progress
|
||||
EXPORTING
|
||||
iv_total = lines( mt_diff_files ).
|
||||
li_progress = zcl_abapgit_progress=>get_instance( lines( mt_diff_files ) ).
|
||||
|
||||
ro_html->add( |<div id="diff-list" data-repo-key="{ mv_repo_key }">| ).
|
||||
ro_html->add( zcl_abapgit_gui_chunk_lib=>render_js_error_banner( ) ).
|
||||
LOOP AT mt_diff_files INTO ls_diff_file.
|
||||
lo_progress->show(
|
||||
li_progress->show(
|
||||
iv_current = sy-tabix
|
||||
iv_text = |Render Diff - { ls_diff_file-filename }| ).
|
||||
|
||||
|
|
|
@ -1,21 +1,24 @@
|
|||
CLASS zcl_abapgit_progress DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
CREATE PROTECTED .
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
METHODS show
|
||||
INTERFACES zif_abapgit_progress .
|
||||
|
||||
CLASS-METHODS get_instance
|
||||
IMPORTING
|
||||
VALUE(iv_current) TYPE i
|
||||
!iv_text TYPE csequence .
|
||||
METHODS constructor
|
||||
IMPORTING
|
||||
!iv_total TYPE i .
|
||||
!iv_total TYPE i
|
||||
RETURNING
|
||||
VALUE(ri_progress) TYPE REF TO zif_abapgit_progress .
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA mv_total TYPE i .
|
||||
|
||||
METHODS constructor
|
||||
IMPORTING
|
||||
!iv_total TYPE i .
|
||||
METHODS calc_pct
|
||||
IMPORTING
|
||||
!iv_current TYPE i
|
||||
|
@ -53,10 +56,19 @@ CLASS ZCL_ABAPGIT_PROGRESS IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD show.
|
||||
METHOD get_instance.
|
||||
|
||||
DATA: lv_pct TYPE i.
|
||||
DATA: lv_time TYPE t.
|
||||
CREATE OBJECT ri_progress TYPE zcl_abapgit_progress
|
||||
EXPORTING
|
||||
iv_total = iv_total.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_progress~show.
|
||||
|
||||
DATA: lv_pct TYPE i,
|
||||
lv_time TYPE t.
|
||||
|
||||
CONSTANTS: lc_wait_secs TYPE i VALUE 2.
|
||||
|
||||
|
|
9
src/utils/zif_abapgit_progress.intf.abap
Normal file
9
src/utils/zif_abapgit_progress.intf.abap
Normal file
|
@ -0,0 +1,9 @@
|
|||
INTERFACE zif_abapgit_progress
|
||||
PUBLIC .
|
||||
|
||||
METHODS show
|
||||
IMPORTING
|
||||
iv_current TYPE i
|
||||
iv_text TYPE csequence .
|
||||
|
||||
ENDINTERFACE.
|
16
src/utils/zif_abapgit_progress.intf.xml
Normal file
16
src/utils/zif_abapgit_progress.intf.xml
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_INTF" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOINTERF>
|
||||
<CLSNAME>ZIF_ABAPGIT_PROGRESS</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Progress indicator</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<STATE>1</STATE>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOINTERF>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -259,7 +259,7 @@ CLASS ZCL_ABAPGIT_BRANCH_OVERVIEW IMPLEMENTATION.
|
|||
METHOD get_git_objects.
|
||||
|
||||
DATA: lo_branch_list TYPE REF TO zcl_abapgit_git_branch_list,
|
||||
lo_progress TYPE REF TO zcl_abapgit_progress,
|
||||
li_progress TYPE REF TO zif_abapgit_progress,
|
||||
lt_branches_and_tags TYPE zif_abapgit_definitions=>ty_git_branch_list_tt,
|
||||
lt_tags TYPE zif_abapgit_definitions=>ty_git_branch_list_tt,
|
||||
ls_tag LIKE LINE OF mt_tags.
|
||||
|
@ -267,11 +267,9 @@ CLASS ZCL_ABAPGIT_BRANCH_OVERVIEW IMPLEMENTATION.
|
|||
FIELD-SYMBOLS: <ls_branch> LIKE LINE OF lt_tags.
|
||||
|
||||
|
||||
CREATE OBJECT lo_progress
|
||||
EXPORTING
|
||||
iv_total = 1.
|
||||
li_progress = zcl_abapgit_progress=>get_instance( 1 ).
|
||||
|
||||
lo_progress->show(
|
||||
li_progress->show(
|
||||
iv_current = 1
|
||||
iv_text = |Get git objects { io_repo->get_name( ) }| ) ##NO_TEXT.
|
||||
|
||||
|
|
|
@ -413,7 +413,7 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
|
|||
METHOD delete.
|
||||
|
||||
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||
lo_progress TYPE REF TO zcl_abapgit_progress,
|
||||
li_progress TYPE REF TO zif_abapgit_progress,
|
||||
lt_tadir LIKE it_tadir,
|
||||
lt_items TYPE zif_abapgit_definitions=>ty_items_tt,
|
||||
lx_error TYPE REF TO zcx_abapgit_exception,
|
||||
|
@ -430,9 +430,7 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
|
|||
TRY.
|
||||
zcl_abapgit_dependencies=>resolve( CHANGING ct_tadir = lt_tadir ).
|
||||
|
||||
CREATE OBJECT lo_progress
|
||||
EXPORTING
|
||||
iv_total = lines( lt_tadir ).
|
||||
li_progress = zcl_abapgit_progress=>get_instance( lines( lt_tadir ) ).
|
||||
|
||||
lt_items = map_tadir_to_items( lt_tadir ).
|
||||
|
||||
|
@ -440,7 +438,7 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
|
|||
it_items = lt_items ).
|
||||
|
||||
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
|
||||
lo_progress->show( iv_current = sy-tabix
|
||||
li_progress->show( iv_current = sy-tabix
|
||||
iv_text = |Delete { <ls_tadir>-obj_name }| ) ##NO_TEXT.
|
||||
|
||||
CLEAR ls_item.
|
||||
|
@ -500,7 +498,7 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
|
|||
lt_ddic TYPE TABLE OF ty_deserialization,
|
||||
lt_rest TYPE TABLE OF ty_deserialization,
|
||||
lt_late TYPE TABLE OF ty_deserialization,
|
||||
lo_progress TYPE REF TO zcl_abapgit_progress,
|
||||
li_progress TYPE REF TO zif_abapgit_progress,
|
||||
lv_path TYPE string,
|
||||
lt_items TYPE zif_abapgit_definitions=>ty_items_tt.
|
||||
DATA: lo_folder_logic TYPE REF TO zcl_abapgit_folder_logic.
|
||||
|
@ -528,9 +526,7 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
|
|||
CHANGING
|
||||
ct_results = lt_results ).
|
||||
|
||||
CREATE OBJECT lo_progress
|
||||
EXPORTING
|
||||
iv_total = lines( lt_results ).
|
||||
li_progress = zcl_abapgit_progress=>get_instance( lines( lt_results ) ).
|
||||
|
||||
lt_items = map_results_to_items( lt_results ).
|
||||
|
||||
|
@ -539,7 +535,7 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
|
|||
|
||||
lo_folder_logic = zcl_abapgit_folder_logic=>get_instance( ).
|
||||
LOOP AT lt_results ASSIGNING <ls_result>.
|
||||
lo_progress->show( iv_current = sy-tabix
|
||||
li_progress->show( iv_current = sy-tabix
|
||||
iv_text = |Deserialize { <ls_result>-obj_name }| ) ##NO_TEXT.
|
||||
|
||||
CLEAR ls_item.
|
||||
|
@ -642,19 +638,17 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
|
|||
|
||||
METHOD deserialize_objects.
|
||||
|
||||
DATA: lo_progress TYPE REF TO zcl_abapgit_progress.
|
||||
DATA: li_progress TYPE REF TO zif_abapgit_progress.
|
||||
|
||||
FIELD-SYMBOLS: <ls_obj> LIKE LINE OF it_objects.
|
||||
|
||||
|
||||
zcl_abapgit_objects_activation=>clear( ).
|
||||
|
||||
CREATE OBJECT lo_progress
|
||||
EXPORTING
|
||||
iv_total = lines( it_objects ).
|
||||
li_progress = zcl_abapgit_progress=>get_instance( lines( it_objects ) ).
|
||||
|
||||
LOOP AT it_objects ASSIGNING <ls_obj>.
|
||||
lo_progress->show(
|
||||
li_progress->show(
|
||||
iv_current = sy-tabix
|
||||
iv_text = |Deserialize { iv_descr } - { <ls_obj>-item-obj_name }| ) ##NO_TEXT.
|
||||
|
||||
|
|
|
@ -75,19 +75,16 @@ CLASS ZCL_ABAPGIT_REPO_ONLINE IMPLEMENTATION.
|
|||
|
||||
METHOD fetch_remote.
|
||||
|
||||
DATA: lo_progress TYPE REF TO zcl_abapgit_progress,
|
||||
DATA: li_progress TYPE REF TO zif_abapgit_progress,
|
||||
ls_pull TYPE zcl_abapgit_git_porcelain=>ty_pull_result.
|
||||
|
||||
IF mv_request_remote_refresh = abap_false.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
CREATE OBJECT lo_progress
|
||||
EXPORTING
|
||||
iv_total = 1.
|
||||
li_progress = zcl_abapgit_progress=>get_instance( 1 ).
|
||||
|
||||
|
||||
lo_progress->show( iv_current = 1
|
||||
li_progress->show( iv_current = 1
|
||||
iv_text = 'Fetch remote files' ) ##NO_TEXT.
|
||||
|
||||
ls_pull = zcl_abapgit_git_porcelain=>pull(
|
||||
|
|
|
@ -58,7 +58,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
||||
CLASS ZCL_ABAPGIT_SERIALIZE IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD add_to_return.
|
||||
|
@ -77,6 +77,13 @@ CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD constructor.
|
||||
IF is_merged( ) = abap_true.
|
||||
gv_max_threads = 1.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD determine_max_threads.
|
||||
|
||||
IF iv_force_sequential = abap_true.
|
||||
|
@ -132,6 +139,21 @@ CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD is_merged.
|
||||
|
||||
DATA lo_marker TYPE REF TO data.
|
||||
|
||||
TRY.
|
||||
CREATE DATA lo_marker TYPE REF TO ('LIF_ABAPMERGE_MARKER') ##no_text.
|
||||
"No exception --> marker found
|
||||
rv_result = abap_true.
|
||||
|
||||
CATCH cx_sy_create_data_error ##no_handler.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD on_end_of_task.
|
||||
|
||||
DATA: lv_result TYPE xstring,
|
||||
|
@ -230,7 +252,7 @@ CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
|||
METHOD serialize.
|
||||
|
||||
DATA: lv_max TYPE i,
|
||||
lo_progress TYPE REF TO zcl_abapgit_progress.
|
||||
li_progress TYPE REF TO zif_abapgit_progress.
|
||||
|
||||
FIELD-SYMBOLS: <ls_tadir> LIKE LINE OF it_tadir.
|
||||
|
||||
|
@ -241,13 +263,11 @@ CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
|||
mv_free = lv_max.
|
||||
mo_log = io_log.
|
||||
|
||||
CREATE OBJECT lo_progress
|
||||
EXPORTING
|
||||
iv_total = lines( it_tadir ).
|
||||
li_progress = zcl_abapgit_progress=>get_instance( lines( it_tadir ) ).
|
||||
|
||||
LOOP AT it_tadir ASSIGNING <ls_tadir>.
|
||||
|
||||
lo_progress->show(
|
||||
li_progress->show(
|
||||
iv_current = sy-tabix
|
||||
iv_text = |Serialize { <ls_tadir>-obj_name }, { lv_max } threads| ) ##NO_TEXT.
|
||||
|
||||
|
@ -269,25 +289,4 @@ CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
|||
rt_files = mt_files.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD constructor.
|
||||
IF is_merged( ) = abap_true.
|
||||
gv_max_threads = 1.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD is_merged.
|
||||
|
||||
DATA lo_marker TYPE REF TO data.
|
||||
|
||||
TRY.
|
||||
CREATE DATA lo_marker TYPE REF TO ('LIF_ABAPMERGE_MARKER') ##no_text.
|
||||
"No exception --> marker found
|
||||
rv_result = abap_true.
|
||||
|
||||
CATCH cx_sy_create_data_error ##no_handler.
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -153,21 +153,19 @@ CLASS ZCL_ABAPGIT_TADIR IMPLEMENTATION.
|
|||
|
||||
METHOD check_exists.
|
||||
|
||||
DATA: lo_progress TYPE REF TO zcl_abapgit_progress,
|
||||
DATA: li_progress TYPE REF TO zif_abapgit_progress,
|
||||
ls_item TYPE zif_abapgit_definitions=>ty_item.
|
||||
|
||||
FIELD-SYMBOLS: <ls_tadir> LIKE LINE OF it_tadir.
|
||||
|
||||
|
||||
CREATE OBJECT lo_progress
|
||||
EXPORTING
|
||||
iv_total = lines( it_tadir ).
|
||||
li_progress = zcl_abapgit_progress=>get_instance( lines( it_tadir ) ).
|
||||
|
||||
* rows from database table TADIR are not removed for
|
||||
* transportable objects until the transport is released
|
||||
LOOP AT it_tadir ASSIGNING <ls_tadir>.
|
||||
IF sy-tabix MOD 200 = 0.
|
||||
lo_progress->show(
|
||||
li_progress->show(
|
||||
iv_current = sy-tabix
|
||||
iv_text = |Check object exists { <ls_tadir>-object } { <ls_tadir>-obj_name }| ).
|
||||
ENDIF.
|
||||
|
|
Loading…
Reference in New Issue
Block a user