diff --git a/src/ui/zcl_abapgit_gui_page_main.clas.abap b/src/ui/zcl_abapgit_gui_page_main.clas.abap
index e93d298ba..45f5c3e4b 100644
--- a/src/ui/zcl_abapgit_gui_page_main.clas.abap
+++ b/src/ui/zcl_abapgit_gui_page_main.clas.abap
@@ -135,13 +135,6 @@ CLASS zcl_abapgit_gui_page_main IMPLEMENTATION.
iv_key = lv_key.
rs_handled-state = zcl_abapgit_gui=>c_event_state-new_page.
- WHEN zif_abapgit_definitions=>c_action-repo_settings.
-
- CREATE OBJECT rs_handled-page TYPE zcl_abapgit_gui_page_repo_sett
- EXPORTING
- io_repo = zcl_abapgit_repo_srv=>get_instance( )->get( lv_key ).
- rs_handled-state = zcl_abapgit_gui=>c_event_state-new_page.
-
WHEN OTHERS.
rs_handled = super->zif_abapgit_gui_event_handler~on_event( ii_event ).
diff --git a/src/ui/zcl_abapgit_gui_page_repo_sett.clas.abap b/src/ui/zcl_abapgit_gui_page_repo_sett.clas.abap
deleted file mode 100644
index 444b1552b..000000000
--- a/src/ui/zcl_abapgit_gui_page_repo_sett.clas.abap
+++ /dev/null
@@ -1,491 +0,0 @@
-CLASS zcl_abapgit_gui_page_repo_sett DEFINITION
- PUBLIC
- INHERITING FROM zcl_abapgit_gui_page
- FINAL
- CREATE PUBLIC .
-
- PUBLIC SECTION.
-
- METHODS constructor
- IMPORTING
- !io_repo TYPE REF TO zcl_abapgit_repo
- RAISING zcx_abapgit_exception.
-
- METHODS zif_abapgit_gui_event_handler~on_event
- REDEFINITION .
- PROTECTED SECTION.
-
- CONSTANTS:
- BEGIN OF c_action,
- save_settings TYPE string VALUE 'save_settings',
- END OF c_action .
- DATA mo_repo TYPE REF TO zcl_abapgit_repo.
-
- METHODS render_dot_abapgit
- IMPORTING
- !ii_html TYPE REF TO zif_abapgit_html .
- METHODS render_local_settings
- IMPORTING
- !ii_html TYPE REF TO zif_abapgit_html
- RAISING
- zcx_abapgit_exception .
- METHODS render_remotes
- IMPORTING
- !ii_html TYPE REF TO zif_abapgit_html
- RAISING
- zcx_abapgit_exception .
- METHODS save
- IMPORTING
- !it_postdata TYPE cnht_post_data_tab
- RAISING
- zcx_abapgit_exception .
- METHODS save_dot_abap
- IMPORTING
- !it_post_fields TYPE tihttpnvp
- RAISING
- zcx_abapgit_exception .
- METHODS save_local_settings
- IMPORTING
- !it_post_fields TYPE tihttpnvp
- RAISING
- zcx_abapgit_exception .
- METHODS save_remotes
- IMPORTING
- !it_post_fields TYPE tihttpnvp
- RAISING
- zcx_abapgit_exception .
- METHODS render_dot_abapgit_reqs
- IMPORTING
- ii_html TYPE REF TO zif_abapgit_html
- it_requirements TYPE zif_abapgit_dot_abapgit=>ty_requirement_tt.
- METHODS render_table_row
- IMPORTING
- iv_name TYPE string
- iv_value TYPE string
- RETURNING
- VALUE(rv_html) TYPE string.
-
-
- METHODS render_content
- REDEFINITION .
-
- PRIVATE SECTION.
-
-ENDCLASS.
-
-
-
-CLASS zcl_abapgit_gui_page_repo_sett IMPLEMENTATION.
-
-
- METHOD constructor.
- super->constructor( ).
- ms_control-page_title = 'Repository Settings'.
- mo_repo = io_repo.
- ENDMETHOD.
-
-
- METHOD render_content.
-
- CREATE OBJECT ri_html TYPE zcl_abapgit_html.
-
- ri_html->add( `
` ).
- ri_html->add( zcl_abapgit_gui_chunk_lib=>render_repo_top( io_repo = mo_repo
- iv_show_commit = abap_false ) ).
- ri_html->add( `
` ).
-
- ri_html->add( '' ).
- ri_html->add( |' ).
- ri_html->add( '
' ).
-
- ENDMETHOD.
-
-
- METHOD render_dot_abapgit.
-
- DATA: ls_dot TYPE zif_abapgit_dot_abapgit=>ty_dot_abapgit,
- lv_select_html TYPE string,
- lv_selected TYPE string,
- lv_language TYPE t002t-sptxt,
- lv_ignore TYPE string,
- lt_folder_logic TYPE string_table.
-
- FIELD-SYMBOLS: TYPE LINE OF string_table,
- TYPE string.
-
- ls_dot = mo_repo->get_dot_abapgit( )->get_data( ).
-
- APPEND zif_abapgit_dot_abapgit=>c_folder_logic-full TO lt_folder_logic.
- APPEND zif_abapgit_dot_abapgit=>c_folder_logic-prefix TO lt_folder_logic.
-
- ii_html->add( '.abapgit.xml
' ).
- ii_html->add( '' ).
-
- render_dot_abapgit_reqs(
- it_requirements = ls_dot-requirements
- ii_html = ii_html ).
-
-
- ENDMETHOD.
-
-
- METHOD render_dot_abapgit_reqs.
-
- CONSTANTS: lc_requirement_edit_min_count TYPE i VALUE 5.
- DATA lv_req_index TYPE i.
- DATA lv_requirement_count TYPE i.
- DATA lt_requirements LIKE it_requirements.
- FIELD-SYMBOLS TYPE zif_abapgit_dot_abapgit=>ty_requirement.
-
- lt_requirements = it_requirements.
- lv_requirement_count = lines( lt_requirements ).
- IF lv_requirement_count < lc_requirement_edit_min_count.
- DO - lv_requirement_count + lc_requirement_edit_min_count TIMES.
- APPEND INITIAL LINE TO lt_requirements.
- ENDDO.
- ENDIF.
-
- ii_html->add( 'Requirements
' ).
- ii_html->add( '' ).
-
- ENDMETHOD.
-
-
- METHOD render_local_settings.
-
- DATA: lv_checked TYPE string,
- ls_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings.
-
- ls_settings = mo_repo->get_local_settings( ).
-
- ii_html->add( 'Local Settings
' ).
- ii_html->add( '' ).
-
- ENDMETHOD.
-
-
- METHOD render_remotes.
-
- DATA lo_repo_online TYPE REF TO zcl_abapgit_repo_online.
-
- lo_repo_online ?= mo_repo.
-
- ii_html->add( 'Remotes
' ).
- ii_html->add( '' ).
-
- ENDMETHOD.
-
-
- METHOD render_table_row.
-
- rv_html = ''
- && |{ iv_name } | |
- && |{ iv_value } | |
- && '
'.
-
- ENDMETHOD.
-
-
- METHOD save.
-
- DATA: lt_post_fields TYPE tihttpnvp,
- lv_msg TYPE string.
-
- lt_post_fields = zcl_abapgit_html_action_utils=>parse_post_form_data( it_postdata ).
-
- save_dot_abap( lt_post_fields ).
- save_remotes( lt_post_fields ).
- save_local_settings( lt_post_fields ).
-
- mo_repo->refresh( ).
-
- lv_msg = |{ mo_repo->get_name( ) }: settings saved successfully.|.
- MESSAGE lv_msg TYPE 'S'.
-
- ENDMETHOD.
-
-
- METHOD save_dot_abap.
-
- DATA: lo_dot TYPE REF TO zcl_abapgit_dot_abapgit,
- ls_post_field LIKE LINE OF it_post_fields,
- lv_ignore TYPE string,
- lt_ignore TYPE STANDARD TABLE OF string WITH DEFAULT KEY,
- lo_requirements TYPE REF TO lcl_requirements.
-
- lo_dot = mo_repo->get_dot_abapgit( ).
-
- READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'folder_logic'.
- ASSERT sy-subrc = 0.
- lo_dot->set_folder_logic( ls_post_field-value ).
-
- READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'starting_folder'.
- ASSERT sy-subrc = 0.
- lo_dot->set_starting_folder( ls_post_field-value ).
-
- READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'ignore_files'.
- ASSERT sy-subrc = 0.
-
- " Remove everything
- lt_ignore = lo_dot->get_data( )-ignore.
- LOOP AT lt_ignore INTO lv_ignore.
- lo_dot->remove_ignore( iv_path = ''
- iv_filename = lv_ignore ).
- ENDLOOP.
-
- " Add newly entered files
- CLEAR lt_ignore.
- REPLACE ALL OCCURRENCES OF zif_abapgit_definitions=>c_crlf IN ls_post_field-value
- WITH zif_abapgit_definitions=>c_newline.
- SPLIT ls_post_field-value AT zif_abapgit_definitions=>c_newline INTO TABLE lt_ignore.
- DELETE lt_ignore WHERE table_line IS INITIAL.
- LOOP AT lt_ignore INTO lv_ignore.
- lo_dot->add_ignore( iv_path = ''
- iv_filename = lv_ignore ).
- ENDLOOP.
-
- lo_requirements = lcl_requirements=>new( ).
- LOOP AT it_post_fields INTO ls_post_field WHERE name CP 'req_*'.
- CASE ls_post_field-name+4(3).
- WHEN 'com'.
- lo_requirements->set_component( ls_post_field-value ).
- WHEN 'rel'.
- lo_requirements->set_min_release( ls_post_field-value ).
- WHEN 'pat'.
- lo_requirements->set_min_patch( ls_post_field-value ).
- ENDCASE.
- ENDLOOP.
-
- lo_dot->set_requirements( lo_requirements->get_as_table( ) ).
-
- mo_repo->set_dot_abapgit( lo_dot ).
-
- ENDMETHOD.
-
-
- METHOD save_local_settings.
-
- DATA: ls_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings,
- ls_post_field LIKE LINE OF it_post_fields,
- lv_check_variant TYPE sci_chkv.
-
-
- ls_settings = mo_repo->get_local_settings( ).
-
- READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'display_name'.
- ASSERT sy-subrc = 0.
- ls_settings-display_name = ls_post_field-value.
-
- READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'write_protected' value = 'on'.
- ls_settings-write_protected = boolc( sy-subrc = 0 ).
-
- READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'ignore_subpackages' value = 'on'.
- ls_settings-ignore_subpackages = boolc( sy-subrc = 0 ).
-
- READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'only_local_objects' value = 'on'.
- ls_settings-only_local_objects = boolc( sy-subrc = 0 ).
-
- READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'check_variant'.
- ASSERT sy-subrc = 0.
- lv_check_variant = to_upper( ls_post_field-value ).
- IF ls_post_field-value IS NOT INITIAL.
- zcl_abapgit_code_inspector=>validate_check_variant( lv_check_variant ).
- ENDIF.
- ls_settings-code_inspector_check_variant = lv_check_variant.
-
- READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'block_commit' value = 'on'.
- ls_settings-block_commit = boolc( sy-subrc = 0 ).
-
- IF ls_settings-block_commit = abap_true
- AND ls_settings-code_inspector_check_variant IS INITIAL.
- zcx_abapgit_exception=>raise( |If block commit is active, a check variant has to be maintained.| ).
- ENDIF.
-
- READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'serialize_master_lang_only' value = 'on'.
- ls_settings-serialize_master_lang_only = boolc( sy-subrc = 0 ).
-
- mo_repo->set_local_settings( ls_settings ).
-
- ENDMETHOD.
-
-
- METHOD save_remotes.
-
- DATA ls_post_field LIKE LINE OF it_post_fields.
- DATA lo_online_repo TYPE REF TO zcl_abapgit_repo_online.
-
- IF mo_repo->is_offline( ) = abap_true.
- RETURN.
- ENDIF.
-
- lo_online_repo ?= mo_repo.
-
- READ TABLE it_post_fields INTO ls_post_field WITH KEY name = 'switched_origin'.
- ASSERT sy-subrc = 0.
- lo_online_repo->switch_origin(
- iv_url = ls_post_field-value
- iv_overwrite = abap_true ).
-
- ENDMETHOD.
-
-
- METHOD zif_abapgit_gui_event_handler~on_event.
-
- CASE ii_event->mv_action.
- WHEN c_action-save_settings.
- save( ii_event->mt_postdata ).
- rs_handled-state = zcl_abapgit_gui=>c_event_state-go_back.
- WHEN OTHERS.
- rs_handled = super->zif_abapgit_gui_event_handler~on_event( ii_event ).
-
- ENDCASE.
-
- ENDMETHOD.
-ENDCLASS.
diff --git a/src/ui/zcl_abapgit_gui_page_repo_sett.clas.locals_imp.abap b/src/ui/zcl_abapgit_gui_page_repo_sett.clas.locals_imp.abap
deleted file mode 100644
index 2286cbad7..000000000
--- a/src/ui/zcl_abapgit_gui_page_repo_sett.clas.locals_imp.abap
+++ /dev/null
@@ -1,73 +0,0 @@
-CLASS lcl_requirements DEFINITION CREATE PRIVATE.
-
- "This assumes grouping, any duplicate field will trigger a new record.
- "Not perfect, but a little better than assuming a sequence
-
- PUBLIC SECTION.
- CLASS-METHODS new
- RETURNING VALUE(ro_result) TYPE REF TO lcl_requirements.
-
- METHODS set_component IMPORTING iv_component TYPE string.
- METHODS set_min_release IMPORTING iv_min_release TYPE string.
- METHODS set_min_patch IMPORTING iv_min_patch TYPE string.
-
- METHODS get_as_table
- RETURNING VALUE(rt_requirements) TYPE zif_abapgit_dot_abapgit=>ty_requirement_tt.
-
- PRIVATE SECTION.
- DATA: ms_requirement TYPE zif_abapgit_dot_abapgit=>ty_requirement,
- mt_requirements TYPE zif_abapgit_dot_abapgit=>ty_requirement_tt.
-
-ENDCLASS.
-
-CLASS lcl_requirements IMPLEMENTATION.
-
- METHOD new.
- CREATE OBJECT ro_result.
- ENDMETHOD.
-
- METHOD set_component.
-
- IF ms_requirement-component IS NOT INITIAL.
- APPEND ms_requirement TO mt_requirements.
- CLEAR ms_requirement.
- ENDIF.
- ms_requirement-component = iv_component.
-
- ENDMETHOD.
-
- METHOD set_min_patch.
-
- IF ms_requirement-min_patch IS NOT INITIAL.
- APPEND ms_requirement TO mt_requirements.
- CLEAR ms_requirement.
- ENDIF.
- ms_requirement-min_patch = iv_min_patch.
-
- ENDMETHOD.
-
- METHOD set_min_release.
-
- IF ms_requirement-min_release IS NOT INITIAL.
- APPEND ms_requirement TO mt_requirements.
- CLEAR ms_requirement.
- ENDIF.
- ms_requirement-min_release = iv_min_release.
-
- ENDMETHOD.
-
- METHOD get_as_table.
-
- IF ms_requirement IS NOT INITIAL.
- APPEND ms_requirement TO mt_requirements.
- ENDIF.
-
- SORT mt_requirements BY component min_release min_patch.
- DELETE mt_requirements WHERE component IS INITIAL.
- DELETE ADJACENT DUPLICATES FROM mt_requirements COMPARING ALL FIELDS.
-
- rt_requirements = mt_requirements.
-
- ENDMETHOD.
-
-ENDCLASS.
diff --git a/src/ui/zcl_abapgit_gui_page_repo_sett.clas.testclasses.abap b/src/ui/zcl_abapgit_gui_page_repo_sett.clas.testclasses.abap
deleted file mode 100644
index 23dab02f7..000000000
--- a/src/ui/zcl_abapgit_gui_page_repo_sett.clas.testclasses.abap
+++ /dev/null
@@ -1,71 +0,0 @@
-CLASS ltcl_requirements DEFINITION FINAL FOR TESTING
- DURATION SHORT
- RISK LEVEL HARMLESS.
-
- PRIVATE SECTION.
- DATA mo_cut TYPE REF TO lcl_requirements.
-
- METHODS setup.
- METHODS different_fields_are_one_group FOR TESTING RAISING cx_static_check.
- METHODS repeat_field_adds_new_group FOR TESTING RAISING cx_static_check.
- METHODS check_field_mapping FOR TESTING RAISING cx_static_check.
-
-ENDCLASS.
-
-
-CLASS ltcl_requirements IMPLEMENTATION.
-
- METHOD setup.
- mo_cut = lcl_requirements=>new( ).
- ENDMETHOD.
-
- METHOD check_field_mapping.
-
- DATA ls_actual TYPE zif_abapgit_dot_abapgit=>ty_requirement.
- DATA ls_expected TYPE zif_abapgit_dot_abapgit=>ty_requirement.
- DATA lt_requirements TYPE zif_abapgit_dot_abapgit=>ty_requirement_tt.
-
- mo_cut->set_component( '2' ).
- mo_cut->set_min_release( '3' ).
- mo_cut->set_min_patch( '4' ).
-
- lt_requirements = mo_cut->get_as_table( ).
- READ TABLE lt_requirements INDEX 1 INTO ls_actual.
-
- ls_expected-component = '2'.
- ls_expected-min_release = '3'.
- ls_expected-min_patch = '4'.
-
- cl_abap_unit_assert=>assert_equals( act = ls_actual
- exp = ls_expected ).
- ENDMETHOD.
-
- METHOD different_fields_are_one_group.
-
- DATA lt_requirements TYPE zif_abapgit_dot_abapgit=>ty_requirement_tt.
-
- mo_cut->set_component( '1' ).
- mo_cut->set_min_release( '1' ).
- mo_cut->set_min_patch( '1' ).
-
- lt_requirements = mo_cut->get_as_table( ).
-
- cl_abap_unit_assert=>assert_equals( act = lines( lt_requirements )
- exp = 1 ).
- ENDMETHOD.
-
- METHOD repeat_field_adds_new_group.
-
- DATA lt_requirements TYPE zif_abapgit_dot_abapgit=>ty_requirement_tt.
-
- mo_cut->set_component( '1' ).
- mo_cut->set_min_release( '1' ).
- mo_cut->set_component( '1' ).
-
- lt_requirements = mo_cut->get_as_table( ).
-
- cl_abap_unit_assert=>assert_equals( act = lines( lt_requirements )
- exp = 2 ).
- ENDMETHOD.
-
-ENDCLASS.
diff --git a/src/ui/zcl_abapgit_gui_page_repo_sett.clas.xml b/src/ui/zcl_abapgit_gui_page_repo_sett.clas.xml
deleted file mode 100644
index e35ade863..000000000
--- a/src/ui/zcl_abapgit_gui_page_repo_sett.clas.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- ZCL_ABAPGIT_GUI_PAGE_REPO_SETT
- E
- GUI - Repo settings page
- 1
- X
- X
- X
- X
-
-
-
-
diff --git a/src/ui/zcl_abapgit_gui_page_sett_repo.clas.abap b/src/ui/zcl_abapgit_gui_page_sett_repo.clas.abap
index d7177b62a..e8c9f86cc 100644
--- a/src/ui/zcl_abapgit_gui_page_sett_repo.clas.abap
+++ b/src/ui/zcl_abapgit_gui_page_sett_repo.clas.abap
@@ -209,7 +209,7 @@ CLASS zcl_abapgit_gui_page_sett_repo IMPLEMENTATION.
iv_val = lv_ignore ).
LOOP AT ls_dot-requirements INTO ls_requirements.
- lv_row = sy-tabix.
+ lv_row = lv_row + 1.
DO 3 TIMES.
CASE sy-index.
WHEN 1.
@@ -226,7 +226,7 @@ CLASS zcl_abapgit_gui_page_sett_repo IMPLEMENTATION.
ENDLOOP.
DO c_empty_rows TIMES.
- lv_row = sy-index.
+ lv_row = lv_row + 1.
DO 3 TIMES.
mo_form_data->set(
iv_key = |{ c_id-requirements }-{ lv_row }-{ sy-index }|