mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 04:36:49 +08:00
align keys in LCL_REPO_SRV and LCL_PRESISTENCE_REPO, #207
This commit is contained in:
parent
1de2181423
commit
81581c6e04
|
@ -3,7 +3,7 @@ REPORT zabapgit.
|
||||||
* See http://www.abapgit.org
|
* See http://www.abapgit.org
|
||||||
|
|
||||||
CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT
|
CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT
|
||||||
gc_abap_version TYPE string VALUE 'v1.4.9'. "#EC NOTEXT
|
gc_abap_version TYPE string VALUE 'v1.4.10'. "#EC NOTEXT
|
||||||
|
|
||||||
********************************************************************************
|
********************************************************************************
|
||||||
* The MIT License (MIT)
|
* The MIT License (MIT)
|
||||||
|
@ -14480,13 +14480,18 @@ ENDCLASS.
|
||||||
CLASS lcl_persistence_repo DEFINITION FINAL.
|
CLASS lcl_persistence_repo DEFINITION FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
TYPES: BEGIN OF ty_repo,
|
TYPES: BEGIN OF ty_repo_xml,
|
||||||
url TYPE string,
|
url TYPE string,
|
||||||
branch_name TYPE string,
|
branch_name TYPE string,
|
||||||
sha1 TYPE ty_sha1,
|
sha1 TYPE ty_sha1,
|
||||||
package TYPE devclass,
|
package TYPE devclass,
|
||||||
offline TYPE sap_bool,
|
offline TYPE sap_bool,
|
||||||
END OF ty_repo.
|
END OF ty_repo_xml.
|
||||||
|
|
||||||
|
TYPES: BEGIN OF ty_repo,
|
||||||
|
key TYPE lcl_persistence_db=>ty_value.
|
||||||
|
INCLUDE TYPE ty_repo_xml.
|
||||||
|
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: ty_repo_id TYPE c LENGTH 12.
|
TYPES: ty_repo_id TYPE c LENGTH 12.
|
||||||
|
@ -14498,7 +14503,7 @@ CLASS lcl_persistence_repo DEFINITION FINAL.
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
METHODS update
|
METHODS update
|
||||||
IMPORTING iv_url TYPE ty_repo-url
|
IMPORTING iv_key TYPE ty_repo-key
|
||||||
iv_branch_sha1 TYPE ty_sha1
|
iv_branch_sha1 TYPE ty_sha1
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
@ -14508,32 +14513,32 @@ CLASS lcl_persistence_repo DEFINITION FINAL.
|
||||||
iv_branch TYPE ty_sha1 OPTIONAL
|
iv_branch TYPE ty_sha1 OPTIONAL
|
||||||
iv_package TYPE devclass
|
iv_package TYPE devclass
|
||||||
iv_offline TYPE sap_bool DEFAULT abap_false
|
iv_offline TYPE sap_bool DEFAULT abap_false
|
||||||
|
RETURNING VALUE(rv_key) TYPE ty_repo-key
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
METHODS delete
|
METHODS delete
|
||||||
IMPORTING iv_url TYPE ty_repo-url
|
IMPORTING iv_key TYPE ty_repo-key
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
METHODS read
|
METHODS read
|
||||||
IMPORTING iv_url TYPE ty_repo-url
|
IMPORTING iv_key TYPE ty_repo-key
|
||||||
RETURNING VALUE(rs_repo) TYPE ty_repo
|
RETURNING VALUE(rs_repo) TYPE ty_repo
|
||||||
RAISING lcx_exception
|
RAISING lcx_exception
|
||||||
lcx_not_found.
|
lcx_not_found.
|
||||||
|
|
||||||
METHODS lock
|
METHODS lock
|
||||||
IMPORTING iv_mode TYPE enqmode
|
IMPORTING iv_mode TYPE enqmode
|
||||||
iv_url TYPE ty_repo-url
|
iv_key TYPE ty_repo-key
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
|
||||||
CONSTANTS c_type_repo TYPE lcl_persistence_db=>ty_type VALUE 'REPO'.
|
CONSTANTS c_type_repo TYPE lcl_persistence_db=>ty_type VALUE 'REPO'.
|
||||||
|
|
||||||
DATA: mo_db TYPE REF TO lcl_persistence_db.
|
DATA: mo_db TYPE REF TO lcl_persistence_db.
|
||||||
|
|
||||||
METHODS from_xml
|
METHODS from_xml
|
||||||
IMPORTING iv_repo_xml_string TYPE string
|
IMPORTING iv_repo_xml_string TYPE string
|
||||||
RETURNING VALUE(rs_repo) TYPE ty_repo
|
RETURNING VALUE(rs_repo) TYPE ty_repo_xml
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
METHODS to_xml
|
METHODS to_xml
|
||||||
|
@ -14544,11 +14549,6 @@ CLASS lcl_persistence_repo DEFINITION FINAL.
|
||||||
RETURNING VALUE(rv_next_repo_id) TYPE lcl_persistence_db=>ty_content-value
|
RETURNING VALUE(rv_next_repo_id) TYPE lcl_persistence_db=>ty_content-value
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
METHODS url_to_id
|
|
||||||
IMPORTING iv_url TYPE ty_repo-url
|
|
||||||
RETURNING VALUE(rv_id) TYPE lcl_persistence_db=>ty_content-value
|
|
||||||
RAISING lcx_exception.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -14559,14 +14559,11 @@ ENDCLASS.
|
||||||
CLASS lcl_repo DEFINITION ABSTRACT.
|
CLASS lcl_repo DEFINITION ABSTRACT.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
TYPES: ty_key TYPE i.
|
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
constructor
|
constructor
|
||||||
IMPORTING iv_key TYPE ty_key
|
IMPORTING is_data TYPE lcl_persistence_repo=>ty_repo,
|
||||||
is_data TYPE lcl_persistence_repo=>ty_repo,
|
|
||||||
get_key
|
get_key
|
||||||
RETURNING VALUE(rv_key) TYPE ty_key,
|
RETURNING VALUE(rv_key) TYPE lcl_persistence_db=>ty_value,
|
||||||
get_name
|
get_name
|
||||||
RETURNING VALUE(rv_name) TYPE string
|
RETURNING VALUE(rv_name) TYPE string
|
||||||
RAISING lcx_exception,
|
RAISING lcx_exception,
|
||||||
|
@ -14574,8 +14571,8 @@ CLASS lcl_repo DEFINITION ABSTRACT.
|
||||||
RETURNING VALUE(rv_package) TYPE lcl_persistence_repo=>ty_repo-package,
|
RETURNING VALUE(rv_package) TYPE lcl_persistence_repo=>ty_repo-package,
|
||||||
delete
|
delete
|
||||||
RAISING lcx_exception,
|
RAISING lcx_exception,
|
||||||
add
|
* add
|
||||||
RAISING lcx_exception,
|
* RAISING lcx_exception,
|
||||||
refresh
|
refresh
|
||||||
RAISING lcx_exception,
|
RAISING lcx_exception,
|
||||||
is_offline
|
is_offline
|
||||||
|
@ -14583,8 +14580,7 @@ CLASS lcl_repo DEFINITION ABSTRACT.
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
DATA: mv_key TYPE ty_key,
|
DATA: ms_data TYPE lcl_persistence_repo=>ty_repo.
|
||||||
ms_data TYPE lcl_persistence_repo=>ty_repo.
|
|
||||||
|
|
||||||
ENDCLASS. "lcl_repo DEFINITION
|
ENDCLASS. "lcl_repo DEFINITION
|
||||||
|
|
||||||
|
@ -14599,8 +14595,7 @@ CLASS lcl_repo_online DEFINITION INHERITING FROM lcl_repo FINAL.
|
||||||
METHODS:
|
METHODS:
|
||||||
refresh REDEFINITION,
|
refresh REDEFINITION,
|
||||||
constructor
|
constructor
|
||||||
IMPORTING iv_key TYPE ty_key
|
IMPORTING is_data TYPE lcl_persistence_repo=>ty_repo
|
||||||
is_data TYPE lcl_persistence_repo=>ty_repo
|
|
||||||
RAISING lcx_exception,
|
RAISING lcx_exception,
|
||||||
get_url
|
get_url
|
||||||
RETURNING VALUE(rv_url) TYPE lcl_persistence_repo=>ty_repo-url,
|
RETURNING VALUE(rv_url) TYPE lcl_persistence_repo=>ty_repo-url,
|
||||||
|
@ -14804,16 +14799,12 @@ CLASS lcl_repo_srv DEFINITION FINAL.
|
||||||
RETURNING VALUE(ro_repo) TYPE REF TO lcl_repo_offline
|
RETURNING VALUE(ro_repo) TYPE REF TO lcl_repo_offline
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS add
|
|
||||||
IMPORTING io_repo TYPE REF TO lcl_repo
|
|
||||||
RAISING lcx_exception.
|
|
||||||
|
|
||||||
CLASS-METHODS delete
|
CLASS-METHODS delete
|
||||||
IMPORTING io_repo TYPE REF TO lcl_repo
|
IMPORTING io_repo TYPE REF TO lcl_repo
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS get
|
CLASS-METHODS get
|
||||||
IMPORTING iv_key TYPE lcl_repo=>ty_key
|
IMPORTING iv_key TYPE lcl_persistence_db=>ty_value
|
||||||
RETURNING VALUE(ro_repo) TYPE REF TO lcl_repo.
|
RETURNING VALUE(ro_repo) TYPE REF TO lcl_repo.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
@ -14822,6 +14813,10 @@ CLASS lcl_repo_srv DEFINITION FINAL.
|
||||||
go_persistence TYPE REF TO lcl_persistence_repo,
|
go_persistence TYPE REF TO lcl_persistence_repo,
|
||||||
gt_list TYPE ty_repo_tt.
|
gt_list TYPE ty_repo_tt.
|
||||||
|
|
||||||
|
CLASS-METHODS add
|
||||||
|
IMPORTING io_repo TYPE REF TO lcl_repo
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS:
|
CLASS-METHODS:
|
||||||
validate_package
|
validate_package
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -14845,9 +14840,7 @@ CLASS lcl_repo_online IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
super->constructor( iv_key = iv_key
|
super->constructor( is_data ).
|
||||||
is_data = is_data ).
|
|
||||||
|
|
||||||
refresh( ).
|
refresh( ).
|
||||||
|
|
||||||
ENDMETHOD. "constructor
|
ENDMETHOD. "constructor
|
||||||
|
@ -14864,7 +14857,6 @@ CLASS lcl_repo_online IMPLEMENTATION.
|
||||||
lcl_objects=>deserialize( it_files = mt_files
|
lcl_objects=>deserialize( it_files = mt_files
|
||||||
iv_package = get_package( ) ).
|
iv_package = get_package( ) ).
|
||||||
|
|
||||||
lcl_repo_srv=>add( me ).
|
|
||||||
set_sha1( mv_branch ).
|
set_sha1( mv_branch ).
|
||||||
|
|
||||||
ENDMETHOD. "deserialize
|
ENDMETHOD. "deserialize
|
||||||
|
@ -14924,7 +14916,7 @@ CLASS lcl_repo_online IMPLEMENTATION.
|
||||||
|
|
||||||
CREATE OBJECT lo_persistence.
|
CREATE OBJECT lo_persistence.
|
||||||
|
|
||||||
lo_persistence->update( iv_url = ms_data-url
|
lo_persistence->update( iv_key = ms_data-key
|
||||||
iv_branch_sha1 = iv_sha1 ).
|
iv_branch_sha1 = iv_sha1 ).
|
||||||
|
|
||||||
ms_data-sha1 = iv_sha1.
|
ms_data-sha1 = iv_sha1.
|
||||||
|
@ -14941,8 +14933,11 @@ ENDCLASS. "lcl_repo_online IMPLEMENTATION
|
||||||
CLASS lcl_repo IMPLEMENTATION.
|
CLASS lcl_repo IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
|
|
||||||
|
ASSERT NOT is_data-key IS INITIAL.
|
||||||
|
|
||||||
ms_data = is_data.
|
ms_data = is_data.
|
||||||
mv_key = iv_key.
|
|
||||||
ENDMETHOD. "constructor
|
ENDMETHOD. "constructor
|
||||||
|
|
||||||
METHOD delete.
|
METHOD delete.
|
||||||
|
@ -14952,7 +14947,7 @@ CLASS lcl_repo IMPLEMENTATION.
|
||||||
|
|
||||||
CREATE OBJECT lo_persistence.
|
CREATE OBJECT lo_persistence.
|
||||||
|
|
||||||
lo_persistence->delete( ms_data-url ).
|
lo_persistence->delete( ms_data-key ).
|
||||||
|
|
||||||
ENDMETHOD. "delete
|
ENDMETHOD. "delete
|
||||||
|
|
||||||
|
@ -14967,28 +14962,28 @@ CLASS lcl_repo IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD. "refresh
|
ENDMETHOD. "refresh
|
||||||
|
|
||||||
METHOD add.
|
* METHOD add.
|
||||||
|
*
|
||||||
DATA: lo_persistence TYPE REF TO lcl_persistence_repo.
|
* DATA: lo_persistence TYPE REF TO lcl_persistence_repo.
|
||||||
|
*
|
||||||
|
*
|
||||||
CREATE OBJECT lo_persistence.
|
* CREATE OBJECT lo_persistence.
|
||||||
|
*
|
||||||
lo_persistence->add(
|
* lo_persistence->add(
|
||||||
iv_url = ms_data-url
|
* iv_url = ms_data-url
|
||||||
iv_branch_name = ms_data-branch_name
|
* iv_branch_name = ms_data-branch_name
|
||||||
iv_branch = ms_data-sha1
|
* iv_branch = ms_data-sha1
|
||||||
iv_package = ms_data-package
|
* iv_package = ms_data-package
|
||||||
iv_offline = ms_data-offline ).
|
* iv_offline = ms_data-offline ).
|
||||||
|
*
|
||||||
ENDMETHOD. "add
|
* ENDMETHOD. "add
|
||||||
|
|
||||||
METHOD get_package.
|
METHOD get_package.
|
||||||
rv_package = ms_data-package.
|
rv_package = ms_data-package.
|
||||||
ENDMETHOD. "get_package
|
ENDMETHOD. "get_package
|
||||||
|
|
||||||
METHOD get_key.
|
METHOD get_key.
|
||||||
rv_key = mv_key.
|
rv_key = ms_data-key.
|
||||||
ENDMETHOD. "get_key
|
ENDMETHOD. "get_key
|
||||||
|
|
||||||
METHOD get_name.
|
METHOD get_name.
|
||||||
|
@ -15043,7 +15038,6 @@ CLASS lcl_repo_srv IMPLEMENTATION.
|
||||||
METHOD refresh.
|
METHOD refresh.
|
||||||
|
|
||||||
DATA: lt_list TYPE lcl_persistence_repo=>tt_repo,
|
DATA: lt_list TYPE lcl_persistence_repo=>tt_repo,
|
||||||
lv_index TYPE i,
|
|
||||||
lo_online TYPE REF TO lcl_repo_online,
|
lo_online TYPE REF TO lcl_repo_online,
|
||||||
lo_offline TYPE REF TO lcl_repo_offline.
|
lo_offline TYPE REF TO lcl_repo_offline.
|
||||||
|
|
||||||
|
@ -15054,8 +15048,6 @@ CLASS lcl_repo_srv IMPLEMENTATION.
|
||||||
|
|
||||||
lt_list = go_persistence->list( ).
|
lt_list = go_persistence->list( ).
|
||||||
LOOP AT lt_list ASSIGNING <ls_list>.
|
LOOP AT lt_list ASSIGNING <ls_list>.
|
||||||
lv_index = sy-tabix.
|
|
||||||
|
|
||||||
IF iv_show_progress = abap_true.
|
IF iv_show_progress = abap_true.
|
||||||
show_progress( iv_current = sy-tabix
|
show_progress( iv_current = sy-tabix
|
||||||
iv_total = lines( lt_list )
|
iv_total = lines( lt_list )
|
||||||
|
@ -15065,13 +15057,11 @@ CLASS lcl_repo_srv IMPLEMENTATION.
|
||||||
IF <ls_list>-offline = abap_false.
|
IF <ls_list>-offline = abap_false.
|
||||||
CREATE OBJECT lo_online
|
CREATE OBJECT lo_online
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_key = lv_index
|
|
||||||
is_data = <ls_list>.
|
is_data = <ls_list>.
|
||||||
APPEND lo_online TO gt_list.
|
APPEND lo_online TO gt_list.
|
||||||
ELSE.
|
ELSE.
|
||||||
CREATE OBJECT lo_offline
|
CREATE OBJECT lo_offline
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_key = lv_index
|
|
||||||
is_data = <ls_list>.
|
is_data = <ls_list>.
|
||||||
APPEND lo_offline TO gt_list.
|
APPEND lo_offline TO gt_list.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -15083,37 +15073,54 @@ CLASS lcl_repo_srv IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD new_online.
|
METHOD new_online.
|
||||||
|
|
||||||
DATA: ls_repo_persi TYPE lcl_persistence_repo=>ty_repo.
|
DATA: ls_repo TYPE lcl_persistence_repo=>ty_repo,
|
||||||
|
lv_key TYPE lcl_persistence_repo=>ty_repo-key.
|
||||||
|
|
||||||
|
|
||||||
validate_package( iv_package ).
|
validate_package( iv_package ).
|
||||||
|
|
||||||
ls_repo_persi-url = iv_url.
|
lv_key = go_persistence->add(
|
||||||
ls_repo_persi-branch_name = iv_branch_name.
|
iv_url = iv_url
|
||||||
ls_repo_persi-package = iv_package.
|
iv_branch_name = iv_branch_name
|
||||||
|
iv_package = iv_package ).
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
ls_repo = go_persistence->read( lv_key ).
|
||||||
|
CATCH lcx_not_found.
|
||||||
|
_raise 'new_online not found'.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
CREATE OBJECT ro_repo
|
CREATE OBJECT ro_repo
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_key = lines( gt_list ) + 1
|
is_data = ls_repo.
|
||||||
is_data = ls_repo_persi.
|
|
||||||
|
add( ro_repo ).
|
||||||
|
|
||||||
ENDMETHOD. "new_online
|
ENDMETHOD. "new_online
|
||||||
|
|
||||||
METHOD new_offline.
|
METHOD new_offline.
|
||||||
|
|
||||||
DATA: ls_repo_persi TYPE lcl_persistence_repo=>ty_repo.
|
DATA: ls_repo TYPE lcl_persistence_repo=>ty_repo,
|
||||||
|
lv_key TYPE lcl_persistence_repo=>ty_repo-key.
|
||||||
|
|
||||||
|
|
||||||
validate_package( iv_package ).
|
validate_package( iv_package ).
|
||||||
|
|
||||||
ls_repo_persi-url = iv_url.
|
lv_key = go_persistence->add(
|
||||||
ls_repo_persi-package = iv_package.
|
iv_url = iv_url
|
||||||
ls_repo_persi-offline = abap_true.
|
iv_branch_name = ''
|
||||||
|
iv_package = iv_package
|
||||||
|
iv_offline = abap_true ).
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
ls_repo = go_persistence->read( lv_key ).
|
||||||
|
CATCH lcx_not_found.
|
||||||
|
_raise 'new_offline not found'.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
CREATE OBJECT ro_repo
|
CREATE OBJECT ro_repo
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_key = lines( gt_list ) + 1
|
is_data = ls_repo.
|
||||||
is_data = ls_repo_persi.
|
|
||||||
|
|
||||||
add( ro_repo ).
|
add( ro_repo ).
|
||||||
|
|
||||||
|
@ -15133,8 +15140,6 @@ CLASS lcl_repo_srv IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
io_repo->add( ).
|
|
||||||
|
|
||||||
APPEND io_repo TO gt_list.
|
APPEND io_repo TO gt_list.
|
||||||
|
|
||||||
ENDMETHOD. "add
|
ENDMETHOD. "add
|
||||||
|
@ -15735,11 +15740,11 @@ CLASS lcl_zip DEFINITION FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
CLASS-METHODS import
|
CLASS-METHODS import
|
||||||
IMPORTING iv_key TYPE lcl_repo=>ty_key
|
IMPORTING iv_key TYPE lcl_persistence_db=>ty_value
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS export_key
|
CLASS-METHODS export_key
|
||||||
IMPORTING iv_key TYPE lcl_repo=>ty_key
|
IMPORTING iv_key TYPE lcl_persistence_db=>ty_value
|
||||||
iv_zip TYPE abap_bool DEFAULT abap_true
|
iv_zip TYPE abap_bool DEFAULT abap_true
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
@ -16869,38 +16874,38 @@ CLASS lcl_gui_page_main DEFINITION FINAL.
|
||||||
|
|
||||||
CLASS-METHODS add
|
CLASS-METHODS add
|
||||||
IMPORTING is_item TYPE ty_item
|
IMPORTING is_item TYPE ty_item
|
||||||
iv_key TYPE lcl_repo=>ty_key
|
iv_key TYPE lcl_persistence_repo=>ty_repo-key
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS uninstall
|
CLASS-METHODS uninstall
|
||||||
IMPORTING iv_key TYPE lcl_repo=>ty_key
|
IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS remove
|
CLASS-METHODS remove
|
||||||
IMPORTING iv_key TYPE lcl_repo=>ty_key
|
IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS pull
|
CLASS-METHODS pull
|
||||||
IMPORTING iv_key TYPE lcl_repo=>ty_key
|
IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS commit
|
CLASS-METHODS commit
|
||||||
IMPORTING iv_key TYPE lcl_repo=>ty_key
|
IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS diff
|
CLASS-METHODS diff
|
||||||
IMPORTING is_result TYPE lcl_file_status=>ty_result
|
IMPORTING is_result TYPE lcl_file_status=>ty_result
|
||||||
iv_key TYPE lcl_repo=>ty_key
|
iv_key TYPE lcl_persistence_repo=>ty_repo-key
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS file_encode
|
CLASS-METHODS file_encode
|
||||||
IMPORTING iv_key TYPE lcl_repo=>ty_key
|
IMPORTING iv_key TYPE lcl_persistence_repo=>ty_repo-key
|
||||||
is_file TYPE lcl_file_status=>ty_result
|
is_file TYPE lcl_file_status=>ty_result
|
||||||
RETURNING VALUE(rv_string) TYPE string.
|
RETURNING VALUE(rv_string) TYPE string.
|
||||||
|
|
||||||
CLASS-METHODS file_decode
|
CLASS-METHODS file_decode
|
||||||
IMPORTING iv_string TYPE clike
|
IMPORTING iv_string TYPE clike
|
||||||
EXPORTING ev_key TYPE lcl_repo=>ty_key
|
EXPORTING ev_key TYPE lcl_persistence_repo=>ty_repo-key
|
||||||
es_file TYPE lcl_file_status=>ty_result
|
es_file TYPE lcl_file_status=>ty_result
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
@ -18062,7 +18067,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
||||||
|
|
||||||
DATA: ls_result TYPE lcl_file_status=>ty_result,
|
DATA: ls_result TYPE lcl_file_status=>ty_result,
|
||||||
lv_url TYPE string,
|
lv_url TYPE string,
|
||||||
lv_key TYPE lcl_repo=>ty_key,
|
lv_key TYPE lcl_persistence_repo=>ty_repo-key,
|
||||||
ls_item TYPE ty_item,
|
ls_item TYPE ty_item,
|
||||||
lo_db TYPE REF TO lcl_gui_page_db.
|
lo_db TYPE REF TO lcl_gui_page_db.
|
||||||
|
|
||||||
|
@ -18142,6 +18147,10 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
||||||
lv_class TYPE string.
|
lv_class TYPE string.
|
||||||
|
|
||||||
|
|
||||||
|
IF lines( it_list ) = 0.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
rv_html = '<div id="toc">' && gc_newline &&
|
rv_html = '<div id="toc">' && gc_newline &&
|
||||||
'<span class="menu">' && gc_newline.
|
'<span class="menu">' && gc_newline.
|
||||||
|
|
||||||
|
@ -18167,17 +18176,31 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
||||||
DATA: lt_repos TYPE lcl_repo_srv=>ty_repo_tt,
|
DATA: lt_repos TYPE lcl_repo_srv=>ty_repo_tt,
|
||||||
lo_repo_online TYPE REF TO lcl_repo_online,
|
lo_repo_online TYPE REF TO lcl_repo_online,
|
||||||
lo_repo_offline TYPE REF TO lcl_repo_offline,
|
lo_repo_offline TYPE REF TO lcl_repo_offline,
|
||||||
|
lx_error TYPE REF TO lcx_exception,
|
||||||
lo_repo LIKE LINE OF lt_repos.
|
lo_repo LIKE LINE OF lt_repos.
|
||||||
|
|
||||||
|
|
||||||
lt_repos = lcl_repo_srv=>list( ).
|
|
||||||
|
|
||||||
rv_html = lcl_gui=>header( ) &&
|
rv_html = lcl_gui=>header( ) &&
|
||||||
render_menu( ) &&
|
render_menu( ).
|
||||||
render_toc( lt_repos ).
|
|
||||||
|
TRY.
|
||||||
|
lt_repos = lcl_repo_srv=>list( ).
|
||||||
|
CATCH lcx_exception INTO lx_error.
|
||||||
|
* if wrong meta data exists in database, make sure to still render the menu
|
||||||
|
* where it is possible to use the database tool
|
||||||
|
rv_html = rv_html &&
|
||||||
|
'<div id="toc">Error:<br>' && gc_newline &&
|
||||||
|
lx_error->mv_text && gc_newline &&
|
||||||
|
'</div>' && gc_newline.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
rv_html = rv_html && render_toc( lt_repos ).
|
||||||
|
|
||||||
IF lt_repos[] IS INITIAL.
|
IF lt_repos[] IS INITIAL.
|
||||||
rv_html = rv_html && '<br><a href="sapevent:explore">Explore</a> new projects'.
|
rv_html = rv_html &&
|
||||||
|
'<div id="toc">' && gc_newline &&
|
||||||
|
'<a href="sapevent:explore">Explore</a> new projects' && gc_newline &&
|
||||||
|
'</div>' && gc_newline.
|
||||||
ELSE.
|
ELSE.
|
||||||
LOOP AT lt_repos INTO lo_repo.
|
LOOP AT lt_repos INTO lo_repo.
|
||||||
IF lo_repo->is_offline( ) = abap_true.
|
IF lo_repo->is_offline( ) = abap_true.
|
||||||
|
@ -19532,17 +19555,12 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
ls_repo-package = iv_package.
|
ls_repo-package = iv_package.
|
||||||
ls_repo-offline = iv_offline.
|
ls_repo-offline = iv_offline.
|
||||||
|
|
||||||
* prevent duplicates
|
|
||||||
TRY.
|
|
||||||
read( iv_url ).
|
|
||||||
_raise 'Repository already exists'.
|
|
||||||
CATCH lcx_not_found ##NO_HANDLER.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
lv_repo_as_xml = to_xml( ls_repo ).
|
lv_repo_as_xml = to_xml( ls_repo ).
|
||||||
|
|
||||||
|
rv_key = get_next_id( ).
|
||||||
|
|
||||||
mo_db->add( iv_type = c_type_repo
|
mo_db->add( iv_type = c_type_repo
|
||||||
iv_value = get_next_id( )
|
iv_value = rv_key
|
||||||
iv_data = lv_repo_as_xml ).
|
iv_data = lv_repo_as_xml ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -19550,7 +19568,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
METHOD delete.
|
METHOD delete.
|
||||||
|
|
||||||
mo_db->delete( iv_type = c_type_repo
|
mo_db->delete( iv_type = c_type_repo
|
||||||
iv_value = url_to_id( iv_url ) ).
|
iv_value = iv_key ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -19565,17 +19583,19 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
_raise 'update, sha empty'.
|
_raise 'update, sha empty'.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
ASSERT NOT iv_key IS INITIAL.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
ls_repo = read( iv_url ).
|
ls_repo = read( iv_key ).
|
||||||
CATCH lcx_not_found.
|
CATCH lcx_not_found.
|
||||||
_raise 'update repo not found'.
|
_raise 'key not found'.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ls_repo-sha1 = iv_branch_sha1.
|
ls_repo-sha1 = iv_branch_sha1.
|
||||||
ls_content-data_str = to_xml( ls_repo ).
|
ls_content-data_str = to_xml( ls_repo ).
|
||||||
|
|
||||||
mo_db->update( iv_type = c_type_repo
|
mo_db->update( iv_type = c_type_repo
|
||||||
iv_value = url_to_id( iv_url )
|
iv_value = iv_key
|
||||||
iv_data = ls_content-data_str ).
|
iv_data = ls_content-data_str ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -19586,7 +19606,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
|
|
||||||
lt_repo = list( ).
|
lt_repo = list( ).
|
||||||
|
|
||||||
READ TABLE lt_repo INTO rs_repo WITH KEY url = iv_url.
|
READ TABLE lt_repo INTO rs_repo WITH KEY key = iv_key.
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
RAISE EXCEPTION TYPE lcx_not_found.
|
RAISE EXCEPTION TYPE lcx_not_found.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -19630,7 +19650,8 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
lt_content = mo_db->list_by_type( c_type_repo ).
|
lt_content = mo_db->list_by_type( c_type_repo ).
|
||||||
|
|
||||||
LOOP AT lt_content INTO ls_content.
|
LOOP AT lt_content INTO ls_content.
|
||||||
ls_repo = from_xml( ls_content-data_str ).
|
MOVE-CORRESPONDING from_xml( ls_content-data_str ) TO ls_repo.
|
||||||
|
ls_repo-key = ls_content-value.
|
||||||
INSERT ls_repo INTO TABLE rt_repos.
|
INSERT ls_repo INTO TABLE rt_repos.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
@ -19648,32 +19669,17 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD to_xml.
|
METHOD to_xml.
|
||||||
|
|
||||||
|
DATA: ls_xml TYPE ty_repo_xml.
|
||||||
|
|
||||||
|
|
||||||
|
MOVE-CORRESPONDING is_repo TO ls_xml.
|
||||||
|
|
||||||
CALL TRANSFORMATION id
|
CALL TRANSFORMATION id
|
||||||
SOURCE (c_type_repo) = is_repo
|
SOURCE (c_type_repo) = ls_xml
|
||||||
RESULT XML rv_repo_xml_string.
|
RESULT XML rv_repo_xml_string.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD url_to_id.
|
|
||||||
|
|
||||||
DATA: lt_content TYPE lcl_persistence_db=>tt_content,
|
|
||||||
ls_content LIKE LINE OF lt_content,
|
|
||||||
ls_repo TYPE ty_repo.
|
|
||||||
|
|
||||||
|
|
||||||
lt_content = mo_db->list_by_type( c_type_repo ).
|
|
||||||
|
|
||||||
LOOP AT lt_content INTO ls_content.
|
|
||||||
ls_repo = from_xml( ls_content-data_str ).
|
|
||||||
IF ls_repo-url = iv_url.
|
|
||||||
rv_id = ls_content-value.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
_raise 'Repo, error finding id for url'.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD constructor.
|
METHOD constructor.
|
||||||
CREATE OBJECT mo_db.
|
CREATE OBJECT mo_db.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -19682,7 +19688,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
|
|
||||||
mo_db->lock( iv_mode = iv_mode
|
mo_db->lock( iv_mode = iv_mode
|
||||||
iv_type = c_type_repo
|
iv_type = c_type_repo
|
||||||
iv_value = url_to_id( iv_url ) ).
|
iv_value = iv_key ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user