mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Merge remote-tracking branch 'refs/remotes/larshp/master'
This commit is contained in:
commit
b70c0c845d
|
@ -3,7 +3,7 @@ REPORT zabapgit LINE-SIZE 100.
|
||||||
* 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.26.4'. "#EC NOTEXT
|
gc_abap_version TYPE string VALUE 'v1.26.5'. "#EC NOTEXT
|
||||||
|
|
||||||
********************************************************************************
|
********************************************************************************
|
||||||
* The MIT License (MIT)
|
* The MIT License (MIT)
|
||||||
|
|
|
@ -175,6 +175,8 @@ CLASS lcl_file_status IMPLEMENTATION.
|
||||||
|
|
||||||
" Handle namespaces
|
" Handle namespaces
|
||||||
REPLACE ALL OCCURRENCES OF '#' IN lv_name WITH '/'.
|
REPLACE ALL OCCURRENCES OF '#' IN lv_name WITH '/'.
|
||||||
|
REPLACE ALL OCCURRENCES OF '#' IN lv_type WITH '/'.
|
||||||
|
REPLACE ALL OCCURRENCES OF '#' IN lv_ext WITH '/'.
|
||||||
|
|
||||||
CLEAR es_item.
|
CLEAR es_item.
|
||||||
es_item-obj_type = lv_type.
|
es_item-obj_type = lv_type.
|
||||||
|
|
|
@ -455,8 +455,7 @@ CLASS lcl_objects_files IMPLEMENTATION.
|
||||||
ELSE.
|
ELSE.
|
||||||
lv_obj_name = ms_item-obj_name.
|
lv_obj_name = ms_item-obj_name.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
* handle namespaces
|
|
||||||
REPLACE ALL OCCURRENCES OF '/' IN lv_obj_name WITH '#'.
|
|
||||||
|
|
||||||
IF iv_extra IS INITIAL.
|
IF iv_extra IS INITIAL.
|
||||||
CONCATENATE lv_obj_name '.' ms_item-obj_type '.' iv_ext
|
CONCATENATE lv_obj_name '.' ms_item-obj_type '.' iv_ext
|
||||||
|
@ -465,6 +464,9 @@ CLASS lcl_objects_files IMPLEMENTATION.
|
||||||
CONCATENATE lv_obj_name '.' ms_item-obj_type '.' iv_extra '.' iv_ext
|
CONCATENATE lv_obj_name '.' ms_item-obj_type '.' iv_extra '.' iv_ext
|
||||||
INTO rv_filename. "#EC NOTEXT
|
INTO rv_filename. "#EC NOTEXT
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
* handle namespaces
|
||||||
|
REPLACE ALL OCCURRENCES OF '/' IN rv_filename WITH '#'.
|
||||||
TRANSLATE rv_filename TO LOWER CASE.
|
TRANSLATE rv_filename TO LOWER CASE.
|
||||||
|
|
||||||
ENDMETHOD. "filename
|
ENDMETHOD. "filename
|
||||||
|
|
|
@ -45,8 +45,7 @@ CLASS lcl_gui_page_db_display IMPLEMENTATION.
|
||||||
ls_action-type = ms_key-type.
|
ls_action-type = ms_key-type.
|
||||||
ls_action-value = ms_key-value.
|
ls_action-value = ms_key-value.
|
||||||
lv_action = lcl_html_action_utils=>dbkey_encode( ls_action ).
|
lv_action = lcl_html_action_utils=>dbkey_encode( ls_action ).
|
||||||
lv_data = lcl_xml_pretty=>print( lv_data ).
|
lv_data = lo_highlighter->process_line( lcl_xml_pretty=>print( lv_data ) ).
|
||||||
lv_data = lo_highlighter->process_line( lv_data ).
|
|
||||||
|
|
||||||
CREATE OBJECT ro_html.
|
CREATE OBJECT ro_html.
|
||||||
|
|
||||||
|
@ -107,9 +106,7 @@ CLASS lcl_gui_page_db_edit IMPLEMENTATION.
|
||||||
iv_type = ms_key-type
|
iv_type = ms_key-type
|
||||||
iv_value = ms_key-value ).
|
iv_value = ms_key-value ).
|
||||||
|
|
||||||
lv_data = lcl_xml_pretty=>print( lv_data ).
|
lv_data = escape( val = lcl_xml_pretty=>print( lv_data )
|
||||||
|
|
||||||
lv_data = escape( val = lv_data
|
|
||||||
format = cl_abap_format=>e_html_attr ).
|
format = cl_abap_format=>e_html_attr ).
|
||||||
|
|
||||||
CREATE OBJECT ro_html.
|
CREATE OBJECT ro_html.
|
||||||
|
|
|
@ -81,8 +81,9 @@ CLASS lcl_persistence_db DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app.
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS: validate_xml
|
METHODS: validate_and_unprettify_xml
|
||||||
IMPORTING iv_xml TYPE string
|
IMPORTING iv_xml TYPE string
|
||||||
|
RETURNING VALUE(rv_xml) TYPE string
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
@ -832,29 +833,32 @@ CLASS lcl_persistence_db IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD validate_xml.
|
METHOD validate_and_unprettify_xml.
|
||||||
|
|
||||||
lcl_xml_pretty=>print(
|
rv_xml = lcl_xml_pretty=>print(
|
||||||
iv_xml = iv_xml
|
iv_xml = iv_xml
|
||||||
|
iv_unpretty = abap_true
|
||||||
iv_ignore_errors = abap_false ).
|
iv_ignore_errors = abap_false ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD. " validate_and_unprettify_xml
|
||||||
|
|
||||||
METHOD update.
|
METHOD update.
|
||||||
|
|
||||||
validate_xml( iv_data ).
|
DATA lv_data LIKE iv_data.
|
||||||
|
|
||||||
|
lv_data = validate_and_unprettify_xml( iv_data ).
|
||||||
|
|
||||||
lock( iv_type = iv_type
|
lock( iv_type = iv_type
|
||||||
iv_value = iv_value ).
|
iv_value = iv_value ).
|
||||||
|
|
||||||
UPDATE (c_tabname) SET data_str = iv_data
|
UPDATE (c_tabname) SET data_str = lv_data
|
||||||
WHERE type = iv_type
|
WHERE type = iv_type
|
||||||
AND value = iv_value.
|
AND value = iv_value.
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
lcx_exception=>raise( 'DB update failed' ).
|
lcx_exception=>raise( 'DB update failed' ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD. "update
|
||||||
|
|
||||||
METHOD modify.
|
METHOD modify.
|
||||||
|
|
||||||
|
|
|
@ -301,9 +301,10 @@ CLASS lcl_popups IMPLEMENTATION.
|
||||||
|
|
||||||
DATA: lo_branches TYPE REF TO lcl_git_branch_list,
|
DATA: lo_branches TYPE REF TO lcl_git_branch_list,
|
||||||
lt_branches TYPE lcl_git_branch_list=>ty_git_branch_list_tt,
|
lt_branches TYPE lcl_git_branch_list=>ty_git_branch_list_tt,
|
||||||
lv_head_suffix TYPE string,
|
|
||||||
lv_answer TYPE c LENGTH 1,
|
lv_answer TYPE c LENGTH 1,
|
||||||
lv_default TYPE i VALUE 1, "Default cursor position
|
lv_default TYPE i,
|
||||||
|
lv_head_suffix TYPE string,
|
||||||
|
lv_head_symref TYPE string,
|
||||||
lt_selection TYPE TABLE OF spopli.
|
lt_selection TYPE TABLE OF spopli.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_sel> LIKE LINE OF lt_selection,
|
FIELD-SYMBOLS: <ls_sel> LIKE LINE OF lt_selection,
|
||||||
|
@ -313,28 +314,43 @@ CLASS lcl_popups IMPLEMENTATION.
|
||||||
lo_branches = lcl_git_transport=>branches( iv_url ).
|
lo_branches = lcl_git_transport=>branches( iv_url ).
|
||||||
lt_branches = lo_branches->get_branches_only( ).
|
lt_branches = lo_branches->get_branches_only( ).
|
||||||
lv_head_suffix = | ({ lcl_git_branch_list=>c_head_name })|.
|
lv_head_suffix = | ({ lcl_git_branch_list=>c_head_name })|.
|
||||||
|
lv_head_symref = lo_branches->get_head_symref( ).
|
||||||
|
|
||||||
LOOP AT lt_branches ASSIGNING <ls_branch>.
|
LOOP AT lt_branches ASSIGNING <ls_branch>.
|
||||||
|
|
||||||
IF <ls_branch>-name = lcl_git_branch_list=>c_head_name
|
CHECK <ls_branch>-name IS NOT INITIAL. " To ensure some below ifs
|
||||||
AND <ls_branch>-name <> lo_branches->get_head_symref( ).
|
|
||||||
" HEAD but other HEAD symref exist
|
|
||||||
CONTINUE.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
APPEND INITIAL LINE TO lt_selection ASSIGNING <ls_sel>.
|
IF <ls_branch>-is_head = abap_true.
|
||||||
IF iv_default_branch IS NOT INITIAL AND iv_default_branch = <ls_branch>-name.
|
|
||||||
lv_default = sy-tabix.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
IF <ls_branch>-name = lo_branches->get_head_symref( )
|
IF <ls_branch>-name = lcl_git_branch_list=>c_head_name. " HEAD
|
||||||
AND <ls_branch>-name <> lcl_git_branch_list=>c_head_name.
|
IF <ls_branch>-name <> lv_head_symref AND lv_head_symref IS NOT INITIAL.
|
||||||
" HEAD symref but not HEAD itself
|
" HEAD but other HEAD symref exists - ignore
|
||||||
<ls_sel>-varoption = <ls_branch>-display_name && lv_head_suffix.
|
CONTINUE.
|
||||||
|
ELSE.
|
||||||
|
INSERT INITIAL LINE INTO lt_selection INDEX 1 ASSIGNING <ls_sel>.
|
||||||
|
<ls_sel>-varoption = <ls_branch>-name.
|
||||||
|
ENDIF.
|
||||||
|
ELSE.
|
||||||
|
INSERT INITIAL LINE INTO lt_selection INDEX 1 ASSIGNING <ls_sel>.
|
||||||
|
<ls_sel>-varoption = <ls_branch>-display_name && lv_head_suffix.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
IF lv_default > 0. " Shift down default if set
|
||||||
|
lv_default = lv_default + 1.
|
||||||
|
ENDIF.
|
||||||
ELSE.
|
ELSE.
|
||||||
|
APPEND INITIAL LINE TO lt_selection ASSIGNING <ls_sel>.
|
||||||
<ls_sel>-varoption = <ls_branch>-display_name.
|
<ls_sel>-varoption = <ls_branch>-display_name.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
IF <ls_branch>-name = iv_default_branch.
|
||||||
|
IF <ls_branch>-is_head = abap_true.
|
||||||
|
lv_default = 1.
|
||||||
|
ELSE.
|
||||||
|
lv_default = sy-tabix.
|
||||||
|
ENDIF.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
IF iv_show_new_option = abap_true.
|
IF iv_show_new_option = abap_true.
|
||||||
|
@ -378,7 +394,6 @@ CLASS lcl_popups IMPLEMENTATION.
|
||||||
rs_branch = lo_branches->find_by_name( <ls_branch>-name ).
|
rs_branch = lo_branches->find_by_name( <ls_branch>-name ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD repo_popup.
|
METHOD repo_popup.
|
||||||
|
|
|
@ -374,6 +374,7 @@ CLASS lcl_xml_pretty DEFINITION FINAL.
|
||||||
CLASS-METHODS: print
|
CLASS-METHODS: print
|
||||||
IMPORTING iv_xml TYPE string
|
IMPORTING iv_xml TYPE string
|
||||||
iv_ignore_errors TYPE abap_bool DEFAULT abap_true
|
iv_ignore_errors TYPE abap_bool DEFAULT abap_true
|
||||||
|
iv_unpretty TYPE abap_bool DEFAULT abap_false
|
||||||
RETURNING VALUE(rv_xml) TYPE string
|
RETURNING VALUE(rv_xml) TYPE string
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
@ -394,14 +395,14 @@ CLASS lcl_xml_pretty IMPLEMENTATION.
|
||||||
|
|
||||||
ASSERT NOT iv_xml IS INITIAL.
|
ASSERT NOT iv_xml IS INITIAL.
|
||||||
|
|
||||||
li_ixml = cl_ixml=>create( ).
|
li_ixml = cl_ixml=>create( ).
|
||||||
li_xml_doc = li_ixml->create_document( ).
|
li_xml_doc = li_ixml->create_document( ).
|
||||||
|
|
||||||
li_stream_factory = li_ixml->create_stream_factory( ).
|
li_stream_factory = li_ixml->create_stream_factory( ).
|
||||||
li_istream = li_stream_factory->create_istream_string( iv_xml ).
|
li_istream = li_stream_factory->create_istream_string( iv_xml ).
|
||||||
li_parser = li_ixml->create_parser( stream_factory = li_stream_factory
|
li_parser = li_ixml->create_parser( stream_factory = li_stream_factory
|
||||||
istream = li_istream
|
istream = li_istream
|
||||||
document = li_xml_doc ).
|
document = li_xml_doc ).
|
||||||
li_parser->set_normalizing( abap_true ).
|
li_parser->set_normalizing( abap_true ).
|
||||||
IF li_parser->parse( ) <> 0.
|
IF li_parser->parse( ) <> 0.
|
||||||
IF iv_ignore_errors = abap_true.
|
IF iv_ignore_errors = abap_true.
|
||||||
|
@ -414,12 +415,12 @@ CLASS lcl_xml_pretty IMPLEMENTATION.
|
||||||
li_istream->close( ).
|
li_istream->close( ).
|
||||||
|
|
||||||
|
|
||||||
li_ostream = li_stream_factory->create_ostream_cstring( rv_xml ).
|
li_ostream = li_stream_factory->create_ostream_cstring( rv_xml ).
|
||||||
|
|
||||||
li_renderer = li_ixml->create_renderer( ostream = li_ostream
|
li_renderer = li_ixml->create_renderer( ostream = li_ostream
|
||||||
document = li_xml_doc ).
|
document = li_xml_doc ).
|
||||||
|
|
||||||
li_renderer->set_normalizing( abap_true ).
|
li_renderer->set_normalizing( boolc( iv_unpretty = abap_false ) ).
|
||||||
|
|
||||||
li_renderer->render( ).
|
li_renderer->render( ).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user