mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
align lcl_repo->get_local_files and lcl_zip->expor
new lcl_log class remove secret export feature, needed for alignment
This commit is contained in:
parent
8cf34838ec
commit
33eaa981f0
|
@ -3,7 +3,7 @@ REPORT zabapgit.
|
||||||
* See http://www.abapgit.org
|
* See http://www.abapgit.org
|
||||||
|
|
||||||
CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT
|
CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT
|
||||||
gc_abap_version TYPE string VALUE 'v1.7.13'. "#EC NOTEXT
|
gc_abap_version TYPE string VALUE 'v1.7.14'. "#EC NOTEXT
|
||||||
|
|
||||||
********************************************************************************
|
********************************************************************************
|
||||||
* The MIT License (MIT)
|
* The MIT License (MIT)
|
||||||
|
@ -146,6 +146,59 @@ CLASS lcx_not_found IMPLEMENTATION.
|
||||||
|
|
||||||
ENDCLASS. "lcx_not_found IMPLEMENTATION
|
ENDCLASS. "lcx_not_found IMPLEMENTATION
|
||||||
|
|
||||||
|
CLASS lcl_log DEFINITION.
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
METHODS:
|
||||||
|
add
|
||||||
|
IMPORTING
|
||||||
|
iv_msgv1 TYPE csequence
|
||||||
|
iv_msgv2 TYPE csequence
|
||||||
|
iv_msgv3 TYPE csequence
|
||||||
|
iv_msgv4 TYPE csequence,
|
||||||
|
count
|
||||||
|
RETURNING VALUE(rv_count) TYPE i,
|
||||||
|
show.
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
DATA: mt_log TYPE rs_t_msg.
|
||||||
|
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
|
CLASS lcl_log IMPLEMENTATION.
|
||||||
|
|
||||||
|
METHOD add.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_log> LIKE LINE OF mt_log.
|
||||||
|
|
||||||
|
APPEND INITIAL LINE TO mt_log ASSIGNING <ls_log>.
|
||||||
|
<ls_log>-msgty = 'W'.
|
||||||
|
<ls_log>-msgid = '00'.
|
||||||
|
<ls_log>-msgno = '001'.
|
||||||
|
<ls_log>-msgv1 = iv_msgv1.
|
||||||
|
<ls_log>-msgv2 = iv_msgv2.
|
||||||
|
<ls_log>-msgv3 = iv_msgv3.
|
||||||
|
<ls_log>-msgv4 = iv_msgv4.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD show.
|
||||||
|
CALL FUNCTION 'RSDC_SHOW_MESSAGES_POPUP'
|
||||||
|
EXPORTING
|
||||||
|
i_t_msg = mt_log
|
||||||
|
i_txt = 'Warning'
|
||||||
|
i_with_s_on_empty = abap_false
|
||||||
|
i_one_msg_direct = abap_false
|
||||||
|
i_one_msg_type_s = abap_false
|
||||||
|
##no_text.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD count.
|
||||||
|
rv_count = lines( mt_log ).
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
* CLASS lcl_zlib_huffman DEFINITION
|
* CLASS lcl_zlib_huffman DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -12500,7 +12553,9 @@ CLASS lcl_repo DEFINITION ABSTRACT.
|
||||||
RETURNING VALUE(rv_name) TYPE string
|
RETURNING VALUE(rv_name) TYPE string
|
||||||
RAISING lcx_exception,
|
RAISING lcx_exception,
|
||||||
get_files_local
|
get_files_local
|
||||||
RETURNING VALUE(rt_files) TYPE ty_files_tt
|
IMPORTING io_log TYPE REF TO lcl_log OPTIONAL
|
||||||
|
iv_show_progress TYPE abap_bool DEFAULT abap_false
|
||||||
|
RETURNING VALUE(rt_files) TYPE ty_files_tt
|
||||||
RAISING lcx_exception,
|
RAISING lcx_exception,
|
||||||
get_files_remote
|
get_files_remote
|
||||||
RETURNING VALUE(rt_files) TYPE ty_files_tt
|
RETURNING VALUE(rt_files) TYPE ty_files_tt
|
||||||
|
@ -12522,6 +12577,11 @@ CLASS lcl_repo DEFINITION ABSTRACT.
|
||||||
mt_remote TYPE ty_files_tt,
|
mt_remote TYPE ty_files_tt,
|
||||||
ms_data TYPE lcl_persistence_repo=>ty_repo.
|
ms_data TYPE lcl_persistence_repo=>ty_repo.
|
||||||
|
|
||||||
|
CLASS-METHODS show_progress
|
||||||
|
IMPORTING iv_current TYPE i
|
||||||
|
iv_total TYPE i
|
||||||
|
iv_obj_name TYPE tadir-obj_name.
|
||||||
|
|
||||||
ENDCLASS. "lcl_repo DEFINITION
|
ENDCLASS. "lcl_repo DEFINITION
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -15378,6 +15438,23 @@ CLASS lcl_repo IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD show_progress.
|
||||||
|
|
||||||
|
DATA: lv_pct TYPE i,
|
||||||
|
lv_text TYPE string,
|
||||||
|
lv_f TYPE f.
|
||||||
|
|
||||||
|
|
||||||
|
lv_f = ( iv_current / iv_total ) * 100.
|
||||||
|
lv_pct = lv_f.
|
||||||
|
lv_text = |{ iv_obj_name } ({ iv_current }/{ iv_total })|.
|
||||||
|
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
|
||||||
|
EXPORTING
|
||||||
|
percentage = lv_pct
|
||||||
|
text = lv_text.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD get_files_local.
|
METHOD get_files_local.
|
||||||
|
|
||||||
DATA: lt_tadir TYPE lcl_tadir=>ty_tadir_tt,
|
DATA: lt_tadir TYPE lcl_tadir=>ty_tadir_tt,
|
||||||
|
@ -15395,8 +15472,25 @@ CLASS lcl_repo IMPLEMENTATION.
|
||||||
|
|
||||||
lt_tadir = lcl_tadir=>read( get_package( ) ).
|
lt_tadir = lcl_tadir=>read( get_package( ) ).
|
||||||
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
|
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
|
||||||
|
IF iv_show_progress = abap_true.
|
||||||
|
show_progress( iv_current = sy-tabix
|
||||||
|
iv_total = lines( lt_tadir )
|
||||||
|
iv_obj_name = <ls_tadir>-obj_name ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ls_item-obj_type = <ls_tadir>-object.
|
ls_item-obj_type = <ls_tadir>-object.
|
||||||
ls_item-obj_name = <ls_tadir>-obj_name.
|
ls_item-obj_name = <ls_tadir>-obj_name.
|
||||||
|
|
||||||
|
IF lcl_objects=>is_supported( ls_item ) = abap_false.
|
||||||
|
IF NOT io_log IS INITIAL.
|
||||||
|
io_log->add( iv_msgv1 = 'Object type ignored, not supported:'
|
||||||
|
iv_msgv2 = ls_item-obj_type
|
||||||
|
iv_msgv3 = '-'
|
||||||
|
iv_msgv4 = ls_item-obj_name ) ##no_text.
|
||||||
|
ENDIF.
|
||||||
|
CONTINUE.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
lt_files = lcl_objects=>serialize( ls_item ).
|
lt_files = lcl_objects=>serialize( ls_item ).
|
||||||
LOOP AT lt_files ASSIGNING <ls_file>.
|
LOOP AT lt_files ASSIGNING <ls_file>.
|
||||||
<ls_file>-path = '/' && <ls_tadir>-path.
|
<ls_file>-path = '/' && <ls_tadir>-path.
|
||||||
|
@ -16170,16 +16264,7 @@ CLASS lcl_zip DEFINITION FINAL.
|
||||||
iv_zip TYPE abap_bool DEFAULT abap_true
|
iv_zip TYPE abap_bool DEFAULT abap_true
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS export
|
|
||||||
IMPORTING iv_package TYPE devclass
|
|
||||||
iv_zip TYPE abap_bool DEFAULT abap_true
|
|
||||||
RAISING lcx_exception.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CLASS-METHODS show_progress
|
|
||||||
IMPORTING iv_current TYPE i
|
|
||||||
iv_total TYPE i
|
|
||||||
iv_obj_name TYPE tadir-obj_name.
|
|
||||||
|
|
||||||
CLASS-METHODS file_upload
|
CLASS-METHODS file_upload
|
||||||
RETURNING VALUE(rv_xstr) TYPE xstring
|
RETURNING VALUE(rv_xstr) TYPE xstring
|
||||||
|
@ -16222,23 +16307,6 @@ ENDCLASS. "lcl_zip DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_zip IMPLEMENTATION.
|
CLASS lcl_zip IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD show_progress.
|
|
||||||
|
|
||||||
DATA: lv_pct TYPE i,
|
|
||||||
lv_text TYPE string,
|
|
||||||
lv_f TYPE f.
|
|
||||||
|
|
||||||
|
|
||||||
lv_f = ( iv_current / iv_total ) * 100.
|
|
||||||
lv_pct = lv_f.
|
|
||||||
lv_text = |{ iv_obj_name } ({ iv_current }/{ iv_total })|.
|
|
||||||
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
|
|
||||||
EXPORTING
|
|
||||||
percentage = lv_pct
|
|
||||||
text = lv_text.
|
|
||||||
|
|
||||||
ENDMETHOD. "show_progress
|
|
||||||
|
|
||||||
METHOD get_message.
|
METHOD get_message.
|
||||||
|
|
||||||
DATA: lv_returncode TYPE c,
|
DATA: lv_returncode TYPE c,
|
||||||
|
@ -16362,7 +16430,7 @@ CLASS lcl_zip IMPLEMENTATION.
|
||||||
CREATE OBJECT lo_zip.
|
CREATE OBJECT lo_zip.
|
||||||
|
|
||||||
LOOP AT it_files ASSIGNING <ls_file>.
|
LOOP AT it_files ASSIGNING <ls_file>.
|
||||||
CONCATENATE <ls_file>-path <ls_file>-filename INTO lv_filename.
|
CONCATENATE <ls_file>-path+1 <ls_file>-filename INTO lv_filename.
|
||||||
lo_zip->add( name = lv_filename
|
lo_zip->add( name = lv_filename
|
||||||
content = <ls_file>-data ).
|
content = <ls_file>-data ).
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
@ -16509,13 +16577,28 @@ CLASS lcl_zip IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD export_key.
|
METHOD export_key.
|
||||||
|
|
||||||
DATA: lo_repo TYPE REF TO lcl_repo.
|
DATA: lo_repo TYPE REF TO lcl_repo,
|
||||||
|
lo_log TYPE REF TO lcl_log,
|
||||||
|
lt_zip TYPE ty_files_tt.
|
||||||
|
|
||||||
|
|
||||||
lo_repo = lcl_repo_srv=>get( iv_key ).
|
lo_repo = lcl_repo_srv=>get( iv_key ).
|
||||||
|
|
||||||
export( iv_package = lo_repo->get_package( )
|
CREATE OBJECT lo_log.
|
||||||
iv_zip = iv_zip ).
|
|
||||||
|
lt_zip = lo_repo->get_files_local( io_log = lo_log
|
||||||
|
iv_show_progress = abap_true ).
|
||||||
|
|
||||||
|
IF lo_log->count( ) > 0.
|
||||||
|
lo_log->show( ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
IF iv_zip = abap_true.
|
||||||
|
file_download( iv_package = lo_repo->get_package( )
|
||||||
|
iv_xstr = encode_files( lt_zip ) ).
|
||||||
|
ELSE.
|
||||||
|
files_commit( lt_zip ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD. "export_key
|
ENDMETHOD. "export_key
|
||||||
|
|
||||||
|
@ -16532,72 +16615,6 @@ CLASS lcl_zip IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD. "import
|
ENDMETHOD. "import
|
||||||
|
|
||||||
METHOD export.
|
|
||||||
* todo, align this method with lcl_repo->get_files_local()
|
|
||||||
|
|
||||||
DATA: lt_tadir TYPE lcl_tadir=>ty_tadir_tt,
|
|
||||||
ls_item TYPE ty_item,
|
|
||||||
lt_msg TYPE rs_t_msg,
|
|
||||||
lt_files TYPE ty_files_tt,
|
|
||||||
lt_zip TYPE ty_files_tt.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_file> LIKE LINE OF lt_files,
|
|
||||||
<ls_msg> LIKE LINE OF lt_msg,
|
|
||||||
<ls_tadir> LIKE LINE OF lt_tadir.
|
|
||||||
|
|
||||||
|
|
||||||
lt_tadir = lcl_tadir=>read( iv_package ).
|
|
||||||
|
|
||||||
IF lt_tadir IS INITIAL.
|
|
||||||
_raise 'Package is empty'.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
|
|
||||||
show_progress( iv_current = sy-tabix
|
|
||||||
iv_total = lines( lt_tadir )
|
|
||||||
iv_obj_name = <ls_tadir>-obj_name ).
|
|
||||||
|
|
||||||
CLEAR ls_item.
|
|
||||||
ls_item-obj_type = <ls_tadir>-object.
|
|
||||||
ls_item-obj_name = <ls_tadir>-obj_name.
|
|
||||||
IF lcl_objects=>is_supported( ls_item ) = abap_false.
|
|
||||||
APPEND INITIAL LINE TO lt_msg ASSIGNING <ls_msg>.
|
|
||||||
<ls_msg>-msgty = 'W'.
|
|
||||||
<ls_msg>-msgid = '00'.
|
|
||||||
<ls_msg>-msgno = '001'.
|
|
||||||
<ls_msg>-msgv1 = 'Object type ignored, not supported:' ##no_text.
|
|
||||||
<ls_msg>-msgv2 = ls_item-obj_type.
|
|
||||||
<ls_msg>-msgv3 = '-'.
|
|
||||||
<ls_msg>-msgv4 = ls_item-obj_name.
|
|
||||||
ELSE.
|
|
||||||
lt_files = lcl_objects=>serialize( ls_item ).
|
|
||||||
LOOP AT lt_files ASSIGNING <ls_file>.
|
|
||||||
<ls_file>-path = <ls_tadir>-path.
|
|
||||||
ENDLOOP.
|
|
||||||
APPEND LINES OF lt_files TO lt_zip.
|
|
||||||
ENDIF.
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
IF lines( lt_msg ) > 0.
|
|
||||||
CALL FUNCTION 'RSDC_SHOW_MESSAGES_POPUP'
|
|
||||||
EXPORTING
|
|
||||||
i_t_msg = lt_msg
|
|
||||||
i_txt = 'Warning'
|
|
||||||
i_with_s_on_empty = abap_false
|
|
||||||
i_one_msg_direct = abap_false
|
|
||||||
i_one_msg_type_s = abap_false
|
|
||||||
##no_text.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
IF iv_zip = abap_true.
|
|
||||||
file_download( iv_package = iv_package
|
|
||||||
iv_xstr = encode_files( lt_zip ) ).
|
|
||||||
ELSE.
|
|
||||||
files_commit( lt_zip ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD. "export
|
|
||||||
|
|
||||||
METHOD files_commit.
|
METHOD files_commit.
|
||||||
|
|
||||||
DATA: lv_folder TYPE string,
|
DATA: lv_folder TYPE string,
|
||||||
|
@ -17626,9 +17643,6 @@ CLASS lcl_gui_page_main DEFINITION FINAL.
|
||||||
es_file TYPE lcl_file_status=>ty_result
|
es_file TYPE lcl_file_status=>ty_result
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS zipexport
|
|
||||||
RAISING lcx_exception.
|
|
||||||
|
|
||||||
CLASS-METHODS abapgit_installation
|
CLASS-METHODS abapgit_installation
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
@ -18489,47 +18503,6 @@ ENDCLASS.
|
||||||
|
|
||||||
CLASS lcl_gui_page_main IMPLEMENTATION.
|
CLASS lcl_gui_page_main IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD zipexport.
|
|
||||||
|
|
||||||
DATA: lv_returncode TYPE c,
|
|
||||||
lv_package TYPE devclass,
|
|
||||||
lt_fields TYPE TABLE OF sval.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields.
|
|
||||||
|
|
||||||
|
|
||||||
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
|
|
||||||
<ls_field>-tabname = 'TDEVC'.
|
|
||||||
<ls_field>-fieldname = 'DEVCLASS'.
|
|
||||||
<ls_field>-fieldtext = 'Package'. "#EC NOTEXT
|
|
||||||
|
|
||||||
CALL FUNCTION 'POPUP_GET_VALUES'
|
|
||||||
EXPORTING
|
|
||||||
no_value_check = abap_true
|
|
||||||
popup_title = 'Export package to ZIP' "#EC NOTEXT
|
|
||||||
IMPORTING
|
|
||||||
returncode = lv_returncode
|
|
||||||
TABLES
|
|
||||||
fields = lt_fields
|
|
||||||
EXCEPTIONS
|
|
||||||
error_in_fields = 1
|
|
||||||
OTHERS = 2.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
_raise 'Error from POPUP_GET_VALUES'.
|
|
||||||
ENDIF.
|
|
||||||
IF lv_returncode = 'A'.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
READ TABLE lt_fields INDEX 1 ASSIGNING <ls_field>.
|
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
lv_package = <ls_field>-value.
|
|
||||||
TRANSLATE lv_package TO UPPER CASE.
|
|
||||||
|
|
||||||
lcl_zip=>export( lv_package ).
|
|
||||||
|
|
||||||
ENDMETHOD. "zipexport
|
|
||||||
|
|
||||||
METHOD diff.
|
METHOD diff.
|
||||||
|
|
||||||
DATA: lt_remote TYPE ty_files_tt,
|
DATA: lt_remote TYPE ty_files_tt,
|
||||||
|
@ -18979,7 +18952,6 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
||||||
ro_html->add( '<td class="logo">' ).
|
ro_html->add( '<td class="logo">' ).
|
||||||
ro_html->add( '<a href="sapevent:abapgithome">' ).
|
ro_html->add( '<a href="sapevent:abapgithome">' ).
|
||||||
ro_html->add( |<img src="{ lcl_gui=>get_logo_src( ) }"></a>| ).
|
ro_html->add( |<img src="{ lcl_gui=>get_logo_src( ) }"></a>| ).
|
||||||
ro_html->add( '<a href="sapevent:zipexport_gui" class="bkg">e</a>' ).
|
|
||||||
ro_html->add( '<a href="sapevent:db" class="bkg">d</a>' ).
|
ro_html->add( '<a href="sapevent:db" class="bkg">d</a>' ).
|
||||||
ro_html->add( '</td>' ).
|
ro_html->add( '</td>' ).
|
||||||
ro_html->add( '<td class="right menu">' ).
|
ro_html->add( '<td class="right menu">' ).
|
||||||
|
@ -19417,8 +19389,6 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
||||||
lv_key = iv_getdata.
|
lv_key = iv_getdata.
|
||||||
lcl_zip=>export_key( iv_key = lv_key
|
lcl_zip=>export_key( iv_key = lv_key
|
||||||
iv_zip = abap_false ).
|
iv_zip = abap_false ).
|
||||||
WHEN 'zipexport_gui'.
|
|
||||||
zipexport( ).
|
|
||||||
WHEN 'abapgit_installation'.
|
WHEN 'abapgit_installation'.
|
||||||
abapgit_installation( ).
|
abapgit_installation( ).
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user