From 84a4fe7a32744063f4b16c07a13109607385e12f Mon Sep 17 00:00:00 2001 From: larshp Date: Sun, 6 Mar 2016 11:28:05 +0000 Subject: [PATCH] remove old xml code --- zabapgit.prog.abap | 543 +-------------------------------------------- 1 file changed, 3 insertions(+), 540 deletions(-) diff --git a/zabapgit.prog.abap b/zabapgit.prog.abap index 59d73b650..ac1fccc71 100644 --- a/zabapgit.prog.abap +++ b/zabapgit.prog.abap @@ -1053,544 +1053,6 @@ CLASS lcl_user IMPLEMENTATION. ENDCLASS. "lcl_user IMPLEMENTATION -*----------------------------------------------------------------------* -* CLASS lcl_xml DEFINITION -*----------------------------------------------------------------------* -* -*----------------------------------------------------------------------* -*CLASS lcl_xml DEFINITION FINAL CREATE PUBLIC. -* -* PUBLIC SECTION. -* DATA: mi_xml_doc TYPE REF TO if_ixml_document. -* -* METHODS constructor -* IMPORTING iv_xml TYPE string OPTIONAL -* iv_empty TYPE sap_bool DEFAULT abap_false -* RAISING lcx_exception. -* -* METHODS element_add -* IMPORTING ig_element TYPE data -* iv_name TYPE string OPTIONAL -* ii_root TYPE REF TO if_ixml_element OPTIONAL -* RAISING lcx_exception. -* -* METHODS element_read -* IMPORTING ii_root TYPE REF TO if_ixml_element OPTIONAL -* iv_name TYPE string OPTIONAL -* EXPORTING ev_success TYPE abap_bool -* CHANGING cg_element TYPE data -* RAISING lcx_exception. -* -* METHODS structure_add -* IMPORTING ig_structure TYPE data -* iv_name TYPE string OPTIONAL -* ii_root TYPE REF TO if_ixml_element OPTIONAL -* RAISING lcx_exception. -* -* METHODS structure_read -* IMPORTING ii_root TYPE REF TO if_ixml_element OPTIONAL -* iv_name TYPE string OPTIONAL -* EXPORTING ev_success TYPE abap_bool -* CHANGING cg_structure TYPE data -* RAISING lcx_exception. -* -* METHODS table_add -* IMPORTING it_table TYPE STANDARD TABLE -* iv_name TYPE string OPTIONAL -* iv_stable TYPE abap_bool DEFAULT abap_false -* ii_root TYPE REF TO if_ixml_element OPTIONAL -* RAISING lcx_exception. -* -* METHODS table_read -* IMPORTING ii_root TYPE REF TO if_ixml_element OPTIONAL -* iv_name TYPE string OPTIONAL -* CHANGING ct_table TYPE STANDARD TABLE -* RAISING lcx_exception. -* -* METHODS xml_render -* IMPORTING iv_normalize TYPE sap_bool DEFAULT abap_true -* RETURNING VALUE(rv_string) TYPE string. -* -* METHODS xml_element -* IMPORTING iv_name TYPE string -* RETURNING VALUE(ri_element) TYPE REF TO if_ixml_element. -* -* METHODS xml_add -* IMPORTING ii_root TYPE REF TO if_ixml_element OPTIONAL -* ii_element TYPE REF TO if_ixml_element. -* -* METHODS xml_find -* IMPORTING ii_root TYPE REF TO if_ixml_element OPTIONAL -* iv_name TYPE string -* RETURNING VALUE(ri_element) TYPE REF TO if_ixml_element. -* -* PRIVATE SECTION. -* DATA: mi_ixml TYPE REF TO if_ixml, -* mi_root TYPE REF TO if_ixml_element. -* -* METHODS special_names -* CHANGING cv_name TYPE string. -* -* METHODS display_xml_error -* RAISING lcx_exception. -* -* METHODS error -* IMPORTING ii_parser TYPE REF TO if_ixml_parser -* RAISING lcx_exception. -* -*ENDCLASS. "lcl_xml DEFINITION - -*----------------------------------------------------------------------* -* CLASS lcl_xml IMPLEMENTATION -*----------------------------------------------------------------------* -* -*----------------------------------------------------------------------* -*CLASS lcl_xml IMPLEMENTATION. -* -* METHOD xml_find. -* -* DATA: li_root LIKE ii_root. -* -* -* IF ii_root IS BOUND. -* li_root = ii_root. -* ELSE. -* li_root = mi_root. -* ENDIF. -* -* ri_element = li_root->find_from_name( depth = 0 name = iv_name ). -* IF NOT ri_element IS BOUND. -* RETURN. -* ENDIF. -* li_root->remove_child( ri_element ). -* -* ENDMETHOD. "xml_find -* -* METHOD xml_element. -* -* ri_element = mi_xml_doc->create_element( iv_name ). -* -* ENDMETHOD. "xml_element -* -* METHOD special_names. -* -* IF cv_name(1) = '*'. -* CONCATENATE 'STAR' cv_name+1 INTO cv_name. -* ELSEIF cv_name(1) = '2'. -* CONCATENATE 'TWO' cv_name+1 INTO cv_name. -* ENDIF. -* -* ENDMETHOD. "special_names -* -* METHOD structure_read. -* -* DATA: lv_name TYPE string, -* li_struct TYPE REF TO if_ixml_element, -* lo_typedescr TYPE REF TO cl_abap_typedescr, -* lo_descr_ref TYPE REF TO cl_abap_structdescr. -* -* FIELD-SYMBOLS: TYPE any, -* LIKE LINE OF lo_descr_ref->components. -* -* -* CLEAR cg_structure. -* ev_success = abap_true. -* -* lo_descr_ref ?= cl_abap_typedescr=>describe_by_data( cg_structure ). -* IF iv_name IS INITIAL. -* lv_name = lo_descr_ref->get_relative_name( ). -* IF lv_name IS INITIAL. -* _raise 'no name, structure read'. -* ENDIF. -* ELSE. -* lv_name = iv_name. -* ENDIF. -* -* li_struct = xml_find( ii_root = ii_root -* iv_name = lv_name ). -* IF NOT li_struct IS BOUND. -* ev_success = abap_false. -* RETURN. -* ENDIF. -* -* LOOP AT lo_descr_ref->components ASSIGNING . -* ASSIGN COMPONENT -name OF STRUCTURE cg_structure TO . -* ASSERT sy-subrc = 0. -* -* lv_name = -name. -* special_names( CHANGING cv_name = lv_name ). -* -* lo_typedescr = cl_abap_typedescr=>describe_by_data( ). -* CASE lo_typedescr->kind. -* WHEN cl_abap_typedescr=>kind_table. -* table_read( EXPORTING ii_root = li_struct -* iv_name = lv_name -* CHANGING ct_table = ). -* WHEN cl_abap_typedescr=>kind_struct. -* structure_read( EXPORTING ii_root = li_struct -* iv_name = lv_name -* CHANGING cg_structure = ). -* WHEN cl_abap_typedescr=>kind_elem. -* element_read( EXPORTING ii_root = li_struct -* iv_name = lv_name -* CHANGING cg_element = ). -* WHEN cl_abap_typedescr=>kind_ref. -* CONTINUE. -* WHEN OTHERS. -* _raise 'unknown kind, structure read'. -* ENDCASE. -* ENDLOOP. -* -* ENDMETHOD. "structure_read -* -* METHOD table_read. -* -* DATA: lv_name TYPE string, -* li_root TYPE REF TO if_ixml_element, -* lv_kind TYPE abap_typecategory, -* lv_index TYPE i, -* lv_success TYPE abap_bool, -* lo_data_descr TYPE REF TO cl_abap_datadescr, -* lo_table_descr TYPE REF TO cl_abap_tabledescr. -* -* FIELD-SYMBOLS: TYPE any. -* -* -* CLEAR ct_table[]. -* -* lo_table_descr ?= cl_abap_typedescr=>describe_by_data( ct_table ). -* lv_name = lo_table_descr->get_relative_name( ). -* -* IF lv_name IS INITIAL. -* lv_name = iv_name. -* ENDIF. -* -* IF lv_name IS INITIAL. -* _raise 'no name, table read'. -* ENDIF. -* -* li_root = xml_find( ii_root = ii_root -* iv_name = lv_name ). -* IF NOT li_root IS BOUND. -* RETURN. -* ENDIF. -* -* lo_data_descr = lo_table_descr->get_table_line_type( ). -* lv_kind = lo_data_descr->kind. -* -* DO. -* APPEND INITIAL LINE TO ct_table ASSIGNING . -* CASE lv_kind. -* WHEN cl_abap_typedescr=>kind_struct. -* structure_read( EXPORTING ii_root = li_root -* IMPORTING ev_success = lv_success -* CHANGING cg_structure = ). -* WHEN cl_abap_typedescr=>kind_elem. -* element_read( EXPORTING ii_root = li_root -* IMPORTING ev_success = lv_success -* CHANGING cg_element = ). -* WHEN OTHERS. -* _raise 'unknown kind'. -* ENDCASE. -* -* IF lv_success = abap_false. -* lv_index = lines( ct_table ). -* DELETE ct_table INDEX lv_index. -* ASSERT sy-subrc = 0. -* EXIT. " current loop -* ENDIF. -* ENDDO. -* -* ENDMETHOD. "table_read -* -* METHOD error. -* -* DATA: lv_error TYPE i, -* lv_txt1 TYPE string, -* lv_txt2 TYPE string, -* lv_txt3 TYPE string, -* lv_times TYPE i, -* li_error TYPE REF TO if_ixml_parse_error. -* -* -* IF ii_parser->num_errors( ) <> 0. -* lv_times = ii_parser->num_errors( ). -* DO lv_times TIMES. -* lv_error = sy-index - 1. -* li_error = ii_parser->get_error( lv_error ). -* -* lv_txt1 = li_error->get_column( ). -* CONCATENATE 'Column:' lv_txt1 INTO lv_txt1. "#EC NOTEXT -* lv_txt2 = li_error->get_line( ). -* CONCATENATE 'Line:' lv_txt2 INTO lv_txt2. "#EC NOTEXT -* lv_txt3 = li_error->get_reason( ). -* -* CALL FUNCTION 'POPUP_TO_INFORM' -* EXPORTING -* titel = 'Error from XML parser' "#EC NOTEXT -* txt1 = lv_txt1 -* txt2 = lv_txt2 -* txt3 = lv_txt3. -* ENDDO. -* ENDIF. -* -* _raise 'Error while parsing XML'. -* ENDMETHOD. "error -* -* METHOD constructor. -* -* CONSTANTS: c_version TYPE string VALUE 'version' ##NO_TEXT, -* c_abapgit_tag TYPE string VALUE 'abapGit'. -* -* DATA: li_stream_factory TYPE REF TO if_ixml_stream_factory, -* li_istream TYPE REF TO if_ixml_istream, -* li_version TYPE REF TO if_ixml_node, -* li_parser TYPE REF TO if_ixml_parser. -* -* -* mi_ixml = cl_ixml=>create( ). -* mi_xml_doc = mi_ixml->create_document( ). -* -* IF iv_xml IS SUPPLIED. -* li_stream_factory = mi_ixml->create_stream_factory( ). -* li_istream = li_stream_factory->create_istream_string( iv_xml ). -* li_parser = mi_ixml->create_parser( stream_factory = li_stream_factory -* istream = li_istream -* document = mi_xml_doc ). -* li_parser->set_normalizing( abap_false ). -* IF li_parser->parse( ) <> 0. -* error( li_parser ). -* ENDIF. -* -* li_istream->close( ). -* -* mi_root = mi_xml_doc->find_from_name( depth = 0 name = c_abapgit_tag ). -* -* li_version = mi_root->if_ixml_node~get_attributes( )->get_named_item_ns( c_version ). -* IF li_version->get_value( ) <> gc_xml_version. -* display_xml_error( ). -* ENDIF. -* ELSEIF iv_empty = abap_false. -* mi_root = mi_xml_doc->create_element( c_abapgit_tag ). -* mi_root->set_attribute( name = c_version value = gc_xml_version ). "#EC NOTEXT -* mi_xml_doc->append_child( mi_root ). -* ENDIF. -* ENDMETHOD. "xml_root -* -* METHOD display_xml_error. -* -* DATA: lv_version TYPE string. -* -* -* lv_version = |abapGit version: { gc_abap_version }|. -* -* CALL FUNCTION 'POPUP_TO_INFORM' -* EXPORTING -* titel = 'abapGit XML version mismatch' -* txt1 = 'abapGit XML version mismatch' -* txt2 = 'See https://github.com/larshp/abapGit/wiki/XML-Mismatch' -* txt3 = lv_version. "#EC NOTEXT -* -* _raise 'XML error'. -* -* ENDMETHOD. -* -* METHOD table_add. -* -* DATA: lv_name TYPE string, -* li_table TYPE REF TO if_ixml_element, -* lv_kind TYPE abap_typecategory, -* lo_data_descr TYPE REF TO cl_abap_datadescr, -* lo_table_descr TYPE REF TO cl_abap_tabledescr. -* -* FIELD-SYMBOLS: TYPE any. -* -* -* lo_table_descr ?= cl_abap_typedescr=>describe_by_data( it_table ). -* lv_name = lo_table_descr->get_relative_name( ). -* -* IF lv_name IS INITIAL. -* lv_name = iv_name. -* ENDIF. -* -* IF lv_name IS INITIAL. -* _raise 'no name, table add'. -* ENDIF. -* -* li_table = mi_xml_doc->create_element( lv_name ). -* lo_data_descr = lo_table_descr->get_table_line_type( ). -* lv_kind = lo_data_descr->kind. -* -* LOOP AT it_table ASSIGNING . -* CASE lv_kind. -* WHEN cl_abap_typedescr=>kind_struct. -* structure_add( ig_structure = -* ii_root = li_table ). -* WHEN cl_abap_typedescr=>kind_elem. -* element_add( ig_element = -* ii_root = li_table ). -* WHEN OTHERS. -* _raise 'unknown kind'. -* ENDCASE. -* ENDLOOP. -* -* xml_add( ii_root = ii_root -* ii_element = li_table ). -* -* ENDMETHOD. "table_add -* -* METHOD xml_add. -* -* IF ii_root IS BOUND. -* ii_root->append_child( ii_element ). -* ELSE. -* mi_root->append_child( ii_element ). -* ENDIF. -* -* ENDMETHOD. "xml_add -* -* METHOD element_add. -* -* DATA: lo_descr TYPE REF TO cl_abap_elemdescr, -* lv_string TYPE string, -* li_element TYPE REF TO if_ixml_element, -* li_text TYPE REF TO if_ixml_text, -* lv_name TYPE string. -* -* lo_descr ?= cl_abap_typedescr=>describe_by_data( ig_element ). -* -* IF iv_name IS NOT INITIAL. -* lv_name = iv_name. -* ELSE. -* lv_name = lo_descr->get_relative_name( ). -* IF lv_name IS INITIAL. -* _raise 'no name, element add'. -* ENDIF. -* ENDIF. -* -* li_element = mi_xml_doc->create_element( lv_name ). -* -* lv_string = ig_element. -* li_text = mi_xml_doc->create_text( lv_string ). -* -* li_element->append_child( li_text ). -* -* xml_add( ii_root = ii_root -* ii_element = li_element ). -* -* ENDMETHOD. "element_add -* -* METHOD element_read. -* -* DATA: lo_descr TYPE REF TO cl_abap_elemdescr, -* li_element TYPE REF TO if_ixml_element, -* lv_name TYPE string. -* -* -* ev_success = abap_true. -* -* lo_descr ?= cl_abap_typedescr=>describe_by_data( cg_element ). -* -* IF iv_name IS INITIAL. -* lv_name = lo_descr->get_relative_name( ). -* IF lv_name IS INITIAL. -* _raise 'no name, element read'. -* ENDIF. -* ELSE. -* lv_name = iv_name. -* ENDIF. -* -* li_element = xml_find( ii_root = ii_root -* iv_name = lv_name ). -* IF NOT li_element IS BOUND. -* ev_success = abap_false. -* RETURN. -* ENDIF. -* -* cg_element = li_element->get_value( ). -* -* ENDMETHOD. "element_read -* -* METHOD structure_add. -* -* DATA: li_structure TYPE REF TO if_ixml_element, -* lv_name TYPE string, -* lo_typedescr TYPE REF TO cl_abap_typedescr, -* lo_descr TYPE REF TO cl_abap_structdescr. -* -* FIELD-SYMBOLS: LIKE LINE OF lo_descr->components, -* TYPE any. -* -* -* lo_descr ?= cl_abap_typedescr=>describe_by_data( ig_structure ). -* -* IF iv_name IS INITIAL. -* lv_name = lo_descr->get_relative_name( ). -* IF lv_name IS INITIAL. -* _raise 'no name, structure add'. -* ENDIF. -* ELSE. -* lv_name = iv_name. -* ENDIF. -* li_structure = mi_xml_doc->create_element( lv_name ). -* -* LOOP AT lo_descr->components ASSIGNING . -* ASSIGN COMPONENT -name OF STRUCTURE ig_structure TO . -* ASSERT sy-subrc = 0. -* -* lv_name = -name. -* special_names( CHANGING cv_name = lv_name ). -* -* lo_typedescr = cl_abap_typedescr=>describe_by_data( ). -* CASE lo_typedescr->kind. -* WHEN cl_abap_typedescr=>kind_table. -* table_add( it_table = -* iv_name = lv_name -* ii_root = li_structure ). -* WHEN cl_abap_typedescr=>kind_struct. -* structure_add( ig_structure = -* iv_name = lv_name -* ii_root = li_structure ). -* WHEN cl_abap_typedescr=>kind_elem. -* element_add( ig_element = -* iv_name = lv_name -* ii_root = li_structure ). -* WHEN cl_abap_typedescr=>kind_ref. -* CONTINUE. -* WHEN OTHERS. -* _raise 'unknown kind, structure add'. -* ENDCASE. -* -* ENDLOOP. -* -* xml_add( ii_root = ii_root -* ii_element = li_structure ). -* -* ENDMETHOD. "structure_to_xml -* -* METHOD xml_render. -** will render to codepage UTF-16 -* -* DATA: li_ostream TYPE REF TO if_ixml_ostream, -* li_renderer TYPE REF TO if_ixml_renderer, -* li_streamfactory TYPE REF TO if_ixml_stream_factory. -* -* -* li_streamfactory = mi_ixml->create_stream_factory( ). -* -* li_ostream = li_streamfactory->create_ostream_cstring( rv_string ). -* -* li_renderer = mi_ixml->create_renderer( ostream = li_ostream -* document = mi_xml_doc ). -* IF iv_normalize = abap_true. -* li_renderer->set_normalizing( ). -* ENDIF. -* li_renderer->render( ). -* -* ENDMETHOD. "xml_render -* -*ENDCLASS. "lcl_xml IMPLEMENTATION - CLASS lcl_xml DEFINITION ABSTRACT. PUBLIC SECTION. @@ -1653,7 +1115,8 @@ CLASS lcl_xml IMPLEMENTATION. li_istream->close( ). li_element = mi_xml_doc->find_from_name( depth = 0 name = c_abapgit_tag ). - li_version = li_element->if_ixml_node~get_attributes( )->get_named_item_ns( 'version' ). + li_version = li_element->if_ixml_node~get_attributes( + )->get_named_item_ns( 'version' ). ##NO_TEXT IF li_version->get_value( ) <> gc_xml_version. display_xml_error( ). ENDIF. @@ -1855,7 +1318,7 @@ CLASS lcl_xml_input IMPLEMENTATION. CALL TRANSFORMATION id OPTIONS value_handling = 'accept_data_loss' SOURCE XML mi_xml_doc - RESULT (lt_rtab). + RESULT (lt_rtab) ##NO_TEXT. CATCH cx_transformation_error INTO lx_error. lv_text = lx_error->if_message~get_text( ). _raise lv_text.