mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Save Settings as single Record
Settings are now saved as single record in XML format A migration is done on startup
This commit is contained in:
parent
ef2cf18015
commit
b268c85415
|
@ -2,6 +2,8 @@
|
||||||
*& Include ZABAPGIT_PERSISTENCE
|
*& Include ZABAPGIT_PERSISTENCE
|
||||||
*&---------------------------------------------------------------------*
|
*&---------------------------------------------------------------------*
|
||||||
|
|
||||||
|
CLASS lcl_settings DEFINITION DEFERRED.
|
||||||
|
|
||||||
CLASS lcl_persist_migrate DEFINITION FINAL.
|
CLASS lcl_persist_migrate DEFINITION FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
@ -12,6 +14,8 @@ CLASS lcl_persist_migrate DEFINITION FINAL.
|
||||||
c_text TYPE string VALUE 'Generated by abapGit' ##NO_TEXT.
|
c_text TYPE string VALUE 'Generated by abapGit' ##NO_TEXT.
|
||||||
|
|
||||||
CLASS-METHODS:
|
CLASS-METHODS:
|
||||||
|
migrate_settings
|
||||||
|
RAISING lcx_exception,
|
||||||
migrate_repo
|
migrate_repo
|
||||||
RAISING lcx_exception,
|
RAISING lcx_exception,
|
||||||
migrate_user
|
migrate_user
|
||||||
|
@ -113,7 +117,7 @@ CLASS lcl_persistence_repo DEFINITION FINAL.
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_repo,
|
TYPES: BEGIN OF ty_repo,
|
||||||
key TYPE lcl_persistence_db=>ty_value.
|
key TYPE lcl_persistence_db=>ty_value.
|
||||||
INCLUDE TYPE ty_repo_xml.
|
INCLUDE TYPE ty_repo_xml.
|
||||||
TYPES: END OF ty_repo.
|
TYPES: END OF ty_repo.
|
||||||
TYPES: tt_repo TYPE STANDARD TABLE OF ty_repo WITH DEFAULT KEY.
|
TYPES: tt_repo TYPE STANDARD TABLE OF ty_repo WITH DEFAULT KEY.
|
||||||
TYPES: tt_repo_keys TYPE STANDARD TABLE OF ty_repo-key WITH DEFAULT KEY.
|
TYPES: tt_repo_keys TYPE STANDARD TABLE OF ty_repo-key WITH DEFAULT KEY.
|
||||||
|
@ -230,7 +234,7 @@ CLASS lcl_persist_background DEFINITION FINAL.
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_background,
|
TYPES: BEGIN OF ty_background,
|
||||||
key TYPE lcl_persistence_db=>ty_value.
|
key TYPE lcl_persistence_db=>ty_value.
|
||||||
INCLUDE TYPE ty_xml.
|
INCLUDE TYPE ty_xml.
|
||||||
TYPES: END OF ty_background.
|
TYPES: END OF ty_background.
|
||||||
TYPES: tt_background TYPE STANDARD TABLE OF ty_background WITH DEFAULT KEY.
|
TYPES: tt_background TYPE STANDARD TABLE OF ty_background WITH DEFAULT KEY.
|
||||||
|
|
||||||
|
@ -270,6 +274,99 @@ CLASS lcl_persist_background DEFINITION FINAL.
|
||||||
|
|
||||||
ENDCLASS. "lcl_persistence_background DEFINITION
|
ENDCLASS. "lcl_persistence_background DEFINITION
|
||||||
|
|
||||||
|
|
||||||
|
CLASS lcl_settings DEFINITION FINAL.
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
CONSTANTS: c_commitmsg_comment_length_dft TYPE i VALUE 50.
|
||||||
|
CONSTANTS: c_commitmsg_body_size_dft TYPE i VALUE 72.
|
||||||
|
CONSTANTS: c_dbtype_settings TYPE lcl_persistence_db=>ty_type VALUE 'SETTINGS' ##NO_TEXT.
|
||||||
|
|
||||||
|
METHODS set_proxy_url
|
||||||
|
IMPORTING
|
||||||
|
iv_url TYPE string.
|
||||||
|
METHODS set_proxy_port
|
||||||
|
IMPORTING
|
||||||
|
iv_port TYPE string.
|
||||||
|
METHODS set_proxy_authentication
|
||||||
|
IMPORTING
|
||||||
|
iv_auth TYPE abap_bool.
|
||||||
|
METHODS get_proxy_url
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_proxy_url) TYPE string.
|
||||||
|
METHODS get_proxy_port
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_port) TYPE string.
|
||||||
|
METHODS get_proxy_authentication
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_auth) TYPE abap_bool.
|
||||||
|
METHODS set_run_critical_tests
|
||||||
|
IMPORTING
|
||||||
|
iv_run TYPE abap_bool.
|
||||||
|
METHODS
|
||||||
|
get_run_critical_tests
|
||||||
|
RETURNING VALUE(rv_run) TYPE abap_bool.
|
||||||
|
METHODS set_max_lines
|
||||||
|
IMPORTING iv_lines TYPE i.
|
||||||
|
METHODS get_max_lines
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_lines) TYPE i.
|
||||||
|
METHODS set_adt_jump_enanbled
|
||||||
|
IMPORTING iv_adt_jump_enabled TYPE abap_bool.
|
||||||
|
METHODS get_adt_jump_enabled
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_adt_jump_enabled) TYPE abap_bool.
|
||||||
|
METHODS set_commitmsg_comment_length
|
||||||
|
IMPORTING iv_length TYPE i.
|
||||||
|
METHODS get_commitmsg_comment_length
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_length) TYPE i.
|
||||||
|
METHODS set_commitmsg_body_size
|
||||||
|
IMPORTING iv_length TYPE i.
|
||||||
|
METHODS get_commitmsg_body_size
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_length) TYPE i.
|
||||||
|
METHODS get_settings_xml
|
||||||
|
RETURNING VALUE(ev_settings_xml) TYPE string
|
||||||
|
RAISING lcx_exception.
|
||||||
|
METHODS set_xml_settings
|
||||||
|
IMPORTING iv_settings_xml TYPE string
|
||||||
|
RAISING lcx_exception.
|
||||||
|
METHODS set_defaults.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
TYPES: BEGIN OF ty_s_settings,
|
||||||
|
proxy_url TYPE string,
|
||||||
|
proxy_port TYPE string,
|
||||||
|
proxy_auth TYPE string,
|
||||||
|
run_critical_tests TYPE abap_bool,
|
||||||
|
max_lines TYPE i,
|
||||||
|
adt_jump_enabled TYPE abap_bool,
|
||||||
|
commitmsg_comment_length TYPE i,
|
||||||
|
commitmsg_body_size TYPE i,
|
||||||
|
END OF ty_s_settings.
|
||||||
|
DATA: ms_settings TYPE ty_s_settings.
|
||||||
|
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
|
CLASS lcl_persist_settings DEFINITION FINAL.
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
METHODS modify
|
||||||
|
IMPORTING
|
||||||
|
io_settings TYPE REF TO lcl_settings
|
||||||
|
RAISING
|
||||||
|
lcx_exception.
|
||||||
|
METHODS read
|
||||||
|
RETURNING
|
||||||
|
VALUE(ro_settings) TYPE REF TO lcl_settings.
|
||||||
|
PRIVATE SECTION.
|
||||||
|
|
||||||
|
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS lcl_persist_background IMPLEMENTATION.
|
CLASS lcl_persist_background IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
@ -1284,10 +1381,111 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
|
||||||
|
|
||||||
migrate_repo( ).
|
migrate_repo( ).
|
||||||
migrate_user( ).
|
migrate_user( ).
|
||||||
|
migrate_settings( ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD migrate_settings.
|
||||||
|
|
||||||
|
DATA: lr_settings TYPE REF TO lcl_settings.
|
||||||
|
DATA: lr_persist_settings TYPE REF TO lcl_persist_settings.
|
||||||
|
DATA: lv_critical_tests_as_string TYPE string.
|
||||||
|
DATA: lv_critical_tests_as_boolean TYPE abap_bool.
|
||||||
|
DATA: lv_max_lines_as_string TYPE string.
|
||||||
|
DATA: lv_flag TYPE abap_bool.
|
||||||
|
DATA: lv_max_lines_as_integer TYPE i.
|
||||||
|
DATA: lv_s_param_value TYPE string.
|
||||||
|
DATA: lv_i_param_value TYPE i.
|
||||||
|
DATA: lv_adt_jump_enabled_as_string TYPE string.
|
||||||
|
DATA: lv_adt_jump_enabled_as_boolean TYPE abap_bool.
|
||||||
|
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
lcl_app=>db( )->read(
|
||||||
|
iv_type = 'SETTINGS'
|
||||||
|
iv_value = '' ).
|
||||||
|
CATCH lcx_not_found.
|
||||||
|
|
||||||
|
CREATE OBJECT lr_persist_settings.
|
||||||
|
CREATE OBJECT lr_settings.
|
||||||
|
lr_settings->set_defaults( ).
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
lr_settings->set_proxy_url(
|
||||||
|
lcl_app=>db( )->read(
|
||||||
|
iv_type = 'SETTINGS'
|
||||||
|
iv_value = 'PROXY_URL' ) ).
|
||||||
|
CATCH lcx_not_found.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
lr_settings->set_proxy_port(
|
||||||
|
lcl_app=>db( )->read(
|
||||||
|
iv_type = 'SETTINGS'
|
||||||
|
iv_value = 'PROXY_PORT' ) ).
|
||||||
|
CATCH lcx_not_found.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
lv_flag = lcl_app=>db( )->read(
|
||||||
|
iv_type = 'SETTINGS'
|
||||||
|
iv_value = 'PROXY_AUTH' ).
|
||||||
|
lr_settings->set_proxy_authentication( lv_flag ).
|
||||||
|
CATCH lcx_not_found.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
lv_critical_tests_as_string = lcl_app=>db( )->read(
|
||||||
|
iv_type = 'SETTINGS'
|
||||||
|
iv_value = 'CRIT_TESTS' ).
|
||||||
|
lv_critical_tests_as_boolean = lv_critical_tests_as_string.
|
||||||
|
lr_settings->set_run_critical_tests( lv_critical_tests_as_boolean ).
|
||||||
|
CATCH lcx_not_found.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
lv_max_lines_as_string = lcl_app=>db( )->read(
|
||||||
|
iv_type = 'SETTINGS'
|
||||||
|
iv_value = 'MAX_LINES' ).
|
||||||
|
lv_max_lines_as_integer = lv_max_lines_as_string.
|
||||||
|
lr_settings->set_max_lines( lv_max_lines_as_integer ).
|
||||||
|
CATCH lcx_not_found cx_sy_conversion_no_number.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
lv_adt_jump_enabled_as_string = lcl_app=>db( )->read(
|
||||||
|
iv_type = 'SETTINGS'
|
||||||
|
iv_value = 'ADT_JUMP' ).
|
||||||
|
lv_adt_jump_enabled_as_boolean = lv_adt_jump_enabled_as_string.
|
||||||
|
lr_settings->set_adt_jump_enanbled( lv_adt_jump_enabled_as_boolean ).
|
||||||
|
CATCH lcx_not_found.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
lv_s_param_value = lcl_app=>db( )->read(
|
||||||
|
iv_type = 'SETTINGS'
|
||||||
|
iv_value = 'COMMENT_LEN' ).
|
||||||
|
lv_i_param_value = lv_s_param_value.
|
||||||
|
lr_settings->set_commitmsg_comment_length( lv_i_param_value ).
|
||||||
|
CATCH lcx_not_found cx_sy_conversion_no_number.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
lv_s_param_value = lcl_app=>db( )->read(
|
||||||
|
iv_type = 'SETTINGS'
|
||||||
|
iv_value = 'BODY_SIZE' ).
|
||||||
|
lv_i_param_value = lv_s_param_value.
|
||||||
|
lr_settings->set_commitmsg_body_size( lv_i_param_value ).
|
||||||
|
CATCH lcx_not_found cx_sy_conversion_no_number.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
lr_persist_settings->modify( io_settings = lr_settings ).
|
||||||
|
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD migrate_repo.
|
METHOD migrate_repo.
|
||||||
|
|
||||||
DATA: lt_repo TYPE lcl_persistence=>ty_repos_persi_tt,
|
DATA: lt_repo TYPE lcl_persistence=>ty_repos_persi_tt,
|
||||||
|
@ -1531,148 +1729,115 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS lcl_settings DEFINITION FINAL.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
CONSTANTS: c_commitmsg_comment_length_dft TYPE i VALUE 50.
|
|
||||||
CONSTANTS: c_commitmsg_body_size_dft TYPE i VALUE 72.
|
|
||||||
|
|
||||||
METHODS set_proxy_url
|
|
||||||
IMPORTING
|
|
||||||
iv_url TYPE string.
|
|
||||||
METHODS set_proxy_port
|
|
||||||
IMPORTING
|
|
||||||
iv_port TYPE string.
|
|
||||||
METHODS set_proxy_authentication
|
|
||||||
IMPORTING
|
|
||||||
iv_auth TYPE abap_bool.
|
|
||||||
METHODS get_proxy_url
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_proxy_url) TYPE string.
|
|
||||||
METHODS get_proxy_port
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_port) TYPE string.
|
|
||||||
METHODS get_proxy_authentication
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_auth) TYPE abap_bool.
|
|
||||||
METHODS set_run_critical_tests
|
|
||||||
IMPORTING
|
|
||||||
iv_run TYPE abap_bool.
|
|
||||||
METHODS
|
|
||||||
get_run_critical_tests
|
|
||||||
RETURNING VALUE(rv_run) TYPE abap_bool.
|
|
||||||
METHODS set_max_lines
|
|
||||||
IMPORTING iv_lines TYPE i.
|
|
||||||
METHODS get_max_lines
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_lines) TYPE i.
|
|
||||||
METHODS set_adt_jump_enanbled
|
|
||||||
IMPORTING iv_adt_jump_enabled TYPE abap_bool.
|
|
||||||
METHODS get_adt_jump_enabled
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_adt_jump_enabled) TYPE abap_bool.
|
|
||||||
METHODS set_commitmsg_comment_length
|
|
||||||
IMPORTING iv_length TYPE i.
|
|
||||||
METHODS get_commitmsg_comment_length
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_length) TYPE i.
|
|
||||||
METHODS set_commitmsg_body_size
|
|
||||||
IMPORTING iv_length TYPE i.
|
|
||||||
METHODS get_commitmsg_body_size
|
|
||||||
RETURNING
|
|
||||||
VALUE(rv_length) TYPE i.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
|
||||||
DATA: mv_proxy_url TYPE string,
|
|
||||||
mv_proxy_port TYPE string,
|
|
||||||
mv_proxy_auth TYPE string,
|
|
||||||
mv_run_critical_tests TYPE abap_bool,
|
|
||||||
mv_lines TYPE i,
|
|
||||||
mv_adt_jump_enabled TYPE abap_bool,
|
|
||||||
mv_commitmsg_comment_length TYPE i,
|
|
||||||
mv_commitmsg_body_size TYPE i.
|
|
||||||
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
CLASS lcl_settings IMPLEMENTATION.
|
CLASS lcl_settings IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD set_proxy_authentication.
|
METHOD set_proxy_authentication.
|
||||||
mv_proxy_auth = iv_auth.
|
ms_settings-proxy_auth = iv_auth.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD get_proxy_authentication.
|
METHOD get_proxy_authentication.
|
||||||
rv_auth = mv_proxy_auth.
|
rv_auth = ms_settings-proxy_auth.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD set_proxy_url.
|
METHOD set_proxy_url.
|
||||||
mv_proxy_url = iv_url.
|
ms_settings-proxy_url = iv_url.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD get_proxy_url.
|
METHOD get_proxy_url.
|
||||||
rv_proxy_url = mv_proxy_url.
|
rv_proxy_url = ms_settings-proxy_url.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD set_proxy_port.
|
METHOD set_proxy_port.
|
||||||
mv_proxy_port = iv_port.
|
ms_settings-proxy_port = iv_port.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD get_proxy_port.
|
METHOD get_proxy_port.
|
||||||
rv_port = mv_proxy_port.
|
rv_port = ms_settings-proxy_port.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD set_run_critical_tests.
|
METHOD set_run_critical_tests.
|
||||||
mv_run_critical_tests = iv_run.
|
ms_settings-run_critical_tests = iv_run.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD get_run_critical_tests.
|
METHOD get_run_critical_tests.
|
||||||
rv_run = mv_run_critical_tests.
|
rv_run = ms_settings-run_critical_tests.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD get_max_lines.
|
METHOD get_max_lines.
|
||||||
rv_lines = mv_lines.
|
rv_lines = ms_settings-max_lines.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD set_max_lines.
|
METHOD set_max_lines.
|
||||||
mv_lines = iv_lines.
|
ms_settings-max_lines = iv_lines.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD get_adt_jump_enabled.
|
METHOD get_adt_jump_enabled.
|
||||||
rv_adt_jump_enabled = mv_adt_jump_enabled.
|
rv_adt_jump_enabled = ms_settings-adt_jump_enabled.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD set_adt_jump_enanbled.
|
METHOD set_adt_jump_enanbled.
|
||||||
mv_adt_jump_enabled = iv_adt_jump_enabled.
|
ms_settings-adt_jump_enabled = iv_adt_jump_enabled.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD get_commitmsg_comment_length.
|
METHOD get_commitmsg_comment_length.
|
||||||
rv_length = mv_commitmsg_comment_length.
|
rv_length = ms_settings-commitmsg_comment_length.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD set_commitmsg_comment_length.
|
METHOD set_commitmsg_comment_length.
|
||||||
mv_commitmsg_comment_length = iv_length.
|
ms_settings-commitmsg_comment_length = iv_length.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD get_commitmsg_body_size.
|
METHOD get_commitmsg_body_size.
|
||||||
rv_length = mv_commitmsg_body_size.
|
rv_length = ms_settings-commitmsg_body_size.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD set_commitmsg_body_size.
|
METHOD set_commitmsg_body_size.
|
||||||
mv_commitmsg_body_size = iv_length.
|
ms_settings-commitmsg_body_size = iv_length.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
METHOD get_settings_xml.
|
||||||
|
|
||||||
CLASS lcl_persist_settings DEFINITION FINAL.
|
DATA: lr_output TYPE REF TO lcl_xml_output.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
CREATE OBJECT lr_output.
|
||||||
METHODS modify
|
|
||||||
IMPORTING
|
lr_output->add( iv_name = lcl_settings=>c_dbtype_settings
|
||||||
io_settings TYPE REF TO lcl_settings
|
ig_data = ms_settings ).
|
||||||
RAISING
|
|
||||||
lcx_exception.
|
ev_settings_xml = lr_output->render( ).
|
||||||
METHODS read
|
|
||||||
RETURNING
|
ENDMETHOD.
|
||||||
VALUE(ro_settings) TYPE REF TO lcl_settings.
|
|
||||||
|
METHOD set_xml_settings.
|
||||||
|
|
||||||
|
DATA: lr_input TYPE REF TO lcl_xml_input.
|
||||||
|
|
||||||
|
CREATE OBJECT lr_input EXPORTING iv_xml = iv_settings_xml.
|
||||||
|
|
||||||
|
CLEAR ms_settings.
|
||||||
|
|
||||||
|
lr_input->read( EXPORTING iv_name = lcl_settings=>c_dbtype_settings
|
||||||
|
CHANGING cg_data = ms_settings ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD set_defaults.
|
||||||
|
|
||||||
|
CLEAR ms_settings.
|
||||||
|
|
||||||
|
set_proxy_authentication( abap_false ).
|
||||||
|
|
||||||
|
set_run_critical_tests( abap_false ).
|
||||||
|
|
||||||
|
set_max_lines( 500 ).
|
||||||
|
|
||||||
|
set_adt_jump_enanbled( abap_false ).
|
||||||
|
|
||||||
|
set_commitmsg_comment_length( lcl_settings=>c_commitmsg_comment_length_dft ).
|
||||||
|
|
||||||
|
set_commitmsg_body_size( lcl_settings=>c_commitmsg_body_size_dft ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -1680,140 +1845,27 @@ CLASS lcl_persist_settings IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD modify.
|
METHOD modify.
|
||||||
|
|
||||||
* todo, refactor this class to use XML and only 1 row in the database?
|
|
||||||
|
|
||||||
lcl_app=>db( )->modify(
|
lcl_app=>db( )->modify(
|
||||||
iv_type = 'SETTINGS'
|
iv_type = lcl_settings=>c_dbtype_settings
|
||||||
iv_value = 'PROXY_URL'
|
iv_value = ''
|
||||||
iv_data = io_settings->get_proxy_url( ) ).
|
iv_data = io_settings->get_settings_xml( ) ).
|
||||||
|
|
||||||
lcl_app=>db( )->modify(
|
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'PROXY_PORT'
|
|
||||||
iv_data = io_settings->get_proxy_port( ) ).
|
|
||||||
|
|
||||||
lcl_app=>db( )->modify(
|
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'PROXY_AUTH'
|
|
||||||
iv_data = io_settings->get_proxy_authentication( ) ).
|
|
||||||
|
|
||||||
lcl_app=>db( )->modify(
|
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'CRIT_TESTS'
|
|
||||||
iv_data = io_settings->get_run_critical_tests( ) ).
|
|
||||||
|
|
||||||
lcl_app=>db( )->modify(
|
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'MAX_LINES'
|
|
||||||
iv_data = |{ io_settings->get_max_lines( ) }| ).
|
|
||||||
|
|
||||||
lcl_app=>db( )->modify(
|
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'ADT_JUMP'
|
|
||||||
iv_data = io_settings->get_adt_jump_enabled( ) ).
|
|
||||||
|
|
||||||
lcl_app=>db( )->modify(
|
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'COMMENT_LEN'
|
|
||||||
iv_data = |{ io_settings->get_commitmsg_comment_length( ) }| ).
|
|
||||||
|
|
||||||
lcl_app=>db( )->modify(
|
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'BODY_SIZE'
|
|
||||||
iv_data = |{ io_settings->get_commitmsg_body_size( ) }| ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD read.
|
METHOD read.
|
||||||
|
|
||||||
DATA: lv_critical_tests_as_string TYPE string,
|
|
||||||
lv_critical_tests_as_boolean TYPE abap_bool,
|
|
||||||
lv_max_lines_as_string TYPE string,
|
|
||||||
lv_flag TYPE abap_bool,
|
|
||||||
lv_max_lines_as_integer TYPE i,
|
|
||||||
lv_s_param_value TYPE string,
|
|
||||||
lv_i_param_value TYPE i,
|
|
||||||
lv_adt_jump_enabled_as_string TYPE string,
|
|
||||||
lv_adt_jump_enabled_as_boolean TYPE abap_bool.
|
|
||||||
|
|
||||||
|
|
||||||
CREATE OBJECT ro_settings.
|
CREATE OBJECT ro_settings.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
ro_settings->set_proxy_url(
|
|
||||||
lcl_app=>db( )->read(
|
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'PROXY_URL' ) ).
|
|
||||||
CATCH lcx_not_found.
|
|
||||||
ro_settings->set_proxy_url( '' ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
TRY.
|
ro_settings->set_xml_settings(
|
||||||
ro_settings->set_proxy_port(
|
lcl_app=>db( )->read( iv_type = lcl_settings=>c_dbtype_settings
|
||||||
lcl_app=>db( )->read(
|
iv_value = '' ) ).
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'PROXY_PORT' ) ).
|
|
||||||
CATCH lcx_not_found.
|
|
||||||
ro_settings->set_proxy_port( '' ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
TRY.
|
CATCH lcx_not_found lcx_exception.
|
||||||
lv_flag = lcl_app=>db( )->read(
|
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'PROXY_AUTH' ).
|
|
||||||
ro_settings->set_proxy_authentication( lv_flag ).
|
|
||||||
CATCH lcx_not_found.
|
|
||||||
ro_settings->set_proxy_authentication( abap_false ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
TRY.
|
ro_settings->set_defaults( ).
|
||||||
lv_critical_tests_as_string = lcl_app=>db( )->read(
|
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'CRIT_TESTS' ).
|
|
||||||
lv_critical_tests_as_boolean = lv_critical_tests_as_string.
|
|
||||||
ro_settings->set_run_critical_tests( lv_critical_tests_as_boolean ).
|
|
||||||
CATCH lcx_not_found.
|
|
||||||
ro_settings->set_run_critical_tests( abap_false ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lv_max_lines_as_string = lcl_app=>db( )->read(
|
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'MAX_LINES' ).
|
|
||||||
lv_max_lines_as_integer = lv_max_lines_as_string.
|
|
||||||
ro_settings->set_max_lines( lv_max_lines_as_integer ).
|
|
||||||
CATCH lcx_not_found cx_sy_conversion_no_number.
|
|
||||||
ro_settings->set_max_lines( 500 ). " default
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lv_adt_jump_enabled_as_string = lcl_app=>db( )->read(
|
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'ADT_JUMP' ).
|
|
||||||
lv_adt_jump_enabled_as_boolean = lv_adt_jump_enabled_as_string.
|
|
||||||
ro_settings->set_adt_jump_enanbled( lv_adt_jump_enabled_as_boolean ).
|
|
||||||
CATCH lcx_not_found.
|
|
||||||
ro_settings->set_adt_jump_enanbled( abap_false ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lv_s_param_value = lcl_app=>db( )->read(
|
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'COMMENT_LEN' ).
|
|
||||||
lv_i_param_value = lv_s_param_value.
|
|
||||||
ro_settings->set_commitmsg_comment_length( lv_i_param_value ).
|
|
||||||
CATCH lcx_not_found cx_sy_conversion_no_number.
|
|
||||||
ro_settings->set_commitmsg_comment_length( lcl_settings=>c_commitmsg_comment_length_dft ). " default
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lv_s_param_value = lcl_app=>db( )->read(
|
|
||||||
iv_type = 'SETTINGS'
|
|
||||||
iv_value = 'BODY_SIZE' ).
|
|
||||||
lv_i_param_value = lv_s_param_value.
|
|
||||||
ro_settings->set_commitmsg_body_size( lv_i_param_value ).
|
|
||||||
CATCH lcx_not_found cx_sy_conversion_no_number.
|
|
||||||
ro_settings->set_commitmsg_body_size( lcl_settings=>c_commitmsg_body_size_dft ). " default
|
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user