mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Merge pull request #1037 from mkaesemann/settingsBuffer
Possible improvement for settings as described in issue #1032
This commit is contained in:
commit
b457546963
|
@ -372,8 +372,9 @@ CLASS lcl_persist_settings DEFINITION FINAL.
|
||||||
METHODS read
|
METHODS read
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(ro_settings) TYPE REF TO lcl_settings.
|
VALUE(ro_settings) TYPE REF TO lcl_settings.
|
||||||
PRIVATE SECTION.
|
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
DATA: mo_settings TYPE REF TO lcl_settings.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -1879,15 +1880,30 @@ CLASS lcl_persist_settings IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD modify.
|
METHOD modify.
|
||||||
|
|
||||||
|
DATA: settings TYPE string.
|
||||||
|
settings = io_settings->get_settings_xml( ).
|
||||||
|
|
||||||
lcl_app=>db( )->modify(
|
lcl_app=>db( )->modify(
|
||||||
iv_type = lcl_settings=>c_dbtype_settings
|
iv_type = lcl_settings=>c_dbtype_settings
|
||||||
iv_value = ''
|
iv_value = ''
|
||||||
iv_data = io_settings->get_settings_xml( ) ).
|
iv_data = settings ).
|
||||||
|
|
||||||
|
" Settings have been modified: Update Buffered Settings
|
||||||
|
IF mo_settings IS BOUND.
|
||||||
|
mo_settings->set_xml_settings( settings ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD read.
|
METHOD read.
|
||||||
|
|
||||||
|
IF mo_settings IS BOUND.
|
||||||
|
" Return Buffered Settings
|
||||||
|
ro_settings = mo_settings.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
" Settings have changed or have not yet been loaded
|
||||||
CREATE OBJECT ro_settings.
|
CREATE OBJECT ro_settings.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -1902,6 +1918,8 @@ CLASS lcl_persist_settings IMPLEMENTATION.
|
||||||
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
|
mo_settings = ro_settings.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user