mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
validate xml, close #246
This commit is contained in:
parent
0a57243e53
commit
106008b04e
|
@ -18,7 +18,8 @@ CLASS lcl_dot_abapgit DEFINITION CREATE PRIVATE FINAL FRIENDS ltcl_dot_abapgit.
|
|||
|
||||
METHODS:
|
||||
serialize
|
||||
RETURNING VALUE(rv_xstr) TYPE xstring,
|
||||
RETURNING VALUE(rv_xstr) TYPE xstring
|
||||
RAISING lcx_exception,
|
||||
add_ignore
|
||||
IMPORTING iv_path TYPE string
|
||||
iv_filename TYPE string,
|
||||
|
@ -54,7 +55,8 @@ CLASS lcl_dot_abapgit DEFINITION CREATE PRIVATE FINAL FRIENDS ltcl_dot_abapgit.
|
|||
CLASS-METHODS:
|
||||
to_xml
|
||||
IMPORTING is_data TYPE ty_dot_abapgit
|
||||
RETURNING VALUE(rv_xml) TYPE string,
|
||||
RETURNING VALUE(rv_xml) TYPE string
|
||||
RAISING lcx_exception,
|
||||
from_xml
|
||||
IMPORTING iv_xml TYPE string
|
||||
RETURNING VALUE(rs_data) TYPE ty_dot_abapgit.
|
||||
|
|
|
@ -12,12 +12,16 @@ CLASS lcl_persistence_migrate DEFINITION FINAL.
|
|||
c_text TYPE string VALUE 'Generated by abapGit' ##NO_TEXT.
|
||||
|
||||
CLASS-METHODS:
|
||||
migrate_repo RAISING lcx_exception,
|
||||
migrate_user RAISING lcx_exception,
|
||||
table_create RAISING lcx_exception,
|
||||
migrate_repo
|
||||
RAISING lcx_exception,
|
||||
migrate_user
|
||||
RAISING lcx_exception,
|
||||
table_create
|
||||
RAISING lcx_exception,
|
||||
table_exists
|
||||
RETURNING VALUE(rv_exists) TYPE abap_bool,
|
||||
lock_create RAISING lcx_exception,
|
||||
lock_create
|
||||
RAISING lcx_exception,
|
||||
lock_exists
|
||||
RETURNING VALUE(rv_exists) TYPE abap_bool.
|
||||
|
||||
|
@ -40,46 +44,45 @@ CLASS lcl_persistence_db DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app.
|
|||
END OF ty_content,
|
||||
tt_content TYPE SORTED TABLE OF ty_content WITH UNIQUE KEY type value.
|
||||
|
||||
METHODS list_by_type
|
||||
IMPORTING iv_type TYPE ty_type
|
||||
RETURNING VALUE(rt_content) TYPE tt_content.
|
||||
METHODS:
|
||||
list_by_type
|
||||
IMPORTING iv_type TYPE ty_type
|
||||
RETURNING VALUE(rt_content) TYPE tt_content,
|
||||
list
|
||||
RETURNING VALUE(rt_content) TYPE tt_content,
|
||||
add
|
||||
IMPORTING iv_type TYPE ty_type
|
||||
iv_value TYPE ty_content-value
|
||||
iv_data TYPE ty_content-data_str
|
||||
RAISING lcx_exception,
|
||||
delete
|
||||
IMPORTING iv_type TYPE ty_type
|
||||
iv_value TYPE ty_content-value
|
||||
RAISING lcx_exception,
|
||||
update
|
||||
IMPORTING iv_type TYPE ty_type
|
||||
iv_value TYPE ty_content-value
|
||||
iv_data TYPE ty_content-data_str
|
||||
RAISING lcx_exception,
|
||||
modify
|
||||
IMPORTING iv_type TYPE ty_type
|
||||
iv_value TYPE ty_content-value
|
||||
iv_data TYPE ty_content-data_str
|
||||
RAISING lcx_exception,
|
||||
read
|
||||
IMPORTING iv_type TYPE ty_type
|
||||
iv_value TYPE ty_content-value
|
||||
RETURNING VALUE(rv_data) TYPE ty_content-data_str
|
||||
RAISING lcx_not_found,
|
||||
lock
|
||||
IMPORTING iv_mode TYPE enqmode DEFAULT 'E'
|
||||
iv_type TYPE ty_type
|
||||
iv_value TYPE ty_content-value
|
||||
RAISING lcx_exception.
|
||||
|
||||
METHODS list
|
||||
RETURNING VALUE(rt_content) TYPE tt_content.
|
||||
|
||||
METHODS add
|
||||
IMPORTING iv_type TYPE ty_type
|
||||
iv_value TYPE ty_content-value
|
||||
iv_data TYPE ty_content-data_str
|
||||
RAISING lcx_exception.
|
||||
|
||||
METHODS delete
|
||||
IMPORTING iv_type TYPE ty_type
|
||||
iv_value TYPE ty_content-value
|
||||
RAISING lcx_exception.
|
||||
|
||||
METHODS update
|
||||
IMPORTING iv_type TYPE ty_type
|
||||
iv_value TYPE ty_content-value
|
||||
iv_data TYPE ty_content-data_str
|
||||
RAISING lcx_exception.
|
||||
|
||||
METHODS modify
|
||||
IMPORTING iv_type TYPE ty_type
|
||||
iv_value TYPE ty_content-value
|
||||
iv_data TYPE ty_content-data_str
|
||||
RAISING lcx_exception.
|
||||
|
||||
METHODS read
|
||||
IMPORTING iv_type TYPE ty_type
|
||||
iv_value TYPE ty_content-value
|
||||
RETURNING VALUE(rv_data) TYPE ty_content-data_str
|
||||
RAISING lcx_not_found.
|
||||
|
||||
METHODS lock
|
||||
IMPORTING iv_mode TYPE enqmode DEFAULT 'E'
|
||||
iv_type TYPE ty_type
|
||||
iv_value TYPE ty_content-value
|
||||
PRIVATE SECTION.
|
||||
METHODS: validate_xml
|
||||
IMPORTING iv_xml TYPE string
|
||||
RAISING lcx_exception.
|
||||
|
||||
ENDCLASS.
|
||||
|
@ -1128,8 +1131,18 @@ CLASS lcl_persistence_db IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD validate_xml.
|
||||
|
||||
lcl_xml_pretty=>print(
|
||||
iv_xml = iv_xml
|
||||
iv_ignore_errors = abap_false ).
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD update.
|
||||
|
||||
validate_xml( iv_data ).
|
||||
|
||||
lock( iv_type = iv_type
|
||||
iv_value = iv_value ).
|
||||
|
||||
|
|
|
@ -358,8 +358,10 @@ CLASS lcl_xml_pretty DEFINITION FINAL.
|
|||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS: print
|
||||
IMPORTING iv_xml TYPE string
|
||||
RETURNING VALUE(rv_xml) TYPE string.
|
||||
IMPORTING iv_xml TYPE string
|
||||
iv_ignore_errors TYPE abap_bool DEFAULT abap_true
|
||||
RETURNING VALUE(rv_xml) TYPE string
|
||||
RAISING lcx_exception.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
@ -388,9 +390,12 @@ CLASS lcl_xml_pretty IMPLEMENTATION.
|
|||
document = li_xml_doc ).
|
||||
li_parser->set_normalizing( abap_true ).
|
||||
IF li_parser->parse( ) <> 0.
|
||||
* ignore errors
|
||||
rv_xml = iv_xml.
|
||||
RETURN.
|
||||
IF iv_ignore_errors = abap_true.
|
||||
rv_xml = iv_xml.
|
||||
RETURN.
|
||||
ELSE.
|
||||
_raise 'error parsing xml'.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
li_istream->close( ).
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user