experimental features switch, #910

This commit is contained in:
larshp 2017-09-10 12:21:16 +00:00
parent 03b74e0992
commit 0016916564
2 changed files with 93 additions and 62 deletions

View File

@ -164,6 +164,13 @@ CLASS lcl_gui_page_settings IMPLEMENTATION.
mo_settings->set_run_critical_tests( abap_false ). mo_settings->set_run_critical_tests( abap_false ).
ENDIF. ENDIF.
READ TABLE it_post_fields ASSIGNING <ls_post_field> WITH KEY name = 'experimental_features'.
IF sy-subrc = 0.
mo_settings->set_experimental_features( abap_true ).
ELSE.
mo_settings->set_experimental_features( abap_false ).
ENDIF.
READ TABLE it_post_fields ASSIGNING <ls_post_field> WITH KEY name = 'max_lines'. READ TABLE it_post_fields ASSIGNING <ls_post_field> WITH KEY name = 'max_lines'.
IF sy-subrc = 0. IF sy-subrc = 0.
lv_i_param_value = <ls_post_field>-value. lv_i_param_value = <ls_post_field>-value.
@ -263,16 +270,24 @@ CLASS lcl_gui_page_settings IMPLEMENTATION.
METHOD render_development_internals. METHOD render_development_internals.
DATA lv_checked TYPE string. DATA: lv_critical_tests TYPE string,
lv_experimental TYPE string.
IF mo_settings->get_run_critical_tests( ) = abap_true. IF mo_settings->get_run_critical_tests( ) = abap_true.
lv_checked = 'checked'. lv_critical_tests = 'checked'.
ENDIF.
IF mo_settings->get_experimental_features( ) = abap_true.
lv_experimental = 'checked'.
ENDIF. ENDIF.
CREATE OBJECT ro_html. CREATE OBJECT ro_html.
ro_html->add( |<h2>abapGit Development Internals settings</h2>| ). ro_html->add( |<h2>abapGit Development Internals settings</h2>| ).
ro_html->add( `<input type="checkbox" name="critical_tests" value="X" ` ro_html->add( `<input type="checkbox" name="critical_tests" `
&& lv_checked && ` > Enable critical unit tests (see LTCL_DANGEROUS)` ). && lv_critical_tests && ` > Enable critical unit tests (see LTCL_DANGEROUS)` ).
ro_html->add( |<br>| ).
ro_html->add( `<input type="checkbox" name="experimental_features" `
&& lv_experimental && ` > Enable experimental features` ).
ro_html->add( |<br>| ). ro_html->add( |<br>| ).
ro_html->add( |<br>| ). ro_html->add( |<br>| ).

View File

@ -119,7 +119,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.
@ -236,7 +236,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.
@ -284,59 +284,70 @@ CLASS lcl_settings DEFINITION FINAL.
CONSTANTS: c_commitmsg_body_size_dft TYPE i VALUE 72. CONSTANTS: c_commitmsg_body_size_dft TYPE i VALUE 72.
CONSTANTS: c_dbtype_settings TYPE lcl_persistence_db=>ty_type VALUE 'SETTINGS' ##NO_TEXT. CONSTANTS: c_dbtype_settings TYPE lcl_persistence_db=>ty_type VALUE 'SETTINGS' ##NO_TEXT.
METHODS set_proxy_url METHODS: set_proxy_url
IMPORTING IMPORTING
iv_url TYPE string. iv_url TYPE string,
METHODS set_proxy_port set_proxy_port
IMPORTING IMPORTING
iv_port TYPE string. iv_port TYPE string,
METHODS set_proxy_authentication set_proxy_authentication
IMPORTING IMPORTING
iv_auth TYPE abap_bool. iv_auth TYPE abap_bool,
METHODS get_proxy_url get_proxy_url
RETURNING RETURNING
VALUE(rv_proxy_url) TYPE string. VALUE(rv_proxy_url) TYPE string,
METHODS get_proxy_port get_proxy_port
RETURNING RETURNING
VALUE(rv_port) TYPE string. VALUE(rv_port) TYPE string,
METHODS get_proxy_authentication get_proxy_authentication
RETURNING RETURNING
VALUE(rv_auth) TYPE abap_bool. VALUE(rv_auth) TYPE abap_bool,
METHODS set_run_critical_tests set_run_critical_tests
IMPORTING IMPORTING
iv_run TYPE abap_bool. iv_run TYPE abap_bool,
METHODS
get_run_critical_tests get_run_critical_tests
RETURNING VALUE(rv_run) TYPE abap_bool. RETURNING
METHODS set_max_lines VALUE(rv_run) TYPE abap_bool,
IMPORTING iv_lines TYPE i. set_experimental_features
METHODS get_max_lines IMPORTING
RETURNING iv_run TYPE abap_bool,
VALUE(rv_lines) TYPE i. get_experimental_features
METHODS set_adt_jump_enanbled RETURNING
IMPORTING iv_adt_jump_enabled TYPE abap_bool. VALUE(rv_run) TYPE abap_bool,
METHODS get_adt_jump_enabled set_max_lines
RETURNING IMPORTING iv_lines TYPE i,
VALUE(rv_adt_jump_enabled) TYPE abap_bool. get_max_lines
METHODS set_commitmsg_comment_length RETURNING
IMPORTING iv_length TYPE i. VALUE(rv_lines) TYPE i,
METHODS get_commitmsg_comment_length set_adt_jump_enanbled
RETURNING IMPORTING
VALUE(rv_length) TYPE i. iv_adt_jump_enabled TYPE abap_bool,
METHODS set_commitmsg_body_size get_adt_jump_enabled
IMPORTING iv_length TYPE i. RETURNING
METHODS get_commitmsg_body_size VALUE(rv_adt_jump_enabled) TYPE abap_bool,
RETURNING set_commitmsg_comment_length
VALUE(rv_length) TYPE i. IMPORTING
METHODS get_settings_xml iv_length TYPE i,
RETURNING VALUE(ev_settings_xml) TYPE string get_commitmsg_comment_length
RAISING lcx_exception. RETURNING
METHODS set_xml_settings VALUE(rv_length) TYPE i,
IMPORTING iv_settings_xml TYPE string set_commitmsg_body_size
RAISING lcx_exception. IMPORTING
METHODS set_defaults. iv_length TYPE i,
get_commitmsg_body_size
RETURNING
VALUE(rv_length) TYPE i,
get_settings_xml
RETURNING
VALUE(ev_settings_xml) TYPE string
RAISING
lcx_exception,
set_xml_settings
IMPORTING
iv_settings_xml TYPE string
RAISING
lcx_exception,
set_defaults.
PRIVATE SECTION. PRIVATE SECTION.
TYPES: BEGIN OF ty_s_settings, TYPES: BEGIN OF ty_s_settings,
@ -344,6 +355,7 @@ CLASS lcl_settings DEFINITION FINAL.
proxy_port TYPE string, proxy_port TYPE string,
proxy_auth TYPE string, proxy_auth TYPE string,
run_critical_tests TYPE abap_bool, run_critical_tests TYPE abap_bool,
experimental_features TYPE abap_bool,
max_lines TYPE i, max_lines TYPE i,
adt_jump_enabled TYPE abap_bool, adt_jump_enabled TYPE abap_bool,
commitmsg_comment_length TYPE i, commitmsg_comment_length TYPE i,
@ -1828,6 +1840,14 @@ CLASS lcl_settings IMPLEMENTATION.
rv_run = ms_settings-run_critical_tests. rv_run = ms_settings-run_critical_tests.
ENDMETHOD. ENDMETHOD.
METHOD set_experimental_features.
ms_settings-experimental_features = iv_run.
ENDMETHOD.
METHOD get_experimental_features.
rv_run = ms_settings-experimental_features.
ENDMETHOD.
METHOD get_max_lines. METHOD get_max_lines.
rv_lines = ms_settings-max_lines. rv_lines = ms_settings-max_lines.
ENDMETHOD. ENDMETHOD.
@ -1891,15 +1911,11 @@ CLASS lcl_settings IMPLEMENTATION.
CLEAR ms_settings. CLEAR ms_settings.
set_proxy_authentication( abap_false ). set_proxy_authentication( abap_false ).
set_run_critical_tests( abap_false ). set_run_critical_tests( abap_false ).
set_experimental_features( abap_false ).
set_max_lines( 500 ). set_max_lines( 500 ).
set_adt_jump_enanbled( abap_false ). set_adt_jump_enanbled( abap_false ).
set_commitmsg_comment_length( lcl_settings=>c_commitmsg_comment_length_dft ). set_commitmsg_comment_length( lcl_settings=>c_commitmsg_comment_length_dft ).
set_commitmsg_body_size( lcl_settings=>c_commitmsg_body_size_dft ). set_commitmsg_body_size( lcl_settings=>c_commitmsg_body_size_dft ).
ENDMETHOD. ENDMETHOD.