anchor.diff:      ENDCASE.
     ENDMETHOD.        " on_event
   
  -  METHOD get_home_page.
  -
  -    DATA lo_home TYPE REF TO lcl_gui_page_main.
  -
  -    CREATE OBJECT lo_home.
  -    ro_page = lo_home.
  +  METHOD get_page_by_name.
  +
  +    DATA: lv_page_class TYPE string,
  +          lv_message    TYPE string.
  +
  +    lv_page_class = |LCL_GUI_PAGE_{ to_upper( iv_name ) }|.
  +
  +    TRY.
  +        CREATE OBJECT ri_page TYPE (lv_page_class).
  +      CATCH cx_sy_create_object_error.
  +        lv_message = |Cannot create page class { lv_page_class }|.
  +        _raise lv_message.
  +    ENDTRY.
   
     ENDMETHOD.        " get_home_page
  -
  -  METHOD get_explore_page.
  -
  -    DATA lo_page_explore TYPE REF TO lcl_gui_page_explore.
  -
  -    CREATE OBJECT lo_page_explore.
  -    ro_page = lo_page_explore.
  -
  -  ENDMETHOD.        " get_explore_page
   
     METHOD abapgit_installation.
   
  
positive.code:          content TYPE string,
         END OF ty_web_asset.
  TYPES  tt_web_assets TYPE STANDARD TABLE OF ty_web_asset WITH DEFAULT KEY.
  
  CONSTANTS: BEGIN OF gc_type,
               commit TYPE ty_type VALUE 'commit',            "#EC NOTEXT
  
negative.code: 
  ENDCLASS.
  
  
  *----------------------------------------------------------------------*
  *       CLASS lcl_html_action_utils DEFINITION
  *----------------------------------------------------------------------*
  CLASS lcl_html_action_utils DEFINITION FINAL.
    PUBLIC SECTION.
      CLASS-METHODS jump_encode
        IMPORTING iv_obj_type      TYPE tadir-object
                  iv_obj_name      TYPE tadir-obj_name
        RETURNING VALUE(rv_string) TYPE string.
  
      CLASS-METHODS jump_decode
        IMPORTING iv_string   TYPE clike
        EXPORTING ev_obj_type TYPE tadir-object
                  ev_obj_name TYPE tadir-obj_name
        RAISING   lcx_exception.
  
      CLASS-METHODS file_encode
        IMPORTING iv_key           TYPE lcl_persistence_repo=>ty_repo-key
                  is_file          TYPE ty_repo_file
        RETURNING VALUE(rv_string) TYPE string.
  
      CLASS-METHODS file_decode
        IMPORTING iv_string TYPE clike
        EXPORTING ev_key    TYPE lcl_persistence_repo=>ty_repo-key
                  es_file   TYPE ty_repo_file
        RAISING   lcx_exception.
  ENDCLASS.       "lcl_html_action_utils DEFINITION
  
  *----------------------------------------------------------------------*
  *       CLASS lcl_html_action_utils IMPLEMENTATION
  *----------------------------------------------------------------------*
  CLASS lcl_html_action_utils IMPLEMENTATION.
  
    METHOD jump_encode.
  
      DATA: lt_fields TYPE tihttpnvp,
            ls_field  LIKE LINE OF lt_fields.
  
  
      ls_field-name = 'TYPE'.
      ls_field-value = iv_obj_type.
      APPEND ls_field TO lt_fields.
  
      ls_field-name = 'NAME'.
      ls_field-value = iv_obj_name.
      APPEND ls_field TO lt_fields.
  
      rv_string = cl_http_utility=>if_http_utility~fields_to_string( lt_fields ).
  
    ENDMETHOD.                    "jump_encode
  
    METHOD jump_decode.
  
      DATA: lt_fields TYPE tihttpnvp,
            lv_string TYPE string.
  
      FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields.
  
  
      lv_string = iv_string.     " type conversion
      lt_fields = cl_http_utility=>if_http_utility~string_to_fields( lv_string ).
  
      READ TABLE lt_fields ASSIGNING <ls_field> WITH KEY name = 'TYPE'.
      IF sy-subrc = 0.
        ev_obj_type = <ls_field>-value.
      ELSE.
        CLEAR ev_obj_type.
      ENDIF.
  
      READ TABLE lt_fields ASSIGNING <ls_field> WITH KEY name = 'NAME'.
      IF sy-subrc = 0.
        ev_obj_name = <ls_field>-value.
      ELSE.
        CLEAR ev_obj_name.
      ENDIF.
  
    ENDMETHOD.                    "jump_decode
  
    METHOD file_encode.
  
      DATA: lt_fields TYPE tihttpnvp,
            ls_field  LIKE LINE OF lt_fields.
  
      ls_field-name = 'KEY'.
      ls_field-value = iv_key.
      APPEND ls_field TO lt_fields.
  
      ls_field-name = 'PATH'.
      ls_field-value = is_file-path.
      APPEND ls_field TO lt_fields.
  
      ls_field-name = 'FILENAME'.
      ls_field-value = is_file-filename.
      APPEND ls_field TO lt_fields.
  
      rv_string = cl_http_utility=>if_http_utility~fields_to_string( lt_fields ).
  
    ENDMETHOD.                    "file_encode
  
    METHOD file_decode.
  
      DATA: lt_fields TYPE tihttpnvp,
            lv_string TYPE string.
  
      FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields.
  
      CLEAR: ev_key, es_file.
      lv_string = iv_string.     " type conversion
      lt_fields = cl_http_utility=>if_http_utility~string_to_fields( lv_string ).
  
      READ TABLE lt_fields ASSIGNING <ls_field> WITH KEY name = 'KEY'.
      IF sy-subrc = 0.
        ev_key = <ls_field>-value.
      ENDIF.
  
      READ TABLE lt_fields ASSIGNING <ls_field> WITH KEY name = 'PATH'.
      IF sy-subrc = 0.
        es_file-path = <ls_field>-value.
      ENDIF.
  
      READ TABLE lt_fields ASSIGNING <ls_field> WITH KEY name = 'FILENAME'.
      IF sy-subrc = 0.
        es_file-filename = <ls_field>-value.
      ENDIF.
  
    ENDMETHOD.                    "file_decode
  
  ENDCLASS.       "lcl_html_action_utils IMPLEMENTATION
  
  *----------------------------------------------------------------------*
  *       CLASS lcl_repo DEFINITION
  *----------------------------------------------------------------------*
  